All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - szz
    - ','
    - czz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ERR
    functionSourceFile: /src/cyclonedds/compat/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(szz,czz)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/compat/getopt.c:51,1
    - Dst: strchr
      Src: /src/cyclonedds/compat/getopt.c:57,1
    - Dst: ERR
      Src: /src/cyclonedds/compat/getopt.c:58,1
    - Dst: ERR
      Src: /src/cyclonedds/compat/getopt.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - argc
    - argv
    - opts
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: getopt
    functionSourceFile: /src/cyclonedds/compat/getopt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ERR
    - strchr
    linkageType: ''
    returnType: int
    signature: "int getopt(\n    int argc,\n    char **argv,\n    const char *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/cyclonedds/etc/coverity-model.c:4,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - bValue
    - uiLine
    - strCondition
    - strFile
    - strFunction
    - bFatal
    argTypes:
    - int
    - unsigned
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 7
    functionName: CU_assertImplementation
    functionSourceFile: /src/cyclonedds/etc/coverity-model.c
    functionUses: 0
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: int
    signature: int CU_assertImplementation (int bValue, unsigned uiLine, const char
      *strCondition, const char *strFile, const char *strFunction, int bFatal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:47,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:51,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:56,1
    - Dst: struct async_listener_event*::u::da::fn
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:60,1
    - Dst: struct async_listener_event*::u::pm::fn
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:63,1
    - Dst: struct async_listener_event*::u::sm::fn
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:66,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:69,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:70,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: async_listener_thread
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - struct async_listener_event*::u::sm::fn
    - struct async_listener_event*::u::da::fn
    - ddsrt_mutex_lock
    - struct async_listener_event*::u::pm::fn
    - free
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t async_listener_thread (void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:80,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:82,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: async_listener_new
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - malloc
    - ddsrt_mutex_init
    - ddsrt_cond_init
    linkageType: ''
    returnType: struct async_listener
    signature: struct async_listener *async_listener_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:94,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - al
    argTypes:
    - struct async_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: async_listener_start
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_create
    - ddsrt_threadattr_init
    linkageType: ''
    returnType: bool
    signature: bool async_listener_start (struct async_listener *al)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:101,1
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:103,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:104,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:105,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - al
    argTypes:
    - struct async_listener*
    assertStmts:
    - condition: (al->oldest == NULL)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: async_listener_stop
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - ddsrt_cond_signal
    - ddsrt_mutex_lock
    - assert
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void async_listener_stop (struct async_listener *al)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:111,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:112,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - al
    argTypes:
    - struct async_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: async_listener_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_cond_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void async_listener_free (struct async_listener *al)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:119,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:120,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:123,1
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:130,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - al
    - ev0
    argTypes:
    - struct async_listener*
    - struct async_listener_event
    assertStmts:
    - condition: (!al->stop)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: async_listener_enqueue
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_cond_signal
    - malloc
    - abort
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void async_listener_enqueue (struct async_listener *al, struct async_listener_event
      ev0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - al
    - fn
    - rd
    - arg
    argTypes:
    - struct async_listener*
    - dds_on_data_available_fn
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: async_listener_enqueue_data_available
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - async_listener_enqueue
    linkageType: ''
    returnType: void
    signature: void async_listener_enqueue_data_available (struct async_listener *al,
      dds_on_data_available_fn fn, dds_entity_t rd, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - al
    - fn
    - rd
    - status
    - arg
    argTypes:
    - struct async_listener*
    - dds_on_subscription_matched_fn
    - dds_entity_t
    - dds_subscription_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: async_listener_enqueue_subscription_matched
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - async_listener_enqueue
    linkageType: ''
    returnType: void
    signature: void async_listener_enqueue_subscription_matched (struct async_listener
      *al, dds_on_subscription_matched_fn fn, dds_entity_t rd, const dds_subscription_matched_status_t
      status, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue
      Src: /src/cyclonedds/src/tools/ddsperf/async_listener.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - al
    - fn
    - wr
    - status
    - arg
    argTypes:
    - struct async_listener*
    - dds_on_publication_matched_fn
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: async_listener_enqueue_publication_matched
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    functionUses: 0
    functionsReached:
    - async_listener_enqueue
    linkageType: ''
    returnType: void
    signature: void async_listener_enqueue_publication_matched (struct async_listener
      *al, dds_on_publication_matched_fn fn, dds_entity_t wr, const dds_publication_matched_status_t
      status, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_netstat_get
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:43,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:59,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - st
    - prefix
    - tnow
    argTypes:
    - struct record_netload_state*
    - char*
    - ddsrt_hrtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: record_netload
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 0
    functionsReached:
    - ddsrt_netstat_get
    - printf
    linkageType: ''
    returnType: void
    signature: void record_netload (struct record_netload_state *st, const char *prefix,
      ddsrt_hrtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:79,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:81,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:82,1
    - Dst: ddsrt_netstat_new
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:83,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:85,1
    - Dst: strdup
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:89,1
    - Dst: record_netload
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:93,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:93,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - bw
    argTypes:
    - char*
    - double
    assertStmts:
    - condition: (st)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/tools/ddsperf/netload.c
    - condition: (st->name)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/tools/ddsperf/netload.c
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: record_netload_new
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 0
    functionsReached:
    - ddsrt_netstat_new
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_time_highres
    - assert
    - malloc
    - DDSRT_WARNING_MSVC_ON
    - free
    - record_netload
    - strdup
    linkageType: ''
    returnType: struct record_netload_state
    signature: struct record_netload_state *record_netload_new (const char *dev, double
      bw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_netstat_free
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:102,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:103,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/netload.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct record_netload_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: record_netload_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 0
    functionsReached:
    - ddsrt_netstat_free
    - free
    linkageType: ''
    returnType: void
    signature: void record_netload_free (struct record_netload_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - st
    - prefix
    - tnow
    argTypes:
    - struct record_netload_state*
    - char*
    - ddsrt_hrtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: record_netload
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void record_netload (struct record_netload_state *st, const char *prefix,
      ddsrt_hrtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - bw
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: record_netload_new
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct record_netload_state
    signature: struct record_netload_state *record_netload_new (const char *dev, double
      bw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct record_netload_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: record_netload_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/netload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void record_netload_free (struct record_netload_state *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - line
    - sz
    - pos
    - name
    - du
    - ds
    argTypes:
    - char*
    - size_t
    - size_t*
    - char*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: print_one
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void print_one (char *line, size_t sz, size_t *pos, const char *name,
      double du, double ds)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:44,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:46,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:49,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:51,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:54,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:56,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:60,1
    - Dst: print_one
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:65,1
    - Dst: puts
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - s
    - prefix
    - print_host
    - is_fresh
    argTypes:
    - struct CPUStats*
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: print_cputime
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached:
    - print_one
    - snprintf
    - puts
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool print_cputime (const struct CPUStats *s, const char *prefix, bool
      print_host, bool is_fresh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ut_old
    - st_old
    - dt
    - ut_new
    - st_new
    - du
    - ds
    argTypes:
    - double*
    - double*
    - double
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: update
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update (double *ut_old, double *st_old, double dt, double ut_new,
      double st_new, double *du, double *ds)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - max
    - du_skip
    - ds_skip
    - du
    - ds
    argTypes:
    - double*
    - double*
    - double*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: above_threshold
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool above_threshold (double *max, double *du_skip, double *ds_skip,
      double du, double ds)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getrusage
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:122,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:141,1
    - Dst: update
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:147,1
    - Dst: above_threshold
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:148,1
    - Dst: ddsrt_thread_getname_anythread
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:158,1
    - Dst: above_threshold
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:172,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:182,1
    - Dst: print_cputime
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - state
    - prefix
    - tnow
    argTypes:
    - struct record_cputime_state*
    - char*
    - ddsrt_hrtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 184
    functionName: record_cputime
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached:
    - above_threshold
    - ddsrt_getrusage_anythread
    - dds_write
    - print_cputime
    - ddsrt_getrusage
    - ddsrt_thread_getname_anythread
    - update
    linkageType: ''
    returnType: bool
    signature: bool record_cputime (struct record_cputime_state *state, const char
      *prefix, ddsrt_hrtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct record_cputime_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: record_cputime_read_rss
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double record_cputime_read_rss (const struct record_cputime_state *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_list
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:195,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:199,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:203,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:204,1
    - Dst: ddsrt_getrusage
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:206,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:208,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:212,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:213,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:218,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:228,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:229,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:230,1
    - Dst: strdup
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:231,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:232,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:233,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:234,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:239,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - wr
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (state)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    - condition: (state->threads)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    - condition: (state->s.cpu._buffer)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    - condition: (state->s.hostname)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    constantsTouched: []
    func_position:
      end: 246
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 246
    functionName: record_cputime_new
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ddsrt_getpid
    - ddsrt_time_highres
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - ddsrt_thread_list
    - strcpy
    - malloc
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_gethostname
    - ddsrt_getrusage
    - ddsrt_getrusage_anythread
    - strdup
    linkageType: ''
    returnType: struct record_cputime_state
    signature: struct record_cputime_state *record_cputime_new (dds_entity_t wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:252,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:253,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:255,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/cputime.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct record_cputime_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: record_cputime_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void record_cputime_free (struct record_cputime_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - state
    - prefix
    - tnow
    argTypes:
    - struct record_cputime_state*
    - char*
    - ddsrt_hrtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: record_cputime
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool record_cputime (struct record_cputime_state *state, const char
      *prefix, ddsrt_hrtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct record_cputime_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: record_cputime_read_rss
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double record_cputime_read_rss (const struct record_cputime_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wr
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: record_cputime_new
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct record_cputime_state
    signature: struct record_cputime_state *record_cputime_new (dds_entity_t wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct record_cputime_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: record_cputime_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/cputime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void record_cputime_free (struct record_cputime_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: cmp_instance_handle
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_instance_handle (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: cmp_ppant_tdeadline
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_ppant_tdeadline (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:396,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:397,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - exitcode
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: verrorx
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - exit
    - vprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void verrorx (int exitcode, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:404,1
    - Dst: verrorx
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: error2
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - va_start
    - verrorx
    linkageType: ''
    returnType: void
    signature: void error2 (const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:411,1
    - Dst: verrorx
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: error3
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - va_start
    - verrorx
    linkageType: ''
    returnType: void
    signature: void error3 (const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:429,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:430,1
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:433,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:436,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts:
    - condition: (sz < UINT32_MAX - sizeof (union ddsperf_malloc_header))
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: ddsperf_malloc
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_atomic_cas32
    - malloc
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: void
    signature: void *ddsperf_malloc (size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_sub32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:447,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: ddsperf_free
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_sub32
    - free
    linkageType: ''
    returnType: void
    signature: void ddsperf_free (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:454,1
    - Dst: ddsperf_malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:455,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - cnt
    - sz
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (0 < sz && sz < UINT32_MAX && 0 < cnt && cnt < UINT32_MAX && sz <
        (UINT32_MAX - sizeof (union ddsperf_malloc_header)) / cnt)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: ddsperf_calloc
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsperf_malloc
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void *ddsperf_calloc (size_t cnt, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_t*::hdr::ddsperf_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:473,1
    - Dst: make_guidstr
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:480,1
    - Dst: hist_reset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:496,1
    - Dst: hist_reset_minmax
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:498,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:501,1
    - Dst: hist_new
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:504,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:506,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:507,1
    - Dst: hist_reset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:511,1
    - Dst: hist_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:516,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:518,1
    - Dst: hist_record
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:521,1
    - Dst: if
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:523,1
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:543,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:544,1
    - Dst: va_end
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bufsz
    - p
    - fmt
    argTypes:
    - "sz < p->hdr.sz) ? sz : p->hdr.sz);\n      ddsperf_free (old);\n    }\n    return
      new;\n  }\n}\n\nstatic char *make_guidstr (struct guidstr *buf, const dds_guid_t
      *guid)\n{\n  snprintf (buf->str, sizeof (buf->str), \"%02x%02x%02x%02x_%02x%02x%02x%02x_%02x%02x%02x%02x_%02x%02x%02x%02x\",\n
      \           guid->v[0], guid->v[1], guid->v[2], guid->v[3],\n            guid->v[4],
      guid->v[5], guid->v[6], guid->v[7],\n            guid->v[8], guid->v[9], guid->v[10],
      guid->v[11],\n            guid->v[12], guid->v[13], guid->v[14], guid->v[15]);\n
      \ return buf->str;\n}\n\nstatic void hist_reset_minmax (struct hist *h)\n{\n
      \ h->min = UINT64_MAX;\n  h->max = 0;\n}\n\nstatic void hist_reset (struct hist
      *h)\n{\n  hist_reset_minmax (h);\n  h->under = 0;\n  h->over = 0;\n  memset
      (h->bins, 0, h->nbins * sizeof (*h->bins));\n}\n\nstatic struct hist *hist_new
      (unsigned nbins, uint64_t binwidth, uint64_t bin0)\n{\n  struct hist *h = malloc
      (sizeof (*h) + nbins * sizeof (*h->bins));\n  assert(h);\n  h->nbins = nbins;\n
      \ h->binwidth = binwidth;\n  h->bin0 = bin0;\n  h->binN = h->bin0 + h->nbins
      * h->binwidth;\n  hist_reset (h);\n  return h;\n}\n\nstatic void hist_free (struct
      hist *h)\n{\n  free (h);\n}\n\nstatic void hist_record (struct hist *h, uint64_t
      x, unsigned weight)\n{\n  if (x < h->min)\n    h->min = x;\n  if (x > h->max)\n
      \   h->max = x;\n  if (x < h->bin0)\n    h->under += weight;\n  else if (x >=
      h->binN)\n    h->over += weight;\n  else\n    h->bins[(x - h->bin0) / h->binwidth]
      += weight;\n}\n\nstatic void xsnprintf(char *buf, size_t"
    - size_t*
    - char*
    assertStmts:
    - condition: (h)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 548
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 548
    functionName: memcpy
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - size_t*::hdr::ddsperf_free
    - hist_new
    - hist_reset
    - assert
    - hist_free
    - memset
    - malloc
    - va_start
    - vsnprintf
    - hist_record
    - make_guidstr
    - free
    - if
    - va_end
    - hist_reset_minmax
    linkageType: ''
    returnType: void
    signature: "void memcpy (new, old, (sz < p->hdr.sz) ? sz : p->hdr.sz);\n      ddsperf_free
      (old);\n    }\n    return new;\n  }\n}\n\nstatic char *make_guidstr (struct
      guidstr *buf, const dds_guid_t *guid)\n{\n  snprintf (buf->str, sizeof (buf->str),
      \"%02x%02x%02x%02x_%02x%02x%02x%02x_%02x%02x%02x%02x_%02x%02x%02x%02x\",\n            guid->v[0],
      guid->v[1], guid->v[2], guid->v[3],\n            guid->v[4], guid->v[5], guid->v[6],
      guid->v[7],\n            guid->v[8], guid->v[9], guid->v[10], guid->v[11],\n
      \           guid->v[12], guid->v[13], guid->v[14], guid->v[15]);\n  return buf->str;\n}\n\nstatic
      void hist_reset_minmax (struct hist *h)\n{\n  h->min = UINT64_MAX;\n  h->max
      = 0;\n}\n\nstatic void hist_reset (struct hist *h)\n{\n  hist_reset_minmax (h);\n
      \ h->under = 0;\n  h->over = 0;\n  memset (h->bins, 0, h->nbins * sizeof (*h->bins));\n}\n\nstatic
      struct hist *hist_new (unsigned nbins, uint64_t binwidth, uint64_t bin0)\n{\n
      \ struct hist *h = malloc (sizeof (*h) + nbins * sizeof (*h->bins));\n  assert(h);\n
      \ h->nbins = nbins;\n  h->binwidth = binwidth;\n  h->bin0 = bin0;\n  h->binN
      = h->bin0 + h->nbins * h->binwidth;\n  hist_reset (h);\n  return h;\n}\n\nstatic
      void hist_free (struct hist *h)\n{\n  free (h);\n}\n\nstatic void hist_record
      (struct hist *h, uint64_t x, unsigned weight)\n{\n  if (x < h->min)\n    h->min
      = x;\n  if (x > h->max)\n    h->max = x;\n  if (x < h->bin0)\n    h->under +=
      weight;\n  else if (x >= h->binN)\n    h->over += weight;\n  else\n    h->bins[(x
      - h->bin0) / h->binwidth] += weight;\n}\n\nstatic void xsnprintf(char *buf,
      size_t bufsz, size_t *p, const char *fmt, ...) ddsrt_attribute_format_printf(4,
      5);\n\nstatic void xsnprintf(char *buf, size_t bufsz, size_t *p, const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:552,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:554,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:555,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:560,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:561,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:563,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:592,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:594,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:596,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:597,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:600,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:602,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:604,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:606,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:608,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:612,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:617,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:621,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:623,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:625,1
    - Dst: xsnprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:627,1
    - Dst: puts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:630,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:631,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:632,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:633,1
    - Dst: hist_reset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:635,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - prefix
    - h
    - dt
    - reset
    argTypes:
    - char*
    - struct hist*
    - uint64_t
    - int
    assertStmts:
    - condition: (l)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (hist)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 636
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 636
    functionName: hist_print
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - assert
    - hist_reset
    - puts
    - strlen
    - malloc
    - free
    - xsnprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void hist_print (const char *prefix, struct hist *h, uint64_t dt, int
      reset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:645,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:646,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - b
    - cnt
    argTypes:
    - dds_sequence_octet*
    - uint32_t
    assertStmts:
    - condition: (b->_buffer)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: make_baggage
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void *make_baggage (dds_sequence_octet *b, uint32_t cnt)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 669
    functionName: getseqoff
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getseqoff (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 688
    functionName: getkeyvaloff
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getkeyvaloff (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:693,1
    - Dst: make_baggage
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:695,1
    - Dst: getseqoff
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:696,1
    - Dst: getkeyvaloff
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:697,1
    - Dst: getkeyvaloff
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - seq
    argTypes:
    - union data*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 700
    functionName: init_sample
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - getkeyvaloff
    - getseqoff
    - memset
    - make_baggage
    linkageType: ''
    returnType: void
    signature: void *init_sample (union data *data, uint32_t seq)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:711,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:712,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:713,1
    - Dst: init_sample
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:715,1
    - Dst: getseqoff
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:716,1
    - Dst: getkeyvaloff
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:717,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:718,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:719,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:731,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:733,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:734,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:735,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:745,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:747,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:750,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:754,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:756,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:757,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:758,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:767,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:769,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:770,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:772,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:781,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:784,1
    - Dst: DDS_USECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:796,1
    - Dst: DDS_USECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:798,1
    - Dst: DDS_USECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:799,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:802,1
    - Dst: hist_record
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:803,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:805,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:819,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:822,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:823,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:823,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:824,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:832,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:833,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts:
    - condition: (topicsel != OU || nkeyvals == 1)
      pos:
        line_end: 712
        line_start: 712
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (nkeyvals > 0)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (ihs)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 835
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 835
    functionName: pubthread
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - fflush
    - ddsrt_atomic_ld32
    - dds_register_instance
    - dds_write_flush
    - getseqoff
    - ddsrt_mutex_lock
    - DDS_USECS
    - hist_record
    - DDS_MSECS
    - free
    - exit
    - ddsrt_time_highres
    - assert
    - getkeyvaloff
    - printf
    - dds_write_ts
    - init_sample
    - ddsrt_random
    - dds_request_loan
    - dds_sleepfor
    - memset
    - malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pubthread (void *varg)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - tp
    - bgsize
    argTypes:
    - enum topicsel
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 855
    functionName: topic_payload_size
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t topic_payload_size (enum topicsel tp, uint32_t bgsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:862,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - struct latencystat*
    assertStmts:
    - condition: (x->raw)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 864
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 864
    functionName: latencystat_init
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: void
    signature: void latencystat_init (struct latencystat *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - struct latencystat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: latencystat_fini
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void latencystat_fini (struct latencystat *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - newraw
    argTypes:
    - struct latencystat*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: latencystat_reset
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void latencystat_reset (struct latencystat *x, int64_t *newraw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: cmp_int64
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_int64 (const void *va, const void *vb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:893,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:894,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:895,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:897,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:898,1
    - Dst: qsort
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:900,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - y
    - prefix
    - subprefix
    - pubhandle
    - pphandle
    - size
    argTypes:
    - struct latencystat*
    - char*
    - char*
    - dds_instance_handle_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 912
    functionName: latencystat_print
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - qsort
    - snprintf
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - printf
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int64_t
    signature: int64_t *latencystat_print (struct latencystat *y, const char *prefix,
      const char *subprefix, dds_instance_handle_t pubhandle, dds_instance_handle_t
      pphandle, uint32_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - tdelta
    argTypes:
    - struct latencystat*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 923
    functionName: latencystat_update
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void latencystat_update (struct latencystat *x, int64_t tdelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ea
    - nkeys
    argTypes:
    - struct eseq_admin*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: init_eseq_admin
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_eseq_admin (struct eseq_admin *ea, unsigned nkeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:938,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:939,1
    - Dst: latencystat_fini
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:943,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:945,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:947,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:948,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ea
    argTypes:
    - struct eseq_admin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 950
    functionName: fini_eseq_admin
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - latencystat_fini
    - ddsrt_mutex_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void fini_eseq_admin (struct eseq_admin *ea)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:959,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:960,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:963,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:964,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pubhandle
    argTypes:
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 974
    functionName: get_pphandle_for_pubhandle
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_read_instance
    - error2
    - dds_return_loan
    - printf
    - fflush
    linkageType: ''
    returnType: dds_instance_handle_t
    signature: dds_instance_handle_t get_pphandle_for_pubhandle (dds_instance_handle_t
      pubhandle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:982,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:983,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:985,1
    - Dst: latencystat_update
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:996,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:997,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1000,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1001,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1003,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1004,1
    - Dst: get_pphandle_for_pubhandle
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1005,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1006,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1007,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1008,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1009,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1011,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1014,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1015,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1016,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1017,1
    - Dst: latencystat_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1023,1
    - Dst: latencystat_update
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1024,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 6
    argNames:
    - ea
    - seq
    - keyval
    - size
    - pubhandle
    - tdelta
    argTypes:
    - struct eseq_admin*
    - uint32_t
    - uint32_t
    - uint32_t
    - dds_instance_handle_t
    - int64_t
    assertStmts:
    - condition: (ea->stats)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (ea->eseq)
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (ea->ph)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (ea->eseq[ea->nph])
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (ea->pph)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1029
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 1029
    functionName: check_eseq
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - latencystat_update
    - DDSRT_WARNING_MSVC_OFF
    - realloc
    - ddsrt_mutex_lock
    - assert
    - latencystat_init
    - memset
    - printf
    - malloc
    - DDSRT_WARNING_MSVC_ON
    - get_pphandle_for_pubhandle
    - exit
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int check_eseq (struct eseq_admin *ea, uint32_t seq, uint32_t keyval,
      uint32_t size, const dds_instance_handle_t pubhandle, int64_t tdelta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1035,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1038,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1040,1
    - Dst: latencystat_update
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1049,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1050,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1053,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1054,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1055,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1056,1
    - Dst: get_pphandle_for_pubhandle
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1059,1
    - Dst: latencystat_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1060,1
    - Dst: latencystat_update
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1061,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pubhandle
    - tdelta
    - isping
    - seq
    argTypes:
    - dds_instance_handle_t
    - int64_t
    - bool
    - uint32_t
    assertStmts:
    - condition: (pongstat)
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1065
      start: 1032
    functionDepth: 3
    functionLinenumber: 1032
    functionLinenumberEnd: 1065
    functionName: update_roundtrip
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - latencystat_update
    - DDSRT_WARNING_MSVC_OFF
    - realloc
    - ddsrt_mutex_lock
    - assert
    - latencystat_init
    - DDSRT_WARNING_MSVC_ON
    - get_pphandle_for_pubhandle
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool update_roundtrip (dds_instance_handle_t pubhandle, int64_t tdelta,
      bool isping, uint32_t seq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_pphandle_for_pubhandle
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1077,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1093,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1094,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1095,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1096,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1105,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pubhandle
    argTypes:
    - dds_instance_handle_t
    assertStmts:
    - condition: (pongwr)
      pos:
        line_end: 1094
        line_start: 1094
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1108
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1108
    functionName: get_pong_writer_locked
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - realloc
    - assert
    - printf
    - DDSRT_WARNING_MSVC_ON
    - get_pphandle_for_pubhandle
    - fflush
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t get_pong_writer_locked (dds_instance_handle_t pubhandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1113,1
    - Dst: get_pong_writer_locked
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1114,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pubhandle
    argTypes:
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: get_pong_writer
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - get_pong_writer_locked
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t get_pong_writer (dds_instance_handle_t pubhandle)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1125,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1126,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1133,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1138,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1141,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1142,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1143,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1144,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1145,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1146,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1147,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1148,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1149,1
    - Dst: topic_payload_size
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1150,1
    - Dst: check_eseq
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1152,1
    - Dst: get_pong_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1156,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1159,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1160,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - struct subthread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1119
    functionDepth: 5
    functionLinenumber: 1119
    functionLinenumberEnd: 1166
    functionName: process_data
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_take
    - error2
    - ddsrt_time_highres
    - dds_write_ts
    - topic_payload_size
    - check_eseq
    - get_pong_writer
    linkageType: ''
    returnType: bool
    signature: bool process_data (dds_entity_t rd, struct subthread_arg *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1176,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1177,1
    - Dst: get_pong_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1184,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1187,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - struct subthread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1168
    functionDepth: 5
    functionLinenumber: 1168
    functionLinenumberEnd: 1192
    functionName: process_ping
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - get_pong_writer
    - dds_take
    - error2
    - dds_write_ts
    linkageType: ''
    returnType: bool
    signature: bool process_ping (dds_entity_t rd, struct subthread_arg *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1200,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1201,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1204,1
    - Dst: update_roundtrip
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1210,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1215,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1217,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1219,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1220,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - struct subthread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1194
    functionDepth: 4
    functionLinenumber: 1194
    functionLinenumberEnd: 1226
    functionName: process_pong
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_take
    - error2
    - ddsrt_time_highres
    - ddsrt_mutex_lock
    - dds_write_ts
    - update_roundtrip
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool process_pong (dds_entity_t rd, struct subthread_arg *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1233,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1234,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1235,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1238,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1239,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1248,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1248,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1249,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1250,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1256,1
    - Dst: init_sample
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1270,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1271,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1272,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1272,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1273,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - tnow
    - tnextping
    argTypes:
    - ddsrt_hrtime_t
    - ddsrt_hrtime_t*
    assertStmts:
    - condition: (ping_intv != DDS_INFINITY)
      pos:
        line_end: 1232
        line_start: 1232
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1277
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1277
    functionName: maybe_send_new_ping
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_getpid
    - error2
    - ddsrt_time_highres
    - DDS_SECS
    - ddsrt_mutex_lock
    - assert
    - dds_write_ts
    - printf
    - free
    - init_sample
    - ddsrt_mutex_unlock
    - fflush
    linkageType: ''
    returnType: void
    signature: void maybe_send_new_ping (ddsrt_hrtime_t tnow, ddsrt_hrtime_t *tnextping)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1283,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1284,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1285,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1286,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1287,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1288,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rd
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1291
    functionName: make_reader_waitset
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_create_waitset
    - dds_set_status_mask
    - error2
    - dds_waitset_attach
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t make_reader_waitset (dds_entity_t rd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_reader_waitset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1296,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1297,1
    - Dst: process_data
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1299,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1304,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1293
    functionDepth: 6
    functionLinenumber: 1293
    functionLinenumberEnd: 1309
    functionName: subthread_waitset
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - make_reader_waitset
    - error2
    - process_data
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subthread_waitset (void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_reader_waitset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1314,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1315,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1318,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1319,1
    - Dst: process_ping
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1311
    functionDepth: 6
    functionLinenumber: 1311
    functionLinenumberEnd: 1323
    functionName: subpingthread_waitset
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - make_reader_waitset
    - error2
    - process_ping
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subpingthread_waitset (void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_reader_waitset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1328,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1329,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1332,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1333,1
    - Dst: process_pong
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1325
    functionDepth: 5
    functionLinenumber: 1325
    functionLinenumberEnd: 1337
    functionName: subpongthread_waitset
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - make_reader_waitset
    - error2
    - process_pong
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subpongthread_waitset (void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1342,1
    - Dst: process_data
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1344,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1345,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1339
    functionDepth: 6
    functionLinenumber: 1339
    functionLinenumberEnd: 1348
    functionName: subthread_polling
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - process_data
    - ddsrt_atomic_ld32
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subthread_polling (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_data
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 6
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: data_available_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - process_data
    linkageType: ''
    returnType: void
    signature: void data_available_listener (dds_entity_t rd, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_ping
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1355
    functionDepth: 6
    functionLinenumber: 1355
    functionLinenumberEnd: 1358
    functionName: ping_available_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - process_ping
    linkageType: ''
    returnType: void
    signature: void ping_available_listener (dds_entity_t rd, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_pong
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: pong_available_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - process_pong
    linkageType: ''
    returnType: void
    signature: void pong_available_listener (dds_entity_t rd, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1375,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1376,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1377,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1378,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1379,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1381,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1382,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1383,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1384,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1385,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1386,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1387,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1388,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1389,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1391,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1392,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1393,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1394,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1395,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - pphandle
    - guidstr
    argTypes:
    - dds_instance_handle_t
    - struct guidstr*
    assertStmts:
    - condition: (pongwr)
      pos:
        line_end: 1393
        line_start: 1393
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1402
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1402
    functionName: create_pong_writer
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_delete_listener
    - dds_create_writer
    - dds_create_listener
    - error2
    - DDSRT_WARNING_MSVC_OFF
    - dds_lset_publication_matched
    - ddsrt_mutex_lock
    - realloc
    - assert
    - dds_qset_partition1
    - dds_create_publisher
    - DDSRT_WARNING_MSVC_ON
    - dds_delete_qos
    - dds_create_qos
    - dds_qset_ignorelocal
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_pong_writer (dds_instance_handle_t pphandle, const
      struct guidstr *guidstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1408,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1415,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1416,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pphandle
    argTypes:
    - dds_instance_handle_t
    assertStmts:
    - condition: (wr_pong == 0 || wr_pong == pongwr[i].wr_pong)
      pos:
        line_end: 1414
        line_start: 1414
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1422
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1422
    functionName: delete_pong_writer
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t delete_pong_writer (dds_instance_handle_t pphandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1427,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vpp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1429
    functionName: free_ppant
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_ppant (void *vpp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1438,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1441,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1446,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1447,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1449,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1449,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1450,1
    - Dst: delete_pong_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1454,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1458,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1460,1
    - Dst: free_ppant
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1461,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1463,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1464,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1473,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1479,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1479,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1482,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1483,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1484,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1485,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1486,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1487,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1490,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1490,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1491,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1492,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1497,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1498,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1503,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1504,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1508,1
    - Dst: make_guidstr
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1513,1
    - Dst: create_pong_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1514,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1518,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1521,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1524,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1528,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1533,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1533,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1535,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts:
    - condition: (info.instance_state != DDS_ALIVE_INSTANCE_STATE || info.valid_data)
      pos:
        line_end: 1440
        line_start: 1440
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (hostname)
      pos:
        line_end: 1482
        line_start: 1482
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (pp)
      pos:
        line_end: 1491
        line_start: 1491
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1537
      start: 1431
    functionDepth: 3
    functionLinenumber: 1431
    functionLinenumberEnd: 1537
    functionName: async_participant_data_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_take
    - error2
    - sscanf
    - DDS_SECS
    - dds_delete
    - ddsrt_fibheap_delete
    - dds_return_loan
    - ddsrt_avl_lookup_dpath
    - fflush
    - free_ppant
    - ddsrt_getpid
    - memcpy
    - ddsrt_mutex_lock
    - dds_qget_userdata
    - ddsrt_fibheap_insert
    - ddsrt_avl_delete_dpath
    - DDS_MSECS
    - free
    - ddsrt_avl_insert_ipath
    - ddsrt_avl_lookup_ipath
    - ddsrt_time_highres
    - assert
    - create_pong_writer
    - dds_free
    - strlen
    - printf
    - make_guidstr
    - malloc
    - delete_pong_writer
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void async_participant_data_listener (dds_entity_t rd, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: async_participant_data_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1546,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1550,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1551,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1553,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1553,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1560,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1561,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1562,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1562,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1569,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1571,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - match_mask
    - rd_epinfo
    - remote_endpoint
    argTypes:
    - uint32_t
    - dds_entity_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1539
    functionDepth: 4
    functionLinenumber: 1539
    functionLinenumberEnd: 1574
    functionName: async_endpoint_matched_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_read_instance
    - ddsrt_getpid
    - error2
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - dds_return_loan
    - printf
    - async_participant_data_listener
    - ddsrt_mutex_unlock
    - fflush
    linkageType: ''
    returnType: void
    signature: void async_endpoint_matched_listener (uint32_t match_mask, dds_entity_t
      rd_epinfo, dds_instance_handle_t remote_endpoint)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts:
    - condition: ((mask & ~MM_ALL) == 0)
      pos:
        line_end: 1577
        line_start: 1577
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1589
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1589
    functionName: match_mask1_to_string
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *match_mask1_to_string (uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1598,1
    - Dst: match_mask1_to_string
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - size
    - mask
    argTypes:
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1602
    functionName: match_mask_to_string
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - match_mask1_to_string
    linkageType: ''
    returnType: char
    signature: char *match_mask_to_string (char *buf, size_t size, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_endpoint_matched_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rd
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_subscription_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1604
    functionDepth: 5
    functionLinenumber: 1604
    functionLinenumberEnd: 1616
    functionName: async_subscription_matched_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - async_endpoint_matched_listener
    linkageType: ''
    returnType: void
    signature: void async_subscription_matched_listener (dds_entity_t rd, const dds_subscription_matched_status_t
      status, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_endpoint_matched_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wr
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1618
    functionDepth: 5
    functionLinenumber: 1618
    functionLinenumberEnd: 1630
    functionName: async_publication_matched_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - async_endpoint_matched_listener
    linkageType: ''
    returnType: void
    signature: void async_publication_matched_listener (dds_entity_t wr, const dds_publication_matched_status_t
      status, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue_data_available
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1635
    functionName: participant_data_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 1
    functionsReached:
    - async_listener_enqueue_data_available
    linkageType: ''
    returnType: void
    signature: void participant_data_listener (dds_entity_t rd, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue_subscription_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rd
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_subscription_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: subscription_matched_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - async_listener_enqueue_subscription_matched
    linkageType: ''
    returnType: void
    signature: void subscription_matched_listener (dds_entity_t rd, const dds_subscription_matched_status_t
      status, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_listener_enqueue_publication_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wr
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: publication_matched_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - async_listener_enqueue_publication_matched
    linkageType: ''
    returnType: void
    signature: void publication_matched_listener (dds_entity_t wr, const dds_publication_matched_status_t
      status, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1650,1
    - Dst: dds_get_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1652,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1653,1
    - Dst: dds_lset_data_available_arg
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1654,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1655,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1656,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - rd
    - rd_name
    - fn
    - arg
    argTypes:
    - dds_entity_t
    - char*
    - dds_on_data_available_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1658
    functionName: set_data_available_listener
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_lset_data_available_arg
    - dds_set_listener
    - dds_create_listener
    - error2
    - dds_get_listener
    linkageType: ''
    returnType: void
    signature: void set_data_available_listener (dds_entity_t rd, const char *rd_name,
      dds_on_data_available_fn fn, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1814,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1815,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1816,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1817,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1818,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - rd
    - max_samples
    argTypes:
    - struct subthread_arg*
    - dds_entity_t
    - uint32_t
    assertStmts:
    - condition: (arg->mseq)
      pos:
        line_end: 1814
        line_start: 1814
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - condition: (arg->iseq)
      pos:
        line_end: 1816
        line_start: 1816
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 1822
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1822
    functionName: subthread_arg_init
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - malloc
    - assert
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: void
    signature: void subthread_arg_init (struct subthread_arg *arg, dds_entity_t rd,
      uint32_t max_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1826,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1827,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct subthread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1829
    functionName: subthread_arg_fini
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - dds_return_loan
    - free
    linkageType: ''
    returnType: void
    signature: void subthread_arg_fini (struct subthread_arg *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1835,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1837
    functionName: signal_handler
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_st32
    - dds_set_guardcondition
    linkageType: ''
    returnType: void
    signature: void signal_handler (int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigwait
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1845,1
    - Dst: signal_handler
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1846,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1850
    functionName: sigthread
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - sigwait
    - error2
    - signal_handler
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigthread (void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1856,1
    - Dst: ddsrt_atomic_or32_ov
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1857,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1859,1
    - Dst: write
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1860,1
    - Dst: print_stats
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1863,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1863,1
    - Dst: kill
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1864,1
    - Dst: getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1866
    functionName: sigxfsz_handler
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_or32_ov
    - write
    - ddsrt_time_highres
    - DDS_SECS
    - getpid
    - DDSRT_ATOMIC_UINT32_INIT
    - print_stats
    - kill
    linkageType: ''
    returnType: void
    signature: void sigxfsz_handler (int sig __attribute__ ((unused)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1876,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1977,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:1978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1979
    functionName: usage
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 2
    functionsReached:
    - exit
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void usage (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2003,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - elems
    - label
    - str
    - notfound_error
    argTypes:
    - struct string_int_map_elem*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2000
    functionDepth: 2
    functionLinenumber: 2000
    functionLinenumberEnd: 2008
    functionName: exact_string_int_map_lookup
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - error3
    linkageType: ''
    returnType: int
    signature: int exact_string_int_map_lookup (const struct string_int_map_elem *elems,
      const char *label, const char *str, bool notfound_error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2013,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2017,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2019,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2019,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2028,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2030,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - elems
    - label
    - str
    - notfound_error
    argTypes:
    - struct string_int_map_elem*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2010
    functionDepth: 2
    functionLinenumber: 2010
    functionLinenumberEnd: 2032
    functionName: string_int_map_lookup
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strcmp
    - error3
    - strlen
    linkageType: ''
    returnType: int
    signature: int string_int_map_lookup (const struct string_int_map_elem *elems,
      const char *label, const char *str, bool notfound_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - units
    - suffix
    argTypes:
    - struct multiplier*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2071
    functionName: lookup_multiplier
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int lookup_multiplier (const struct multiplier *units, const char *suffix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2075,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2082,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2083,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2083,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - xoptind
    - xargc
    - xargv
    - token
    - units
    - val
    argTypes:
    - int*
    - int
    - char*[]
    - char*
    - struct multiplier*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2073
    functionDepth: 2
    functionLinenumber: 2073
    functionLinenumberEnd: 2089
    functionName: set_simple_uint32
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - error3
    - sscanf
    - lookup_multiplier
    linkageType: ''
    returnType: bool
    signature: bool set_simple_uint32 (int *xoptind, int xargc, char * const xargv[],
      const char *token, const struct multiplier *units, uint32_t *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exact_string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2095,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2099,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2099,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2103,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2103,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2108,1
    - Dst: set_simple_uint32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2110,1
    - Dst: string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - xoptind
    - xargc
    - xargv
    argTypes:
    - int*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2091
    functionDepth: 3
    functionLinenumber: 2091
    functionLinenumberEnd: 2120
    functionName: set_mode_ping
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - string_int_map_lookup
    - sscanf
    - set_simple_uint32
    - strncmp
    - lookup_multiplier
    - error3
    - exact_string_int_map_lookup
    linkageType: ''
    returnType: void
    signature: void set_mode_ping (int *xoptind, int xargc, char * const xargv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exact_string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2125,1
    - Dst: string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - xoptind
    - xargc
    - xargv
    argTypes:
    - int*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2122
    functionDepth: 3
    functionLinenumber: 2122
    functionLinenumberEnd: 2130
    functionName: set_mode_pong
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - string_int_map_lookup
    - exact_string_int_map_lookup
    linkageType: ''
    returnType: void
    signature: void set_mode_pong (int *xoptind, int xargc, char * const xargv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exact_string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2141,1
    - Dst: string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - xoptind
    - xargc
    - xargv
    argTypes:
    - int*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2132
    functionDepth: 3
    functionLinenumber: 2132
    functionLinenumberEnd: 2146
    functionName: set_mode_sub
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - string_int_map_lookup
    - exact_string_int_map_lookup
    linkageType: ''
    returnType: void
    signature: void set_mode_sub (int *xoptind, int xargc, char * const xargv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: exact_string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2153,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2157,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2157,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2161,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2161,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2163,1
    - Dst: set_simple_uint32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2166,1
    - Dst: set_simple_uint32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2170,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2174,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2174,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2176,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2179,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2179,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2182,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2185,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2191,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 3
    argNames:
    - xoptind
    - xargc
    - xargv
    argTypes:
    - int*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2148
    functionDepth: 3
    functionLinenumber: 2148
    functionLinenumberEnd: 2195
    functionName: set_mode_pub
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strcmp
    - set_simple_uint32
    - strncmp
    - lookup_multiplier
    - error3
    - exact_string_int_map_lookup
    linkageType: ''
    returnType: void
    signature: void set_mode_pub (int *xoptind, int xargc, char * const xargv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exact_string_int_map_lookup
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2205,1
    - Dst: set_mode_ping
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2210,1
    - Dst: set_mode_pong
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2211,1
    - Dst: set_mode_sub
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2212,1
    - Dst: set_mode_pub
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2213,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - xoptind
    - xargc
    - xargv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2197
    functionDepth: 4
    functionLinenumber: 2197
    functionLinenumberEnd: 2220
    functionName: set_mode
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - set_mode_pong
    - set_mode_sub
    - set_mode_ping
    - set_mode_pub
    - error3
    - exact_string_int_map_lookup
    linkageType: ''
    returnType: void
    signature: void set_mode (int xoptind, int xargc, char * const xargv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2224,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2226,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2229,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2230,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2230,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2231,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2232,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2241,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2244,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2246
    functionName: wait_for_initial_matches
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_time_highres
    - ddsrt_mutex_lock
    - dds_sleepfor
    - DDS_MSECS
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool wait_for_initial_matches (void)
  - BBCount: 138
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2267,1
    - Dst: getopt
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2271,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2281,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2282,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2286,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2287,1
    - Dst: atof
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2292,1
    - Dst: atoi
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2293,1
    - Dst: atoi
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2294,1
    - Dst: atoi
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2296,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2300,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2301,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2302,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2303,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2304,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2305,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2306,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2307,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2308,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2309,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2310,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2311,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2312,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2317,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2320,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2323,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2325,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2327,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2329,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2331,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2334,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2341,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2342,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2345,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2349,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2350,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2351,1
    - Dst: set_mode
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2354,1
    - Dst: set_mode
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2358,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2364,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2366,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2368,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2370,1
    - Dst: ddsrt_set_allocator
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2377,1
    - Dst: record_netload_new
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2388,1
    - Dst: error3
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2389,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2391,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2392,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2394,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2395,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2396,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2397,1
    - Dst: hist_new
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2399,1
    - Dst: async_listener_new
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2401,1
    - Dst: async_listener_start
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2401,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2402,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2404,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2410,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2410,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2411,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2412,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2413,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2414,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2414,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2416,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2417,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2418,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2419,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2420,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2422,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2423,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2424,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2425,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2426,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2427,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2428,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2430,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2431,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2431,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2432,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2433,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2434,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2453,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2454,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2455,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2456,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2457,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2457,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2458,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2459,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2460,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2461,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2462,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2463,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2464,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2470,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2471,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2472,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2473,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2474,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2475,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2481,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2482,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2483,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2484,1
    - Dst: async_participant_data_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2488,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2491,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2492,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2493,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2494,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2495,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2498,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2499,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2501,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2504,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2505,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2506,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2507,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2508,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2509,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2510,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2511,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2512,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2513,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2514,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2515,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2516,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2517,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2520,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2522,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2524,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2525,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2526,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2527,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2528,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2529,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2530,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2531,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2532,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2533,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2534,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2535,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2536,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2537,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2538,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2548,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2549,1
    - Dst: make_guidstr
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2551,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2553,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2554,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2555,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2556,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2557,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2558,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2559,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2560,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2561,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2562,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2564,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2566,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2567,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2568,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2569,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2570,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2571,1
    - Dst: init_eseq_admin
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2577,1
    - Dst: subthread_arg_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2578,1
    - Dst: subthread_arg_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2579,1
    - Dst: subthread_arg_init
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2580,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2589,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2590,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2591,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2592,1
    - Dst: wait_for_initial_matches
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2596,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2600,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2602,1
    - Dst: set_data_available_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2604,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2615,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2616,1
    - Dst: set_data_available_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2620,1
    - Dst: set_data_available_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2621,1
    - Dst: record_cputime_new
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2626,1
    - Dst: dds_create_statistics
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2631,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2632,1
    - Dst: dds_create_statistics
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2633,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2634,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2635,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2636,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2637,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2654,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2659,1
    - Dst: sigemptyset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2661,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2663,1
    - Dst: sigaddset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2665,1
    - Dst: sigaddset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2666,1
    - Dst: sigaddset
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2667,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2669,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2671,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2672,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2674,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2679,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2686,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2688,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2689,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2701,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2703,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2720,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2721,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2723,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2726,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2726,1
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2727,1
    - Dst: ddsrt_avl_is_singleton
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2737,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2740,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2742,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2757,1
    - Dst: error2
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2758,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2761,1
    - Dst: print_stats
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2765,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2767,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2768,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2770,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2774,1
    - Dst: record_cputime_read_rss
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2776,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2777,1
    - Dst: record_cputime_read_rss
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2779,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2780,1
    - Dst: maybe_send_new_ping
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2790,1
    - Dst: dds_delete_statistics
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2794,1
    - Dst: dds_delete_statistics
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2795,1
    - Dst: record_netload_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2796,1
    - Dst: record_cputime_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2797,1
    - Dst: signal_handler
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2800,1
    - Dst: kill
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2806,1
    - Dst: getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2806,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2807,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2808,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2809,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2810,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2811,1
    - Dst: signal
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2812,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2817,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2819,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2822,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2823,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2830,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2831,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2832,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2833,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2834,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2835,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2849,1
    - Dst: fini_eseq_admin
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2859,1
    - Dst: subthread_arg_fini
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2860,1
    - Dst: subthread_arg_fini
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2861,1
    - Dst: subthread_arg_fini
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2862,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2863,1
    - Dst: async_listener_stop
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2868,1
    - Dst: async_listener_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2869,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2871,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2872,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2873,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2874,1
    - Dst: hist_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2875,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2876,1
    - Dst: latencystat_fini
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2882,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2884,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2891,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2891,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2895,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2895,1
    - Dst: match_mask_to_string
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2895,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2900,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2904,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2904,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2909,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2909,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2914,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2914,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2919,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2919,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2924,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2924,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2929,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2929,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2935,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2935,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2935,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2936,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/tools/ddsperf/ddsperf.c:2936,1
    CyclomaticComplexity: 194
    EdgeCount: 194
    ICount: 533
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (cnt >= 0 && (size_t)cnt < sizeof (udata))
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    constantsTouched: []
    func_position:
      end: 2939
      start: 2248
    functionDepth: 5
    functionLinenumber: 2248
    functionLinenumberEnd: 2939
    functionName: main
    functionSourceFile: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - dds_qset_userdata
    - DDS_SECS
    - dds_qset_reliability
    - async_participant_data_listener
    - abort
    - dds_lset_data_available
    - fflush
    - record_cputime_new
    - dds_create_reader
    - DDS_MSECS
    - print_stats
    - free
    - async_listener_stop
    - record_netload_free
    - ddsrt_avl_iter_first
    - ddsrt_fibheap_extract_min
    - ddsrt_thread_create
    - dds_lset_subscription_matched
    - fini_eseq_admin
    - set_mode
    - async_listener_start
    - ddsrt_avl_free
    - async_listener_new
    - dds_qset_ignorelocal
    - dds_create_waitset
    - dds_create_topic
    - dds_waitset_attach
    - set_data_available_listener
    - latencystat_fini
    - ddsrt_mutex_lock
    - ddsrt_set_allocator
    - async_listener_free
    - dds_delete_listener
    - ddsrt_time_highres
    - ddsrt_strlcpy
    - strcmp
    - strlen
    - sigaddset
    - make_guidstr
    - getopt
    - dds_get_instance_handle
    - ddsrt_gethostname
    - error3
    - strrchr
    - hist_new
    - dds_create_participant
    - memset
    - dds_waitset_wait
    - signal_handler
    - atoi
    - error2
    - dds_delete
    - dds_create_subscriber
    - signal
    - dds_create_qos
    - snprintf
    - ddsrt_atomic_ld32
    - getpid
    - atof
    - dds_lookup_statistic
    - subthread_arg_init
    - record_cputime_free
    - dds_qset_writer_batching
    - hist_free
    - match_mask_to_string
    - usage
    - printf
    - maybe_send_new_ping
    - dds_create_writer
    - dds_create_listener
    - dds_set_listener
    - subthread_arg_fini
    - sscanf
    - dds_delete_statistics
    - sigprocmask
    - dds_qset_resource_limits
    - kill
    - dds_qset_history
    - sigemptyset
    - ddsrt_getpid
    - dds_get_guid
    - DDSRT_WARNING_GNUC_OFF
    - dds_create_publisher
    - record_netload_new
    - ddsrt_mutex_destroy
    - ddsrt_thread_join
    - record_cputime_read_rss
    - assert
    - DDSRT_WARNING_GNUC_ON
    - ddsrt_avl_init
    - dds_create_statistics
    - ddsrt_threadattr_init
    - wait_for_initial_matches
    - ddsrt_mutex_init
    - ddsrt_fibheap_min
    - init_eseq_admin
    - dds_lset_publication_matched
    - dds_create_guardcondition
    - dds_qset_partition1
    - dds_delete_qos
    - ddsrt_atomic_st32
    - ddsrt_fibheap_init
    - ddsrt_avl_is_singleton
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_exp_mac
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: init_support
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - clear_exp_mac
    linkageType: ''
    returnType: void
    signature: void init_support( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MSC_PRAGMA
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:166,1
    - Dst: warning
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:166,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - tf
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: mcpp_use_mem_buffers
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - warning
    - free
    - MSC_PRAGMA
    linkageType: ''
    returnType: void
    signature: "void mcpp_use_mem_buffers(\n    int    tf\n)"
  - 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: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: MAX
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX( a, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:189,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:194,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:199,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - mem_buf_p
    - string
    - length
    argTypes:
    - MEMBUF*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 212
    functionName: append_to_buffer
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - MAX
    - memcpy
    - xmalloc
    - xrealloc
    linkageType: ''
    returnType: char
    signature: "char *   append_to_buffer(\n    MEMBUF *    mem_buf_p,\n    const
      char *    string,\n    size_t      length\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append_to_buffer
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - od
    argTypes:
    - int
    - MCPP_OUTDEST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: mem_putc
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - append_to_buffer
    linkageType: ''
    returnType: int
    signature: "int mem_putc(\n    int     c,\n    MCPP_OUTDEST od\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append_to_buffer
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:234,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - od
    argTypes:
    - char*
    - MCPP_OUTDEST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: mem_puts
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - append_to_buffer
    - strlen
    linkageType: ''
    returnType: int
    signature: "int mem_puts(\n    const char *    s,\n    MCPP_OUTDEST od\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - od
    argTypes:
    - MCPP_OUTDEST
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: mcpp_get_mem_buffer
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *  mcpp_get_mem_buffer(\n    MCPP_OUTDEST od\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - od
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: DEST2FP
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEST2FP(od)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEST2FP
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:312,1
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:317,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:322,1
    - Dst: mem_puts
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:325,1
    - Dst: vfprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:329,1
    - Dst: va_end
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - od
    - format
    argTypes:
    - MCPP_OUTDEST
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: mcpp_lib_fprintf
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - va_start
    - vfprintf
    - vsnprintf
    - mem_puts
    - DEST2FP
    - va_end
    linkageType: ''
    returnType: int
    signature: "int mcpp_lib_fprintf(\n    MCPP_OUTDEST od,\n    const char *    format,\n
      \   ...\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: mcpp_reset_def_out_func
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mcpp_reset_def_out_func( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: mcpp_set_out_func
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mcpp_set_out_func(\n    int (* func_fputc)( int c, MCPP_OUTDEST
      od),\n    int (* func_fputs)( const char * s, MCPP_OUTDEST od),\n    int (*
      func_fprintf)( MCPP_OUTDEST od, const char * format, ...)\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:386,1
    - Dst: is_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:389,1
    - Dst: expand_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:390,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:393,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:395,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:396,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:399,1
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:402,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:407,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:415,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:416,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:418,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:419,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:422,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:423,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:427,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:428,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:432,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:435,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:436,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:438,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:440,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:441,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:441,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 46
    argCount: 2
    argNames:
    - c
    - diag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 446
    functionName: get_unexpandable
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - is_macro
    - str_eq
    - expand_macro
    - skip_ws
    - unget_ch
    - strlen
    - get_ch
    - cerror
    - cwarn
    - dump_a_def
    - unget_string
    - scan_token
    linkageType: ''
    returnType: int
    signature: "int get_unexpandable(\n    int     c,                              /*
      First char of token  */\n    int     diag                            /* Flag
      of diagnosis    */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:455,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:456,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 460
    functionName: skip_nl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - get_ch
    - strlen
    linkageType: ''
    returnType: void
    signature: void skip_nl( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 474
    functionName: skip_ws
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - get_ch
    linkageType: ''
    returnType: int
    signature: int skip_ws( void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:512,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:522,1
    - Dst: scan_id
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:526,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:527,1
    - Dst: scan_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:535,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:544,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:545,1
    - Dst: scan_number
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:550,1
    - Dst: scan_number_prestd
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:551,1
    - Dst: scan_op
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:555,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:561,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:562,1
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:570,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:588,1
    - Dst: dump_token
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:591,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 3
    argNames:
    - c
    - out_pp
    - out_end
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 599
    functionName: scan_token
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - scan_quote
    - scan_number
    - scan_id
    - unget_ch
    - mb_read
    - scan_number_prestd
    - get_ch
    - cfatal
    - scan_op
    - dump_token
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int scan_token(\n    int     c,                  /* The first character
      of the token */\n    char ** out_pp,             /* Pointer to pointer to output
      buf */\n    char *  out_end             /* End of output buffer             */\n)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:623,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:624,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:626,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:637,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:642,1
    - Dst: scan_ucn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:647,1
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:660,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:663,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:674,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:684,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:688,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:703,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:708,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:709,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 64
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 712
    functionName: scan_id
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - unget_ch
    - mb_read
    - get_ch
    - cerror
    - cwarn
    - strchr
    - scan_ucn
    linkageType: ''
    returnType: void
    signature: "void scan_id(\n    int     c                               /* First
      char of id     */\n)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:747,1
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:753,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:759,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:760,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:762,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:765,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:783,1
    - Dst: scan_ucn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:791,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:798,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:803,1
    - Dst: cat_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:809,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:811,1
    - Dst: iscntrl
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:819,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:821,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:828,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:833,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:848,1
    - Dst: cat_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:851,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:855,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:861,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:864,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:867,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:875,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:877,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:882,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:889,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 136
    argCount: 4
    argNames:
    - delim
    - out
    - out_end
    - diag
    argTypes:
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 897
    functionName: scan_quote
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - memcpy
    - unget_ch
    - iscntrl
    - mb_read
    - get_ch
    - xmalloc
    - cwarn
    - free
    - cfatal
    - scan_ucn
    - cerror
    - cat_line
    linkageType: ''
    returnType: char
    signature: "char *  scan_quote(\n    int         delim,              /* ', \"
      or < (header-name)      */\n    char *      out,                /* Output buffer
      \               */\n    char *      out_end,            /* End of output buffer
      \        */\n    int         diag                /* Diagnostic should be output
      \ */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:917,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:918,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:920,1
    - Dst: get_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:921,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:923,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:926,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:927,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:928,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:929,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - del_bsl
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 935
    functionName: cat_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - save_string
    - memcpy
    - get_line
    - strlen
    - strcpy
    - free
    linkageType: ''
    returnType: char
    signature: "char *   cat_line(\n    int     del_bsl         /* Delete the <backslash><newline>
      ?    */\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:959,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:962,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:969,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:974,1
    - Dst: scan_ucn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:979,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:983,1
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:987,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:990,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:996,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1009,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1011,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 42
    argCount: 3
    argNames:
    - c
    - out
    - out_end
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 1013
    functionName: scan_number
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - unget_ch
    - mb_read
    - get_ch
    - cerror
    - cfatal
    - scan_ucn
    linkageType: ''
    returnType: char
    signature: "char *   scan_number(\n    int     c,                              /*
      First char of number */\n    char *  out,                            /* Output
      buffer        */\n    char *  out_end                 /* Limit of output buffer
      \      */\n)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1039,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1047,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1051,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1065,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1091,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1121,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1128,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1130,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1135,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 109
    argCount: 3
    argNames:
    - c
    - out
    - out_end
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1137
    functionName: scan_number_prestd
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - get_ch
    - unget_ch
    - cfatal
    - cwarn
    linkageType: ''
    returnType: char
    signature: "char *   scan_number_prestd(\n    int         c,                          /*
      First char of number */\n    char *      out,                        /* Output
      buffer        */\n    char *      out_end             /* Limit of output buffer
      \      */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1155,1
    - Dst: isxdigit
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1156,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1158,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1161,1
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1164,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1166,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - cnt
    - out
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1178
    functionName: scan_ucn
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 3
    functionsReached:
    - isxdigit
    - isdigit
    - unget_ch
    - get_ch
    - cerror
    - tolower
    linkageType: ''
    returnType: char
    signature: "char *   scan_ucn(\n    int     cnt,                            /*
      Bytes of sequence    */\n    char *  out                             /* Output
      buffer        */\n)"
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1215,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1241,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1247,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1268,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1274,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1302,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1307,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1326,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1327,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1332,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1333,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1337,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1371,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1377,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1398,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1413,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 259
    argCount: 2
    argNames:
    - c
    - out
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1422
    functionName: scan_op
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - get_ch
    - unget_ch
    - cfatal
    linkageType: ''
    returnType: char
    signature: "char *   scan_op(\n    int     c,                          /* First
      char of the token  */\n    char *  out                         /* Output buffer
      \           */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1462
    functionName: id_operator
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - str_eq
    linkageType: ''
    returnType: int
    signature: "int id_operator(\n    const char *    name\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_exp_mac
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1475,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - name
    - to_be_freed
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (exp_mac_ind < EXP_MAC_IND_MAX - 1)
      pos:
        line_end: 1477
        line_start: 1477
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    constantsTouched: []
    func_position:
      end: 1481
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1481
    functionName: expanding
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - assert
    - clear_exp_mac
    linkageType: ''
    returnType: void
    signature: "void expanding(\n    const char *    name,       /* The name of (nested)
      macro just expanded. */\n    int             to_be_freed /* The name should
      be freed later.  */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1498
    functionName: clear_exp_mac
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clear_exp_mac( void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1541,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1546,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1547,1
    - Dst: last_is_mbchar
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1564,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1564,1
    - Dst: parse_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1580,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1581,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1587,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1589,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1590,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1591,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1595,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1596,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1597,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1602,1
    - Dst: mcpp_set_out_func
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1608,1
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1613,1
    - Dst: expanding
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1625,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1627,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1629,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1630,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1631
    functionName: get_ch
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 11
    functionsReached:
    - fclose
    - sharp
    - xrealloc
    - dump_string
    - strlen
    - dump_unget
    - get_ch
    - parse_line
    - last_is_mbchar
    - free
    - expanding
    - mcpp_fprintf
    - mcpp_set_out_func
    linkageType: ''
    returnType: int
    signature: int get_ch( void)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: get_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1653,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1662,1
    - Dst: read_a_comment
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1680,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1681,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1714,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1719,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1720,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1736,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1742,1
    - Dst: scan_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1759,1
    - Dst: scan_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1762,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1766,1
    - Dst: parse_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1767,1
    - Dst: iscntrl
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1772,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1773,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1784,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1794,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1795,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1803,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1805,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 139
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "( macro_line >= (ssize_t)LONG_MIN &&\n                        macro_line
        <= (ssize_t)LONG_MAX)"
      pos:
        line_end: 1803
        line_start: 1802
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    - condition: ( tp > temp)
      pos:
        line_end: 1741
        line_start: 1741
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    constantsTouched: []
    func_position:
      end: 1811
      start: 1633
    functionDepth: 3
    functionLinenumber: 1633
    functionLinenumberEnd: 1811
    functionName: parse_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 2
    functionsReached:
    - scan_quote
    - assert
    - get_line
    - iscntrl
    - mcpp_fputc
    - strcpy
    - xmalloc
    - cwarn
    - free
    - parse_line
    - cerror
    - read_a_comment
    - cfatal
    linkageType: ''
    returnType: char
    signature: char *   parse_line( void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1830,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1835,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1842,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1844,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1851,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1852,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1863,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1880,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1887,1
    - Dst: get_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1889,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 2
    argNames:
    - sp
    - sizp
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1902
    functionName: read_a_comment
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - get_line
    - strlen
    - mcpp_fputc
    - cwarn
    - mcpp_fputs
    linkageType: ''
    returnType: char
    signature: "char *   read_a_comment(\n    char *      sp,                         /*
      Source               */\n    size_t *    sizp                        /* Size
      of the comment  */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - size
    - stream
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1911
    functionName: mcpp_fgets
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - fgets
    linkageType: ''
    returnType: char
    signature: "char *   mcpp_fgets(\n    char *  s,\n    int     size,\n    FILE
      *  stream\n)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fgets
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1939,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1945,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1948,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1949,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1951,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1956,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1959,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1968,1
    - Dst: cnv_trigraph
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1975,1
    - Dst: cnv_digraph
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1977,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1979,1
    - Dst: last_is_mbchar
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1983,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:1994,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2003,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2009,1
    - Dst: ferror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2018,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2019,1
    - Dst: at_eof
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2020,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 71
    argCount: 1
    argNames:
    - in_comment
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 1913
    functionDepth: 1
    functionLinenumber: 1913
    functionLinenumberEnd: 2027
    functionName: get_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 3
    functionsReached:
    - cnv_digraph
    - dump_string
    - at_eof
    - strlen
    - cnv_trigraph
    - cwarn
    - cfatal
    - last_is_mbchar
    - ferror
    - mcpp_fgets
    - mcpp_fprintf
    linkageType: ''
    returnType: char
    signature: "char *   get_line(\n    int     in_comment\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2048,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2053,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2057,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2057,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2065
    functionName: cnv_trigraph
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - memmove
    - cwarn
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: "int cnv_trigraph(\n    char *      in\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2079,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2104,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2104,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2109,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2112
    functionName: cnv_digraph
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - strcspn
    - memmove
    - cwarn
    - strlen
    linkageType: ''
    returnType: int
    signature: "int cnv_digraph(\n    char *      in\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2144,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2149,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2158,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2163,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2166,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2173,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2177,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2183,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2186,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2189,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2194,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 1
    argNames:
    - in_comment
    argTypes:
    - int
    assertStmts:
    - condition: "( macro_line >= (ssize_t)LONG_MIN &&\n                macro_line
        <= (ssize_t)LONG_MAX)"
      pos:
        line_end: 2183
        line_start: 2182
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    constantsTouched: []
    func_position:
      end: 2197
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2197
    functionName: at_eof
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - assert
    - strlen
    - strcpy
    - cerror
    - cwarn
    linkageType: ''
    returnType: char
    signature: "char *   at_eof(\n    int     in_comment\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2219,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2228,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2233
    functionName: unget_ch
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 8
    functionsReached:
    - dump_unget
    - cfatal
    linkageType: ''
    returnType: void
    signature: void unget_ch( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2248,1
    - Dst: get_file
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2251,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - text
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2235
    functionDepth: 2
    functionLinenumber: 2235
    functionLinenumberEnd: 2257
    functionName: unget_string
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - memcpy
    - get_file
    - strlen
    linkageType: ''
    returnType: FILEINFO
    signature: "FILEINFO *  unget_string(\n    const char *    text,               /*
      Text to unget            */\n    const char *    name                /* Name
      of the macro, if any*/\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2269,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2270,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2259
    functionDepth: 2
    functionLinenumber: 2259
    functionLinenumberEnd: 2273
    functionName: save_string
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - memcpy
    - xmalloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *  save_string(\n    const char *      text\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2288,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2289,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2301,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2301,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2302,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2307,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2307,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 5
    argNames:
    - name
    - src_dir
    - fullname
    - bufsize
    - include_opt
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2328
    functionName: get_file
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - strlen
    - strcpy
    linkageType: ''
    returnType: FILEINFO
    signature: "FILEINFO *  get_file(\n    const char *    name,                   /*
      File or macro name   */\n    const char *    src_dir,                /* Source
      file directory*/\n    const char *    fullname,               /* Full path list
      \      */\n    size_t      bufsize,                    /* Line buffer size     */\n
      \   int         include_opt         /* Specified by -include opt (for GCC)  */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2343,1
    - Dst: print_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2345,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2349
    functionName: "*\n(xmalloc)(\n    size_t      size\n)"
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - malloc
    - cfatal
    - print_heap
    linkageType: ''
    returnType: char
    signature: "char *\n(xmalloc)(\n    size_t      size\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2361,1
    - Dst: print_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2365,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2351
    functionDepth: 1
    functionLinenumber: 2351
    functionLinenumberEnd: 2369
    functionName: "*  (xrealloc)(\n    char *      ptr,\n    size_t      size\n)"
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - realloc
    - cfatal
    - print_heap
    linkageType: ''
    returnType: char
    signature: "char *  (xrealloc)(\n    char *      ptr,\n    size_t      size\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - p_line_col
    argTypes:
    - LINE_COL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2415
    functionName: get_src_location
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LINE_COL
    signature: "LINE_COL *  get_src_location(\n    LINE_COL *  p_line_col          /*
      Line and column on phase 4   */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2430,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - out
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2432
    functionName: put_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - FP2DEST
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void put_line(\n    char *  out,\n    FILE *  fp\n)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2457,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2464,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2467,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2545,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2547,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2548,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2556,1
    - Dst: put_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2557,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2559,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2567,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2568,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2571,1
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2573,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2577,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2579,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2585,1
    - Dst: put_line
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2587,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2601,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2608,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2612,1
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2615,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2622,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 138
    argCount: 5
    argNames:
    - severity
    - format
    - arg1
    - arg2
    - arg3
    argTypes:
    - char*
    - char*
    - char*
    - long
    - char*
    assertStmts:
    - condition: (defp)
      pos:
        line_end: 2567
        line_start: 2567
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    constantsTouched: []
    func_position:
      end: 2623
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2623
    functionName: do_msg
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - mcpp_fputc
    - strcpy
    - malloc
    - put_line
    - dump_a_def
    - free
    - str_eq
    - look_id
    - mcpp_fputs
    - mcpp_fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void do_msg(\n    const char *    severity,       /* \"fatal\", \"error\",
      \"warning\"  */\n    const char *    format,         /* Format for the error
      message */\n    const char *    arg1,           /* String arg. for the message
      \ */\n    long            arg2,           /* Integer argument             */\n
      \   const char *    arg3            /* Second string argument       */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_msg
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2635,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - format
    - arg1
    - arg2
    - arg3
    argTypes:
    - char*
    - char*
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2625
    functionDepth: 2
    functionLinenumber: 2625
    functionLinenumberEnd: 2637
    functionName: cfatal
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 10
    functionsReached:
    - longjmp
    - do_msg
    linkageType: ''
    returnType: void
    signature: "void cfatal(\n    const char *    format,\n    const char *    arg1,\n
      \   long    arg2,\n    const char *    arg3\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_msg
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - format
    - arg1
    - arg2
    - arg3
    argTypes:
    - char*
    - char*
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2639
    functionDepth: 2
    functionLinenumber: 2639
    functionLinenumberEnd: 2651
    functionName: cerror
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 7
    functionsReached:
    - do_msg
    linkageType: ''
    returnType: void
    signature: "void cerror(\n    const char *    format,\n    const char *    arg1,\n
      \   long    arg2,\n    const char *    arg3\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_msg
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - format
    - arg1
    - arg2
    - arg3
    argTypes:
    - char*
    - char*
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2664
    functionName: cwarn
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 10
    functionsReached:
    - do_msg
    linkageType: ''
    returnType: void
    signature: "void cwarn(\n    const char *    format,\n    const char *    arg1,\n
      \   long    arg2,\n    const char *    arg3\n)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2681,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2682,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2685,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2695,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2709,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2713,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2719,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2724,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2757,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2762,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2776,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2778,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2783,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2786,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 2
    argNames:
    - why
    - text
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2666
    functionDepth: 0
    functionLinenumber: 2666
    functionLinenumberEnd: 2787
    functionName: dump_string
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 2
    functionsReached:
    - mcpp_fputs
    - mcpp_fprintf
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void dump_string(\n    const char *    why,\n    const char *    text\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2798,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2800,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2801,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2803,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2789
    functionDepth: 1
    functionLinenumber: 2789
    functionLinenumberEnd: 2808
    functionName: dump_unget
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 2
    functionsReached:
    - mcpp_fputs
    - dump_string
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void dump_unget(\n    const char *    why\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2822,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/support.c:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - token_type
    - cp
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2824
    functionName: dump_token
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/support.c
    functionUses: 1
    functionsReached:
    - mcpp_fputs
    - dump_string
    linkageType: ''
    returnType: void
    signature: "void dump_token(\n    int     token_type,\n    const char *    cp
      \                             /* Token        */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: is_binary
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_binary(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: is_unary
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_unary(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: init_eval
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_eval( void)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:301,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:305,1
    - Dst: eval_lex
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:309,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:324,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:329,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:333,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:338,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:339,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:351,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:354,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:362,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:372,1
    - Dst: is_unary
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:377,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:386,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:414,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:416,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:417,1
    - Dst: dump_stack
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:418,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:433,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:441,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:452,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:462,1
    - Dst: dump_stack
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:464,1
    - Dst: eval_eval
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:470,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:476,1
    - Dst: dump_stack
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:477,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 488
    functionName: eval_if
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 0
    functionsReached:
    - dump_val
    - memset
    - eval_eval
    - dump_stack
    - cerror
    - cwarn
    - eval_lex
    - mcpp_fprintf
    - is_unary
    linkageType: ''
    returnType: expr_t
    signature: expr_t eval_if( void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:510,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:512,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:515,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:523,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:524,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:526,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:527,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:528,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:533,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:535,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:538,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:542,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:545,1
    - Dst: id_operator
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:549,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:551,1
    - Dst: chk_ops
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:552,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:554,1
    - Dst: do_sizeof
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:556,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:565,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:571,1
    - Dst: eval_char
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:575,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:579,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:580,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:585,1
    - Dst: eval_num
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:589,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:593,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:594,1
    - Dst: chk_ops
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:598,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:601,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 607
    functionName: eval_lex
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - do_sizeof
    - id_operator
    - skip_ws
    - unget_ch
    - eval_num
    - get_unexpandable
    - dump_val
    - strcpy
    - mcpp_fputc
    - cerror
    - chk_ops
    - cwarn
    - str_eq
    - look_id
    - scan_token
    - eval_char
    - mcpp_fprintf
    linkageType: ''
    returnType: int
    signature: int eval_lex( void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: chk_ops
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - cerror
    linkageType: ''
    returnType: int
    signature: int chk_ops( void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:643,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:643,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:651,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:651,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:656,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:656,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:658,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:658,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:660,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:660,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:662,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:662,1
    - Dst: look_type
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:674,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:687,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:687,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:710,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:726,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:735,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:736,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 738
    functionName: do_sizeof
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - skip_ws
    - unget_ch
    - look_type
    - get_unexpandable
    - cerror
    - mcpp_fprintf
    linkageType: ''
    returnType: int
    signature: int do_sizeof( void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:751,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:753,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:753,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:758,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:759,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:763,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:764,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:768,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:769,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:777,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:783,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:786,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:791,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:794,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:800,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - typecode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 805
    functionName: look_type
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - skip_ws
    - get_unexpandable
    - strcpy
    - cerror
    - cwarn
    - unget_string
    - str_eq
    - mcpp_fprintf
    linkageType: ''
    returnType: int
    signature: "int look_type(\n    int     typecode\n)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:860,1
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:861,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:900,1
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:914,1
    - Dst: atoi
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:915,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:919,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:948,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:952,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:957,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:961,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 109
    argCount: 1
    argNames:
    - nump
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 964
    functionName: eval_num
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - isupper
    - atoi
    - cwarn
    - cerror
    - tolower
    linkageType: ''
    returnType: VAL_SIGN
    signature: "VAL_SIGN *  eval_num(\n    const char *  nump                      /*
      Preprocessing number */\n)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mb_eval
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1008,1
    - Dst: eval_one
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1010,1
    - Dst: mb_eval
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1020,1
    - Dst: eval_one
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1026,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1059,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1061,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1066,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1068,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1077,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1081,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1089,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1091,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 74
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 1094
    functionName: eval_char
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - eval_one
    - cerror
    - mb_eval
    - cwarn
    linkageType: ''
    returnType: VAL_SIGN
    signature: "VAL_SIGN *   eval_char(\n    char * const    token\n)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1183,1
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1184,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1185,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1224,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1226,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1243,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1255,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1257,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1260,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1262,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 137
    argCount: 4
    argNames:
    - seq_pp
    - wide
    - mbits
    - ucn8
    argTypes:
    - char**
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1270
    functionName: eval_one
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - isupper
    - cwarn
    - cerror
    - strchr
    - tolower
    linkageType: ''
    returnType: expr_t
    signature: "expr_t eval_one(\n    char **     seq_pp,         /* Address of pointer
      to sequence   */\n                    /* eval_one() advances the pointer to
      sequence  */\n    int     wide,                       /* Flag of wide-character
      \  */\n    int     mbits,              /* Number of bits of a wide-char    */\n
      \   int *   ucn8                            /* Flag of UCN-32 bits  */\n)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1294,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1304,1
    - Dst: is_binary
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1304,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1306,1
    - Dst: is_binary
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1307,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1308,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1309,1
    - Dst: is_binary
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1313,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1322,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1323,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1330,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1336,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1343,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1348,1
    - Dst: eval_signed
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1356,1
    - Dst: eval_unsigned
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1358,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 66
    argCount: 2
    argNames:
    - valp
    - op
    argTypes:
    - VAL_SIGN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1375
    functionName: eval_eval
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - snprintf
    - eval_signed
    - dump_val
    - mcpp_fputc
    - cwarn
    - is_binary
    - cerror
    - eval_unsigned
    - mcpp_fprintf
    linkageType: ''
    returnType: VAL_SIGN
    signature: "VAL_SIGN *   eval_eval(\n    VAL_SIGN *  valp,\n    int         op\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - valp
    argTypes:
    - char*
    - VAL_SIGN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1664
    functionName: dump_val
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 3
    functionsReached:
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: "void dump_val(\n    const char *        msg,\n    const VAL_SIGN *
      \   valp\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1677,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1681,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1687,1
    - Dst: dump_val
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1688,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/eval.c:1689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - opstack
    - opp
    - value
    - valp
    argTypes:
    - OPTAB*
    - OPTAB*
    - VAL_SIGN*
    - VAL_SIGN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1691
    functionName: dump_stack
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/eval.c
    functionUses: 1
    functionsReached:
    - mcpp_fprintf
    - dump_val
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void dump_stack(\n    const OPTAB *       opstack,        /* Operator
      stack               */\n    const OPTAB *       opp,            /* Pointer into
      operator stack  */\n    const VAL_SIGN *    value,          /* Value stack                  */\n
      \   const VAL_SIGN *    valp            /* -> value vector              */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: getcwd
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getcwd( buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: S_ISREG
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG( mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: S_ISDIR
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR( mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: stat
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat( path, stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str1
    - ','
    - str2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: str_case_eq
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_case_eq( str1, str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str1
    - ','
    - str2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: stricmp
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stricmp( str1, str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str1
    - ','
    - str2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: str_case_eq
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_case_eq( str1, str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str1
    - ','
    - str2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: str_case_eq
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str_case_eq( str1, str2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 412
    functionName: init_system
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void init_system( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1468
    functionName: version
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - mcpp_fputs
    linkageType: ''
    returnType: void
    signature: void version( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1662,1
    - Dst: version
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1663,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1668,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1670
    functionName: usage
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 3
    functionsReached:
    - longjmp
    - version
    - mcpp_fputs
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: "void usage(\n    int     opt\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1709,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1712,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1713,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - optlist
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1672
    functionDepth: 3
    functionLinenumber: 1672
    functionLinenumberEnd: 1715
    functionName: set_opt_list
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - strcat
    - cfatal
    - strlen
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void set_opt_list(\n    char *  optlist\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1734,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1736,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1749,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - arg
    - opt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1755
    functionName: parse_warn_level
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - isdigit
    - mcpp_fprintf
    - usage
    linkageType: ''
    returnType: int
    signature: "int parse_warn_level(\n    const char *    arg,\n    int     opt\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cnv_trigraph
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1773,1
    - Dst: cnv_digraph
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1775,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1776,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1776,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1777,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1778,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1784,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1790,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1791,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1794,1
    - Dst: do_define
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1795,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1796,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1798,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1799,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1800,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1804,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - opt
    - def
    argTypes:
    - int
    - char*
    assertStmts:
    - condition: (defp)
      pos:
        line_end: 1799
        line_start: 1799
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    constantsTouched: []
    func_position:
      end: 1806
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1806
    functionName: def_a_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - cnv_digraph
    - assert
    - undefine
    - strlen
    - strcpy
    - cnv_trigraph
    - usage
    - do_define
    - xmalloc
    - free
    - strchr
    - unget_string
    - look_id
    - str_eq
    - skip_nl
    - strcat
    linkageType: ''
    returnType: void
    signature: "void def_a_macro(\n    int     opt,                            /*
      'D'  */\n    char *  def                         /* Argument of -D option    */\n)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1857,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1862,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1863,1
    - Dst: expand_init
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1877,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 49
    argCount: 2
    argNames:
    - sflag
    - trad
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1879
    functionName: chk_opts
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - mcpp_fputs
    - expand_init
    - usage
    linkageType: ''
    returnType: void
    signature: "void chk_opts(\n    int     sflag,      /* Flag of Standard or post-Standard
      mode   */\n    int     trad                    /* -traditional (GCC only)      */\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1922,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1924,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1926,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1928,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1930,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1932,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1938,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1942,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1944,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1950,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1953,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - gval
    - sse
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (macro)
      pos:
        line_end: 1941
        line_start: 1941
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    constantsTouched: []
    func_position:
      end: 1959
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1959
    functionName: init_cpu_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - look_and_install
    - assert
    - str_eq
    linkageType: ''
    returnType: void
    signature: "void init_cpu_macro (\n    int     gval,               /* Argument
      of -G option for MSC    */\n    int     sse                 /* Argument of -sse:
      option for MSC */\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: un_predefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1980,1
    - Dst: un_predefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1983,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1986,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1988,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1991,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1995,1
    - Dst: set_limit
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:1998,1
    - Dst: init_std_defines
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2003,1
    - Dst: set_pragma_op
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2005,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 2006
    functionName: init_predefines
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - snprintf
    - look_and_install
    - un_predefine
    - set_limit
    - undefine
    - init_std_defines
    - set_pragma_op
    linkageType: ''
    returnType: void
    signature: void init_predefines( void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2023,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2025,1
    - Dst: time
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2029,1
    - Dst: ctime
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2030,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2031,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2036,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2037,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2038,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2040,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2045,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2046,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2053,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2054,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2008
    functionDepth: 1
    functionLinenumber: 2008
    functionLinenumberEnd: 2057
    functionName: init_std_defines
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - look_and_install
    - snprintf
    - ctime
    - time
    - look_id
    linkageType: ''
    returnType: void
    signature: void init_std_defines( void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2096
    functionName: set_limit
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_limit( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2109,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2112
    functionName: set_pragma_op
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - snprintf
    - look_and_install
    linkageType: ''
    returnType: void
    signature: void set_pragma_op( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: def_macros
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2121,1
    - Dst: chk_env
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2123,1
    - Dst: init_predefines
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2125,1
    - Dst: init_gcc_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2127,1
    - Dst: init_msc_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2129,1
    - Dst: undef_macros
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2131,1
    - Dst: dump_def
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2114
    functionDepth: 2
    functionLinenumber: 2114
    functionLinenumberEnd: 2134
    functionName: init_sys_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - init_predefines
    - undef_macros
    - def_macros
    - init_gcc_macro
    - dump_def
    - chk_env
    - init_msc_macro
    linkageType: ''
    returnType: void
    signature: void init_sys_macro( void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2149,1
    - Dst: set_encoding
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2150,1
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2151,1
    - Dst: set_encoding
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2152,1
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2153,1
    - Dst: set_encoding
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2154,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2175,1
    - Dst: put_info
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2180
    functionName: at_start
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - set_encoding
    - put_info
    - getenv
    - open_file
    linkageType: ''
    returnType: void
    signature: void at_start( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2192,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2196,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2201,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2203,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2205,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sharp_file
    argTypes:
    - FILEINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2210
    functionName: put_info
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - sharp
    - mcpp_fprintf
    - str_eq
    linkageType: ''
    returnType: void
    signature: "void put_info(\n    FILEINFO *  sharp_file\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bsl2sl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2227,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2229,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2229,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2230,1
    - Dst: bsl2sl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2236,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - argc
    - argv
    - in_pp
    - out_pp
    argTypes:
    - int
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2212
    functionDepth: 3
    functionLinenumber: 2212
    functionLinenumberEnd: 2246
    functionName: set_files
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - xmalloc
    - cfatal
    - bsl2sl
    linkageType: ''
    returnType: char
    signature: "char *   set_files(\n    int     argc,\n    char ** argv,\n    char
      ** in_pp,\n    char ** out_pp\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2258,1
    - Dst: parse_env
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2259,1
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2263,1
    - Dst: parse_env
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2266
    functionName: set_env_dirs
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - parse_env
    - getenv
    linkageType: ''
    returnType: void
    signature: void set_env_dirs( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2280,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2288,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - env
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2268
    functionDepth: 3
    functionLinenumber: 2268
    functionLinenumberEnd: 2297
    functionName: parse_env
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - save_string
    - free
    - set_a_dir
    linkageType: ''
    returnType: void
    signature: "void parse_env(\n    const char *    env\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2309,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2312,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2315,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2318,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2323,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2327,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2330,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2336,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2338,1
    - Dst: set_a_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - set_cplus_dir
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2299
    functionDepth: 1
    functionLinenumber: 2299
    functionLinenumberEnd: 2343
    functionName: set_sys_dirs
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - set_a_dir
    linkageType: ''
    returnType: void
    signature: "void set_sys_dirs(\n    int     set_cplus_dir       /* Set C++ include-directory
      too    */\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2367,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2379,1
    - Dst: norm_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2394,1
    - Dst: str_case_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2398,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2400,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2408
    functionName: set_a_dir
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 2
    functionsReached:
    - xrealloc
    - xmalloc
    - free
    - norm_dir
    - mcpp_fprintf
    - str_case_eq
    linkageType: ''
    returnType: void
    signature: "void set_a_dir(\n    const char *    dirname                 /* The
      path-name        */\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2468,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2473,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2473,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2473,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2474,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2479,1
    - Dst: str_case_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2480,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2480,1
    - Dst: norm_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2482,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2484,1
    - Dst: norm_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2489,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2492,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2497,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - dirname
    - isframework
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2445
    functionDepth: 1
    functionLinenumber: 2445
    functionLinenumberEnd: 2501
    functionName: norm_dir
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - sprintf
    - memcmp
    - strlen
    - xmalloc
    - free
    - norm_path
    - mcpp_fprintf
    - str_case_eq
    linkageType: ''
    returnType: char
    signature: "char *   norm_dir(\n    const char *    dirname,        /* Directory
      path to normalize  */\n    int             isframework    /* Setting a framework
      directory */\n)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: is_full_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2551,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2552,1
    - Dst: strlcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2556,1
    - Dst: strlcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2568,1
    - Dst: stat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2577,1
    - Dst: S_ISDIR
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2578,1
    - Dst: S_ISREG
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2580,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2588,1
    - Dst: fread
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2589,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2590,1
    - Dst: deref_syml
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2610,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2613,1
    - Dst: strlcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2614,1
    - Dst: deref_syml
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2615,1
    - Dst: readlink
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2617,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2622,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2626,1
    - Dst: strlcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2627,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2632,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2636,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2637,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2638,1
    - Dst: bsl2sl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2640,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2652,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2653,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2654,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2657,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2661,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2661,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2662,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2664,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2664,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2664,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2665,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2666,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2667,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2669,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2671,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2672,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2673,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2674,1
    - Dst: isalpha
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2683,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2687,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2689,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2690,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2691,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2693,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2694,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2695,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2696,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2699,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2700,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2705,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2706,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2707,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2709,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2710,1
    - Dst: strcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2711,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2712,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2726,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2727,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2727,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2730,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2730,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2731,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2732,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2733,1
    - Dst: strstr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2738,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2739,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2739,1
    - Dst: strstr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2743,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2745,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2747,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2747,1
    - Dst: strlcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2766,1
    - Dst: strlcat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2767,1
    - Dst: bsl2sl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2769,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2771,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2772,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 175
    argCount: 4
    argNames:
    - dir
    - fname
    - inf
    - hmap
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts:
    - condition: ( slbuf1 <= cp1 && slbuf1 + sizeof(slbuf1) > cp1)
      pos:
        line_end: 2625
        line_start: 2625
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    constantsTouched: []
    func_position:
      end: 2777
      start: 2503
    functionDepth: 3
    functionLinenumber: 2503
    functionLinenumberEnd: 2777
    functionName: norm_path
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - fclose
    - strlcat
    - memcmp
    - deref_syml
    - fopen
    - bsl2sl
    - is_full_path
    - strstr
    - S_ISDIR
    - memmove
    - isalpha
    - cfatal
    - free
    - str_eq
    - strncmp
    - stat
    - mcpp_fprintf
    - assert
    - strlen
    - strcpy
    - fread
    - strlcpy
    - strcat
    - stpcpy
    - strrchr
    - readlink
    - xmalloc
    - S_ISREG
    linkageType: ''
    returnType: char
    signature: "char *   norm_path(\n    const char *    dir,        /* Include directory
      (maybe \"\", never NULL) */\n    const char *    fname,\n        /* Filename
      (possibly has directory part, or maybe NULL)    */\n    int     inf,    /* If
      TRUE, output some infs when (mcpp_debug & PATH)   */\n    int     hmap            /*
      \"header map\" file of Apple-GCC       */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2791,1
    - Dst: readlink
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2793,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2795,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2797,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2799,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - slbuf1
    - slbuf2
    - chk_start
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2813
    functionName: deref_syml
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - readlink
    - strrchr
    - strchr
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void deref_syml(\n    char *      slbuf1,                     /* Original
      path-list   */\n    char *      slbuf2,                     /* Working buffer
      \      */\n    char *      chk_start                   /* Pointer into slbuf1
      \ */\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2839,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2839,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2839,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2840,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2843,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2845,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2848,1
    - Dst: norm_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2850,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2851,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2861,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2865,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2866,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2868,1
    - Dst: fgets
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2873,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2874,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2875,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2876,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2876,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2878,1
    - Dst: do_define
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2879,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2881,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2883,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2885,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2888,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2889,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2818
    functionDepth: 4
    functionLinenumber: 2818
    functionLinenumberEnd: 2890
    functionName: init_gcc_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - str_eq
    - sprintf
    - fclose
    - skip_ws
    - fgets
    - undefine
    - strlen
    - longjmp
    - do_define
    - xmalloc
    - fopen
    - free
    - skip_nl
    - unget_string
    - look_id
    - scan_token
    - norm_path
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: void init_gcc_macro( void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2901,1
    - Dst: getenv
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2902,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2908,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2917
    functionName: chk_env
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - fopen
    - strchr
    - getenv
    linkageType: ''
    returnType: void
    signature: void chk_env( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2929,1
    - Dst: atoi
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2930,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2932,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2935,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2921
    functionDepth: 1
    functionLinenumber: 2921
    functionLinenumberEnd: 2941
    functionName: init_msc_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - look_id
    - look_and_install
    - atoi
    linkageType: ''
    returnType: void
    signature: void init_msc_macro( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: def_a_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2945
    functionDepth: 4
    functionLinenumber: 2945
    functionLinenumberEnd: 2955
    functionName: def_macros
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - def_a_macro
    linkageType: ''
    returnType: void
    signature: void def_macros( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2968,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2969,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:2971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2957
    functionDepth: 1
    functionLinenumber: 2957
    functionLinenumberEnd: 2973
    functionName: undef_macros
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - look_id
    - undefine
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: void undef_macros( void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3001,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3002,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3005,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3006,1
    - Dst: md_init
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3007,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3009,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3012,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3018,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3019,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3022,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3024,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3026,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3029,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3045,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3046,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3051,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3053,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3054,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3060,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3063,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3068,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3074,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3077,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3082,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3088,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 2975
    functionDepth: 3
    functionLinenumber: 2975
    functionLinenumberEnd: 3089
    functionName: put_depend
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - fclose
    - xrealloc
    - memcmp
    - strlen
    - xmalloc
    - cerror
    - free
    - md_init
    - fputs
    - cfatal
    - mcpp_fputs
    - stpcpy
    linkageType: ''
    returnType: void
    signature: "void put_depend(\n    const char *    filename\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3108,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3111,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3112,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3115,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3125,1
    - Dst: md_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3134,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3136,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3139,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - filename
    - output
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3091
    functionDepth: 2
    functionLinenumber: 3091
    functionLinenumberEnd: 3146
    functionName: md_init
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - strrchr
    - md_quote
    - memcpy
    - strlen
    - strcpy
    - fopen
    - stpcpy
    linkageType: ''
    returnType: char
    signature: "char *   md_init(\n    const char *    filename,   /* The source file
      name             */\n    char *  output              /* Output to dependency
      file        */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - output
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3178
    functionName: md_quote
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *   md_quote(\n    char *  output\n)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3211,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3212,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3224,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3227,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3228,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3229,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3231,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3238,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3239,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3241,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3246,1
    - Dst: scan_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3251,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3261,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3263,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3265,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3266,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3269,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3272,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3273,1
    - Dst: bsl2sl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3278,1
    - Dst: has_directory
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3284,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3285,1
    - Dst: open_include
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3289,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3290,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3294,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3296,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3300,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3302,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 1
    argNames:
    - next
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3185
    functionDepth: 3
    functionLinenumber: 3185
    functionLinenumberEnd: 3304
    functionName: do_include
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - scan_quote
    - save_string
    - skip_ws
    - get_unexpandable
    - has_directory
    - strlen
    - open_include
    - get_ch
    - cerror
    - cfatal
    - skip_nl
    - unget_string
    - cwarn
    - scan_token
    - bsl2sl
    - free
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int do_include(\n    int     next        /* TRUE if the directive
      is #include_next   */\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_full_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3324,1
    - Dst: has_directory
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3327,1
    - Dst: has_directory
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3328,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3329,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3337,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3352,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3364,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3374,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3385,1
    - Dst: search_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3391,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 41
    argCount: 3
    argNames:
    - filename
    - searchlocal
    - next
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3306
    functionDepth: 1
    functionLinenumber: 3306
    functionLinenumberEnd: 3395
    functionName: open_include
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - has_directory
    - open_file
    - strlen
    - search_dir
    - mcpp_fprintf
    - is_full_path
    linkageType: ''
    returnType: int
    signature: "int open_include(\n    char *  filename,               /* File name
      to include         */\n    int     searchlocal,            /* TRUE if #include
      \"file\"      */\n    int     next                    /* TRUE if #include_next
      \       */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3413,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - source
    - directory
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3397
    functionDepth: 2
    functionLinenumber: 3397
    functionLinenumberEnd: 3421
    functionName: has_directory
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int has_directory(\n    const char *    source,         /* Filename
      to examine          */\n    char *  directory               /* Put directory
      stuff here     */\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3472,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3472,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3473,1
    - Dst: search_framework
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3477,1
    - Dst: do_once
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3479,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - filename
    - searchlocal
    - next
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3446
    functionDepth: 3
    functionLinenumber: 3446
    functionLinenumberEnd: 3491
    functionName: search_dir
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - search_framework
    - do_once
    - strlen
    - open_file
    - cfatal
    linkageType: ''
    returnType: int
    signature: "int search_dir(\n    char *  filename,               /* File name
      to include         */\n    int     searchlocal,            /* #include \"header.h\"
      \         */\n    int     next                    /* TRUE if #include_next        */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_fname
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3635,1
    - Dst: set_fname
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3636,1
    - Dst: get_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3637,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3643,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - fp
    - src_dir
    - filename
    - fullname
    - include_opt
    argTypes:
    - FILE*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3617
    functionDepth: 3
    functionLinenumber: 3617
    functionLinenumberEnd: 3648
    functionName: add_file
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - set_fname
    - get_file
    - cfatal
    - cwarn
    linkageType: ''
    returnType: void
    signature: "void add_file(\n    FILE *      fp,                         /* Open
      file pointer    */\n    const char *    src_dir,                /* Directory
      of source  */\n    const char *    filename,               /* Name of the file
      \    */\n    const char *    fullname,               /* Full path list       */\n
      \   int         include_opt         /* File specified by -include option    */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3665,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3669,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3676,1
    - Dst: str_case_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3678,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3681,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3650
    functionDepth: 1
    functionLinenumber: 3650
    functionLinenumberEnd: 3688
    functionName: set_fname
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - strlen
    - strcpy
    - xmalloc
    - str_case_eq
    linkageType: ''
    returnType: char
    signature: "char *     set_fname(\n    const char *    filename\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3717,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3719,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3720,1
    - Dst: fread
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3721,1
    - Dst: hmap_hash
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3727,1
    - Dst: str_case_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3729,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3731,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3732,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - hmap_file
    - filename
    - pathlist
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3697
    functionDepth: 1
    functionLinenumber: 3697
    functionLinenumberEnd: 3739
    functionName: search_header_map
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - strcpy
    - fopen
    - xmalloc
    - fread
    - free
    - hmap_hash
    - stat
    - stpcpy
    - str_case_eq
    linkageType: ''
    returnType: char
    signature: "char *   search_header_map(\n    const char *    hmap_file,              /*
      Header map file      */\n    const char *    filename,               /* Filename
      to search   */\n    char *          pathlist        /* Buffer for a found pathlist
      \ */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3741
    functionDepth: 0
    functionLinenumber: 3741
    functionLinenumberEnd: 3754
    functionName: hmap_hash
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - tolower
    linkageType: ''
    returnType: unsigned
    signature: "unsigned hmap_hash(\n    const char *    fname                   /*
      header name          */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: norm_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3770,1
    - Dst: norm_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3775,1
    - Dst: norm_dir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3780,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3785,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3757
    functionDepth: 2
    functionLinenumber: 3757
    functionLinenumberEnd: 3788
    functionName: init_framework
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - longjmp
    - mcpp_fputs
    - norm_dir
    linkageType: ''
    returnType: void
    signature: void init_framework( void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3809,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3824,1
    - Dst: search_subdir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3826,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3838,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3839,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3842,1
    - Dst: strstr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3853,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3856,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3857,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3859,1
    - Dst: search_subdir
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3862,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3792
    functionDepth: 2
    functionLinenumber: 3792
    functionLinenumberEnd: 3869
    functionName: search_framework
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - strstr
    - memcmp
    - memcpy
    - strlen
    - search_subdir
    - strchr
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int search_framework(\n    char *  filename\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3886,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3888,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3907,1
    - Dst: open_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - fullname
    - cp
    - frame
    - fname
    - sys_frame
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3912
      start: 3871
    functionDepth: 3
    functionLinenumber: 3871
    functionLinenumberEnd: 3912
    functionName: search_subdir
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - sprintf
    - cfatal
    - open_file
    linkageType: ''
    returnType: int
    signature: "int search_subdir(\n    char *  fullname,               /* Buffer
      for path-list to open */\n    char *  cp,                     /* Latter half
      of 'fullname'    */\n    char *  frame,                  /* 'frame' of <frame/header>
      \   */\n    char *  fname,                  /* 'header' of <frame/header>   */\n
      \               /* or sometimes 'dir/header' of <frame/dir/header>  */\n    int
      \    sys_frame               /* System framework header ?    */\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3954,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3917
    functionDepth: 3
    functionLinenumber: 3917
    functionLinenumberEnd: 3959
    functionName: chk_dirp
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - cfatal
    linkageType: ''
    returnType: int
    signature: "int chk_dirp(\n    const char **   dirp\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3988,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3990,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3992,1
    - Dst: cur_file
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3993,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:3994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - sharp_file
    - flag
    argTypes:
    - FILEINFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3962
    functionDepth: 1
    functionLinenumber: 3962
    functionLinenumberEnd: 3997
    functionName: sharp
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 2
    functionsReached:
    - cur_file
    - mcpp_fprintf
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void sharp(\n    FILEINFO *  sharp_file,\n    int         flag        /*
      Flag to append to the line for GCC   */\n)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4019,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4020,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4026,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4028,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4029,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4031,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4036,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4039,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4042,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4046,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - file
    - sharp_file
    - flag
    argTypes:
    - FILEINFO*
    - FILEINFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4052
      start: 3999
    functionDepth: 3
    functionLinenumber: 3999
    functionLinenumberEnd: 4052
    functionName: cur_file
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - sprintf
    - save_string
    - strlen
    - free
    - str_eq
    - mcpp_fputs
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: "void cur_file(\n    FILEINFO *  file,                   /* infile
      or sharp_file     */\n    FILEINFO *  sharp_file,             /* The 'file'
      or NULL       */\n    int         flag                    /* Flag to append
      for GCC   */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4076,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4085,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4056
    functionDepth: 3
    functionLinenumber: 4056
    functionLinenumberEnd: 4094
    functionName: bsl2sl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 3
    functionsReached:
    - cwarn
    - mb_read
    linkageType: ''
    returnType: char
    signature: "char *   bsl2sl(\n    char * filename\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4111,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4112,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4103
    functionDepth: 3
    functionLinenumber: 4103
    functionLinenumberEnd: 4120
    functionName: is_junk
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - skip_ws
    - unget_ch
    - cwarn
    linkageType: ''
    returnType: int
    signature: int is_junk( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4345,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4349,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - fullname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4335
    functionDepth: 0
    functionLinenumber: 4335
    functionLinenumberEnd: 4357
    functionName: do_once
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - xmalloc
    - xrealloc
    - strlen
    linkageType: ''
    returnType: void
    signature: "void do_once(\n    const char *    fullname        /* Full-path-list
      of the header */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4372,1
    - Dst: str_case_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4374,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - fullname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4382
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4382
    functionName: included
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - str_case_eq
    - mcpp_fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int included(\n    const char *    fullname\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4403,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4404,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4404,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4405,1
    - Dst: is_junk
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4407,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4409,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4411,1
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4413,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4419,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4425,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4425,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4427,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4428,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4429,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4436,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4438,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4444,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4451,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4458,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4463,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - direction
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4384
    functionDepth: 4
    functionLinenumber: 4384
    functionLinenumberEnd: 4466
    functionName: push_or_pop
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - skip_ws
    - strlen
    - look_prev
    - xmalloc
    - is_junk
    - cwarn
    - free
    - str_eq
    - scan_token
    linkageType: ''
    returnType: void
    signature: "void push_or_pop(\n    int     direction\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4480,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4483,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4484,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - asm_start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4468
    functionDepth: 3
    functionLinenumber: 4468
    functionLinenumberEnd: 4489
    functionName: do_asm
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - unget_ch
    - cerror
    - skip_nl
    linkageType: ''
    returnType: void
    signature: "void do_asm(\n    int     asm_start                       /* #asm
      ?               */\n)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4505,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4508,1
    - Dst: do_include
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4513,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4516,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4519,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4523,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4525,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4526,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4528,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4528,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4531,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4532,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4536,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4542,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4543,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4549,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4549,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4553,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4554,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4555,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4561,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4564,1
    - Dst: do_include
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4569,1
    - Dst: do_prestd_directive
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4575,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4581,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4582,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4584,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4587,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4589,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4590,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4592
      start: 4491
    functionDepth: 4
    functionLinenumber: 4491
    functionLinenumberEnd: 4592
    functionName: do_old
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - do_include
    - unget_ch
    - do_prestd_directive
    - cwarn
    - cerror
    - skip_nl
    - str_eq
    - mcpp_fputs
    linkageType: ''
    returnType: void
    signature: void do_old( void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4600,1
    - Dst: eval_if
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4603,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4604,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4606,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4607,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4612,1
    - Dst: is_junk
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4615,1
    - Dst: dump_def
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4616,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4617,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4618,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4620,1
    - Dst: is_junk
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4623,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4625,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4626,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4627,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4629,1
    - Dst: is_junk
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4632,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4633,1
    - Dst: do_preprocessed
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4634,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4637,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4638,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4642,1
    - Dst: do_debug
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4645,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4647,1
    - Dst: do_debug
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4650,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4654,1
    - Dst: do_asm
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4655,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4658,1
    - Dst: do_asm
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4659,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4660,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4661,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4666
      start: 4594
    functionDepth: 4
    functionLinenumber: 4594
    functionLinenumberEnd: 4666
    functionName: do_prestd_directive
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - do_debug
    - eval_if
    - unget_ch
    - dump_def
    - cerror
    - is_junk
    - skip_nl
    - str_eq
    - do_preprocessed
    - mcpp_fputs
    - do_asm
    linkageType: ''
    returnType: int
    signature: int do_prestd_directive( void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4692,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4693,1
    - Dst: fgets
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4699,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4700,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4702,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4703,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4704,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4708,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4711,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4712,1
    - Dst: fgets
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4716,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4717,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4721,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4722,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4725,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4729,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4730,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4732,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4733,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4734,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4735,1
    - Dst: MSC_PRAGMA
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4736,1
    - Dst: warning
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4736,1
    - Dst: atol
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4737,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4743,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4743,1
    - Dst: set_fname
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4750,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4750,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4751,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4752,1
    - Dst: do_define
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4753,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4754,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4755,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4756,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4758,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4668
    functionDepth: 3
    functionLinenumber: 4668
    functionLinenumberEnd: 4759
    functionName: do_preprocessed
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - unget_string
    - set_fname
    - strrchr
    - memcmp
    - unget_ch
    - fgets
    - strlen
    - strcpy
    - warning
    - do_define
    - get_ch
    - cfatal
    - str_eq
    - atol
    - mcpp_fputs
    - MSC_PRAGMA
    linkageType: ''
    returnType: void
    signature: void do_preprocessed( void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4788,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4790,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4793,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4800,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4803,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4809,1
    - Dst: dump_path
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4816,1
    - Dst: print_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4818,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4825,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4830,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4832,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4836,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4837,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4840,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - set
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4761
    functionDepth: 3
    functionLinenumber: 4761
    functionLinenumberEnd: 4844
    functionName: do_debug
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - dump_path
    - skip_ws
    - unget_ch
    - cwarn
    - skip_nl
    - str_eq
    - scan_token
    - print_heap
    linkageType: ''
    returnType: int
    signature: "int do_debug(\n    int     set                         /* TRUE to
      set debugging    */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4852,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4853,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4856
      start: 4846
    functionDepth: 2
    functionLinenumber: 4846
    functionLinenumberEnd: 4856
    functionName: put_asm
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - mcpp_fputs
    - skip_nl
    linkageType: ''
    returnType: void
    signature: void put_asm( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4867,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4872,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4874,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4876,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4878,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4858
    functionDepth: 0
    functionLinenumber: 4858
    functionLinenumberEnd: 4881
    functionName: dump_path
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - mcpp_fputs
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: void dump_path( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4891
    functionDepth: 0
    functionLinenumber: 4891
    functionLinenumberEnd: 4897
    functionName: OPTERR
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTERR( s, c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4918,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4925,1
    - Dst: OPTERR
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4926,1
    - Dst: OPTERR
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - argc
    - argv
    - opts
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4952
      start: 4898
    functionDepth: 1
    functionLinenumber: 4898
    functionLinenumberEnd: 4952
    functionName: mcpp_getopt
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPTERR
    - strchr
    linkageType: ''
    returnType: int
    signature: "int mcpp_getopt(\n    int         argc,\n    char * const *  argv,\n
      \   const char *    opts\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4955
    functionDepth: 0
    functionLinenumber: 4955
    functionLinenumberEnd: 4969
    functionName: stpcpy
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *  stpcpy(\n    char *          dest,\n    const char *    src\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4983,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:4988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4992
      start: 4973
    functionDepth: 2
    functionLinenumber: 4973
    functionLinenumberEnd: 4992
    functionName: strlcpy
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t strlcpy(\n    char *          dest,\n    const char *    src,\n
      \   size_t          size\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5007,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5009,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5017
      start: 4996
    functionDepth: 2
    functionLinenumber: 4996
    functionLinenumberEnd: 5017
    functionName: strlcat
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 1
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t strlcat(\n    char *          dest,\n    const char *    src,\n
      \   size_t          size\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5035,1
    - Dst: list_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5037,1
    - Dst: list_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5041
      start: 5032
    functionDepth: 0
    functionLinenumber: 5032
    functionLinenumberEnd: 5041
    functionName: print_heap
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 3
    functionsReached:
    - list_heap
    linkageType: ''
    returnType: void
    signature: void print_heap( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_def
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 5043
    functionDepth: 1
    functionLinenumber: 5043
    functionLinenumberEnd: 5052
    functionName: at_end
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - dump_def
    linkageType: ''
    returnType: void
    signature: void at_end( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5064,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5065,1
    - Dst: MSC_PRAGMA
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5067,1
    - Dst: warning
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5067,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5068,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5070,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5073
      start: 5055
    functionDepth: 0
    functionLinenumber: 5055
    functionLinenumberEnd: 5073
    functionName: clear_filelist
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - warning
    - free
    - MSC_PRAGMA
    linkageType: ''
    returnType: void
    signature: void clear_filelist( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/system.c:5079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5080
      start: 5076
    functionDepth: 0
    functionLinenumber: 5076
    functionLinenumberEnd: 5080
    functionName: clean_system
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/system.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clean_system(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 338
    functionName: init_main
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_main( void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:353,1
    - Dst: init_main
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:360,1
    - Dst: init_directive
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:361,1
    - Dst: init_eval
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:362,1
    - Dst: init_support
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:363,1
    - Dst: init_system
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:364,1
    - Dst: init_defines
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:378,1
    - Dst: mb_init
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:379,1
    - Dst: do_options
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:380,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:383,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:384,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:385,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:394,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:394,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:395,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:398,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:399,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:400,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:411,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:413,1
    - Dst: init_sys_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:421,1
    - Dst: add_file
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:422,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:427,1
    - Dst: put_depend
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:428,1
    - Dst: at_start
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:429,1
    - Dst: mcpp_main
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:431,1
    - Dst: put_depend
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:434,1
    - Dst: at_end
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:435,1
    - Dst: clear_symtable
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:440,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:444,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:446,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:448,1
    - Dst: clean_system
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:449,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:451,1
    - Dst: print_heap
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:454,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:456,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 461
    functionName: main
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - fclose
    - add_file
    - at_start
    - fopen
    - do_options
    - init_support
    - init_sys_macro
    - clear_symtable
    - print_heap
    - init_defines
    - at_end
    - init_main
    - init_directive
    - mcpp_main
    - free
    - mb_init
    - str_eq
    - mcpp_fprintf
    - init_eval
    - strlen
    - strcpy
    - init_system
    - setjmp
    - clean_system
    - put_depend
    - xmalloc
    linkageType: ''
    returnType: int
    signature: "int main\n#endif\n(\n    int argc,\n    char ** argv\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:558,1
    - Dst: look_and_install
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 567
    functionName: init_defines
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - look_and_install
    linkageType: ''
    returnType: void
    signature: void init_defines( void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:582,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - clearall
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 589
    functionName: un_predefine
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - look_id
    - undefine
    linkageType: ''
    returnType: void
    signature: "void un_predefine(\n    int clearall                            /*
      TRUE for -N option   */\n)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:636,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:643,1
    - Dst: directive
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:646,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:649,1
    - Dst: directive
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:650,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:652,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:654,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:663,1
    - Dst: put_asm
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:666,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:669,1
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:689,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:692,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:697,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:716,1
    - Dst: is_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:717,1
    - Dst: expand_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:718,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:724,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:724,1
    - Dst: do_pragma_op
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:728,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:745,1
    - Dst: putout
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:752,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 754
    functionName: mcpp_main
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - is_macro
    - sharp
    - expand_macro
    - memmove
    - directive
    - putout
    - put_asm
    - unget_ch
    - do_pragma_op
    - strlen
    - mcpp_fputc
    - get_ch
    - skip_nl
    - scan_token
    linkageType: ''
    returnType: void
    signature: void mcpp_main( void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:776,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:777,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:782,1
    - Dst: is_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:783,1
    - Dst: putout
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:786,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:787,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:790,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:791,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:793,1
    - Dst: put_seq
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:796,1
    - Dst: de_stringize
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:799,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:800,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:803,1
    - Dst: put_seq
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:804,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:807,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:808,1
    - Dst: do_pragma
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:809,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:810,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:818,1
    - Dst: putout
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:820,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 821
    functionName: do_pragma_op
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - is_macro
    - de_stringize
    - putout
    - unget_ch
    - put_seq
    - do_pragma
    - strlen
    - strcpy
    - get_ch
    - unget_string
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: void
    signature: void do_pragma_op( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:834,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:836,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:838,1
    - Dst: putout
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - seq
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 841
    functionName: put_seq
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - unget_ch
    - get_ch
    - cerror
    - putout
    linkageType: ''
    returnType: void
    signature: "void put_seq(\n    char *  begin,                  /* Sequence already
      in buffer   */\n    char *  seq                     /* Sequence to be read          */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 864
    functionName: de_stringize
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *   de_stringize(\n    char *  in,                 /* Null terminated
      string literal   */\n    char *  out                             /* Output buffer
      \       */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: post_preproc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:881,1
    - Dst: post_preproc
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:884,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:889,1
    - Dst: devide_line
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:891,1
    - Dst: put_a_line
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 895
    functionName: putout
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 3
    functionsReached:
    - devide_line
    - post_preproc
    - strlen
    - put_a_line
    linkageType: ''
    returnType: void
    signature: "void putout(\n    char *  out     /* Output line (line-end is always
      'out_ptr')   */\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:912,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:915,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:924,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:926,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:934,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:941,1
    - Dst: put_a_line
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:944,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:945,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:946,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:952,1
    - Dst: put_a_line
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:953,1
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - out
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 955
    functionName: devide_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - put_a_line
    - strrchr
    - sharp
    - save_string
    - unget_ch
    - get_ch
    - cfatal
    - free
    - unget_string
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: void
    signature: "void devide_line(\n    char * out                      /* 'out' is
      'output' in actual  */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:970,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:983,1
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - out
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 985
    functionName: put_a_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 2
    functionsReached:
    - mcpp_fputs
    - cfatal
    - strlen
    linkageType: ''
    returnType: void
    signature: "void put_a_line(\n    char * out\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1025,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1026,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1032,1
    - Dst: esc_mbchar
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1042,1
    - Dst: conv_a_digraph
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1048,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1059,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - out
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1007
    functionDepth: 3
    functionLinenumber: 1007
    functionLinenumberEnd: 1063
    functionName: post_preproc
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - esc_mbchar
    - conv_a_digraph
    - get_ch
    - cwarn
    - unget_string
    - scan_token
    linkageType: ''
    returnType: int
    signature: "int post_preproc(\n    char * out\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1100
    functionName: conv_a_digraph
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *   conv_a_digraph(\n    char *  cp                      /* The
      end of the digraph token */\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1126,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/main.c:1131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - str
    - str_end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1142
    functionName: esc_mbchar
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/main.c
    functionUses: 1
    functionsReached:
    - memmove
    - mb_read
    linkageType: ''
    returnType: char
    signature: "char *   esc_mbchar(\n    char *  str,        /* String literal or
      character constant without 'L' */\n    char *  str_end     /* The end of the
      token */\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:438,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:439,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:440,1
    - Dst: sync_linenum
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:444,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:445,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:448,1
    - Dst: eval_if
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:449,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:454,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:455,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:458,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:461,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - hash
    - directive_name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 475
    functionName: do_if
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 0
    functionsReached:
    - eval_if
    - skip_ws
    - unget_ch
    - sync_linenum
    - cerror
    - look_id
    - scan_token
    - mcpp_fprintf
    linkageType: ''
    returnType: int
    signature: int do_if( int hash, const char * directive_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:484,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionName: sync_linenum
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - sharp
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: void sync_linenum( void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:513,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:514,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:515,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:520,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:527,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:531,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:533,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:536,1
    - Dst: eval_num
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:540,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:547,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:549,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:555,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:555,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:566,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:567,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:570,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:574,1
    - Dst: save_string
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:580,1
    - Dst: get_unexpandable
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:584,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:584,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:585,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:586,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:590,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:591,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:592,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:593,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:596,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:597,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:599,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:600,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:604,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:610,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:613,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:616,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 618
    functionName: do_line
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 0
    functionsReached:
    - isdigit
    - memcmp
    - save_string
    - skip_ws
    - unget_ch
    - eval_num
    - get_unexpandable
    - cerror
    - cwarn
    - free
    - skip_nl
    - scan_token
    linkageType: ''
    returnType: long
    signature: long do_line( void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:708,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:711,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:715,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:716,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:718,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:719,1
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:722,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:727,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:729,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:730,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:745,1
    - Dst: strlcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:765,1
    - Dst: get_parm
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:768,1
    - Dst: get_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:772,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:788,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:789,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:792,1
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:795,1
    - Dst: install_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:802,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:809,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:813,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:815,1
    - Dst: id_operator
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:820,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:823,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 91
    argCount: 2
    argNames:
    - ignore_redef
    - predefine
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 826
    functionName: do_define
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 3
    functionsReached:
    - get_repl
    - id_operator
    - skip_ws
    - unget_ch
    - memset
    - install_macro
    - get_src_location
    - look_prev
    - get_parm
    - cerror
    - cwarn
    - dump_a_def
    - str_eq
    - strlcpy
    - scan_token
    - mcpp_fprintf
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF *    do_define(\n    int     ignore_redef,       /* Do not
      redefine   */\n    int     predefine           /* Predefine compiler-specific
      name */\n    /*\n     * Note: The value of 'predefine' should be one of 0, DEF_NOARGS_PREDEF\n
      \    *      or DEF_NOARGS_PREDEF_OLD, the other values cause errors.\n     */\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:855,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:859,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:862,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:866,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:870,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:870,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:875,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:884,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:885,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:892,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:897,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:898,1
    - Dst: is_formal
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:902,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:903,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:911,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:919,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:921,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:922,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:931,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:932,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:943,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:948,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 951
    functionName: get_parm
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - skip_ws
    - unget_ch
    - is_formal
    - get_ch
    - cerror
    - cwarn
    - str_eq
    - scan_token
    linkageType: ''
    returnType: int
    signature: int get_parm( void)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:983,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:984,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:986,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:989,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:997,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1006,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1010,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1016,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1026,1
    - Dst: def_stringization
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1028,1
    - Dst: is_formal
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1046,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1051,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1054,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1059,1
    - Dst: mgtoken_save
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1063,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1070,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1072,1
    - Dst: str_parm_scan
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1092,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1102,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1104,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1114,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1117,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1121,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1124,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 114
    argCount: 1
    argNames:
    - macroname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 1129
    functionName: get_repl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - mgtoken_save
    - skip_ws
    - unget_ch
    - is_formal
    - get_ch
    - cwarn
    - cerror
    - def_stringization
    - str_eq
    - str_parm_scan
    - scan_token
    linkageType: ''
    returnType: int
    signature: "int get_repl(\n    const char * macroname\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1147,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1152,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1155,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - name
    - conv
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1173
    functionName: is_formal
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 2
    functionsReached:
    - str_eq
    - strlen
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *   is_formal(\n    const char *    name,\n    int         conv
      \                   /* Convert to magic number? */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1188,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1190,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1194,1
    - Dst: is_formal
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1195,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - repl_cur
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1202
    functionName: def_stringization
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - scan_token
    - get_ch
    - cerror
    - is_formal
    linkageType: ''
    returnType: char
    signature: char *   def_stringization( char * repl_cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1213,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - macroname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1222
    functionName: mgtoken_save
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - stpcpy
    - str_eq
    linkageType: ''
    returnType: char
    signature: char *   mgtoken_save( const char * macroname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1244,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1247,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1249,1
    - Dst: is_formal
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - string_end
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1224
    functionDepth: 3
    functionLinenumber: 1224
    functionLinenumberEnd: 1256
    functionName: str_parm_scan
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - scan_token
    - get_ch
    - is_formal
    - unget_string
    linkageType: ''
    returnType: char
    signature: char *   str_parm_scan( char * string_end)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1267,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1268,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1269,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1272,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1273,1
    - Dst: skip_nl
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1274,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1275,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1277,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1279,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1285,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1288,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1289,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1293,1
    - Dst: undefine
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1298
    functionName: do_undef
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 0
    functionsReached:
    - skip_ws
    - unget_ch
    - undefine
    - cerror
    - cwarn
    - skip_nl
    - look_id
    - scan_token
    linkageType: ''
    returnType: void
    signature: void do_undef( void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1316
    functionName: init_directive
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_directive( void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1334
    functionName: look_id
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 10
    functionsReached:
    - look_prev
    linkageType: ''
    returnType: DEFBUF
    signature: DEFBUF *    look_id( const char * name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1365
    functionName: look_prev
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF **   look_prev(\n    const char *    name,                   /*
      Name of the macro    */\n    int *   cmp                             /* Result
      of comparison */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1383,1
    - Dst: install_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - name
    - numargs
    - parmnames
    - repl
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1386
    functionName: look_and_install
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 6
    functionsReached:
    - look_prev
    - install_macro
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF *    look_and_install(\n    const char *    name,                   /*
      Name of the macro    */\n    int     numargs,                        /* The
      numbers of parms */\n    const char *    parmnames,  /* Names of parameters
      concatenated */\n    const char *    repl                    /* Replacement
      text     */\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfatal
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1416,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1418,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1420,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1423,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1425,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1432,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1440,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1444,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1445,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1452,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 7
    argNames:
    - name
    - numargs
    - parmnames
    - repl
    - prevp
    - cmp
    - predefine
    argTypes:
    - char*
    - int
    - char*
    - char*
    - DEFBUF**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1455
    functionName: install_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strlen
    - xmalloc
    - cwarn
    - cfatal
    - free
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF *    install_macro(\n    const char *    name,                   /*
      Name of the macro    */\n    int     numargs,                        /* The
      numbers of parms */\n    const char *    parmnames,  /* Names of parameters
      concatenated */\n    const char *    repl,                   /* Replacement
      text     */\n    DEFBUF **  prevp,           /* The place to insert definition
      \  */\n    int     cmp,        /* Result of comparison of new name and old */\n
      \   int     predefine   /* Predefined macro without leading '_'     */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1471,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1480,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1487
    functionName: undefine
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 6
    functionsReached:
    - look_prev
    - free
    - mcpp_fprintf
    linkageType: ''
    returnType: int
    signature: "int undefine(\n    const char *  name                      /* Name
      of the macro    */\n)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1512,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1513,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1518,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1518,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1520,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1520,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1522,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1522,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1526,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1526,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1528,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1528,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1533,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1533,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1538,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1538,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1540,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1540,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1544,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1544,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1546,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1546,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1554,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1554,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1557,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1557,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - dp
    - fp
    - gcc2_va
    argTypes:
    - DEFBUF*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1561
    functionName: dump_repl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 0
    functionsReached:
    - mcpp_fputs
    - FP2DEST
    - mcpp_fputc
    linkageType: ''
    returnType: void
    signature: "void dump_repl(\n    const DEFBUF *  dp,\n    FILE *  fp,\n    int
      \    gcc2_va\n)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1599,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1599,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1600,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1600,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1609,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1610,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1611,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1614,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1620,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1622,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1627,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1627,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1630,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1630,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1632,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1632,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1636,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1636,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1638,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1638,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1640,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1640,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1642,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1642,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1644,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1644,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1649,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1649,1
    - Dst: dump_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1650,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1654,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1654,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1656,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1656,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1657,1
    - Dst: FP2DEST
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1657,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 5
    argNames:
    - why
    - dp
    - newdef
    - comment
    - fp
    argTypes:
    - char*
    - DEFBUF*
    - int
    - int
    - FILE*
    assertStmts:
    - condition: ( (i + 1) == numargs)
      pos:
        line_end: 1610
        line_start: 1610
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
    - condition: ( (i + 1)  < numargs)
      pos:
        line_end: 1613
        line_start: 1613
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
    - condition: ( !(dp->nargs & VA_ARGS) || numargs > 0)
      pos:
        line_end: 1619
        line_start: 1619
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
    constantsTouched: []
    func_position:
      end: 1658
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1658
    functionName: dump_a_def
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 3
    functionsReached:
    - memcmp
    - assert
    - strlen
    - mcpp_fputc
    - dump_repl
    - strchr
    - mcpp_fputs
    - mcpp_fprintf
    - FP2DEST
    linkageType: ''
    returnType: void
    signature: "void dump_a_def(\n    const char *    why,\n    const DEFBUF *  dp,\n
      \   int     newdef,         /* TRUE if parmnames are currently in parms[] */\n
      \   int     comment,        /* Show location of the definition in comment   */\n
      \   FILE *  fp\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sharp
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1671,1
    - Dst: mcpp_fputs
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1673,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1678,1
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - comment
    - K_opt
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1685
    functionName: dump_def
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 3
    functionsReached:
    - mcpp_fputs
    - sharp
    - dump_a_def
    - mcpp_fprintf
    linkageType: ''
    returnType: void
    signature: "void dump_def(\n    int     comment,        /* Location of definition
      in comment    */\n    int     K_opt                       /* -K option is specified
      \  */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/directive.c:1701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1705
    functionName: clear_symtable
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/directive.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clear_symtable( void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:377,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:379,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:381,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:382,1
    - Dst: strlcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:386,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:396,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:398,1
    - Dst: conv_case
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:399,1
    - Dst: strip_bar
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:400,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:402,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:404,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:405,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:406,1
    - Dst: search_encoding
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:414,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:418,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:420,1
    - Dst: mcpp_fputc
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:421,1
    - Dst: mb_init
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:424,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - name
    - env
    - pragma
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 427
    functionName: set_encoding
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 1
    functionsReached:
    - strip_bar
    - memcmp
    - memmove
    - conv_case
    - strlen
    - mcpp_fputc
    - cwarn
    - search_encoding
    - mb_init
    - strlcpy
    - mcpp_fprintf
    linkageType: ''
    returnType: char
    signature: "char *    set_encoding(\n    char *  name,       /* Name of encoding
      specified   */\n    char *  env,        /* Name of environment variable */\n
      \   int     pragma\n        /* 2: #pragma setlocale, 1: #pragma __setlocale,
      0: not #pragma */\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - norm
    - alias
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 456
    functionName: search_encoding
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 1
    functionsReached:
    - str_eq
    linkageType: ''
    returnType: char
    signature: "char * search_encoding(\n    char *  norm,           /* The name of
      encoding specified   */\n    int     alias           /* The number of alias
      to start searching   */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:469,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: strip_bar
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 1
    functionsReached:
    - memmove
    - strlen
    linkageType: ''
    returnType: void
    signature: "void strip_bar(\n    char *  string\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:492,1
    - Dst: toupper
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:497,1
    - Dst: tolower
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - name
    - lim
    - upper
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 502
    functionName: conv_case
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 1
    functionsReached:
    - tolower
    - toupper
    - mb_read
    linkageType: ''
    returnType: void
    signature: "void conv_case(\n    char *  name,                       /* (diretory)
      Name          */\n    char *  lim,                        /* End of (directory)
      name  */\n    int     upper                       /* TRUE if to upper         */\n)"
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 628
    functionName: mb_init
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mb_init( void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - c1
    - in_pp
    - out_pp
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 658
    functionName: mb_read_2byte
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mb_read_2byte(\n    int     c1,         /* The 1st byte of
      mbchar sequence (already read)   */\n    char ** in_pp,              /* Pointer
      to input     */\n    char ** out_pp              /* Pointer to output    */\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 3
    argNames:
    - c1
    - in_pp
    - out_pp
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 736
    functionName: mb_read_iso2022_jp
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mb_read_iso2022_jp(\n    int     c1, /* The 1st byte of the
      sequence already read (always 0x1b). */\n    char ** in_pp,\n    char ** out_pp\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlpp/src/mbchar.c:789,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 29
    argCount: 3
    argNames:
    - c1
    - in_pp
    - out_pp
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 800
    functionName: mb_read_utf8
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: size_t
    signature: "size_t mb_read_utf8(\n    int     c1,\n    char ** in_pp,\n    char
      ** out_pp\n)"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - seq_pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 860
    functionName: mb_eval
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uexpr_t
    signature: "uexpr_t mb_eval(\n    char ** seq_pp\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 884
    functionName: last_is_mbchar
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int last_is_mbchar(\n    const char *  in,               /* Input
      physical line          */\n    size_t  len                     /* Length of
      the line minus 2   */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - compat
    - strict_ansi
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: expand_init
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void expand_init(\n    int     compat,     /* \"Compatible\" to GNUC
      expansion of recursive macro*/\n    int     strict_ansi         /* __STRICT_ANSI__
      flag for GNUC    */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:136,1
    - Dst: is_macro_call
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: is_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 3
    functionsReached:
    - look_id
    - is_macro_call
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF *    is_macro(\n    char **     cp\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: squeeze_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:156,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:158,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:161,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - defp
    - cp
    - endf
    - mgc_seq
    argTypes:
    - DEFBUF*
    - char**
    - char**
    - MAGIC_SEQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: is_macro_call
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - unget_ch
    - cwarn
    - squeeze_ws
    - unget_string
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF * is_macro_call(\n    DEFBUF *    defp,\n    char **     cp,
      \                    /* Pointer to output buffer */\n    char **     endf,   /*
      Pointer to indicate end of infile buffer */\n    MAGIC_SEQ * mgc_seq /* Infs
      on MAC_INF sequences and space      */\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:314,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:315,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:317,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:318,1
    - Dst: replace
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:321,1
    - Dst: skip_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:323,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:328,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:329,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:330,1
    - Dst: chk_magic_balance
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:337,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:337,1
    - Dst: print_macro_inf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:370,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:372,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:386,1
    - Dst: clear_exp_mac
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:388,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:393,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:394,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:397,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:398,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 5
    argNames:
    - defp
    - out
    - out_end
    - line_col
    - pragma_op
    argTypes:
    - DEFBUF*
    - char*
    - char*
    - LINE_COL
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 403
    functionName: expand_std
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 0
    functionsReached:
    - skip_macro
    - replace
    - chk_magic_balance
    - dump_string
    - memcpy
    - strlen
    - memset
    - xmalloc
    - cerror
    - print_macro_inf
    - free
    - clear_exp_mac
    linkageType: ''
    returnType: char
    signature: "char *   expand_std(\n    DEFBUF *    defp,                       /*
      Macro definition     */\n    char *  out,                            /* Output
      buffer        */\n    char *  out_end,                        /* End of output
      buffer */\n    LINE_COL    line_col,                   /* Location of macro
      \   */\n    int *   pragma_op                       /* _Pragma() is found ?
      */\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:431,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:434,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:439,1
    - Dst: print_macro_arg
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:443,1
    - Dst: print_macro_arg
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:448,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:452,1
    - Dst: print_macro_arg
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:460,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - c
    - cpp
    - opp
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 468
    functionName: print_macro_inf
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - print_macro_arg
    - sprintf
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int print_macro_inf(\n    int     c,\n    char ** cpp,                    /*
      Magic character sequence     */\n    char ** opp                     /* Output
      for macro information */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:484,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:489,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:494,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - out
    - m_inf
    - argn
    - real_arg
    - start
    argTypes:
    - char*
    - MACRO_INF*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 498
    functionName: print_macro_arg
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - sprintf
    - stpcpy
    linkageType: ''
    returnType: char
    signature: "char *   print_macro_arg(\n    char *  out,                                /*
      Output buffer    */\n    MACRO_INF *     m_inf,                      /* &mac_inf[
      m_num] */\n    int     argn,                               /* Argument number
      \ */\n    int     real_arg,       /* Real argument or expanded argument ? */\n
      \   int     start           /* Start of an argument or end ?        */\n)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: MSC_PRAGMA
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:536,1
    - Dst: warning
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:536,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:537,1
    - Dst: MSC_PRAGMA
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:544,1
    - Dst: warning
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:544,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:547,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:557,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:558,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:563,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:576,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:579,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:590,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:598,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:602,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:605,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:607,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:616,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:629,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:630,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:637,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 4
    argNames:
    - buf
    - buf_end
    - move
    - diag
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 647
    functionName: chk_magic_balance
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - memcmp
    - memmove
    - memcpy
    - warning
    - cwarn
    - mcpp_fprintf
    - MSC_PRAGMA
    linkageType: ''
    returnType: char
    signature: "char *   chk_magic_balance(\n    char *  buf,                            /*
      Sequence to check    */\n    char *  buf_end,                        /* End
      of the sequence  */\n    int     move,                   /* Move a straying
      magic ?      */\n    int     diag                            /* Output a diagnostic?
      */\n)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:691,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:692,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:695,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:703,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:709,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:710,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:727,1
    - Dst: def_special
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:743,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:747,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:751,1
    - Dst: close_macro_inf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:755,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:760,1
    - Dst: squeeze_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:763,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:765,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:766,1
    - Dst: collect_args
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:769,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:770,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:771,1
    - Dst: enable_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:782,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:784,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:791,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:793,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:794,1
    - Dst: prescan
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:796,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:798,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:801,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:804,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:805,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:807,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:810,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:810,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:813,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:814,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:818,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:819,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:821,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:822,1
    - Dst: substitute
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:824,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:827,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:828,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:829,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:830,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:830,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:833,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:834,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:839,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:840,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:842,1
    - Dst: rescan
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:847,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:851,1
    - Dst: close_macro_inf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:853,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:855,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 171
    argCount: 7
    argNames:
    - defp
    - out
    - out_end
    - outer
    - rt_file
    - line_col
    - in_src_n
    argTypes:
    - DEFBUF*
    - char*
    - char*
    - DEFBUF*
    - FILEINFO*
    - LINE_COL
    - int
    assertStmts:
    - condition: ( arglist)
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist)
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 896
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 896
    functionName: replace
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - dump_string
    - get_src_location
    - def_special
    - cerror
    - dump_a_def
    - rescan
    - cwarn
    - free
    - prescan
    - mcpp_fprintf
    - close_macro_inf
    - substitute
    - xrealloc
    - assert
    - squeeze_ws
    - strlen
    - dump_unget
    - stpcpy
    - enable_repl
    - diag_macro
    - memset
    - xmalloc
    - collect_args
    linkageType: ''
    returnType: char
    signature: "char *   replace(\n    DEFBUF *    defp,                       /*
      Macro to be replaced */\n    char *      out,                        /* Output
      Buffer        */\n    char *      out_end,                    /* End of output
      buffer */\n    const DEFBUF *    outer,                /* Outer macro replacing*/\n
      \   FILEINFO *  rt_file,                    /* Repl-text \"file\"     */\n    LINE_COL
      \   line_col,                   /* Location of macro    */\n    int         in_src_n
      \                   /* Index into in_src[]  */\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:920,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:921,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - out_p
    - m_num
    - in_src_n
    argTypes:
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 940
    functionName: close_macro_inf
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - get_ch
    - unget_ch
    - get_src_location
    linkageType: ''
    returnType: char
    signature: "char *   close_macro_inf(\n    char *  out_p,                      /*
      Current output pointer   */\n    unsigned int    m_num,              /* 'mac_num'
      of this macro  */\n    int     in_src_n                    /* Location of macro
      in arg */\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:958,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:961,1
    - Dst: sprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:966,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:967,1
    - Dst: look_prev
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:970,1
    - Dst: install_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:971,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - defp
    argTypes:
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 979
    functionName: def_special
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - sprintf
    - diag_macro
    - install_macro
    - look_prev
    - str_eq
    linkageType: ''
    returnType: DEFBUF
    signature: "DEFBUF * def_special(\n    DEFBUF *    defp                        /*
      Macro definition     */\n)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1014,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1015,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1018,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1020,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1024,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1028,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1031,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1034,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1038,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1039,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1040,1
    - Dst: stringize
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1042,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1047,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1058,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1059,1
    - Dst: catenate
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1071,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1078,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1090,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1100,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 4
    argNames:
    - defp
    - arglist
    - out
    - out_end
    argTypes:
    - DEFBUF*
    - char**
    - char*
    - char*
    assertStmts:
    - condition: ( out != NULL)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( prev_token != NULL)
      pos:
        line_end: 1046
        line_start: 1046
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist == NULL)
      pos:
        line_end: 1019
        line_start: 1019
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( out_end != NULL)
      pos:
        line_end: 1014
        line_start: 1014
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist != NULL)
      pos:
        line_end: 1017
        line_start: 1017
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist != NULL)
      pos:
        line_end: 1037
        line_start: 1037
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 1102
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1102
    functionName: prescan
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - catenate
    - stringize
    - memmove
    - assert
    - skip_ws
    - unget_ch
    - strlen
    - get_ch
    - unget_string
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int prescan(\n    const DEFBUF *  defp,           /* Definition of
      the macro      */\n    const char **   arglist,        /* Pointers to actual
      arguments */\n    char *      out,                /* Output buffer                */\n
      \   char *      out_end             /* End of output buffer         */\n)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1129,1
    - Dst: remove_magics
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1135,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1142,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1143,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1145,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1147,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1149,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1150,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1153,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1165,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1172,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1175,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1180,1
    - Dst: skip_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1181,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1182,1
    - Dst: stringize
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1183,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1186,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1187,1
    - Dst: remove_magics
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1191,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1197,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1198,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1199,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1202,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1203,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1205,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1207,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1212,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1216,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1217,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1221,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1224,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1230,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1231,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1234,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1235,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1240,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1243,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1246,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1248,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1249,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1259,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1261,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1263,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1265,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1269,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 130
    argCount: 5
    argNames:
    - defp
    - arglist
    - out
    - out_end
    - token_p
    argTypes:
    - DEFBUF*
    - char**
    - char*
    - char*
    - char**
    assertStmts:
    - condition: ( arglist != NULL)
      pos:
        line_end: 1185
        line_start: 1185
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist != NULL)
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - condition: ( arglist != NULL)
      pos:
        line_end: 1128
        line_start: 1128
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 1276
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1276
    functionName: catenate
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - remove_magics
    - stringize
    - dump_string
    - memmove
    - assert
    - unget_ch
    - skip_ws
    - diag_macro
    - strlen
    - get_ch
    - free
    - unget_string
    - scan_token
    linkageType: ''
    returnType: char
    signature: "char *   catenate(\n    const DEFBUF *  defp,           /* The macro
      definition         */\n    const char **   arglist,        /* Pointers to actual
      arguments */\n    char *  out,                    /* Output buffer                */\n
      \   char *  out_end,                /* End of output buffer         */\n    char
      ** token_p         /* Address of preceding token pointer   */\n)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1310,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1311,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1312,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1313,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1314,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1318,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1318,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1319,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1320,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1327,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1331,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1335,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1337,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1339,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1341,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1343,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1345,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1348,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1349,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1351,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1357,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1358,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1359,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1361,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1378,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1379,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1382,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1383,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1384,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1402,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1405,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1406,1
    - Dst: chk_symmetry
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1441,1
    - Dst: chk_symmetry
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1479,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1498,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1500,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1503,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1510,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1513,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1549,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1550,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1560,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1561,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1564,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1565,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1566,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1567,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1568,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 223
    argCount: 2
    argNames:
    - argp
    - from_last
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: ( loc_tab != NULL)
      pos:
        line_end: 1548
        line_start: 1548
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 1570
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1570
    functionName: remove_magics
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - memmove
    - memcpy
    - assert
    - unget_ch
    - strlen
    - strcpy
    - get_ch
    - xmalloc
    - free
    - unget_string
    - scan_token
    - chk_symmetry
    linkageType: ''
    returnType: char
    signature: "char *     remove_magics(\n    const char *    argp,       /* The
      argument list    */\n    int     from_last           /* token is the last or
      first?  */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1585,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1594,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - start_id
    - end_id
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1602
    functionName: chk_symmetry
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - mcpp_fprintf
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void chk_symmetry(\n    char *  start_id,   /* Sequence of macro (or
      arg) starting inf  */\n    char *  end_id,     /* Sequence of macro (or arg)
      closing inf   */\n    size_t  len                         /* Length of the sequence
      \  */\n)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1630,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1640,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1641,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1654,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1680,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1689,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1690,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1696,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1698,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1701,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1702,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1708,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1711,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1712,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1718,1
    - Dst: mb_read
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1728,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1746,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1752,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1759,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1766,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1768,1
    - Dst: scan_quote
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1769,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1769,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1773,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1774,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1775,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1777,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1783,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 136
    argCount: 3
    argNames:
    - defp
    - argp
    - out
    argTypes:
    - DEFBUF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1605
    functionDepth: 3
    functionLinenumber: 1605
    functionLinenumberEnd: 1788
    functionName: stringize
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 3
    functionsReached:
    - scan_quote
    - dump_string
    - memcpy
    - unget_ch
    - diag_macro
    - strlen
    - mb_read
    - get_ch
    - unget_string
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: char
    signature: "char *   stringize(\n    const DEFBUF *  defp,                   /*
      The macro definition */\n    const char *    argp,                   /* Pointer
      to argument  */\n    char *      out                         /* Output buffer
      \       */\n)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1908,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1910,1
    - Dst: disable_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1912,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1915,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1916,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1919,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1922,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1937,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1941,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1944,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1945,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1951,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1955,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1956,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1962,1
    - Dst: str_eq
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1975,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1985,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1990,1
    - Dst: is_macro_call
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1991,1
    - Dst: is_able_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1993,1
    - Dst: is_able_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:1995,1
    - Dst: insert_to_bptr
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2032,1
    - Dst: remove_magics
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2033,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2036,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2037,1
    - Dst: replace
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2041,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2045,1
    - Dst: insert_to_bptr
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2049,1
    - Dst: is_able_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2053,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2057,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2064,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2075,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2083,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2090,1
    - Dst: enable_repl
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2093,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2095,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2097,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 128
    argCount: 4
    argNames:
    - outer
    - in
    - out
    - out_end
    argTypes:
    - DEFBUF*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 1874
    functionDepth: 4
    functionLinenumber: 1874
    functionLinenumberEnd: 2100
    functionName: rescan
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - remove_magics
    - dump_string
    - unget_ch
    - unget_string
    - replace
    - memmove
    - is_able_repl
    - get_ch
    - free
    - str_eq
    - look_id
    - mcpp_fprintf
    - is_macro_call
    - strlen
    - strcpy
    - insert_to_bptr
    - enable_repl
    - diag_macro
    - memset
    - disable_repl
    - scan_token
    linkageType: ''
    returnType: char
    signature: "char *   rescan(\n    const DEFBUF *  outer,          /* Outer macro
      just replacing   */\n    const char *    in,             /* Sequences to be
      rescanned    */\n    char *  out,                            /* Output buffer
      \       */\n    char *  out_end                         /* End of output buffer
      */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - defp
    argTypes:
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2120
    functionName: disable_repl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - diag_macro
    linkageType: ''
    returnType: int
    signature: "int disable_repl(\n    const DEFBUF *  defp\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - defp
    - done
    argTypes:
    - DEFBUF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2135
    functionName: enable_repl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void enable_repl(\n    const DEFBUF *  defp,\n    int         done\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - defp
    argTypes:
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2153
    functionName: is_able_repl
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int is_able_repl(\n    const DEFBUF *  defp\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2170,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2171,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2174,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2174,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ins
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2178
    functionName: insert_to_bptr
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - memmove
    - memcpy
    - xrealloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *   insert_to_bptr(\n    char *  ins,            /* Sequence
      to be inserted  */\n    size_t  len             /* Byte to be inserted      */\n)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2220,1
    - Dst: setjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2223,1
    - Dst: skip_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2224,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2232,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2236,1
    - Dst: rescan_pre
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2240,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2249,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2271,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2272,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2276,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2281,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2287,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2291,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2293,1
    - Dst: clear_exp_mac
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2296,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 5
    argNames:
    - defp
    - out
    - out_end
    - line_col
    - pragma_op
    argTypes:
    - DEFBUF*
    - char*
    - char*
    - LINE_COL
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2197
    functionDepth: 3
    functionLinenumber: 2197
    functionLinenumberEnd: 2299
    functionName: expand_prestd
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 0
    functionsReached:
    - skip_macro
    - dump_string
    - unget_ch
    - strlen
    - longjmp
    - get_ch
    - setjmp
    - cerror
    - unget_string
    - rescan_pre
    - clear_exp_mac
    - stpcpy
    linkageType: ''
    returnType: char
    signature: "char *   expand_prestd(\n    DEFBUF *    defp,                       /*
      Macro definition     */\n    char *  out,                            /* Output
      buffer        */\n    char *  out_end,                        /* End of output
      buffer */\n    LINE_COL    line_col,       /* Location of macro (not used in
      prestd)   */\n    int *   pragma_op           /* Flag of _Pragma (not used in
      prestd)     */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2316,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2317,1
    - Dst: replace_pre
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2318,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2321,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - c
    - mp
    - mac_end
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2301
    functionDepth: 3
    functionLinenumber: 2301
    functionLinenumberEnd: 2330
    functionName: rescan_pre
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - unget_ch
    - get_ch
    - look_id
    - scan_token
    - replace_pre
    linkageType: ''
    returnType: int
    signature: "int rescan_pre(\n    int     c,                      /* First character
      of token     */\n    char *  mp,                     /* Output buffer                */\n
      \   char *  mac_end                 /* End of output buffer         */\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dump_a_def
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2349,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2350,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2353,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2356,1
    - Dst: squeeze_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2368,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2370,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2372,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2375,1
    - Dst: collect_args
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2376,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2379,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2380,1
    - Dst: substitute_pre
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2387,1
    - Dst: unget_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2389,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2392,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - defp
    argTypes:
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2332
    functionDepth: 3
    functionLinenumber: 2332
    functionLinenumberEnd: 2396
    functionName: replace_pre
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - substitute_pre
    - unget_ch
    - diag_macro
    - squeeze_ws
    - dump_unget
    - longjmp
    - xmalloc
    - dump_a_def
    - free
    - unget_string
    - collect_args
    linkageType: ''
    returnType: int
    signature: "int replace_pre(\n    DEFBUF *    defp                /* Definition
      of the macro      */\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_file
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2411,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2423,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2425,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2434,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2434,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2437,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2442,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - defp
    argTypes:
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2445
    functionName: substitute_pre
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - dump_string
    - diag_macro
    - strlen
    - longjmp
    - get_file
    - stpcpy
    linkageType: ''
    returnType: void
    signature: "void substitute_pre(\n    DEFBUF *        defp            /* Current
      macro being replaced */\n)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2490,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2498,1
    - Dst: xmalloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2509,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2510,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2516,1
    - Dst: squeeze_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2517,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2522,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2537,1
    - Dst: get_an_arg
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2540,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2556,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2558,1
    - Dst: get_an_arg
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2570,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2583,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2592,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2599,1
    - Dst: diag_macro
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2602,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2619,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2622,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2625,1
    - Dst: dump_args
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2632,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2634,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 126
    argCount: 3
    argNames:
    - defp
    - arglist
    - m_num
    argTypes:
    - DEFBUF*
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2453
    functionDepth: 2
    functionLinenumber: 2453
    functionLinenumberEnd: 2642
    functionName: collect_args
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 2
    functionsReached:
    - xrealloc
    - get_an_arg
    - unget_ch
    - diag_macro
    - squeeze_ws
    - memset
    - strlen
    - dump_unget
    - dump_args
    - xmalloc
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int collect_args(\n    const DEFBUF *  defp,       /* Definition of
      the macro          */\n    char **     arglist,        /* Pointers to actual
      arguments     */\n    unsigned int    m_num       /* Index into mac_inf[]             */\n)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2677,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2683,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2687,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2693,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2704,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2714,1
    - Dst: scan_token
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2721,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2746,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2748,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2751,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2752,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2758,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2762,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2763,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2774,1
    - Dst: look_id
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2781,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2783,1
    - Dst: xrealloc
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2791,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2794,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2825,1
    - Dst: squeeze_ws
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2826,1
    - Dst: stpcpy
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2831,1
    - Dst: get_src_location
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2840,1
    - Dst: chk_magic_balance
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2852,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 153
    argCount: 9
    argNames:
    - c
    - argpp
    - arg_end
    - seqp
    - var_arg
    - nargs
    - locp
    - m_num
    - mgc_prefix
    argTypes:
    - int
    - char**
    - char*
    - char**
    - int
    - int
    - LOCATION**
    - unsigned int
    - MAGIC_SEQ*
    assertStmts:
    - condition: ( *locp != NULL)
      pos:
        line_end: 2682
        line_start: 2682
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 2862
      start: 2644
    functionDepth: 4
    functionLinenumber: 2644
    functionLinenumberEnd: 2862
    functionName: get_an_arg
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - chk_magic_balance
    - memmove
    - memcpy
    - assert
    - unget_ch
    - squeeze_ws
    - get_src_location
    - memset
    - get_ch
    - cerror
    - look_id
    - scan_token
    - stpcpy
    linkageType: ''
    returnType: int
    signature: "int get_an_arg(\n    int     c,\n    char ** argpp,      /* Address
      of pointer into argument list    */\n    char *  arg_end,                /*
      End of argument list buffer  */\n    char ** seqp,                   /* Buffer
      for diagnostics       */\n    int     var_arg,                /* 1 on __VA_ARGS__,
      0 on others*/\n    int     nargs,                  /* Argument number              */\n
      \   LOCATION **     locp,           /* Where to save location infs  */\n    unsigned
      int    m_num,          /* Macro number to trace        */\n    MAGIC_SEQ * mgc_prefix
      \ /* White space and magics leading to argument   */\n)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2891,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2892,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2919,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2924,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2929,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2932,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2940,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2947,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2950,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2976,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2980,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 85
    argCount: 3
    argNames:
    - out
    - endf
    - mgc_seq
    argTypes:
    - char**
    - char**
    - MAGIC_SEQ*
    assertStmts:
    - condition: (! mgc_seq || out)
      pos:
        line_end: 2890
        line_start: 2890
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    constantsTouched: []
    func_position:
      end: 2984
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 2984
    functionName: squeeze_ws
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 5
    functionsReached:
    - assert
    - get_ch
    - unget_ch
    linkageType: ''
    returnType: int
    signature: "int squeeze_ws(\n    char **     out,                /* Pointer to
      output pointer    */\n    char **     endf,               /* Pointer to end
      of infile data*/\n    MAGIC_SEQ * mgc_seq         /* Sequence of MAC_INFs and
      space   */\n            /* mgc_seq should be initialized in the calling routine
      */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2996,1
    - Dst: get_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2997,1
    - Dst: unget_ch
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:2999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2986
    functionDepth: 3
    functionLinenumber: 2986
    functionLinenumberEnd: 3000
    functionName: skip_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 2
    functionsReached:
    - get_ch
    - unget_ch
    - strlen
    linkageType: ''
    returnType: void
    signature: void skip_macro( void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expanding
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3017,1
    - Dst: expanding
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3020,1
    - Dst: cerror
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3022,1
    - Dst: cwarn
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - severity
    - format
    - arg1
    - arg2
    - arg3
    - defp1
    - defp2
    argTypes:
    - int
    - char*
    - char*
    - long
    - char*
    - DEFBUF*
    - DEFBUF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3002
    functionDepth: 3
    functionLinenumber: 3002
    functionLinenumberEnd: 3025
    functionName: diag_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 9
    functionsReached:
    - expanding
    - cerror
    - cwarn
    linkageType: ''
    returnType: void
    signature: "void diag_macro(\n    int     severity,                       /* Error
      or warning     */\n    const char *    format,\n    const char *    arg1,\n
      \   long            arg2,\n    const char *    arg3,\n    const DEFBUF *  defp1,
      \         /* Macro causing the problem 1  */\n    const DEFBUF *  defp2                                   /*
      \  2  */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3038,1
    - Dst: mcpp_fprintf
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3040,1
    - Dst: dump_string
      Src: /src/cyclonedds/src/tools/idlpp/src/expand.c:3041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - why
    - nargs
    - arglist
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3043
    functionName: dump_args
    functionSourceFile: /src/cyclonedds/src/tools/idlpp/src/expand.c
    functionUses: 1
    functionsReached:
    - mcpp_fprintf
    - dump_string
    linkageType: ''
    returnType: void
    signature: "void dump_args(\n    const char *    why,\n    int             nargs,\n
      \   const char **   arglist\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:90,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:93,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:95,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:96,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:97,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:99,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:101,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:105,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:106,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:107,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:108,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:111,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 114
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - idl_delete_pstate
    - memset
    - generate_test_descriptor
    - printf
    - descriptor_fini
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_descriptor, keys_nested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: S
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: U
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(ann)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: S
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:128,1
    - Dst: S
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:129,1
    - Dst: S
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:130,1
    - Dst: U
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:131,1
    - Dst: U
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:132,1
    - Dst: S
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:133,1
    - Dst: S
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:134,1
    - Dst: U
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:135,1
    - Dst: U
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:136,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:147,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:148,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:150,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:151,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:153,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:154,1
    - Dst: generate_descriptor_impl
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:155,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:156,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:159,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:160,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:165,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:168,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:171,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:174,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:175,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (descriptor.constructed_types)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    - condition: (descriptor.constructed_types->instructions.table)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    constantsTouched: []
    func_position:
      end: 178
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 178
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - S
    - generate_descriptor_impl
    - assert
    - idl_delete_pstate
    - U
    - printf
    - memset
    - descriptor_fini
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_descriptor, default_extensibility)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:221,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:222,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:223,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:224,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:225,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:226,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:228,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 231
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - memset
    - generate_test_descriptor
    - printf
    - descriptor_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_descriptor, key_valid_types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:281,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:283,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:284,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:286,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:287,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:288,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:289,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:292,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:293,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:296,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/descriptor.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 299
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - idl_delete_pstate
    - memset
    - generate_test_descriptor
    - printf
    - descriptor_fini
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_descriptor, keys_inheritance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:22,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:23,1
    - Dst: get_topic_node
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:25,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:28,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:28,1
    - Dst: idl_is_topic
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pstate
    - list
    argTypes:
    - idl_pstate_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: get_topic_node
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/test_common.c
    functionUses: 1
    functionsReached:
    - idl_is_topic
    - idl_mask
    - idl_next
    - get_topic_node
    linkageType: ''
    returnType: idl_node_t
    signature: idl_node_t * get_topic_node(idl_pstate_t *pstate, void *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:38,1
    - Dst: get_topic_node
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:42,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:43,1
    - Dst: generate_descriptor_impl
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:45,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/test_common.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pstate
    - idl
    - descriptor
    argTypes:
    - idl_pstate_t*
    - char*
    - struct descriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: generate_test_descriptor
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/test_common.c
    functionUses: 3
    functionsReached:
    - generate_descriptor_impl
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - get_topic_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t generate_test_descriptor (idl_pstate_t *pstate, const
      char *idl, struct descriptor *descriptor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:34,1
    - Dst: calloc
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:35,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (count > 0 && size > 0)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: calloc_no_fail
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    - abort
    - calloc
    linkageType: ''
    returnType: void
    signature: void *calloc_no_fail (size_t count, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:78,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:80,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:82,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:83,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:85,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:87,1
    - Dst: generate_descriptor_type_meta
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:91,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:92,1
    - Dst: descriptor_type_meta_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:93,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:96,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 99
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_snprintf
    - generate_descriptor_type_meta
    - CU_ASSERT_EQ_FATAL
    - descriptor_type_meta_fini
    - idl_delete_pstate
    - memset
    - printf
    - generate_test_descriptor
    - descriptor_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_type_meta, union_max_label_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:108,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - desc
    - os
    argTypes:
    - void*
    - struct dds_cdrstream_desc*
    - dds_ostreamLE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: xcdr2_ser
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - dds_stream_write_sampleLE
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void xcdr2_ser (const void *obj, const struct dds_cdrstream_desc *desc,
      dds_ostreamLE_t *os)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:116,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:118,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:121,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:122,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:123,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:124,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:130,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:131,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - sz
    - obj
    - desc
    argTypes:
    - unsigned char*
    - uint32_t
    - void**
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: xcdr2_deser
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - dds_stream_read
    - DDSRT_WARNING_MSVC_ON
    - malloc
    - dds_stream_normalize_xcdr2_data
    - free
    - calloc_no_fail
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void xcdr2_deser (unsigned char *buf, uint32_t sz, void **obj, const
      struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:140,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:144,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:144,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cnt
    - m
    argTypes:
    - uint32_t
    - struct smember*
    assertStmts:
    - condition: (strlen (m[n].name) < sizeof (member_seq[n].detail.name))
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: get_typeobj_struct_member_seq
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - idl_strlcpy
    - assert
    - strlen
    linkageType: ''
    returnType: struct DDS_XTypes_CompleteStructMember
    signature: struct DDS_XTypes_CompleteStructMember *get_typeobj_struct_member_seq(uint32_t
      cnt, struct smember *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:153,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:161,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:166,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:166,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cnt
    - m
    argTypes:
    - uint32_t
    - struct umember*
    assertStmts:
    - condition: (strlen(m[n].name) < sizeof (member_seq[n].detail.name))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: get_typeobj_union_member_seq
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - idl_strlcpy
    - assert
    - strlen
    linkageType: ''
    returnType: struct DDS_XTypes_CompleteUnionMember
    signature: struct DDS_XTypes_CompleteUnionMember *get_typeobj_union_member_seq(uint32_t
      cnt, struct umember *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:174,1
    - Dst: get_typeobj_struct_member_seq
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:184,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:189,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:189,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - name
    - flags
    - base
    - member_cnt
    - members
    argTypes:
    - char*
    - uint16_t
    - DDS_XTypes_TypeIdentifier
    - uint32_t
    - struct smember*
    assertStmts:
    - condition: (strlen (name) < sizeof (to->_u.complete._u.struct_type.header.detail.type_name))
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: get_typeobj_struct
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    - get_typeobj_struct_member_seq
    - strlen
    - idl_strlcpy
    - calloc_no_fail
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj_struct(const char *name, uint16_t
      flags, DDS_XTypes_TypeIdentifier base, uint32_t member_cnt, struct smember *members)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:196,1
    - Dst: get_typeobj_union_member_seq
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:206,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:211,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:211,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - name
    - flags
    - disc_type
    - member_cnt
    - members
    argTypes:
    - char*
    - uint16_t
    - DDS_XTypes_TypeIdentifier
    - uint32_t
    - struct umember*
    assertStmts:
    - condition: (strlen(name) < sizeof (to->_u.complete._u.union_type.header.detail.type_name))
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 214
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 214
    functionName: get_typeobj_union
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - idl_strlcpy
    - calloc_no_fail
    - get_typeobj_union_member_seq
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj_union(const char *name, uint16_t
      flags, DDS_XTypes_TypeIdentifier disc_type, uint32_t member_cnt, struct umember
      *members)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: get_typeobj1
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj1 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: get_typeobj2
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeobj_union
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: get_typeobj3
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeobj_union
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj3 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:261,1
    - Dst: get_type_hash
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:263,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:264,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:265,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ti
    - to
    argTypes:
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: get_typeid
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - memset
    - free
    - get_type_hash
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void get_typeid (DDS_XTypes_TypeIdentifier *ti, DDS_XTypes_TypeObject
      *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:273,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:273,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: get_typeobj4
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj4 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:291,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:296,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:313,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:323,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:324,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 334
    functionName: get_typeobj5
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - memcpy
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj5 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:342,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:345,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:366,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:370,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:390,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:391,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:391,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:399,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 424
    functionName: get_typeobj6
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj6 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:432,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:436,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:446,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:451,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:455,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:465,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 476
    functionName: get_typeobj7
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj7 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:484,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:487,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 507
    functionName: get_typeobj8
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj8 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:515,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:519,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:529,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 540
    functionName: get_typeobj9
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj9 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:548,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:552,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:562,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 573
    functionName: get_typeobj10
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj10 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeobj_union
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: get_typeobj11
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeobj_union
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj11 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:594,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:598,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:600,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:617,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:620,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:622,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:639,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 649
    functionName: get_typeobj12
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj12 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:657,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:661,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:662,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:682,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:692,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:693,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 704
    functionName: get_typeobj13
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj13 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:712,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:715,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:724,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:726,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:743,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 753
    functionName: get_typeobj14
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj14 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:761,1
    - Dst: calloc_no_fail
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:771,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:781,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:782,1
    - Dst: get_typeobj_struct
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 792
    functionName: get_typeobj15
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - calloc_no_fail
    - get_typeid
    - get_typeobj_struct
    linkageType: ''
    returnType: DDS_XTypes_TypeObject
    signature: DDS_XTypes_TypeObject *get_typeobj15 (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:829,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:831,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:832,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:834,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:835,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:836,1
    - Dst: generate_descriptor_type_meta
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:838,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:839,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:844,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:845,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:845,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:849,1
    - Dst: get_typeobj_fn
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:855,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:856,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:859,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:860,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:861,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:863,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:864,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:865,1
    - Dst: xcdr2_deser
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:870,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:873,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:874,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:875,1
    - Dst: descriptor_type_meta_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:878,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:879,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 882
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - xcdr2_deser
    - idl_create_pstate
    - generate_descriptor_type_meta
    - CU_ASSERT_EQ_FATAL
    - memcmp
    - ddsi_make_typeid_str_impl
    - descriptor_type_meta_fini
    - get_typeobj_fn
    - idl_delete_pstate
    - memset
    - generate_test_descriptor
    - printf
    - idl_identifier
    - free
    - descriptor_fini
    - dds_stream_free_sample
    - xcdr2_ser
    - dds_ostreamLE_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_type_meta, type_obj_serdes)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:908,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:909,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:911,1
    - Dst: generate_test_descriptor
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:912,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:913,1
    - Dst: generate_descriptor_type_meta
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:915,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:916,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:918,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:926,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:931,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:937,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:939,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:941,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:946,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:948,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:950,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:955,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:957,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:959,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:964,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:966,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:968,1
    - Dst: descriptor_type_meta_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:973,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:974,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:975,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - test
    argTypes:
    - s_a_t*
    assertStmts:
    - condition: (NULL == dtm.admin->admin_next)
      pos:
        line_end: 917
        line_start: 917
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    constantsTouched: []
    func_position:
      end: 976
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 976
    functionName: test_annotation_meta_info
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - generate_descriptor_type_meta
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - descriptor_type_meta_fini
    - assert
    - idl_delete_pstate
    - memset
    - generate_test_descriptor
    - CU_ASSERT_EQ
    - descriptor_fini
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void test_annotation_meta_info(const s_a_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_annotation_meta_info
      Src: /src/cyclonedds/src/tools/idlc/tests/type_meta.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 1025
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    functionUses: 0
    functionsReached:
    - test_annotation_meta_info
    linkageType: ''
    returnType: void
    signature: void CU_Test(idlc_type_meta, type_obj_annotations)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:35,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:35,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - idl_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: get_type_prefix
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_is_struct
    - idl_is_forward
    - idl_is_union
    linkageType: ''
    returnType: char
    signature: 'char *

      get_type_prefix(const idl_type_spec_t *type_spec)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:51,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:56,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:56,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:57,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:58,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:61,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:61,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:61,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:62,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:68,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:68,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:71,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:72,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:72,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:73,1
    - Dst: get_type_prefix
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:77,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:80,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:82,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:84,1
    - Dst: idl_islower
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:87,1
    - Dst: idl_toupper
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:88,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:102,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_sequence(node))
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    - condition: (idl_is_member(node) || idl_is_case(node))
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: emit_implicit_sequence
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - idl_toupper
    - idl_bound
    - idl_is_member
    - idl_is_case
    - assert
    - idl_fprintf
    - idl_is_sequence
    - idl_is_xstring
    - get_type_prefix
    - idl_type_spec
    - idl_islower
    - idl_is_bounded
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_implicit_sequence(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:125,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:125,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:125,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:125,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_member(node) || idl_is_case(node) || idl_is_sequence(node))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: generate_implicit_sequences
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_visit
    - idl_is_member
    - assert
    - memset
    - idl_is_sequence
    - idl_is_case
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_implicit_sequences(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:150,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:151,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:152,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:153,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:154,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:157,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:157,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:160,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:160,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:161,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:162,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:162,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:162,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:167,1
    - Dst: get_type_prefix
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:173,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:176,1
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:179,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:181,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:185,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:191,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:192,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:192,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:193,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:198,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:198,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:200,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:200,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:206,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_type(literal) == IDL_ULONG)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 210
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 210
    functionName: emit_field
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - idl_is_empty
    - idl_fprintf
    - idl_is_case
    - idl_is_external
    - idl_is_array
    - idl_is_optional
    - idl_type_spec
    - idl_next
    - idl_bound
    - assert
    - idl_is_xstring
    - fputs
    - get_type_prefix
    - idl_is_bounded
    - IDL_PRINTA
    - idl_identifier
    - idl_strip
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_field(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:224,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:226,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:231,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:233,1
    - Dst: idl_is_topic
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:235,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:236,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:246,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:250,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:253,1
    - Dst: generate_descriptor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:256,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:260,1
    - Dst: generate_implicit_sequences
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:266,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:269,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:274,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:279,1
    - Dst: get_type_prefix
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:281,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:283,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 290
    functionName: emit_struct
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_is_empty
    - idl_fprintf
    - get_type_prefix
    - generate_implicit_sequences
    - idl_is_topic
    - generate_descriptor
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_struct(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:308,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:308,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:309,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:312,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:312,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:313,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:320,1
    - Dst: idl_is_topic
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:322,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:323,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:333,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:337,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:340,1
    - Dst: generate_descriptor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:343,1
    - Dst: generate_implicit_sequences
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:349,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:356,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_union(node))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    - condition: (idl_is_switch_type_spec(switch_type_spec))
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 362
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 362
    functionName: emit_union
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_is_topic
    - idl_is_switch_type_spec
    - assert
    - idl_fprintf
    - generate_implicit_sequences
    - idl_is_union
    - generate_descriptor
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_union(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:379,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:379,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:380,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_forward(node))
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: emit_forward
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - assert
    - IDL_PRINTA
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_forward(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:405,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:406,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:406,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:407,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:409,1
    - Dst: generate_implicit_sequences
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:410,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:414,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:414,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:417,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:418,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:418,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:419,1
    - Dst: get_type_prefix
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:423,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:425,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:428,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:429,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:437,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:440,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:442,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:450,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_sequence(type_spec))
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 455
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 455
    functionName: emit_sequence_typedef
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - idl_bound
    - idl_next
    - assert
    - idl_fprintf
    - idl_is_sequence
    - idl_is_xstring
    - get_type_prefix
    - generate_implicit_sequences
    - idl_type_spec
    - idl_is_bounded
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_sequence_typedef(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:472,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:474,1
    - Dst: emit_sequence_typedef
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:475,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:478,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:479,1
    - Dst: get_type_prefix
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:486,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:488,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:491,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:492,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:495,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:498,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:500,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:505,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:505,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 515
    functionName: emit_typedef
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - emit_sequence_typedef
    - idl_next
    - idl_bound
    - idl_fprintf
    - idl_is_sequence
    - idl_is_xstring
    - get_type_prefix
    - idl_type_spec
    - idl_is_bounded
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_typedef(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:534,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:536,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:540,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:541,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:549,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 562
    functionName: emit_enum
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_next
    - IDL_PRINTA
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_enum(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:581,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:595,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:599,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:600,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 608
    functionName: emit_bitmask
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_next
    - IDL_PRINTA
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_bitmask(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:620,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:622,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:624,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:626,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:629,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:632,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:635,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:638,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:641,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:644,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:647,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:649,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:651,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:653,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:655,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:658,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:659,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 3
    argNames:
    - pstate
    - gen
    - literal
    argTypes:
    - idl_pstate_t*
    - struct generator*
    - idl_literal_t*
    assertStmts:
    - condition: (type == IDL_ENUM)
      pos:
        line_end: 657
        line_start: 657
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    constantsTouched: []
    func_position:
      end: 664
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 664
    functionName: print_literal
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_fprintf
    - IDL_PRINTA
    - idl_type
    linkageType: ''
    returnType: int
    signature: "int print_literal(\n  const idl_pstate_t *pstate,\n  struct generator
      *gen,\n  const idl_literal_t *literal)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:681,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:683,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:692,1
    - Dst: print_literal
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:694,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: emit_const
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - print_literal
    - idl_fprintf
    - IDL_PRINTA
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_const(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:706,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pstate
    - generator
    argTypes:
    - idl_pstate_t*
    - struct generator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 720
    functionName: generate_types
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
    functionUses: 0
    functionsReached:
    - idl_visit
    - memset
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t generate_types(const idl_pstate_t *pstate, struct generator
      *generator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:51,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:52,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:52,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:53,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:54,1
    - Dst: idl_is_inherit_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:55,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:57,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - descriptor
    - node
    - fieldp
    argTypes:
    - struct descriptor*
    - void*
    - struct field**
    assertStmts:
    - condition: (descriptor)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: "(idl_is_declarator(node) ||\n         idl_is_switch_type_spec(node)
        ||\n         idl_is_case(node) ||\n         idl_is_inherit_spec(node))"
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (stype)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: push_field
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_switch_type_spec
    - assert
    - idl_calloc
    - idl_is_declarator
    - idl_is_inherit_spec
    - idl_is_case
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t push_field(\n  struct descriptor *descriptor, const
      void *node, struct field **fieldp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:72,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:74,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:76,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - struct descriptor*
    assertStmts:
    - condition: (descriptor)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (stype)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (field)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: pop_field
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_free
    linkageType: ''
    returnType: void
    signature: void pop_field(struct descriptor *descriptor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:85,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:86,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:87,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:87,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:88,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:89,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:90,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - descriptor
    - node
    - ctype
    - typep
    argTypes:
    - struct descriptor*
    - void*
    - struct constructed_type*
    - struct stack_type**
    assertStmts:
    - condition: (descriptor)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: "(idl_is_struct(node) ||\n         idl_is_union(node) ||\n         idl_is_sequence(node)
        ||\n         idl_is_declarator(node))"
      pos:
        line_end: 89
        line_start: 86
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: push_type
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_calloc
    - idl_is_declarator
    - idl_is_struct
    - idl_is_sequence
    - idl_is_union
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t push_type(\n  struct descriptor *descriptor, const void
      *node, struct constructed_type *ctype, struct stack_type **typep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:105,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:106,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:109,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - struct descriptor*
    assertStmts:
    - condition: (descriptor)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (descriptor->type_stack)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (!stype->fields || (stype->previous && stype->fields == stype->previous->fields))
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: pop_type
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_free
    linkageType: ''
    returnType: void
    signature: void pop_type(struct descriptor *descriptor)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:123,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - inst
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - struct instruction*
    assertStmts:
    - condition: (instructions->count <= instructions->size)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: stash_instruction
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_realloc
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_instruction(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const struct instruction *inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - code
    - order
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: stash_opcode
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_opcode(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, uint32_t code, uint32_t order)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:167,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:169,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:173,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:175,1
    - Dst: idl_is_inherit_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:177,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:180,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:181,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:184,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:188,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:193,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:195,1
    - Dst: idl_is_inherit_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:197,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:200,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:202,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:204,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:211,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:213,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:214,1
    - Dst: idl_ancestor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:214,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:217,1
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:220,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:225,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:227,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - field
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - struct field*
    assertStmts:
    - condition: (field)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (pos > 1)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (pos == 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (pos >= cnt)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 230
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 230
    functionName: stash_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_switch_type_spec
    - IDL_PRINT
    - memcpy
    - assert
    - idl_identifier
    - strlen
    - idl_malloc
    - idl_is_declarator
    - idl_is_inherit_spec
    - stash_instruction
    - idl_is_case
    - idl_ancestor
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_offset(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const struct field *field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:237,1
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - key_name
    - length
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: stash_key_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    - idl_strdup
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_key_offset(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, char *key_name, uint16_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - offset
    - order
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: stash_key_offset_val
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_key_offset_val(\n  const idl_pstate_t *pstate,
      struct instructions *instructions, uint32_t index, uint16_t offset, uint32_t
      order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pstate
    - instructions
    - index
    - node
    - high
    - addr_offs
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - idl_node_t*
    - uint16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: stash_element_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_element_offset(\n  const idl_pstate_t *pstate,
      struct instructions *instructions, uint32_t index, const idl_node_t *node, uint16_t
      high, int16_t addr_offs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pstate
    - instructions
    - index
    - node
    - opcode
    - addr_offs
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - idl_node_t*
    - uint32_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: stash_jeq_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_jeq_offset(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const idl_node_t *node, uint32_t
      opcode, int16_t addr_offs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - opcode
    - addr_offs
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - uint32_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: stash_mutable_member_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_mutable_member_offset(\n  const idl_pstate_t *pstate,
      struct instructions *instructions, uint32_t index, uint32_t opcode, int16_t
      addr_offs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - node
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: stash_base_members_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_base_members_offset(\n  const idl_pstate_t *pstate,
      struct instructions *instructions, uint32_t index, const idl_node_t *node)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:291,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:292,1
    - Dst: idl_is_bounded_string
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:294,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:296,1
    - Dst: idl_is_unbounded_string
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:298,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:299,1
    - Dst: idl_is_bounded_wstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:301,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:303,1
    - Dst: idl_is_unbounded_wstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:305,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:306,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:309,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:316,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:317,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:318,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:320,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:324,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:327,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:332,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:332,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:333,1
    - Dst: idl_is_bounded_string
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:336,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:338,1
    - Dst: idl_is_unbounded_string
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:340,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:341,1
    - Dst: idl_is_bounded_wstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:343,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:345,1
    - Dst: idl_is_unbounded_wstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:347,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:348,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:350,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:355,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:364,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:364,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:365,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:367,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:368,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:368,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:368,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:370,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:374,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:376,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:377,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:380,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:382,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:383,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:388,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:389,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:390,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:394,1
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:399,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:404,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 113
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - node
    - ext
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - void*
    - bool
    assertStmts:
    - condition: (const_expr)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (const_expr)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (idl_is_array(node))
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 407
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 407
    functionName: stash_member_size
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - IDL_PRINT
    - idl_is_sequence
    - idl_strdup
    - idl_is_array
    - memmove
    - memcpy
    - idl_type_spec
    - idl_next
    - assert
    - strlen
    - idl_malloc
    - idl_strlcpy
    - idl_asprintf
    - idl_free
    - idl_is_bounded_wstring
    - idl_is_unbounded_string
    - idl_is_alias
    - stash_instruction
    - idl_is_bounded_string
    - idl_is_unbounded_wstring
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_member_size(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const void *node, bool ext)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:418,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:419,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:423,1
    - Dst: isprint
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:425,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:426,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:428,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:431,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:434,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:438,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:442,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:446,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:450,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:454,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:458,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:462,1
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:471,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:475,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - const_expr
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 478
    functionName: stash_constant
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - IDL_PRINT
    - idl_is_enumerator
    - idl_free
    - isprint
    - stash_instruction
    - idl_asprintf
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_constant(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const idl_const_expr_t *const_expr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pstate
    - instructions
    - index
    - high
    - low
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: stash_couple
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_couple(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, uint16_t high, uint16_t low)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - single
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: stash_single
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_single(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, uint32_t single)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:504,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:508,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pstate
    - instructions
    - index
    - bitmask
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - idl_bitmask_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 511
    functionName: stash_bitmask_bits
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_single
    - IDL_FOREACH
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_bitmask_bits(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, const idl_bitmask_t * bitmask)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:515,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:516,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:520,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:521,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:521,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:521,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:522,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:570,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:574,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:580,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:586,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:593,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:594,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:610,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:611,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:622,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 5
    argNames:
    - pstate
    - type_spec
    - shift
    - struct_union_ext
    - add_to
    argTypes:
    - idl_pstate_t*
    - idl_type_spec_t*
    - uint32_t
    - bool
    - uint32_t*
    assertStmts:
    - condition: (add_to && (shift == 8 || shift == 16))
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (!idl_is_typedef(type_spec) && !idl_is_forward(type_spec))
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (bit_bound > 0 && bit_bound <= 32)
      pos:
        line_end: 593
        line_start: 593
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (bit_bound > 0 && bit_bound <= 64)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 626
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 626
    functionName: add_typecode
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - idl_is_forward
    - idl_bound
    - assert
    - idl_is_typedef
    - idl_strip
    - idl_error
    - idl_is_bounded
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t add_typecode(const idl_pstate_t *pstate, const idl_type_spec_t
      *type_spec, uint32_t shift, bool struct_union_ext, uint32_t *add_to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - descriptor
    - node
    argTypes:
    - struct descriptor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 640
    functionName: find_ctype
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    linkageType: ''
    returnType: struct constructed_type
    signature: 'struct constructed_type *

      find_ctype(const struct descriptor *descriptor, const void *node)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:647,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - descriptor
    - scope
    - node
    - ctype
    argTypes:
    - struct descriptor*
    - idl_scope_t*
    - void*
    - struct constructed_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 667
    functionName: add_ctype
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_name
    - idl_calloc
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t add_ctype(struct descriptor *descriptor, const idl_scope_t
      *scope, const void *node, struct constructed_type **ctype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:673,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctype
    argTypes:
    - struct constructed_type*
    assertStmts:
    - condition: (idl_is_extensible(ctype->node, IDL_MUTABLE))
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 679
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 679
    functionName: shift_plm_list_offsets
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_is_extensible
    linkageType: ''
    returnType: void
    signature: void shift_plm_list_offsets(struct constructed_type *ctype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:688,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:688,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:692,1
    - Dst: stash_mutable_member_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:697,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:698,1
    - Dst: shift_plm_list_offsets
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pstate
    - ctype
    - id
    argTypes:
    - idl_pstate_t*
    - struct constructed_type*
    - uint32_t
    assertStmts:
    - condition: (idl_is_extensible(ctype->node, IDL_MUTABLE))
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.count <= INT16_MAX)
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: add_mutable_member_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - shift_plm_list_offsets
    - assert
    - stash_mutable_member_offset
    - idl_is_extensible
    - stash_single
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t add_mutable_member_offset(\n  const idl_pstate_t *pstate,\n
      \ struct constructed_type *ctype,\n  uint32_t id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:713,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:713,1
    - Dst: stash_base_members_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:714,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:716,1
    - Dst: shift_plm_list_offsets
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pstate
    - ctype
    - base_ctype
    argTypes:
    - idl_pstate_t*
    - struct constructed_type*
    - struct constructed_type*
    assertStmts:
    - condition: (idl_is_extensible(ctype->node, IDL_MUTABLE))
      pos:
        line_end: 712
        line_start: 712
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 720
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 720
    functionName: add_mutable_member_base
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - shift_plm_list_offsets
    - assert
    - stash_base_members_offset
    - idl_is_extensible
    - stash_single
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t add_mutable_member_base(\n  const idl_pstate_t *pstate,\n
      \ struct constructed_type *ctype,\n  const struct constructed_type *base_ctype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:728,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:728,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pstate
    - ctype
    argTypes:
    - idl_pstate_t*
    - struct constructed_type*
    assertStmts:
    - condition: (idl_is_extensible(ctype->node, IDL_MUTABLE))
      pos:
        line_end: 727
        line_start: 727
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 733
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 733
    functionName: close_mutable_member
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_opcode
    - assert
    - idl_is_extensible
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t close_mutable_member(\n  const idl_pstate_t *pstate,\n
      \ struct constructed_type *ctype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_instruction
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pstate
    - instructions
    - index
    - offs
    - type
    - member
    argTypes:
    - idl_pstate_t*
    - struct instructions*
    - uint32_t
    - int16_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: stash_member_id
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_instruction
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t stash_member_id(\n  const idl_pstate_t *pstate, struct
      instructions *instructions, uint32_t index, int16_t offs, const char *type,
      const char *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:750,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:751,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:752,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:754,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:755,1
    - Dst: stash_member_id
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:756,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pstate
    - descriptor
    - mid
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - struct constructed_type_memberid*
    assertStmts:
    - condition: (descriptor->member_ids.count <= INT16_MAX)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (mid->ctype->offset <= INT32_MAX)
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (offs <= INT16_MAX)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (offs >= INT16_MIN)
      pos:
        line_end: 753
        line_start: 753
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (mid->ctype->offset < (uint32_t) (INT32_MAX - mid->rel_offs))
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: add_member_id_entry
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_member_id
    - assert
    - stash_single
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t add_member_id_entry(\n  const idl_pstate_t *pstate,\n
      \ struct descriptor *descriptor,\n  struct constructed_type_memberid *mid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pstate
    - descriptor
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: close_member_id_table
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_opcode
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t close_member_id_table(\n  const idl_pstate_t *pstate,\n
      \ struct descriptor *descriptor)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:787,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:789,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:815,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:815,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:817,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:817,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:818,1
    - Dst: idl_is_unbounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:818,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:820,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:824,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:826,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:826,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:828,1
    - Dst: idl_is_bounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:828,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:828,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:828,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:831,1
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:831,1
    - Dst: idl_is_unbounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:831,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:831,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:831,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:836,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:838,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:841,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:842,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:842,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:843,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:843,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:849,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:856,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:860,1
    - Dst: idl_is_unbounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:860,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:862,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:862,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:865,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:868,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:869,1
    - Dst: stash_jeq_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:871,1
    - Dst: stash_constant
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:875,1
    - Dst: idl_is_default_case_label
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:875,1
    - Dst: idl_is_implicit_default_case_label
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:875,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:879,1
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:879,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:886,1
    - Dst: stash_member_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:887,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:889,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:891,1
    - Dst: idl_enum_max_value
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:891,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:894,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:900,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:902,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 78
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (off <= INT16_MAX)
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (case_type != INLINE)
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (idl_is_base_type(type_spec) || idl_is_unbounded_xstring(type_spec)
        || idl_is_bitmask(type_spec) || idl_is_enum(type_spec))
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (idl_is_union(union_spec))
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 910
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 910
    functionName: emit_case
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_offset
    - idl_parent
    - idl_is_bounded_xstring
    - idl_is_empty
    - idl_is_sequence
    - stash_member_size
    - idl_is_external
    - idl_enum_max_value
    - stash_opcode
    - idl_warning
    - idl_is_array
    - add_typecode
    - idl_is_enum
    - idl_is_struct
    - idl_type_spec
    - idl_is_union
    - idl_is_bitmask
    - idl_next
    - idl_is_base_type
    - pop_field
    - assert
    - idl_is_implicit_default_case_label
    - stash_constant
    - stash_single
    - idl_location
    - idl_strip
    - idl_is_default_case_label
    - push_field
    - idl_is_unbounded_xstring
    - stash_jeq_offset
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_case(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:929,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:929,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:930,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:930,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:930,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:931,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:932,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:932,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:934,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:938,1
    - Dst: idl_is_topic_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:943,1
    - Dst: idl_is_default_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:947,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:947,1
    - Dst: idl_is_implicit_default_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:947,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:947,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:949,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:951,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:953,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:954,1
    - Dst: idl_enum_max_value
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:954,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:957,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_union(union_spec))
      pos:
        line_end: 931
        line_start: 931
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (!idl_is_typedef(type_spec) && !idl_is_array(type_spec))
      pos:
        line_end: 929
        line_start: 929
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 959
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 959
    functionName: emit_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - stash_opcode
    - idl_is_default_case
    - idl_parent
    - add_typecode
    - stash_offset
    - pop_field
    - assert
    - idl_is_topic_key
    - idl_is_enum
    - idl_is_typedef
    - idl_strip
    - idl_is_implicit_default_case
    - push_field
    - stash_single
    - idl_type_spec
    - idl_is_union
    - idl_enum_max_value
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_switch_type_spec(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:979,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:981,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:983,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:983,1
    - Dst: stash_couple
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:984,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:986,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:988,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:993,1
    - Dst: add_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:995,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:995,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:998,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:999,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1001,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1002,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1002,1
    - Dst: push_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1006,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1015,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1016,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (stype->label <= stype->labels)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1029
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1029
    functionName: emit_union
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_opcode
    - idl_location
    - idl_next
    - push_type
    - assert
    - idl_is_enum
    - add_ctype
    - stash_couple
    - pop_type
    - stash_single
    - find_ctype
    - idl_scope
    - idl_type_spec
    - idl_is_extensible
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_union(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1045
    functionName: emit_forward
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_forward(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1060,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1061,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1064,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1065,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1067,1
    - Dst: add_mutable_member_base
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1068,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1076,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1083,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1088,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1090,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1092,1
    - Dst: stash_element_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1095,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (ctype)
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (base_ctype)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1103
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1103
    functionName: emit_inherit_spec
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_opcode
    - add_mutable_member_base
    - stash_offset
    - add_typecode
    - stash_element_offset
    - pop_field
    - assert
    - idl_is_extensible
    - find_ctype
    - push_field
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_inherit_spec(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1119,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1120,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1122,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1123,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1125,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1127,1
    - Dst: add_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1129,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1129,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1132,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1133,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1135,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1136,1
    - Dst: push_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (ctype)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1151
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1151
    functionName: emit_struct
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_opcode
    - push_type
    - assert
    - add_ctype
    - idl_is_extensible
    - pop_type
    - find_ctype
    - idl_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_struct(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1156,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1156,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1162,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - stype
    - path
    argTypes:
    - struct stack_type*
    - idl_path_t*
    assertStmts:
    - condition: (member_found)
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1173
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1173
    functionName: nested_collection_key
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - idl_is_sequence
    - idl_is_member
    - assert
    linkageType: ''
    returnType: bool
    signature: bool nested_collection_key(const struct stack_type *stype, const idl_path_t
      *path)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1193,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1193,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1197,1
    - Dst: stash_member_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1201,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1204,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1204,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1205,1
    - Dst: stash_element_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1207,1
    - Dst: stash_couple
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1210,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1213,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1216,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1223,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1224,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1226,1
    - Dst: nested_collection_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1228,1
    - Dst: idl_is_topic_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1231,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1236,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1241,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1242,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1242,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1243,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1254,1
    - Dst: idl_is_must_understand
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1256,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1261,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1263,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1265,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1267,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1267,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1270,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1271,1
    - Dst: idl_enum_max_value
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1271,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1273,1
    - Dst: stash_bitmask_bits
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1274,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1279,1
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1279,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1279,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1279,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1280,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1281,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1281,1
    - Dst: push_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1288,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1293,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_member(member_node))
      pos:
        line_end: 1241
        line_start: 1241
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (cnt <= INT16_MAX)
      pos:
        line_end: 1204
        line_start: 1204
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1297
      start: 1175
    functionDepth: 4
    functionLinenumber: 1175
    functionLinenumberEnd: 1297
    functionName: emit_sequence
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_offset
    - idl_parent
    - push_type
    - stash_couple
    - stash_member_size
    - idl_is_external
    - idl_enum_max_value
    - stash_opcode
    - idl_is_array
    - add_typecode
    - idl_is_topic_key
    - idl_is_enum
    - idl_is_struct
    - stash_bitmask_bits
    - idl_is_optional
    - idl_type_spec
    - idl_is_union
    - idl_is_bitmask
    - stash_element_offset
    - idl_bound
    - idl_is_base_type
    - assert
    - idl_is_xstring
    - pop_type
    - stash_single
    - nested_collection_key
    - idl_is_must_understand
    - idl_is_bounded
    - idl_is_member
    - idl_strip
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_sequence(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1315,1
    - Dst: idl_array_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1316,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1317,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1317,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1319,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1319,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1320,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1320,1
    - Dst: idl_array_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1321,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1322,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1326,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1326,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1327,1
    - Dst: idl_array_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1328,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1330,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1337,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1337,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1338,1
    - Dst: stash_element_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1340,1
    - Dst: stash_member_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1343,1
    - Dst: stash_couple
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1346,1
    - Dst: stash_member_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1349,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1352,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1356,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1358,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1358,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1359,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1367,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1368,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1368,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1369,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1369,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1372,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1374,1
    - Dst: nested_collection_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1376,1
    - Dst: idl_is_topic_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1379,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1387,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1388,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1389,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1389,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1391,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1402,1
    - Dst: idl_is_must_understand
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1404,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1410,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1413,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1416,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1419,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1420,1
    - Dst: idl_enum_max_value
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1420,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1422,1
    - Dst: stash_bitmask_bits
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1423,1
    - Dst: idl_is_bounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1429,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1431,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1434,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1434,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1437,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1437,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1438,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1441,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1441,1
    - Dst: push_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1447,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_array(type_spec))
      pos:
        line_end: 1319
        line_start: 1319
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (idl_is_sequence(stype->node))
      pos:
        line_end: 1367
        line_start: 1367
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (cnt <= INT16_MAX)
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (idl_is_member(parent))
      pos:
        line_end: 1388
        line_start: 1388
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1453
      start: 1299
    functionDepth: 4
    functionLinenumber: 1299
    functionLinenumberEnd: 1453
    functionName: emit_array
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_offset
    - idl_parent
    - push_type
    - idl_is_bounded_xstring
    - idl_is_sequence
    - stash_couple
    - stash_member_size
    - idl_array_size
    - idl_is_external
    - idl_enum_max_value
    - idl_is_array
    - stash_opcode
    - add_typecode
    - idl_is_topic_key
    - idl_is_enum
    - idl_is_struct
    - stash_bitmask_bits
    - idl_is_optional
    - idl_type_spec
    - idl_is_union
    - idl_is_bitmask
    - stash_element_offset
    - idl_bound
    - pop_field
    - assert
    - pop_type
    - stash_single
    - nested_collection_key
    - idl_is_must_understand
    - idl_is_member
    - idl_strip
    - idl_is_alias
    - push_field
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_array(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1468,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1468,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1470,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1472
    functionName: emit_member
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_warning
    - idl_location
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_member(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1487,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1489
    functionName: emit_bitmask
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_warning
    - idl_location
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_bitmask(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1504,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1505,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1505,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1506,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1510,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1516
    functionName: emit_enum
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_warning
    - idl_mask
    - idl_next
    - idl_location
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_enum(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1531,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1532,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1533,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1533,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1533,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1533,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1535,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1535,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1538,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1538,1
    - Dst: add_mutable_member_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1540,1
    - Dst: emit_array
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1544,1
    - Dst: close_mutable_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1551,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1559,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1559,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1560,1
    - Dst: close_mutable_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1562,1
    - Dst: add_mutable_member_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1570,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1573,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1573,1
    - Dst: push_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1574,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1578,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1582,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1583,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1583,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1587,1
    - Dst: add_typecode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1592,1
    - Dst: idl_is_topic_key
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1599,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1604,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1609,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1609,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1609,1
    - Dst: idl_is_external
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1610,1
    - Dst: idl_is_unbounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1610,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1614,1
    - Dst: idl_is_unbounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1615,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1618,1
    - Dst: idl_is_must_understand
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1621,1
    - Dst: stash_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1628,1
    - Dst: stash_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1632,1
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1632,1
    - Dst: idl_is_bounded_xstring
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1635,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1636,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1636,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1638,1
    - Dst: stash_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1639,1
    - Dst: idl_enum_max_value
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1639,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1641,1
    - Dst: stash_bitmask_bits
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1642,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1644,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1644,1
    - Dst: stash_element_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1645,1
    - Dst: stash_member_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1650,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1659,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1659,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1659,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1659,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 87
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (ctype->instructions.count <= INT16_MAX)
      pos:
        line_end: 1586
        line_start: 1586
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1665
      start: 1518
    functionDepth: 5
    functionLinenumber: 1518
    functionLinenumberEnd: 1665
    functionName: emit_declarator
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - stash_offset
    - idl_parent
    - idl_is_bounded_xstring
    - idl_is_empty
    - idl_is_sequence
    - idl_is_case
    - stash_member_size
    - idl_is_external
    - idl_enum_max_value
    - idl_is_array
    - stash_opcode
    - emit_array
    - add_typecode
    - idl_is_topic_key
    - idl_is_enum
    - idl_is_struct
    - stash_bitmask_bits
    - idl_is_extensible
    - idl_is_optional
    - add_mutable_member_offset
    - idl_type_spec
    - idl_is_union
    - DDS_OP_TYPE
    - idl_is_bitmask
    - stash_element_offset
    - idl_bound
    - pop_field
    - assert
    - stash_single
    - idl_is_must_understand
    - close_mutable_member
    - idl_is_member
    - idl_strip
    - idl_is_alias
    - push_field
    - idl_is_unbounded_xstring
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_declarator(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1674,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1676,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1690,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1690,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1703,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1720,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1727,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1751,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1751,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1755,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1755,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1758,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1760,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1764,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1764,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1767,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1767,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1770,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1771,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1772,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1791,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1795,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1807,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 200
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts:
    - condition: ((uint16_t) DDS_OP_JUMP (inst->data.opcode.code) == 0)
      pos:
        line_end: 1766
        line_start: 1766
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (inst->type == OPCODE)
      pos:
        line_end: 1673
        line_start: 1673
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (opcode == DDS_OP_ADR)
      pos:
        line_end: 1702
        line_start: 1702
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: ((type == DDS_OP_VAL_SEQ || type == DDS_OP_VAL_ARR || type == DDS_OP_VAL_UNI
        || type == DDS_OP_VAL_STU || type == DDS_OP_VAL_BSQ) == (subtype != 0))
      pos:
        line_end: 1771
        line_start: 1771
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1811
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1811
    functionName: print_opcode
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - idl_snprintf
    - DDS_OP_SUBTYPE
    - DDS_PLM_FLAGS
    - assert
    - DDS_OP_JUMP
    - fputs
    - abort
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: int
    signature: int print_opcode(FILE *fp, const struct instruction *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1816,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1819,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1821,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts:
    - condition: (inst->type == OFFSET)
      pos:
        line_end: 1815
        line_start: 1815
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: ((!type && !member) || (type && member))
      pos:
        line_end: 1818
        line_start: 1818
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: print_offset
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - fputs
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_offset(FILE *fp, const struct instruction *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1829,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts:
    - condition: (inst->type == MEMBER_SIZE)
      pos:
        line_end: 1828
        line_start: 1828
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1832
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1832
    functionName: print_size
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_size(FILE *fp, const struct instruction *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1839
    functionName: print_constant
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int print_constant(FILE *fp, const struct instruction *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1844,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts:
    - condition: (inst->type == COUPLE)
      pos:
        line_end: 1843
        line_start: 1843
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1848
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1848
    functionName: print_couple
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_couple(FILE *fp, const struct instruction *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1852,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - inst
    argTypes:
    - FILE*
    - struct instruction*
    assertStmts:
    - condition: (inst->type == SINGLE)
      pos:
        line_end: 1851
        line_start: 1851
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 1854
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1854
    functionName: print_single
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_single(FILE *fp, const struct instruction *inst)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1866,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1873,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1876,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1881,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1884,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1884,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1893,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1894,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1906,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1922,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1933,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1933,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1937,1
    - Dst: print_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1937,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1941,1
    - Dst: print_size
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1941,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1945,1
    - Dst: print_constant
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1945,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1949,1
    - Dst: print_couple
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1949,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1953,1
    - Dst: print_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1953,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1959,1
    - Dst: print_couple
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1959,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1959,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1959,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1966,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1966,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1966,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1966,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1974,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1974,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1982,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1982,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1982,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:1982,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2006,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2006,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2006,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2013,1
    - Dst: print_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2013,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2013,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2018,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2019,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2020,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2020,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2037,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2037,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2037,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2037,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2043,1
    - Dst: print_single
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2043,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2047,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2048,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2049,1
    - Dst: print_opcode
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2049,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2058,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2064,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 181
    argCount: 3
    argNames:
    - fp
    - descriptor
    - kof_offs
    argTypes:
    - FILE*
    - struct descriptor*
    - uint32_t*
    assertStmts:
    - condition: (opcode == DDS_OP_RTS)
      pos:
        line_end: 2018
        line_start: 2018
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (opcode == DDS_OP_RTS)
      pos:
        line_end: 2047
        line_start: 2047
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2071
      start: 1856
    functionDepth: 2
    functionLinenumber: 1856
    functionLinenumberEnd: 2071
    functionName: print_opcodes
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - print_couple
    - print_single
    - print_size
    - DDS_OP_SUBTYPE
    - assert
    - idl_identifier
    - idl_fprintf
    - fputs
    - print_constant
    - print_opcode
    - print_offset
    - DDS_OP_TYPE
    - IDL_PRINTA
    - DDS_OP
    linkageType: ''
    returnType: int
    signature: int print_opcodes(FILE *fp, const struct descriptor *descriptor, uint32_t
      *kof_offs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2078,1
    - Dst: free_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2080,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct constructed_type_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2085
    functionName: free_ctype_keys
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 1
    functionsReached:
    - free_ctype_keys
    - idl_free
    linkageType: ''
    returnType: void
    signature: void free_ctype_keys(struct constructed_type_key *key)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2094,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2095,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2096,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2096,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2100,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2103,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2111,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2111,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2111,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2111,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2117,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2117,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2124,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2140,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2144,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2152,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2154,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2155,1
    - Dst: get_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2156,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2162,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2169,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2170,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2175,1
    - Dst: get_ctype_keys_adr
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2178,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2184,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2185,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2187,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2188,1
    - Dst: get_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2189,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2194,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2197,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2208,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2212,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 104
    argCount: 9
    argNames:
    - pstate
    - descriptor
    - offs
    - base_type_ops_offs
    - inst
    - ctype
    - n_keys
    - ctype_keys
    - in_collection
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - uint32_t
    - uint32_t
    - struct instruction*
    - struct constructed_type*
    - uint32_t*
    - struct constructed_type_key**
    - bool
    assertStmts:
    - condition: (DDS_OP(inst->data.opcode.code) == DDS_OP_ADR)
      pos:
        line_end: 2095
        line_start: 2095
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (csubtype)
      pos:
        line_end: 2187
        line_start: 2187
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (n_keys != NULL || in_collection)
      pos:
        line_end: 2093
        line_start: 2093
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype_keys != NULL || in_collection)
      pos:
        line_end: 2094
        line_start: 2094
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (csubtype)
      pos:
        line_end: 2154
        line_start: 2154
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + 2].type == ELEM_OFFSET)
      pos:
        line_end: 2151
        line_start: 2151
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: ((!type && !member) || (type && member))
      pos:
        line_end: 2102
        line_start: 2102
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (DDS_OP_TYPE(inst->data.opcode.code) == DDS_OP_VAL_ARR || DDS_OP_TYPE(inst->data.opcode.code)
        == DDS_OP_VAL_SEQ || DDS_OP_TYPE(inst->data.opcode.code) == DDS_OP_VAL_BSQ)
      pos:
        line_end: 2110
        line_start: 2110
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[elem_offs].type == ELEM_OFFSET)
      pos:
        line_end: 2184
        line_start: 2184
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (inst_offs->type == OFFSET)
      pos:
        line_end: 2099
        line_start: 2099
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: ((DDS_OP_FLAGS(inst->data.opcode.code) & DDS_OP_FLAG_KEY))
      pos:
        line_end: 2116
        line_start: 2116
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[elem_offs].type == COUPLE)
      pos:
        line_end: 2169
        line_start: 2169
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2217
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2217
    functionName: get_ctype_keys_adr
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 1
    functionsReached:
    - DDS_OP_SUBTYPE
    - DDS_OP_FLAGS
    - assert
    - idl_calloc
    - find_ctype
    - idl_strdup
    - idl_error
    - abort
    - get_ctype_keys
    - get_ctype_keys_adr
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_ctype_keys_adr(const idl_pstate_t *pstate, struct
      descriptor *descriptor, uint32_t offs, uint32_t base_type_ops_offs, struct instruction
      *inst, struct constructed_type *ctype, uint32_t *n_keys, struct constructed_type_key
      **ctype_keys, bool in_collection)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2222,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2223,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2230,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2231,1
    - Dst: get_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2237,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2243,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2252,1
    - Dst: get_ctype_keys_adr
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2256,1
    - Dst: free_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2273,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 8
    argNames:
    - pstate
    - descriptor
    - ctype
    - keys
    - n_keys
    - parent_is_key
    - base_type_ops_offs
    - in_collection
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - struct constructed_type*
    - struct constructed_type_key**
    - uint32_t*
    - bool
    - uint32_t
    - bool
    assertStmts:
    - condition: (n_keys != NULL || in_collection)
      pos:
        line_end: 2221
        line_start: 2221
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (cbasetype)
      pos:
        line_end: 2230
        line_start: 2230
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (keys != NULL || in_collection)
      pos:
        line_end: 2222
        line_start: 2222
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2275
      start: 2219
    functionDepth: 3
    functionLinenumber: 2219
    functionLinenumberEnd: 2275
    functionName: get_ctype_keys
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 2
    functionsReached:
    - free_ctype_keys
    - assert
    - find_ctype
    - idl_error
    - get_ctype_keys
    - get_ctype_keys_adr
    - DDS_OP
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_ctype_keys(const idl_pstate_t *pstate, struct descriptor
      *descriptor, struct constructed_type *ctype, struct constructed_type_key **keys,
      uint32_t *n_keys, bool parent_is_key, uint32_t base_type_ops_offs, bool in_collection)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2285,1
    - Dst: descriptor_add_key_recursive
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2293,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2297,1
    - Dst: stash_key_offset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2301,1
    - Dst: stash_key_offset_val
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2304,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2310,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 7
    argNames:
    - pstate
    - descriptor
    - ctype_top_level
    - key
    - name
    - keylist
    - offs
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - struct constructed_type*
    - struct constructed_type_key*
    - char*
    - bool
    - struct key_offs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2277
    functionDepth: 3
    functionLinenumber: 2277
    functionLinenumberEnd: 2318
    functionName: descriptor_add_key_recursive
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 1
    functionsReached:
    - stash_key_offset
    - stash_key_offset_val
    - idl_strdup
    - descriptor_add_key_recursive
    - idl_asprintf
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t descriptor_add_key_recursive(const idl_pstate_t *pstate,
      struct descriptor *descriptor, const struct constructed_type *ctype_top_level,
      struct constructed_type_key *key, char *name, bool keylist, struct key_offs
      *offs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2326,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (i < b->n_order)
      pos:
        line_end: 2325
        line_start: 2325
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (b->n_order == a->n_order)
      pos:
        line_end: 2329
        line_start: 2329
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2332
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2332
    functionName: key_meta_data_cmp
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int key_meta_data_cmp (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: descriptor_add_key_recursive
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2338,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - pstate
    - ctype
    - ctype_keys
    - descriptor
    - n_keys
    - keylist
    argTypes:
    - idl_pstate_t*
    - struct constructed_type*
    - struct constructed_type_key*
    - struct descriptor*
    - uint32_t
    - bool
    assertStmts:
    - condition: (descriptor->n_keys == n_keys)
      pos:
        line_end: 2339
        line_start: 2339
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2343
      start: 2334
    functionDepth: 4
    functionLinenumber: 2334
    functionLinenumberEnd: 2343
    functionName: descriptor_add_keys
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - descriptor_add_key_recursive
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t descriptor_add_keys(const idl_pstate_t *pstate, struct
      constructed_type *ctype, struct constructed_type_key *ctype_keys, struct descriptor
      *descriptor, uint32_t n_keys, bool keylist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2350,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2353,1
    - Dst: descriptor_add_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2356,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2357,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2365,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2366,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2367,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2367,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2369,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2374,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2375,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2376,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2382,1
    - Dst: qsort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - pstate
    - ctype
    - ctype_keys
    - descriptor
    - n_keys
    - keylist
    argTypes:
    - idl_pstate_t*
    - struct constructed_type*
    - struct constructed_type_key*
    - struct descriptor*
    - uint32_t
    - bool
    assertStmts:
    - condition: (ctype)
      pos:
        line_end: 2349
        line_start: 2349
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (key_index < descriptor->n_keys)
      pos:
        line_end: 2364
        line_start: 2364
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (descriptor->keys[key_index].name)
      pos:
        line_end: 2365
        line_start: 2365
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (!strcmp(descriptor->keys[key_index].name, inst->data.key_offset.key_name))
      pos:
        line_end: 2366
        line_start: 2366
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (inst->type == KEY_OFFSET_VAL)
      pos:
        line_end: 2373
        line_start: 2373
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (offs_len > 0)
      pos:
        line_end: 2374
        line_start: 2374
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (key_index == descriptor->n_keys)
      pos:
        line_end: 2381
        line_start: 2381
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (key_index > 0)
      pos:
        line_end: 2375
        line_start: 2375
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2388
      start: 2345
    functionDepth: 5
    functionLinenumber: 2345
    functionLinenumberEnd: 2388
    functionName: descriptor_init_keys
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - qsort
    - descriptor_add_keys
    - assert
    - strcmp
    - idl_calloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t descriptor_init_keys(const idl_pstate_t *pstate, struct
      constructed_type *ctype, struct constructed_type_key *ctype_keys, struct descriptor
      *descriptor, uint32_t n_keys, bool keylist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2394,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2395,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keys
    - n_keys
    argTypes:
    - struct key_meta_data*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2400
    functionName: descriptor_keys_free
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void descriptor_keys_free(struct key_meta_data *keys, uint32_t n_keys)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2409,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2413,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2418,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2422,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2424,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - fp
    - descriptor
    - offset
    argTypes:
    - FILE*
    - struct descriptor*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2431
    functionName: print_keys
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - fputs
    - IDL_PRINT
    - idl_free
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_keys(FILE *fp, struct descriptor *descriptor, uint32_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mids
    argTypes:
    - struct constructed_type_memberid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2442
    functionName: free_ctype_memberids
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void free_ctype_memberids(struct constructed_type_memberid *mids)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2450,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2450,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2454,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2460,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2481,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2485,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2492,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2494,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2495,1
    - Dst: get_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2496,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2502,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2511,1
    - Dst: get_ctype_memberids_adr
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2514,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2519,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2521,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2522,1
    - Dst: get_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2523,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2528,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2535,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2536,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2547,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2548,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2551,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2552,1
    - Dst: get_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2553,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2557,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 8
    argNames:
    - pstate
    - descriptor
    - offs
    - inst
    - ctype
    - ctype_mids
    - visited_ctypes
    - is_mutable_member
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - uint32_t
    - struct instruction*
    - struct constructed_type*
    - struct constructed_type_memberid**
    - struct visited_ctype*
    - bool
    assertStmts:
    - condition: (DDS_OP(inst->data.opcode.code) == DDS_OP_ADR)
      pos:
        line_end: 2449
        line_start: 2449
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (csubtype)
      pos:
        line_end: 2494
        line_start: 2494
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + offs_insn_offs].type == COUPLE)
      pos:
        line_end: 2510
        line_start: 2510
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + 2].type == SINGLE)
      pos:
        line_end: 2534
        line_start: 2534
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (csubtype)
      pos:
        line_end: 2551
        line_start: 2551
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + 3].type == COUPLE)
      pos:
        line_end: 2535
        line_start: 2535
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + 2].type == ELEM_OFFSET)
      pos:
        line_end: 2491
        line_start: 2491
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (csubtype)
      pos:
        line_end: 2521
        line_start: 2521
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype->instructions.table[offs + offs_insn_offs].type == ELEM_OFFSET)
      pos:
        line_end: 2518
        line_start: 2518
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (subtype == DDS_OP_VAL_STU || subtype == DDS_OP_VAL_UNI)
      pos:
        line_end: 2547
        line_start: 2547
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (inst_offs->type == OFFSET)
      pos:
        line_end: 2453
        line_start: 2453
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2568
      start: 2446
    functionDepth: 2
    functionLinenumber: 2446
    functionLinenumberEnd: 2568
    functionName: get_ctype_memberids_adr
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 1
    functionsReached:
    - get_ctype_memberids
    - DDS_OP_SUBTYPE
    - get_ctype_memberids_adr
    - assert
    - idl_calloc
    - find_ctype
    - abort
    - DDS_OP_TYPE
    - DDS_OP
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_ctype_memberids_adr(const idl_pstate_t *pstate, struct
      descriptor *descriptor, uint32_t offs, struct instruction *inst, struct constructed_type
      *ctype, struct constructed_type_memberid **ctype_mids, struct visited_ctype
      *visited_ctypes, bool is_mutable_member)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2583,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2592,1
    - Dst: get_ctype_memberids_adr
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2594,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2594,1
    - Dst: free_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - pstate
    - descriptor
    - ctype
    - ctype_mids
    - visited_ctypes
    argTypes:
    - idl_pstate_t*
    - struct descriptor*
    - struct constructed_type*
    - struct constructed_type_memberid**
    - struct visited_ctype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2571
    functionDepth: 3
    functionLinenumber: 2571
    functionLinenumberEnd: 2603
    functionName: get_ctype_memberids
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 1
    functionsReached:
    - free_ctype_memberids
    - get_ctype_memberids_adr
    - idl_calloc
    - idl_is_extensible
    - DDS_OP
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_ctype_memberids(const idl_pstate_t *pstate, struct
      descriptor *descriptor, struct constructed_type *ctype, struct constructed_type_memberid
      **ctype_mids, struct visited_ctype *visited_ctypes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2624,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2631,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2647,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2655,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2659,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 3
    argNames:
    - fp
    - descriptor
    - type_info
    argTypes:
    - FILE*
    - struct descriptor*
    - bool
    assertStmts:
    - condition: (!type_info)
      pos:
        line_end: 2646
        line_start: 2646
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2660
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2660
    functionName: print_flags
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - assert
    - idl_fprintf
    - fputs
    - DDS_OP_TYPE
    linkageType: ''
    returnType: int
    signature: int print_flags(FILE *fp, struct descriptor *descriptor, bool type_info)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2667,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2669,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2675,1
    - Dst: print_flags
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2677,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2681,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2689,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2695,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2703,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2709,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2713,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2718,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2720,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2725,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - fp
    - descriptor
    - type_info
    argTypes:
    - FILE*
    - struct descriptor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2662
    functionDepth: 2
    functionLinenumber: 2662
    functionLinenumberEnd: 2729
    functionName: print_descriptor
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - print_flags
    - IDL_PRINTA
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_descriptor(FILE *fp, struct descriptor *descriptor, bool
      type_info)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2736,1
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2738,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2744,1
    - Dst: print_flags
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2746,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2750,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2753,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2756,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2761,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2765,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2768,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2774,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2782,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - fp
    - descriptor
    - kof_offs
    argTypes:
    - FILE*
    - struct descriptor*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2731
    functionDepth: 2
    functionLinenumber: 2731
    functionLinenumberEnd: 2785
    functionName: print_cdrstream_descriptor
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - print_flags
    - IDL_PRINTA
    - idl_fprintf
    linkageType: ''
    returnType: int
    signature: int print_cdrstream_descriptor(FILE *fp, struct descriptor *descriptor,
      uint32_t kof_offs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2795,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2807,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2808,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2809,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2811,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - struct descriptor*
    assertStmts:
    - condition: (ctype->node)
      pos:
        line_end: 2794
        line_start: 2794
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype1->offset <= INT32_MAX)
      pos:
        line_end: 2808
        line_start: 2808
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype1)
      pos:
        line_end: 2807
        line_start: 2807
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (offs >= INT16_MIN)
      pos:
        line_end: 2810
        line_start: 2810
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (offs <= INT16_MAX)
      pos:
        line_end: 2811
        line_start: 2811
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2818
      start: 2787
    functionDepth: 2
    functionLinenumber: 2787
    functionLinenumberEnd: 2818
    functionName: resolve_offsets
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - assert
    - find_ctype
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t resolve_offsets(struct descriptor *descriptor)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2825,1
    - Dst: IDL_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2827,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2831,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2833,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2837,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2841,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2845,1
    - Dst: IDL_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - instructions
    argTypes:
    - struct instructions*
    assertStmts:
    - condition: (inst)
      pos:
        line_end: 2824
        line_start: 2824
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2851
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2851
    functionName: instructions_fini
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - IDL_WARNING_MSVC_ON
    - assert
    - IDL_WARNING_MSVC_OFF
    - idl_free
    linkageType: ''
    returnType: void
    signature: void instructions_fini(struct instructions *instructions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: instructions_fini
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2856,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctype
    argTypes:
    - struct constructed_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2853
    functionDepth: 2
    functionLinenumber: 2853
    functionLinenumberEnd: 2859
    functionName: ctype_fini
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 0
    functionsReached:
    - idl_free
    - instructions_fini
    linkageType: ''
    returnType: void
    signature: void ctype_fini(struct constructed_type *ctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctype_fini
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2870,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2872,1
    - Dst: instructions_fini
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2875,1
    - Dst: descriptor_keys_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2876,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2877,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2878,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - struct descriptor*
    assertStmts:
    - condition: (!descriptor->type_stack)
      pos:
        line_end: 2878
        line_start: 2878
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2883
      start: 2861
    functionDepth: 3
    functionLinenumber: 2861
    functionLinenumberEnd: 2883
    functionName: descriptor_fini
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 7
    functionsReached:
    - assert
    - instructions_fini
    - descriptor_keys_free
    - ctype_fini
    - idl_free
    linkageType: ''
    returnType: void
    signature: void descriptor_fini(struct descriptor *descriptor)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2895,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2895,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2895,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2897,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2900,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2914,1
    - Dst: pop_field
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2919,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2920,1
    - Dst: resolve_offsets
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2924,1
    - Dst: find_ctype
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2928,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2929,1
    - Dst: get_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2931,1
    - Dst: descriptor_init_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2933,1
    - Dst: free_ctype_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2935,1
    - Dst: get_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2939,1
    - Dst: add_member_id_entry
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2943,1
    - Dst: free_ctype_memberids
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2948,1
    - Dst: close_member_id_table
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2949,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2956,1
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2961,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2969,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - pstate
    - topic_node
    - descriptor
    argTypes:
    - idl_pstate_t*
    - idl_node_t*
    - struct descriptor*
    assertStmts:
    - condition: (idl_is_struct(topic_node) || idl_is_union(topic_node))
      pos:
        line_end: 2894
        line_start: 2894
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    - condition: (ctype)
      pos:
        line_end: 2928
        line_start: 2928
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    constantsTouched: []
    func_position:
      end: 2971
      start: 2885
    functionDepth: 6
    functionLinenumber: 2885
    functionLinenumberEnd: 2971
    functionName: generate_descriptor_impl
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 2
    functionsReached:
    - idl_allowable_data_representations
    - resolve_offsets
    - get_ctype_keys
    - descriptor_init_keys
    - get_ctype_memberids
    - free_ctype_memberids
    - close_member_id_table
    - idl_is_struct
    - find_ctype
    - idl_is_union
    - pop_field
    - free_ctype_keys
    - assert
    - pop_type
    - idl_free
    - add_member_id_entry
    - idl_visit
    - memset
    - descriptor_fini
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_descriptor_impl(\n  const idl_pstate_t *pstate,\n
      \ const idl_node_t *topic_node,\n  struct descriptor *descriptor)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generate_descriptor_impl
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2983,1
    - Dst: print_opcodes
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2985,1
    - Dst: print_keys
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2987,1
    - Dst: print_type_meta_ser
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2990,1
    - Dst: print_descriptor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2992,1
    - Dst: print_descriptor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2995,1
    - Dst: print_cdrstream_descriptor
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:2998,1
    - Dst: descriptor_fini
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c:3002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - pstate
    - generator
    - node
    argTypes:
    - idl_pstate_t*
    - struct generator*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2973
    functionDepth: 7
    functionLinenumber: 2973
    functionLinenumberEnd: 3005
    functionName: generate_descriptor
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    functionUses: 2
    functionsReached:
    - print_opcodes
    - print_descriptor
    - generate_descriptor_impl
    - print_keys
    - print_cdrstream_descriptor
    - descriptor_fini
    - print_type_meta_ser
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_descriptor(\n  const idl_pstate_t *pstate,\n
      \ struct generator *generator,\n  const idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fh
    - in
    - out
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: print_header
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_header(FILE *fh, const char *in, const char *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_islower
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:56,1
    - Dst: idl_toupper
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:57,1
    - Dst: idl_isalnum
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:58,1
    - Dst: fputc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fh
    - in
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: print_guard
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - fputc
    - idl_islower
    - idl_toupper
    - idl_isalnum
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_guard(FILE *fh, const char *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:69,1
    - Dst: print_guard
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:71,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:73,1
    - Dst: print_guard
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:75,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fh
    - in
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: print_guard_if
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - print_guard
    - fputs
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_guard_if(FILE *fh, const char *in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:84,1
    - Dst: print_guard
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:86,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fh
    - in
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: print_guard_endif
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - print_guard
    - fputs
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_guard_endif(FILE *fh, const char *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:104,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:107,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:111,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - fh
    - source
    argTypes:
    - FILE*
    - idl_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: print_includes
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - fputs
    - idl_fprintf
    - idl_strcasecmp
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_includes(FILE *fh, const idl_source_t *source)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: print_header
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:129,1
    - Dst: print_guard_if
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:131,1
    - Dst: print_includes
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:133,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:135,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:137,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:139,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:141,1
    - Dst: print_header
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:143,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:148,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:150,1
    - Dst: generate_types
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:152,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:154,1
    - Dst: print_guard_endif
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - pstate
    - generator
    argTypes:
    - idl_pstate_t*
    - struct generator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 160
    functionName: generate_nosetup
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - generate_types
    - idl_isseparator
    - print_header
    - idl_fprintf
    - fputs
    - print_guard_endif
    - print_guard_if
    - print_includes
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t generate_nosetup(const idl_pstate_t *pstate, struct generator
      *generator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:166,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:166,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:169,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:171,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:173,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:174,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:176,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:177,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:180,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:181,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - prefix
    - base
    - digest
    argTypes:
    - char*
    - char*
    - idl_md5_byte_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: create_guard
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - strlen
    - idl_malloc
    - idl_strlcpy
    - idl_free
    linkageType: ''
    returnType: char
    signature: 'char *

      create_guard(const char *prefix, const char *base, const idl_md5_byte_t digest[16])'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: generator_options
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: idlc_option_t
    signature: idlc_option_t ** generator_options(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:217,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:218,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:219,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:222,1
    - Dst: idl_generate_out_file
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:225,1
    - Dst: idl_fopen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:227,1
    - Dst: idl_generate_out_file
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:229,1
    - Dst: idl_fopen
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:231,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:235,1
    - Dst: create_guard
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:240,1
    - Dst: generate_nosetup
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:243,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:245,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:249,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:252,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:254,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:257,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c:259,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - pstate
    - config
    argTypes:
    - idl_pstate_t*
    - idlc_generator_config_t*
    assertStmts:
    - condition: (pstate->paths)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    - condition: (config)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    - condition: (pstate->paths->name)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    constantsTouched: []
    func_position:
      end: 261
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 261
    functionName: generate
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
    functionUses: 0
    functionsReached:
    - fclose
    - idl_generate_out_file
    - assert
    - create_guard
    - idl_fopen
    - memset
    - generate_nosetup
    - idl_strdup
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t generate(const idl_pstate_t *pstate, const idlc_generator_config_t
      *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:32,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:35,1
    - Dst: strcspn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:40,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:43,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:46,1
    - Dst: strspn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:48,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:54,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - desc
    - indent
    - init_indent
    - maxwidth
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 59
    functionName: print_description
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - strcspn
    - printf
    - strspn
    linkageType: ''
    returnType: void
    signature: void print_description (const char *desc, int indent, int init_indent,
      int maxwidth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_tolower
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:65,1
    - Dst: idl_tolower
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:66,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: ascending
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - idl_tolower
    - idl_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ascending(const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ascending
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: descending
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - ascending
    linkageType: ''
    returnType: int
    signature: int descending(const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:90,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:92,1
    - Dst: qsort
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: sort_options
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - memcpy
    - qsort
    linkageType: ''
    returnType: idlc_option_t
    signature: "idlc_option_t **sort_options(\n  idlc_option_t **options, int(*cmp)(const
      void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: isempty
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isempty(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:110,1
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:110,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:111,1
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:112,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:113,1
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:114,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:115,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - str
    - size
    - indent
    - option
    argTypes:
    - char*
    - size_t
    - int
    - idlc_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: format_option
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - snprintf
    - isempty
    linkageType: ''
    returnType: int
    signature: "int format_option(\n  char *str, size_t size, int indent, const idlc_option_t
      *option)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:126,1
    - Dst: sort_options
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:127,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:129,1
    - Dst: format_option
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:133,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:137,1
    - Dst: print_description
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:138,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - argv0
    - rest
    - options
    argTypes:
    - char*
    - char*
    - idlc_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: print_help
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - printf
    - print_description
    - sort_options
    - format_option
    - idl_free
    linkageType: ''
    returnType: void
    signature: "void print_help(\n  const char *argv0, const char *rest, idlc_option_t
      **options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:146,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argv0
    - rest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: print_usage
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_usage(\n  const char *argv0, const char *rest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:153,1
    - Dst: strcspn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:154,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:155,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - argv0
    - errstr
    - opt
    - subopt
    argTypes:
    - char*
    - char*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: print_error
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - strcspn
    - fprintf
    - isempty
    linkageType: ''
    returnType: void
    signature: "void print_error(\n  const char *argv0, const char *errstr, char opt,
      const char *subopt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:171,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - opt
    - arg
    - option
    argTypes:
    - int
    - char*
    - idlc_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: matches_option
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int matches_option(\n  int opt, const char *arg, const idlc_option_t
      *option)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - opt
    - arg
    - option
    argTypes:
    - int
    - char*
    - idlc_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: handle_option
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handle_option(\n  int opt, const char *arg, const idlc_option_t
      *option)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:200,1
    - Dst: matches_option
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:209,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:210,1
    - Dst: handle_option
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:211,1
    - Dst: print_error
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:214,1
    - Dst: print_error
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:216,1
    - Dst: print_error
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - argc
    - argv
    - optstr
    - options
    argTypes:
    - int
    - char**
    - char*
    - idlc_option_t**
    assertStmts:
    - condition: (off >= 0)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    - condition: (optarg || off == 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: handle_options
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - print_error
    - assert
    - handle_option
    - getopt
    - matches_option
    linkageType: ''
    returnType: int
    signature: "int handle_options(\n  int argc, char **argv, const char *optstr,
      idlc_option_t **options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:233,1
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:237,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:249,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:251,1
    - Dst: isempty
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:257,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - options
    - optstrp
    argTypes:
    - idlc_option_t**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 266
    functionName: make_optstring
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - isempty
    - memset
    - idl_calloc
    linkageType: ''
    returnType: int
    signature: int make_optstring(idlc_option_t **options, char **optstrp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_optstring
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:275,1
    - Dst: sort_options
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:281,1
    - Dst: handle_options
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:283,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:284,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/options.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - options
    argTypes:
    - int
    - char**
    - idlc_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: parse_options
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
    functionUses: 0
    functionsReached:
    - sort_options
    - handle_options
    - make_optstring
    - idl_free
    linkageType: ''
    returnType: int
    signature: "int parse_options(\n  int argc, char **argv, idlc_option_t **options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:47,1
    - Dst: dlopen
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: openlib
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - dlopen
    - LoadLibrary
    linkageType: ''
    returnType: void
    signature: void *openlib(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:56,1
    - Dst: dlclose
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: closelib
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - dlclose
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void closelib(void *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:65,1
    - Dst: dlsym
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - symbol
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: loadsym
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - dlsym
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void *loadsym(void *handle, const char *symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:73,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:74,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:76,1
    - Dst: FormatMessage
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:77,1
    - Dst: SetLastError
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:86,1
    - Dst: strncpy
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:88,1
    - Dst: dlerror
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - bufferlen
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    - condition: (bufferlen > 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: liberror
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - dlerror
    - FormatMessage
    - assert
    - SetLastError
    - strncpy
    linkageType: ''
    returnType: void
    signature: void liberror(char *buffer, size_t bufferlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUBPROCESS_POPEN
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:103,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:108,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:120,1
    - Dst: SUBPROCESS_PCLOSE
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:131,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - command
    - out_output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 147
    functionName: run_library_locator
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    - SUBPROCESS_POPEN
    - SUBPROCESS_PCLOSE
    - fgetc
    - idl_free
    linkageType: ''
    returnType: int
    signature: int run_library_locator(const char *command, char **out_output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:153,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:169,1
    - Dst: run_library_locator
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:170,1
    - Dst: run_library_locator
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:171,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:179,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:179,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:181,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:186,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:187,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:190,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:193,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:194,1
    - Dst: openlib
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:200,1
    - Dst: loadsym
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:202,1
    - Dst: loadsym
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:206,1
    - Dst: loadsym
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:207,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:209,1
    - Dst: closelib
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:210,1
    - Dst: liberror
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:215,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:216,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - plugin
    - lang
    argTypes:
    - idlc_generator_plugin_t*
    - char*
    assertStmts:
    - condition: (cnt != -1)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    - condition: (cnt != -1)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    constantsTouched: []
    func_position:
      end: 224
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 224
    functionName: idlc_load_generator
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    - openlib
    - idl_strcasecmp
    - liberror
    - assert
    - strcmp
    - strlen
    - idl_malloc
    - run_library_locator
    - loadsym
    - strchr
    - closelib
    - idl_free
    linkageType: ''
    returnType: int
    signature: int idlc_load_generator(idlc_generator_plugin_t *plugin, const char
      *lang)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closelib
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - idlc_generator_plugin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: idlc_unload_generator
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
    functionUses: 0
    functionsReached:
    - closelib
    linkageType: ''
    returnType: void
    signature: void idlc_unload_generator(idlc_generator_plugin_t *plugin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:96,1
    - Dst: idl_parse
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:100,1
    - Dst: memmove
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:105,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:116,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:132,1
    - Dst: idl_md5_append
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (pstate->config.flags & IDL_WRITE)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (pstate->buffer.used <= pstate->buffer.size)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    constantsTouched: []
    func_position:
      end: 138
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 138
    functionName: idlc_putn
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    - idl_parse
    - memmove
    - memcpy
    - assert
    - idl_md5_append
    linkageType: ''
    returnType: int
    signature: int idlc_putn(const char *str, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:148,1
    - Dst: idlc_putn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:150,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:153,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:159,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - chr
    - od
    argTypes:
    - int
    - MCPP_OUTDEST
    assertStmts:
    - condition: (0)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: idlc_putc
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idlc_putn
    - assert
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int idlc_putc(int chr, MCPP_OUTDEST od)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:172,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:174,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:175,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:180,1
    - Dst: idlc_putn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:182,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:185,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:191,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - str
    - od
    argTypes:
    - char*
    - MCPP_OUTDEST
    assertStmts:
    - condition: (len <= INT_MAX)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (str != NULL)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: idlc_puts
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - strlen
    - printf
    - idlc_putn
    linkageType: ''
    returnType: int
    signature: int idlc_puts(const char *str, MCPP_OUTDEST od)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:208,1
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:210,1
    - Dst: idl_vasprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:211,1
    - Dst: va_end
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:212,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:222,1
    - Dst: idlc_putn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:224,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:227,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:233,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:236,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - od
    - fmt
    argTypes:
    - MCPP_OUTDEST
    - char*
    assertStmts:
    - condition: (fmt != NULL)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    constantsTouched: []
    func_position:
      end: 243
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 243
    functionName: idlc_printf
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - idl_vasprintf
    - assert
    - printf
    - va_start
    - idl_free
    - va_end
    - idlc_putn
    linkageType: ''
    returnType: int
    signature: int idlc_printf(MCPP_OUTDEST od, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - warning
    argTypes:
    - idl_warning_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: track_warning
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool track_warning (idl_warning_t warning)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:261,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:263,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:264,1
    - Dst: idl_current_path
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:267,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:269,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:271,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:273,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:274,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:281,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:283,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - filep
    argTypes:
    - idl_file_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 288
    functionName: figure_file
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idl_current_path
    - idl_malloc
    - idl_normalize_path
    - idl_isabsolute
    - idl_asprintf
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t figure_file(idl_file_t **filep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:293,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:296,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: idlc_parse_make_file
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - idl_strdup
    - idl_free
    linkageType: ''
    returnType: idl_file_t
    signature: idl_file_t *idlc_parse_make_file (const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - position
    - paths
    - files
    argTypes:
    - idl_position_t*
    - idl_file_t*
    - idl_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: idlc_parse_make_source
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    linkageType: ''
    returnType: idl_source_t
    signature: idl_source_t *idlc_parse_make_source (idl_position_t *position, idl_file_t
      *paths, idl_file_t *files)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: idl_md5_init
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:328,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:333,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:337,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:338,1
    - Dst: figure_file
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:338,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:340,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:341,1
    - Dst: IDL_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:346,1
    - Dst: idlc_parse_make_file
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:348,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:350,1
    - Dst: idlc_parse_make_source
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:354,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:356,1
    - Dst: IDL_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:361,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:371,1
    - Dst: mcpp_set_out_func
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:374,1
    - Dst: mcpp_lib_main
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:375,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:376,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:390,1
    - Dst: idl_fopen
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:393,1
    - Dst: fread
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:403,1
    - Dst: IDL_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:405,1
    - Dst: idlc_putn
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:407,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:409,1
    - Dst: IDL_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:412,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:414,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:417,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:422,1
    - Dst: idl_md5_finish
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:423,1
    - Dst: idl_parse
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:424,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:425,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:430,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:444,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 1
    argNames:
    - generator_annotations
    argTypes:
    - idl_builtin_annotation_t**
    assertStmts:
    - condition: (nrd == (size_t)nwr)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (ret != IDL_RETCODE_NEED_REFILL)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (config.file)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (ret != 0)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (pstate)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (!config.compile || retcode == IDL_RETCODE_OK)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - condition: (config.compile)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    constantsTouched: []
    func_position:
      end: 448
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 448
    functionName: idlc_parse
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - figure_file
    - fclose
    - idlc_parse_make_source
    - idlc_parse_make_file
    - idl_md5_init
    - idl_parse
    - IDL_WARNING_GNUC_ON
    - idl_error
    - mcpp_lib_main
    - IDL_WARNING_GNUC_OFF
    - idlc_putn
    - idl_create_pstate
    - idl_md5_finish
    - assert
    - strcmp
    - idl_delete_pstate
    - fread
    - idl_fopen
    - mcpp_set_out_func
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idlc_parse(const idl_builtin_annotation_t ** generator_annotations)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:457,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:459,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:461,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - opt
    - optarg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 471
    functionName: set_debug
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int set_debug(const idlc_option_t *opt, const char *optarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: set_compile_only
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_compile_only(const idlc_option_t *opt, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: set_preprocess_only
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_preprocess_only(const idlc_option_t *opt, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:495,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:497,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 504
    functionName: config_default_extensibility
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int config_default_extensibility(const idlc_option_t *opt, const char
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:509,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 516
    functionName: config_default_nested
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int config_default_nested(const idlc_option_t *opt, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - warning
    argTypes:
    - idl_warning_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 529
    functionName: add_disable_warning
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    linkageType: ''
    returnType: int
    signature: int add_disable_warning(idl_warning_t warning)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:534,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:535,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:536,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:537,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:538,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:539,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:540,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:541,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:542,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:543,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:544,1
    - Dst: add_disable_warning
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:545,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 551
    functionName: config_warning
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - add_disable_warning
    - strcmp
    linkageType: ''
    returnType: int
    signature: int config_warning(const idlc_option_t *opt, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: add_include
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int add_include(const idlc_option_t *opt, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opt
    - arg
    argTypes:
    - idlc_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: add_macro
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int add_macro(const idlc_option_t *opt, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: print_version
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(const char *prog)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:658,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 673
    functionName: figure_language
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *figure_language(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: xstr
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: str
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:690,1
    - Dst: figure_language
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:707,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:708,1
    - Dst: idlc_load_generator
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:709,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:710,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:713,1
    - Dst: xstr
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:725,1
    - Dst: xstr
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:726,1
    - Dst: xstr
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:727,1
    - Dst: idlc_generator_plugin_t::generator_options
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:731,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:735,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:737,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:739,1
    - Dst: parse_options
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:742,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:746,1
    - Dst: print_usage
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:749,1
    - Dst: print_help
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:754,1
    - Dst: print_version
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:756,1
    - Dst: print_usage
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:760,1
    - Dst: idlc_generator_plugin_t::generator_annotations
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:767,1
    - Dst: idlc_parse
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:772,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:775,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:779,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:783,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:785,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:790,1
    - Dst: idlc_generator_plugin_t::generate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:799,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:802,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:804,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:806,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:816,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:819,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:820,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c:822,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 678
    functionDepth: 5
    functionLinenumber: 678
    functionLinenumberEnd: 824
    functionName: main
    functionSourceFile: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    functionUses: 2
    functionsReached:
    - fprintf
    - parse_options
    - print_version
    - idl_calloc
    - idl_normalize_path
    - idl_strdup
    - idl_untaint_path
    - print_help
    - idl_isseparator
    - memcpy
    - xstr
    - idlc_generator_plugin_t::generate
    - idl_delete_pstate
    - idlc_load_generator
    - print_usage
    - idl_free
    - idlc_generator_plugin_t::generator_options
    - idlc_generator_plugin_t::generator_annotations
    - memset
    - figure_language
    - idlc_parse
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:27,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: free_sample
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/main.c
    functionUses: 3
    functionsReached:
    - dds_free
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void free_sample (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:33,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cdrstream_desc
    argTypes:
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: init_desc
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/main.c
    functionUses: 0
    functionsReached:
    - dds_cdrstream_desc_init_with_nops
    - memset
    linkageType: ''
    returnType: void
    signature: void init_desc (struct dds_cdrstream_desc *cdrstream_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:41,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:43,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - os
    argTypes:
    - dds_ostream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: print_raw_cdr
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_raw_cdr (dds_ostream_t *os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:55,1
    - Dst: dds_stream_read_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:56,1
    - Dst: cmp_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:59,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:60,1
    - Dst: dds_stream_print_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:64,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:65,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - os
    - msg_wr
    - cdrstream_desc
    - xcdrv
    argTypes:
    - dds_ostream_t*
    - void*
    - struct dds_cdrstream_desc*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: rd_cmp_print_key
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/main.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - dds_stream_print_key
    - printf
    - dds_stream_read_key
    - cmp_key
    - free_sample
    linkageType: ''
    returnType: int
    signature: int rd_cmp_print_key (dds_ostream_t *os, const void *msg_wr, struct
      dds_cdrstream_desc *cdrstream_desc, uint32_t xcdrv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:77,1
    - Dst: init_desc
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:81,1
    - Dst: dds_stream_minimum_xcdr_version
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:84,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:94,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:95,1
    - Dst: init_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:96,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:99,1
    - Dst: dds_stream_write_sampleBE
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:103,1
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:105,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:108,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:111,1
    - Dst: print_raw_cdr
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:112,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:119,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:120,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:122,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:127,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:132,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:133,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:134,1
    - Dst: cmp_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:136,1
    - Dst: dds_stream_print_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:140,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:141,1
    - Dst: dds_stream_extract_key_from_data
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:148,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:150,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:153,1
    - Dst: print_raw_cdr
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:154,1
    - Dst: rd_cmp_print_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:156,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:162,1
    - Dst: printf
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:164,1
    - Dst: dds_stream_extract_key_from_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:171,1
    - Dst: rd_cmp_print_key
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:172,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:174,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:175,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:176,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:179,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:180,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:181,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/tools/idlc/xtests/main.c:187,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/main.c
    functionUses: 2
    functionsReached:
    - init_desc
    - dds_stream_print_sample
    - ddsrt_malloc
    - dds_stream_write_key
    - dds_cdrstream_desc_fini
    - dds_stream_extract_key_from_data
    - rd_cmp_print_key
    - dds_stream_minimum_xcdr_version
    - print_raw_cdr
    - dds_stream_write_sampleBE
    - printf
    - dds_stream_extract_key_from_key
    - init_sample
    - dds_stream_write_sampleLE
    - ddsrt_calloc
    - dds_stream_normalize
    - memset
    - dds_stream_read_sample
    - cmp_sample
    - free_sample
    - dds_ostream_fini
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - 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: A
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: SEQA
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQA(s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: STRA
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRA(s,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: STRCPY
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCPY(s,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: EXTA
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTA(s,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: CMP
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP(a,b,f,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: CMPSTR
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPSTR(a,b,f,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: CMPEXT
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXT(a,b,f,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - f2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: CMPEXTF
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTF(a,b,f,f2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - f2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: CMPEXTEXTF
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTEXTF(a,b,f,f2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: CMPEXTA
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTA(a,b,f,i,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - i
    - ','
    - i2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: CMPEXTA2
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTA2(a,b,f,i,i2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - i
    - ','
    - f2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: CMPEXTAF
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTAF(a,b,f,i,f2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: CMPEXTSTR
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTSTR(a,b,f,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - i
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: CMPEXTASTR
    functionSourceFile: /src/cyclonedds/src/tools/idlc/xtests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPEXTASTR(a,b,f,i,s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:35,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:38,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:45,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 53
    functionName: xlatmd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: char *xlatmd(const char *str, const char **end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:67,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:68,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:69,1
    - Dst: fputc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:70,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (level < (sizeof(headerchars)))
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: printhead
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputc
    - assert
    - strlen
    - fputs
    linkageType: ''
    returnType: void
    signature: "void printhead(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:84,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem->meta.title)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: printlink
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void printlink(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:98,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:98,1
    - Dst: isbool
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:99,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:100,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:101,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:102,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:103,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:104,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:105,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:106,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:108,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:110,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:111,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:112,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:113,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:114,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:115,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:117,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:119,1
    - Dst: isint
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:120,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:121,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:123,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:124,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem->meta.values)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    - condition: (!isgroup(elem))
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    - condition: (elem->meta.values)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: printtype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - isgroup
    - fprintf
    - assert
    - isbool
    - islist
    - strlen
    - isstring
    - fputs
    - isenum
    - isint
    linkageType: ''
    returnType: void
    signature: "void printtype(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:139,1
    - Dst: printhead
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:140,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:141,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:142,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:144,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: printattr
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - printhead
    - fputs
    - printtype
    linkageType: ''
    returnType: void
    signature: "void printattr(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:157,1
    - Dst: printhead
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:158,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:160,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:163,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:165,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:166,1
    - Dst: printlink
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:167,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:171,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:174,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:178,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:180,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:182,1
    - Dst: printlink
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:183,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:185,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:187,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:189,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:191,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:192,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:197,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:198,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:199,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:201,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:202,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:204,1
    - Dst: printattr
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:205,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:206,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:209,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:210,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:212,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 216
    functionName: printelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 1
    functionsReached:
    - printhead
    - printelem
    - isgroup
    - printlink
    - nextelem
    - printattr
    - fputs
    - firstelem
    - hasattributes
    - isnop
    - printtype
    - haschildren
    linkageType: ''
    returnType: void
    signature: "void printelem(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:224,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:224,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:226,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:226,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:227,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:229,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:237,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:237,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:244,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:246,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:248,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:250,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:252,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - elem
    - attr
    - path
    - pathlen
    argTypes:
    - struct cfgelem*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 257
    functionName: maketitles
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - maketitles
    - memcpy
    - name
    - strlen
    - nextelem
    - firstelem
    - ddsrt_malloc
    - ismoved
    linkageType: ''
    returnType: int
    signature: "int maketitles(\n  struct cfgelem *elem, int attr, const char *path,
      size_t pathlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:261,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:261,1
    - Dst: makedescription
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:263,1
    - Dst: initrst
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:266,1
    - Dst: initrst
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - elem
    - units
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: initrst
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - initrst
    - ismoved
    - makedescription
    linkageType: ''
    returnType: int
    signature: int initrst(struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initrst
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:278,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:280,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:282,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rst.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - elem
    - units
    argTypes:
    - FILE*
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: printrst
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    functionUses: 0
    functionsReached:
    - printelem
    - initrst
    - fputs
    - maketitles
    linkageType: ''
    returnType: int
    signature: int printrst(FILE *out, struct cfgelem *elem, const struct cfgunit
      *units)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: UNIT
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNIT(str, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DESCRIPTION
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESCRIPTION(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: PATTERN
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATTERN(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DEPRECATED
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEPRECATED(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: MEMBER
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parent
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: MEMBEROF
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBEROF(parent,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - if
    - ','
    - uf
    - ','
    - ff
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: FUNCTIONS
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNCTIONS(if, uf, ff, pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: DESCRIPTION
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESCRIPTION(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: RANGE
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANGE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: UNIT
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNIT(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: VALUES
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALUES(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: MAXIMUM
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXIMUM(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MINIMUM
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MINIMUM(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: BEHIND_FLAG
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEHIND_FLAG(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - name
    - ','
    - elems
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - mname
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: ELEMENT
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEMENT(name, elems, attrs, multip, dflt, ofst, mname, funcs, desc,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - whereto
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: MOVED
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVED(name, whereto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - macro
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: EXPAND
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND(macro, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: NOP
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: BOOL
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOL(name, attrs, multip, dflt, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: INT
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(name, attrs, multip, dflt, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ENUM
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM(name, attrs, multip, dflt, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: STRING
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING(name, attrs, multip, dflt, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: LIST
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST(name, attrs, multip, dflt, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - elems
    - ','
    - attrs
    - ','
    - multip
    - ','
    - ofst
    - ','
    - funcs
    - ','
    - desc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: GROUP
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GROUP(name, elems, attrs, multip, ofst, funcs, desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: schema
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *schema(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: url
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *url(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: name
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *name(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:136,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:138,1
    - Dst: va_start
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:140,1
    - Dst: vfprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:141,1
    - Dst: va_end
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - out
    - cols
    - fmt
    argTypes:
    - FILE*
    - unsigned int
    - char*
    assertStmts:
    - condition: ((size_t)cols < sizeof(spaces))
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: printspc
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - va_start
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void printspc(FILE *out, unsigned int cols, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: usage
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: help
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void help(const char *prog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:172,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:172,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:172,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:174,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - list
    - elem
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: nextelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 2
    functionsReached:
    - isdeprecated
    - isnop
    - ismoved
    - strcmp
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *nextelem(const struct cfgelem *list, const struct cfgelem
      *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: firstelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 2
    functionsReached:
    - nextelem
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *firstelem(const struct cfgelem *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - units
    - name
    argTypes:
    - struct cfgunit*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: findunit
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct cfgunit
    signature: struct cfgunit *findunit(const struct cfgunit *units, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: ismoved
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ismoved(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: isdeprecated
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isdeprecated(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: isgroup
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isgroup(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: isnop
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isnop(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: isbool
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isbool(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: isint
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isint(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: isstring
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isstring(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: isenum
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isenum(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: islist
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int islist(const struct cfgelem *elem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: minimum
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - isgroup
    linkageType: ''
    returnType: int
    signature: int minimum(const struct cfgelem *elem)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: maximum
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int maximum(const struct cfgelem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:281,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: haschildren
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - ismoved
    linkageType: ''
    returnType: int
    signature: int haschildren(const struct cfgelem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:292,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: hasattributes
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - ismoved
    linkageType: ''
    returnType: int
    signature: int hasattributes(const struct cfgelem *elem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:302,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:302,1
    - Dst: strchr
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:304,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:305,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:307,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:309,1
    - Dst: sanitize_names
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:314,1
    - Dst: sanitize_names
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts:
    - condition: (!elem->meta.name)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    constantsTouched: []
    func_position:
      end: 325
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 325
    functionName: sanitize_names
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - memcpy
    - assert
    - malloc
    - sanitize_names
    - strchr
    - ismoved
    linkageType: ''
    returnType: int
    signature: int sanitize_names(struct cfgelem *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:332,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:333,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:336,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:339,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:346,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:347,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:348,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts:
    - condition: (!elem->meta.pattern)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    - condition: (elem->meta.values)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    - condition: (pos < size - len)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    - condition: (pos == size)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    constantsTouched: []
    func_position:
      end: 357
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 357
    functionName: generate_enum_pattern
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int generate_enum_pattern(struct cfgelem *elem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:364,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:367,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:370,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:376,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:377,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:378,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:383,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:384,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:384,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:385,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:386,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:389,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:390,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:392,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts:
    - condition: (elem->meta.values != NULL)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    - condition: (pos < size - len)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    - condition: (pos == size)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    constantsTouched: []
    func_position:
      end: 396
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 396
    functionName: generate_list_pattern
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memcpy
    - assert
    - strlen
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int generate_list_pattern(struct cfgelem *elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:403,1
    - Dst: generate_enum_pattern
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:404,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:405,1
    - Dst: generate_list_pattern
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - elem
    - units
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: makepattern
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - generate_enum_pattern
    - islist
    - isenum
    - generate_list_pattern
    linkageType: ''
    returnType: int
    signature: int makepattern(struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: compare
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare(struct cfgelem *a, struct cfgelem *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:431,1
    - Dst: compare
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - curs
    - elem
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: duplicate
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - compare
    - strcmp
    linkageType: ''
    returnType: int
    signature: int duplicate(struct cfgelem *curs, struct cfgelem *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - curs
    - elem
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: expand
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int expand(struct cfgelem *curs, struct cfgelem *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:458,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:461,1
    - Dst: walk
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:463,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - root
    - elem
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 469
    functionName: walk
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - walk
    - func
    - firstelem
    - nextelem
    linkageType: ''
    returnType: int
    signature: "int walk(\n  struct cfgelem *root,\n  struct cfgelem *elem,\n  int(*func)(struct
      cfgelem *, struct cfgelem *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walk
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:474,1
    - Dst: walk
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:475,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:476,1
    - Dst: mark
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:478,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - elem
    - root
    argTypes:
    - struct cfgelem*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: mark
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - walk
    - mark
    - firstelem
    - nextelem
    linkageType: ''
    returnType: void
    signature: void mark(struct cfgelem *elem, struct cfgelem *root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xlat
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:499,1
    - Dst: realloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:510,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:512,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - strp
    - lenp
    - posp
    - src
    - (*xlat)(const char *, const char **)
    argTypes:
    - char**
    - size_t*
    - size_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 526
    functionName: format
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 0
    functionsReached:
    - realloc
    - xlat
    - free
    linkageType: ''
    returnType: int
    signature: "int format(\n  char **strp,\n  size_t *lenp,\n  size_t *posp,\n  const
      char *src,\n  const char *(*xlat)(const char *, const char **))"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:542,1
    - Dst: strdup
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:543,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:547,1
    - Dst: findunit
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:551,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:552,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:553,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:553,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:553,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:553,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:554,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:556,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:559,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:559,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:559,1
    - Dst: malloc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:560,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:562,1
    - Dst: format
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:569,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - elem
    - units
    - (*xlat)(const char *, const char **)
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    - char*
    assertStmts:
    - condition: (unit)
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
    constantsTouched: []
    func_position:
      end: 576
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 576
    functionName: makedescription
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 1
    functionsReached:
    - snprintf
    - isgroup
    - findunit
    - assert
    - strlen
    - malloc
    - format
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "int makedescription(\n  struct cfgelem *elem,\n  const struct cfgunit
      *units,\n  const char *(*xlat)(const char *, const char **))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sanitize_names
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:580,1
    - Dst: mark
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 5
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: init
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 11
    functionsReached:
    - mark
    - sanitize_names
    linkageType: ''
    returnType: int
    signature: int init(struct cfgelem *root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:592,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:594,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:596,1
    - Dst: free
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:598,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:603,1
    - Dst: fini
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:605,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:606,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:608,1
    - Dst: fini
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:610,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 613
    functionName: fini
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 15
    functionsReached:
    - fini
    - free
    - nextelem
    - firstelem
    linkageType: ''
    returnType: void
    signature: void fini(struct cfgelem *elem)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:623,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:626,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:628,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:630,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:632,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:634,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:637,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:638,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:639,1
    - Dst: help
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:643,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:644,1
    - Dst: usage
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:650,1
    - Dst: exit
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:651,1
    - Dst: init
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:655,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:656,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:660,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:661,1
    - Dst: fopen
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:663,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:664,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:667,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:669,1
    - Dst: printrnc
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:673,1
    - Dst: printxsd
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:677,1
    - Dst: printmd
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:681,1
    - Dst: printrst
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:685,1
    - Dst: printdefconfig
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:689,1
    - Dst: fini
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:695,1
    - Dst: fclose
      Src: /src/cyclonedds/src/tools/_confgen/_confgen.c:697,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 700
    functionName: main
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/_confgen.c
    functionUses: 2
    functionsReached:
    - printdefconfig
    - fini
    - fprintf
    - exit
    - fclose
    - DDSRT_WARNING_MSVC_OFF
    - printxsd
    - printmd
    - strcmp
    - printrst
    - printrnc
    - init
    - usage
    - help
    - DDSRT_WARNING_MSVC_ON
    - memset
    - fopen
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: xlatxsd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xlatxsd(const char *str, const char **end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:38,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:40,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: isbuiltintopic
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *isbuiltintopic(const struct cfgelem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:50,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:50,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: iscomplextype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - hasattributes
    - isgroup
    - haschildren
    linkageType: ''
    returnType: int
    signature: int iscomplextype(const struct cfgelem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:65,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:66,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:67,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:68,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:69,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem->meta.description)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: printdesc
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - fputs
    - assert
    - printspc
    linkageType: ''
    returnType: void
    signature: "void printdesc(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:83,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:84,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:86,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:88,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: printenum
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - printspc
    linkageType: ''
    returnType: void
    signature: "void printenum(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:102,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:103,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:104,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:105,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: printlist
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - printspc
    linkageType: ''
    returnType: void
    signature: "void printlist(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:123,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:123,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:124,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:124,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:124,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:129,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:130,1
    - Dst: isbuiltintopic
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:130,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:131,1
    - Dst: isbuiltintopic
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:131,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:134,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:135,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:137,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:137,1
    - Dst: printdesc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:138,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:139,1
    - Dst: printenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:140,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:141,1
    - Dst: printlist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:142,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (!haschildren(elem))
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: printattr
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - snprintf
    - printenum
    - isbuiltintopic
    - printlist
    - assert
    - printspc
    - name
    - islist
    - isstring
    - printdesc
    - minimum
    - isenum
    - isnop
    - ismoved
    - haschildren
    linkageType: ''
    returnType: void
    signature: "void printattr(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:162,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:167,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:168,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:168,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:169,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:170,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:171,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:172,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:172,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:173,1
    - Dst: schema
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:173,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: printref
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - printelem
    - snprintf
    - schema
    - name
    - minimum
    - printspc
    - maximum
    linkageType: ''
    returnType: void
    signature: "void printref(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:188,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:188,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:188,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:191,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:192,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:192,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:193,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:194,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:195,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:196,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:196,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:199,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:199,1
    - Dst: printdesc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:200,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:203,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:203,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:205,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:209,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:211,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:216,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:216,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:224,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:225,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:226,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:227,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:228,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:229,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:231,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:232,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:234,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:235,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:236,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:237,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:238,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:249,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:261,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:263,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:265,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:267,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:275,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:276,1
    - Dst: printref
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:278,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:279,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:281,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:282,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:282,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:284,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:285,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:285,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:286,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:287,1
    - Dst: printenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:288,1
    - Dst: printlist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:290,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:294,1
    - Dst: schema
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:294,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:296,1
    - Dst: isbuiltintopic
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:296,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:300,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:302,1
    - Dst: printattr
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:304,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:305,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:308,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:308,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:309,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:309,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:310,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:312,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:313,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:315,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:317,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 108
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!ismoved(elem) && !isdeprecated(elem))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (cnt > 1)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (ce != NULL)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (min[1] <= max[1] || max[1] == 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (min[1] <= max[1] || max[1] == 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (isgroup(elem))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    - condition: (ce)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    constantsTouched: []
    func_position:
      end: 318
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 318
    functionName: printcomplextype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - isdeprecated
    - name
    - islist
    - printspc
    - snprintf
    - isgroup
    - printlist
    - firstelem
    - isenum
    - ismoved
    - haschildren
    - maximum
    - schema
    - assert
    - printref
    - printattr
    - printdesc
    - hasattributes
    - printenum
    - isbuiltintopic
    - nextelem
    - isstring
    - minimum
    linkageType: ''
    returnType: void
    signature: "void printcomplextype(\n  FILE *out,\n  unsigned int cols,\n  unsigned
      int flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:334,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:334,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:334,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:337,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:338,1
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:338,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:339,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:340,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:341,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:342,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:342,1
    - Dst: isbuiltintopic
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:345,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:346,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:346,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:348,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:348,1
    - Dst: schema
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:348,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:350,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:350,1
    - Dst: printdesc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:351,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:353,1
    - Dst: printenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:354,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:355,1
    - Dst: printlist
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:356,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!ismoved(elem) && !isdeprecated(elem))
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: printsimpletype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 0
    functionsReached:
    - isdeprecated
    - snprintf
    - schema
    - isbuiltintopic
    - printenum
    - printlist
    - assert
    - name
    - islist
    - printdesc
    - minimum
    - isenum
    - printspc
    - ismoved
    - maximum
    linkageType: ''
    returnType: void
    signature: "void printsimpletype(\n  FILE *out,\n  unsigned int cols,\n  unsigned
      int flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:371,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:371,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:371,1
    - Dst: iscomplextype
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:374,1
    - Dst: printcomplextype
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:375,1
    - Dst: printsimpletype
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:377,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:381,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:387,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!(ismoved(elem) || isdeprecated(elem)))
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    constantsTouched: []
    func_position:
      end: 391
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 391
    functionName: printelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 4
    functionsReached:
    - isdeprecated
    - printelem
    - assert
    - printsimpletype
    - nextelem
    - firstelem
    - printcomplextype
    - ismoved
    - iscomplextype
    linkageType: ''
    returnType: void
    signature: "void printelem(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:395,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:395,1
    - Dst: makedescription
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:397,1
    - Dst: makepattern
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:399,1
    - Dst: initxsd
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:402,1
    - Dst: initxsd
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - elem
    - units
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 411
    functionName: initxsd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - makepattern
    - initxsd
    - ismoved
    - makedescription
    linkageType: ''
    returnType: int
    signature: int initxsd(struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initxsd
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:415,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:417,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:418,1
    - Dst: url
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:420,1
    - Dst: schema
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:420,1
    - Dst: url
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:420,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:421,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:423,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:424,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:425,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:426,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:427,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_xsd.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - out
    - elem
    - units
    argTypes:
    - FILE*
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 431
    functionName: printxsd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
    functionUses: 1
    functionsReached:
    - printelem
    - schema
    - initxsd
    - printspc
    - url
    linkageType: ''
    returnType: int
    signature: int printxsd(FILE *out, struct cfgelem *elem, const struct cfgunit
      *units)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:35,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:38,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:45,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 53
    functionName: xlatmd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: char *xlatmd(const char *str, const char **end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:67,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (level < (sizeof(hashes) - 1))
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: printhead
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 2
    functionsReached:
    - assert
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void printhead(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:84,1
    - Dst: fputc
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:85,1
    - Dst: fputc
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem->meta.title)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: printlink
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 1
    functionsReached:
    - fputc
    - assert
    linkageType: ''
    returnType: void
    signature: "void printlink(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:105,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:105,1
    - Dst: isbool
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:106,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:107,1
    - Dst: islist
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:109,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:110,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:111,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:112,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:113,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:115,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:117,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:118,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:119,1
    - Dst: isenum
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:120,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:121,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:122,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:124,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:126,1
    - Dst: isint
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:127,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:128,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:130,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:131,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!isgroup(elem))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    - condition: (elem->meta.values)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    - condition: (elem->meta.values)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    constantsTouched: []
    func_position:
      end: 134
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 134
    functionName: printtype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 2
    functionsReached:
    - isgroup
    - fprintf
    - assert
    - isbool
    - islist
    - strlen
    - isstring
    - fputs
    - isenum
    - isint
    linkageType: ''
    returnType: void
    signature: "void printtype(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:146,1
    - Dst: printhead
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:147,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:148,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:149,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:151,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: printattr
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 2
    functionsReached:
    - printhead
    - fputs
    - printtype
    linkageType: ''
    returnType: void
    signature: "void printattr(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:164,1
    - Dst: printhead
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:165,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:167,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:170,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:172,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:173,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:173,1
    - Dst: printlink
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:174,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:175,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:179,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:182,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:186,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:188,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:190,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:190,1
    - Dst: printlink
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:191,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:192,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:194,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:196,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:198,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:200,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:201,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:206,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:207,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:208,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:210,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:211,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:213,1
    - Dst: printattr
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:214,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:215,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:218,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:219,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:221,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:222,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 5
    argNames:
    - out
    - level
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 225
    functionName: printelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 6
    functionsReached:
    - printhead
    - printelem
    - fprintf
    - isgroup
    - name
    - printlink
    - nextelem
    - printattr
    - fputs
    - firstelem
    - hasattributes
    - isnop
    - printtype
    - haschildren
    linkageType: ''
    returnType: void
    signature: "void printelem(\n  FILE *out,\n  unsigned int level,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:233,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:233,1
    - Dst: strlen
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:235,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:235,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:236,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:238,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:246,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:246,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:253,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:255,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:257,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:259,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:261,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - elem
    - attr
    - path
    - pathlen
    argTypes:
    - struct cfgelem*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 266
    functionName: maketitles
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 3
    functionsReached:
    - isdeprecated
    - maketitles
    - memcpy
    - name
    - strlen
    - nextelem
    - firstelem
    - ddsrt_malloc
    - ismoved
    linkageType: ''
    returnType: int
    signature: "int maketitles(\n  struct cfgelem *elem, int attr, const char *path,
      size_t pathlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:270,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:270,1
    - Dst: makedescription
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:272,1
    - Dst: initmd
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:275,1
    - Dst: initmd
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - elem
    - units
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: initmd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - ismoved
    - makedescription
    - initmd
    linkageType: ''
    returnType: int
    signature: int initmd(struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initmd
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:287,1
    - Dst: maketitles
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:289,1
    - Dst: memset
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:291,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_md.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - elem
    - units
    argTypes:
    - FILE*
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: printmd
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_md.c
    functionUses: 1
    functionsReached:
    - printelem
    - initmd
    - memset
    - maketitles
    linkageType: ''
    returnType: int
    signature: int printmd(FILE *out, struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - cfgelem
    argTypes:
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: cfg_address
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *cfg_address (void *parent, struct cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - cfgelem
    argTypes:
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: cfg_deref_address
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *cfg_deref_address (void *parent, struct cfgelem const * const
      cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: gendef_pf_nop
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gendef_pf_nop (FILE *out, void *parent, struct cfgelem const *
      const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:33,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: gendef_pf_uint16
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_uint16 (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:40,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: gendef_pf_int32
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_int32 (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:47,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: gendef_pf_uint32
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_uint32 (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:54,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: gendef_pf_int64
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_int64 (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:61,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:62,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: gendef_pf_maybe_int32
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_maybe_int32 (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:69,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:70,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: gendef_pf_maybe_uint32
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_maybe_uint32 (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:77,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: gendef_pf_min_tls_version
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_min_tls_version (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:87,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: gendef_pf_string
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_string (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:94,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:97,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:99,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:100,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: gendef_pf_networkAddresses
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_networkAddresses (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:109,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:110,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts:
    - condition: (cfgelem->membername == NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    - condition: (cfgelem->elem_offset == 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: gendef_pf_tracemask
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_tracemask (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: gendef_pf_xcheck
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_xcheck (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: gendef_pf_bandwidth
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_bandwidth (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: gendef_pf_memsize
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_memsize (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_uint16
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: gendef_pf_memsize16
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_uint16
    linkageType: ''
    returnType: void
    signature: void gendef_pf_memsize16 (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_string
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: gendef_pf_networkAddress
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_string
    linkageType: ''
    returnType: void
    signature: void gendef_pf_networkAddress (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: gendef_pf_allow_multicast
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_allow_multicast(FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_maybe_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: gendef_pf_maybe_memsize
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_maybe_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_maybe_memsize (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:139,1
    - Dst: gendef_pf_int32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: gendef_pf_int
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - gendef_pf_int32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_int (FILE *out, void *parent, struct cfgelem const *
      const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:143,1
    - Dst: gendef_pf_uint32
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: gendef_pf_uint
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - gendef_pf_uint32
    linkageType: ''
    returnType: void
    signature: void gendef_pf_uint (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int64
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: gendef_pf_duration
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int64
    linkageType: ''
    returnType: void
    signature: void gendef_pf_duration (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:150,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:151,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: gendef_pf_maybe_duration
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_maybe_duration (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: gendef_pf_domainId
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gendef_pf_domainId(FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: gendef_pf_participantIndex
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_participantIndex (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: gendef_pf_boolean
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_boolean (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: gendef_pf_boolean_default
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_boolean_default (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: gendef_pf_besmode
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_besmode (FILE *out, void *parent, struct cfgelem const
      * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:172,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: gendef_pf_protocol_version
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_protocol_version (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: gendef_pf_retransmit_merging
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_retransmit_merging (FILE *out, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: gendef_pf_sched_class
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_sched_class (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: gendef_pf_entity_naming_mode
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_entity_naming_mode (FILE *out, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: gendef_pf_random_seed
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gendef_pf_random_seed (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: gendef_pf_transport_selector
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_transport_selector (FILE *out, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: gendef_pf_many_sockets_mode
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_many_sockets_mode (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: gendef_pf_standards_conformance
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_standards_conformance (FILE *out, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gendef_pf_int
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: gendef_pf_shm_loglevel
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - gendef_pf_int
    linkageType: ''
    returnType: void
    signature: void gendef_pf_shm_loglevel (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:205,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:207,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: gendef_pf_uint32_array
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 0
    functionsReached:
    - abort
    - cfg_address
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gendef_pf_uint32_array (FILE *out, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:220,1
    - Dst: struct cfgelem*::defconfig_print
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:225,1
    - Dst: gen_defaults
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:227,1
    - Dst: gen_defaults
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:229,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:233,1
    - Dst: abort
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:236,1
    - Dst: struct cfgelem*::defconfig_print
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:241,1
    - Dst: gen_defaults
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:243,1
    - Dst: gen_defaults
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:245,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:251,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - out
    - parent
    - cfgelem
    argTypes:
    - FILE*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 253
    functionName: gen_defaults
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 1
    functionsReached:
    - fprintf
    - cfg_deref_address
    - struct cfgelem*::defconfig_print
    - gen_defaults
    - abort
    linkageType: ''
    returnType: void
    signature: void gen_defaults (FILE *out, void *parent, struct cfgelem const *
      const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:260,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:262,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:266,1
    - Dst: gen_defaults
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:275,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:276,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - elem
    argTypes:
    - FILE*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 280
    functionName: printdefconfig
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
    functionUses: 1
    functionsReached:
    - gen_defaults
    - fprintf
    - ddsi_config_init
    - ddsi_config_fini
    linkageType: ''
    returnType: int
    signature: int printdefconfig (FILE *out, struct cfgelem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: minimum
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:29,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:30,1
    - Dst: maximum
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: suffix
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 0
    functionsReached:
    - minimum
    - maximum
    linkageType: ''
    returnType: char
    signature: char *suffix(const struct cfgelem *elem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:45,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:47,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:49,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:51,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:52,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:53,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:54,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:55,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:56,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:57,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:58,1
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:59,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:60,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (elem->meta.pattern != NULL)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    - condition: (elem->meta.pattern != NULL)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: printtype
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 4
    functionsReached:
    - assert
    - printspc
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void printtype(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:74,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:74,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:74,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:76,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:77,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:78,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:81,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:81,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:82,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:83,1
    - Dst: suffix
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!ismoved(elem) && !isdeprecated(elem))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: printattr
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 3
    functionsReached:
    - isdeprecated
    - printtype
    - suffix
    - assert
    - name
    - fputs
    - printspc
    - ismoved
    linkageType: ''
    returnType: void
    signature: "void printattr(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  const struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:95,1
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:95,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:95,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:98,1
    - Dst: fputs
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:99,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:100,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:103,1
    - Dst: name
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:103,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:105,1
    - Dst: isnop
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:107,1
    - Dst: printattr
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:108,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:111,1
    - Dst: haschildren
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:113,1
    - Dst: firstelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:114,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:116,1
    - Dst: nextelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:118,1
    - Dst: hasattributes
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:120,1
    - Dst: isgroup
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:121,1
    - Dst: isstring
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:121,1
    - Dst: printtype
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:123,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:125,1
    - Dst: suffix
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - out
    - cols
    - flags
    - elem
    - units
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - struct cfgelem*
    - struct cfgunit*
    assertStmts:
    - condition: (!ismoved(elem) && !isdeprecated(elem))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: printelem
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 8
    functionsReached:
    - isdeprecated
    - printelem
    - isgroup
    - printtype
    - suffix
    - assert
    - name
    - nextelem
    - isstring
    - printattr
    - fputs
    - isnop
    - firstelem
    - hasattributes
    - printspc
    - ismoved
    - haschildren
    linkageType: ''
    returnType: void
    signature: "void printelem(\n  FILE *out,\n  unsigned int cols,\n  unsigned int
      flags,\n  struct cfgelem *elem,\n  const struct cfgunit *units)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ismoved
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:130,1
    - Dst: isdeprecated
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:130,1
    - Dst: makedescription
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:132,1
    - Dst: makepattern
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:134,1
    - Dst: initrnc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:137,1
    - Dst: initrnc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - elem
    - units
    argTypes:
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: initrnc
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 1
    functionsReached:
    - isdeprecated
    - initrnc
    - makepattern
    - ismoved
    - makedescription
    linkageType: ''
    returnType: int
    signature: int initrnc(struct cfgelem *elem, const struct cfgunit *units)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initrnc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:149,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:151,1
    - Dst: url
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:151,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:152,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:153,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:154,1
    - Dst: printelem
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:155,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:158,1
    - Dst: printspc
      Src: /src/cyclonedds/src/tools/_confgen/generate_rnc.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - out
    - elem
    - units
    argTypes:
    - FILE*
    - struct cfgelem*
    - struct cfgunit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: printrnc
    functionSourceFile: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
    functionUses: 1
    functionsReached:
    - printelem
    - initrnc
    - printspc
    - url
    linkageType: ''
    returnType: int
    signature: int printrnc(FILE *out, struct cfgelem *elem, const struct cfgunit
      *units)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:104,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:105,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:106,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:107,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:108,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:109,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: get_qos
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_qset_userdata
    - dds_qset_durability
    - strlen
    - dds_qset_reliability
    - dds_create_qos
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t *get_qos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:115,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:116,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:116,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:117,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:118,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:119,1
    - Dst: get_cryptography_context
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:120,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:121,1
    - Dst: set_crypto_params
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - domain_id
    - domain_config
    - set_crypto_params
    argTypes:
    - dds_domainid_t
    - struct domain_sec_config*
    - set_crypto_params_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: create_pp
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - get_cryptography_context
    - dds_qset_userdata
    - dds_create_participant
    - strlen
    - dds_delete_qos
    - set_crypto_params
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_pp (dds_domainid_t domain_id, const struct domain_sec_config
      * domain_config, set_crypto_params_fn set_crypto_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:132,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:133,1
    - Dst: create_pp
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:137,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:138,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:139,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:139,1
    - Dst: pubsub_create
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:140,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:141,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 10
    argNames:
    - domain_id_base
    - domain_conf
    - domain_sec_config
    - n_dom
    - n_pp
    - doms
    - pps
    - pubsubs
    - pubsub_create
    - set_crypto_params
    argTypes:
    - dds_domainid_t
    - char*
    - struct domain_sec_config*
    - size_t
    - size_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - pubsub_create_fn
    - set_crypto_params_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: create_dom_pp_pubsub
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - pubsub_create
    - strlen
    - dds_qset_groupdata
    - dds_delete_qos
    - create_pp
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: "void create_dom_pp_pubsub(dds_domainid_t domain_id_base, const char
      * domain_conf, const struct domain_sec_config * domain_sec_config,\n    size_t
      n_dom, size_t n_pp, dds_entity_t * doms, dds_entity_t * pps, dds_entity_t *
      pubsubs, pubsub_create_fn pubsub_create, set_crypto_params_fn set_crypto_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:149,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:150,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:151,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:152,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:154,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:155,1
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:162,1
    - Dst: create_dom_pp_pubsub
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:163,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:165,1
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:167,1
    - Dst: create_dom_pp_pubsub
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:168,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:170,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:172,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - domain_config
    - n_sub_domains
    - n_sub_participants
    - n_pub_domains
    - n_pub_participants
    - set_crypto_params
    argTypes:
    - struct domain_sec_config*
    - size_t
    - size_t
    - size_t
    - size_t
    - set_crypto_params_fn
    assertStmts:
    - condition: (n_sub_domains < MAX_DOMAINS)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
    - condition: (n_pub_domains < MAX_DOMAINS)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
    - condition: (n_pub_participants < MAX_PARTICIPANTS)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
    - condition: (n_sub_participants < MAX_PARTICIPANTS)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: test_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - create_dom_pp_pubsub
    - dds_free
    - assert
    - get_governance_config
    - get_governance_topic_rule
    - ddsrt_expand_vars_sh
    linkageType: ''
    returnType: void
    signature: void test_init(const struct domain_sec_config * domain_config, size_t
      n_sub_domains, size_t n_sub_participants, size_t n_pub_domains, size_t n_pub_participants,
      set_crypto_params_fn set_crypto_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:181,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:182,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:187,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - n_sub_domain
    - n_pub_domain
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: test_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    - printf
    linkageType: ''
    returnType: void
    signature: void test_fini(size_t n_sub_domain, size_t n_pub_domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:195,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:196,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:202,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:203,1
    - Dst: ep_create
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:207,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:208,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 11
    argNames:
    - endpoints
    - topics
    - n_dom
    - n_pp
    - n_eps
    - topic_name
    - topic_descriptor
    - pps
    - qos
    - ep_create
    - status_mask
    argTypes:
    - dds_entity_t**
    - dds_entity_t**
    - size_t
    - size_t
    - size_t
    - char*
    - dds_topic_descriptor_t*
    - dds_entity_t*
    - dds_qos_t*
    - ep_create_fn
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: create_eps
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - ep_create
    - dds_set_status_mask
    - ddsrt_malloc
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: "void create_eps (dds_entity_t **endpoints, dds_entity_t **topics,
      size_t n_dom, size_t n_pp, size_t n_eps, const char * topic_name, const dds_topic_descriptor_t
      *topic_descriptor,\n    const dds_entity_t * pps, const dds_qos_t * qos, ep_create_fn
      ep_create, unsigned status_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:218,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - endpoints
    - topics
    argTypes:
    - dds_entity_t*
    - dds_entity_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: free_eps
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_eps(dds_entity_t *endpoints, dds_entity_t *topics)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:236,1
    - Dst: test_init
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:238,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:240,1
    - Dst: get_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:242,1
    - Dst: create_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:243,1
    - Dst: create_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:244,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:246,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:246,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:255,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:257,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:258,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:259,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:275,1
    - Dst: reader_wait_for_data
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:278,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:278,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:281,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:282,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:283,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:291,1
    - Dst: test_fini
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:292,1
    - Dst: free_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:293,1
    - Dst: free_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 8
    argNames:
    - domain_config
    - n_sub_domains
    - n_sub_participants
    - n_readers
    - n_pub_domains
    - n_pub_participants
    - n_writers
    - set_crypto_params
    argTypes:
    - struct domain_sec_config*
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - set_crypto_params_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 295
    functionName: test_write_read
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_take
    - reader_wait_for_data
    - test_init
    - CU_ASSERT_EQ_FATAL
    - DDS_SECS
    - dds_time
    - sync_writer_to_readers
    - dds_write
    - free_eps
    - test_fini
    - printf
    - dds_delete_qos
    - create_topic_name
    - get_qos
    - create_eps
    linkageType: ''
    returnType: void
    signature: "void test_write_read(struct domain_sec_config *domain_config,\n    size_t
      n_sub_domains, size_t n_sub_participants, size_t n_readers,\n    size_t n_pub_domains,
      size_t n_pub_participants, size_t n_writers,\n    set_crypto_params_fn set_crypto_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_protection_kinds
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crypto_context
    - domain_config
    argTypes:
    - struct dds_security_cryptography_impl*
    - struct domain_sec_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: set_encryption_parameters_basic
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - set_protection_kinds
    linkageType: ''
    returnType: void
    signature: void set_encryption_parameters_basic(struct dds_security_cryptography_impl
      * crypto_context, const struct domain_sec_config *domain_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_encrypted_secret
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:304,1
    - Dst: set_encryption_parameters_basic
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crypto_context
    - domain_config
    argTypes:
    - struct dds_security_cryptography_impl*
    - struct domain_sec_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: set_encryption_parameters_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - set_encryption_parameters_basic
    - set_encrypted_secret
    linkageType: ''
    returnType: void
    signature: void set_encryption_parameters_secret(struct dds_security_cryptography_impl
      * crypto_context, const struct domain_sec_config *domain_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_entity_data_secret
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:310,1
    - Dst: set_encryption_parameters_basic
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:311,1
    - Dst: set_disc_protection_kinds
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - crypto_context
    - domain_config
    argTypes:
    - struct dds_security_cryptography_impl*
    - struct domain_sec_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: set_encryption_parameters_disc
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - set_entity_data_secret
    - set_disc_protection_kinds
    - set_encryption_parameters_basic
    linkageType: ''
    returnType: void
    signature: void set_encryption_parameters_disc(struct dds_security_cryptography_impl
      * crypto_context, const struct domain_sec_config *domain_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_write_read
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - discovery_pk
    - liveliness_pk
    argTypes:
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: test_discovery_liveliness_protection
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - test_write_read
    linkageType: ''
    returnType: void
    signature: void test_discovery_liveliness_protection(DDS_Security_ProtectionKind
      discovery_pk, DDS_Security_ProtectionKind liveliness_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_write_read
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rtps_pk
    - metadata_pk
    - payload_pk
    argTypes:
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: test_data_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - test_write_read
    linkageType: ''
    returnType: void
    signature: void test_data_protection_kind(DDS_Security_ProtectionKind rtps_pk,
      DDS_Security_ProtectionKind metadata_pk, DDS_Security_BasicProtectionKind payload_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_write_read
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - n_dom
    - n_pp
    - n_rd
    - metadata_pk
    - payload_pk
    argTypes:
    - size_t
    - size_t
    - size_t
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: test_multiple_readers
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - test_write_read
    linkageType: ''
    returnType: void
    signature: void test_multiple_readers(size_t n_dom, size_t n_pp, size_t n_rd,
      DDS_Security_ProtectionKind metadata_pk, DDS_Security_BasicProtectionKind payload_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_write_read
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - n_rd_dom
    - n_rd
    - n_wr_dom
    - n_wr
    - metadata_pk
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: test_multiple_writers
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - test_write_read
    linkageType: ''
    returnType: void
    signature: void test_multiple_writers(size_t n_rd_dom, size_t n_rd, size_t n_wr_dom,
      size_t n_wr, DDS_Security_ProtectionKind metadata_pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:353,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:355,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:357,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:357,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:357,1
    - Dst: test_init
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:360,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:361,1
    - Dst: get_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:362,1
    - Dst: create_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:363,1
    - Dst: create_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:364,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:365,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:366,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:366,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:366,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:367,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:368,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:372,1
    - Dst: reader_wait_for_data
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:374,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:374,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:377,1
    - Dst: test_fini
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:381,1
    - Dst: free_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:382,1
    - Dst: free_eps
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:383,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:384,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/secure_communication.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - rtps_pk
    - metadata_pk
    - payload_pk
    argTypes:
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 386
    functionName: test_payload_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/secure_communication.c
    functionUses: 0
    functionsReached:
    - dds_take
    - reader_wait_for_data
    - test_init
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - memcpy
    - sync_writer_to_readers
    - dds_time
    - DDS_SECS
    - dds_write
    - strlen
    - test_fini
    - free_eps
    - dds_delete_qos
    - create_topic_name
    - ddsrt_malloc
    - get_qos
    - create_eps
    linkageType: ''
    returnType: void
    signature: void test_payload_secret(DDS_Security_ProtectionKind rtps_pk, DDS_Security_ProtectionKind
      metadata_pk, DDS_Security_BasicProtectionKind payload_pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: CHECK_BIT
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BIT(var, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - var
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: DO_SIMPLE
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SIMPLE(name, var, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:62,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:63,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: get_entity_gv
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *get_entity_gv (dds_entity_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:71,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:72,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:73,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:74,1
    - Dst: dds_security_fsm_control_create
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:76,1
    - Dst: get_entity_gv
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:76,1
    - Dst: dds_security_fsm_control_start
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: fsm_control_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsrt_mutex_init
    - dds_security_fsm_control_create
    - dds_create_participant
    - get_entity_gv
    - dds_security_fsm_control_start
    - CU_ASSERT_GT_FATAL
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void fsm_control_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_control_stop
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:95,1
    - Dst: dds_security_fsm_control_free
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:96,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:97,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:98,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: fsm_control_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - dds_security_fsm_control_stop
    - ddsrt_cond_destroy
    - dds_security_fsm_control_free
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void fsm_control_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:104,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:105,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:110,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: a
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 21
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - printf
    linkageType: ''
    returnType: void
    signature: void a (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: plugin_ret
    signature: plugin_ret validate_remote_identity (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: plugin_ret
    signature: plugin_ret begin_handshake_reply (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: get_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: plugin_ret
    signature: plugin_ret get_shared_secret (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:163,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:164,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:165,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: fsm_validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    - DDSRT_UNUSED_ARG
    - printf
    - validate_remote_identity
    linkageType: ''
    returnType: void
    signature: void fsm_validate_remote_identity (struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:171,1
    - Dst: begin_handshake_reply
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:172,1
    - Dst: get_shared_secret
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:175,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: fsm_begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    - DDSRT_UNUSED_ARG
    - printf
    - get_shared_secret
    - begin_handshake_reply
    linkageType: ''
    returnType: void
    signature: void fsm_begin_handshake_reply (struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:182,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:184,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: on_handshake_init_message_wait
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void on_handshake_init_message_wait (struct dds_security_fsm *fsm,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:250,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:251,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:252,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:253,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:255,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:256,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:258,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: do_stuff
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - dds_security_fsm_dispatch
    - printf
    - ddsrt_cond_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void do_stuff (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:266,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:267,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:268,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:269,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:271,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:272,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:274,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:276,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: do_other_stuff
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - dds_security_fsm_dispatch
    - printf
    - ddsrt_cond_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void do_other_stuff (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:314,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:315,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:316,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:318,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:319,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:320,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: do_timeout
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - dds_security_fsm_dispatch
    - printf
    - ddsrt_cond_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void do_timeout (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:327,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:328,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:333,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: timeout_cb
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - printf
    linkageType: ''
    returnType: void
    signature: void timeout_cb (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:361,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:362,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: state_par_time1
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_time
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void state_par_time1 (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:368,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:369,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: state_par_time2
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_time
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void state_par_time2 (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:375,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:376,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/fsm.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: state_par_time3
    functionSourceFile: /src/cyclonedds/src/security/core/tests/fsm.c
    functionUses: 0
    functionsReached:
    - dds_time
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void state_par_time3 (struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:35,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/security/core/tests/plugin_loading.c
    functionUses: 0
    functionsReached:
    - fputs
    - ddsi_patmatch
    linkageType: ''
    returnType: void
    signature: void logger(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:48,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:49,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - log_expected
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: set_logger_exp
    functionSourceFile: /src/cyclonedds/src/security/core/tests/plugin_loading.c
    functionUses: 0
    functionsReached:
    - dds_set_log_mask
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void set_logger_exp(const void *log_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:55,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/security/core/tests/plugin_loading.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: reset_logger
    functionSourceFile: /src/cyclonedds/src/security/core/tests/plugin_loading.c
    functionUses: 0
    functionsReached:
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void reset_logger(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:85,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:87,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:88,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:89,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:90,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:92,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:93,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:94,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - auth_init
    - auth_fini
    - crypto_init
    - crypto_fini
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: handshake_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/handshake.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_free
    - expand_lookup_unmatched
    - ddsrt_expand_vars_sh
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void handshake_init(const char * auth_init, const char * auth_fini,
      const char * crypto_init, const char * crypto_fini)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:101,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: handshake_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/handshake.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void handshake_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handshake_init
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:113,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:117,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:117,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:118,1
    - Dst: validate_handshake_result
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:120,1
    - Dst: handshake_list_fini
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:121,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:123,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:124,1
    - Dst: validate_handshake_result
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:126,1
    - Dst: handshake_list_fini
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:127,1
    - Dst: handshake_fini
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/handshake.c
    functionUses: 0
    functionsReached:
    - validate_handshake_result
    - CU_ASSERT_EQ_FATAL
    - handshake_list_fini
    - DDS_SECS
    - handshake_fini
    - validate_handshake
    - handshake_init
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_handshake, happy_day)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: handshake_init
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:137,1
    - Dst: validate_handshake_nofail
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:140,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:140,1
    - Dst: validate_handshake_nofail
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:141,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:141,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:144,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:145,1
    - Dst: write_read_for
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:146,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:146,1
    - Dst: get_cryptography_context
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:149,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:150,1
    - Dst: get_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:151,1
    - Dst: get_cryptography_context
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:153,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:154,1
    - Dst: get_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:155,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:158,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:160,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:161,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:173,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:175,1
    - Dst: find_crypto_token
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:176,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:177,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:179,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:180,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:184,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:186,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:187,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:188,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:190,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:191,1
    - Dst: handshake_fini
      Src: /src/cyclonedds/src/security/core/tests/handshake.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 193
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/handshake.c
    functionUses: 0
    functionsReached:
    - get_cryptography_context
    - DDS_SECS
    - rd_wr_init
    - validate_handshake_nofail
    - get_crypto_tokens
    - DDS_MSECS
    - create_topic_name
    - CU_ASSERT_NEQ_FATAL
    - CU_FAIL
    - ddsrt_free
    - ddsrt_circlist_remove
    - handshake_fini
    - printf
    - ddsrt_circlist_oldest
    - handshake_init
    - find_crypto_token
    - ddsrt_circlist_isempty
    - DDSRT_FROM_CIRCLIST
    - write_read_for
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_handshake, check_tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:44,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:46,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:48,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:51,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:53,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:54,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:55,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/core/tests/deserialize.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/deserialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - ddsrt_free
    - DDS_Security_Deserializer_new
    - CU_ASSERT_EQ
    - DDS_Security_Deserializer_free
    linkageType: ''
    returnType: void
    signature: void CU_Test(dds_security_serialize, deserialize_octet_seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:62,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:63,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: get_xeventq
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: struct ddsi_xeventq
    signature: struct ddsi_xeventq *get_xeventq (dds_entity_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:71,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:72,1
    - Dst: get_xeventq
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:73,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 1
    functionsReached:
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - get_xeventq
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:84,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:85,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - timer
    - trigger_time
    - kind
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_time_t
    - dds_security_timed_cb_kind_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: simple_callback
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void simple_callback(dds_security_time_event_handle_t timer, dds_time_t
      trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:94,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:95,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - timer
    - trigger_time
    - kind
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_time_t
    - dds_security_timed_cb_kind_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: order_callback
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void order_callback(dds_security_time_event_handle_t timer, dds_time_t
      trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:105,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:107,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/timed_cb.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - timer
    - trigger_time
    - kind
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_time_t
    - dds_security_timed_cb_kind_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: test_callback
    functionSourceFile: /src/cyclonedds/src/security/core/tests/timed_cb.c
    functionUses: 0
    functionsReached:
    - dds_time
    - DDSRT_UNUSED_ARG
    - printf
    linkageType: ''
    returnType: void
    signature: void test_callback(dds_security_time_event_handle_t timer, dds_time_t
      trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:124,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:125,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:125,1
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:130,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:131,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:131,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:133,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:135,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 12
    argNames:
    - pp_secure
    - exp_pp_fail
    - domain_id
    - id_cert
    - id_key
    - id_ca
    - gov_config
    - perm_config
    - trusted_ca_dir
    - crl
    - domain
    - pp
    argTypes:
    - bool
    - bool
    - dds_domainid_t
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - dds_entity_t*
    - dds_entity_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: init_domain_pp
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - ddsrt_free
    - expand_lookup_unmatched
    - ddsrt_expand_vars_sh
    linkageType: ''
    returnType: void
    signature: "void init_domain_pp (bool pp_secure, bool exp_pp_fail,\n    dds_domainid_t
      domain_id, const char * id_cert, const char * id_key, const char * id_ca, const
      char * gov_config, const char * perm_config, const char * trusted_ca_dir, const
      char * crl,\n    dds_entity_t * domain, dds_entity_t * pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_domain_pp
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:144,1
    - Dst: init_domain_pp
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 16
    argNames:
    - pp1_secure
    - id1_cert
    - id1_key
    - id1_ca
    - exp_pp1_fail
    - gov_conf1
    - perm_conf1
    - pp2_secure
    - id2_cert
    - id2_key
    - id2_ca
    - exp_pp2_fail
    - gov_conf2
    - perm_conf2
    - trusted_ca_dir
    - crl
    argTypes:
    - bool
    - char*
    - char*
    - char*
    - bool
    - char*
    - char*
    - bool
    - char*
    - char*
    - char*
    - bool
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: authentication_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached:
    - init_domain_pp
    linkageType: ''
    returnType: void
    signature: "void authentication_init(\n    bool pp1_secure, const char * id1_cert,
      const char * id1_key, const char * id1_ca, bool exp_pp1_fail, const char * gov_conf1,
      const char * perm_conf1,\n    bool pp2_secure, const char * id2_cert, const
      char * id2_key, const char * id2_ca, bool exp_pp2_fail, const char * gov_conf2,
      const char * perm_conf2,\n    const char * trusted_ca_dir, const char * crl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:151,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:151,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:153,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:154,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:154,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:155,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:155,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - delete_pp1
    - delete_pp2
    - res
    - nres
    argTypes:
    - bool
    - bool
    - void*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: authentication_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void authentication_fini(bool delete_pp1, bool delete_pp2, void * res[],
      size_t nres)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: S
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: M
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: H
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: D
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:318,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:319,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:323,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:324,1
    - Dst: get_permissions_default_grant
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:326,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:327,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:329,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:330,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:332,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:333,1
    - Dst: authentication_init
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:335,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:340,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:342,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:343,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:344,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:345,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:345,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:345,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:346,1
    - Dst: write_read_for
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:347,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:347,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:349,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:351,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:352,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:353,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:354,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:354,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:354,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:355,1
    - Dst: write_read_for
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:356,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:356,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:358,1
    - Dst: authentication_fini
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:359,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/authentication.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 361
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/authentication.c
    functionUses: 0
    functionsReached:
    - get_permissions_config
    - authentication_init
    - sync_writer_to_readers
    - dds_time
    - print_test_msg
    - get_governance_config
    - rd_wr_init
    - DDS_SECS
    - ddsrt_asprintf
    - write_read_for
    - authentication_fini
    - get_governance_topic_rule
    - DDS_MSECS
    - create_topic_name
    - generate_ca
    - get_permissions_default_grant
    - generate_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_authentication, unauthenticated_pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - init_auth
    - ','
    - fin_auth
    - ','
    - init_crypto
    - ','
    - fin_crypto
    - ','
    - init_ac
    - ','
    - fin_ac
    - ','
    - perm_ca
    - ','
    - gov
    - ','
    - perm
    - ','
    - pre_str
    - ','
    - post_str
    - ','
    - binprops
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: PROPLIST
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPLIST(init_auth, fin_auth, init_crypto, fin_crypto, init_ac, fin_ac,
      perm_ca, gov, perm, pre_str, post_str, binprops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - init_auth
    - ','
    - fin_auth
    - ','
    - init_crypto
    - ','
    - fin_crypto
    - ','
    - init_ac
    - ','
    - fin_ac
    - ','
    - perm_ca
    - ','
    - gov
    - ','
    - perm
    - ','
    - pre_str
    - ','
    - post_str
    - ','
    - binprops
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: PARTICIPANT_QOS
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARTICIPANT_QOS(init_auth, fin_auth, init_crypto, fin_crypto, init_ac,
      fin_ac, perm_ca, gov, perm, pre_str, post_str, binprops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pre_str
    - ','
    - post_str
    - ','
    - binprops
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: PARTICIPANT_QOS_ALL_OK
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARTICIPANT_QOS_ALL_OK(pre_str, post_str, binprops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/security/core/tests/config.c:94,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/security/core/tests/config.c:96,1
    - Dst: strstr
      Src: /src/cyclonedds/src/security/core/tests/config.c:100,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/security/core/tests/config.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached:
    - strstr
    - fputs
    - dds_string_dup
    - ddsi_patmatch
    linkageType: ''
    returnType: void
    signature: void logger(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/security/core/tests/config.c:110,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/security/core/tests/config.c:111,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/security/core/tests/config.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - log_expected
    - _extract_line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: set_logger_exp
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached:
    - dds_set_log_mask
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void set_logger_exp(const void * log_expected, const char * _extract_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/security/core/tests/config.c:117,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/security/core/tests/config.c:118,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/config.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: reset_logger
    functionSourceFile: /src/cyclonedds/src/security/core/tests/config.c
    functionUses: 0
    functionsReached:
    - dds_free
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void reset_logger(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:20,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:20,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:21,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:21,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:22,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:22,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:23,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:23,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:24,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:24,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:25,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:25,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:26,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:26,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:27,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:27,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:28,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:28,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:29,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:29,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:30,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:30,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:31,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:31,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:32,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:32,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:33,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:33,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:34,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:34,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:36,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:36,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:37,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:37,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:37,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:38,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:38,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:38,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:39,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:39,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:39,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:40,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:40,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:40,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:41,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:41,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:41,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:42,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:42,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:42,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:43,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:43,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:44,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:44,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:44,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:45,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:45,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:45,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:46,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:46,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:46,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:46,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:47,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:47,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:47,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:48,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:48,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:48,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:49,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:49,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:49,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:50,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:50,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:50,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:51,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:51,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:52,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:52,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:53,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:53,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:53,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:54,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:54,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:56,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:56,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:56,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:57,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:57,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:57,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:58,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:58,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:58,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:59,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:59,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/security/core/tests/security_utils.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 60
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - CU_ASSERT_EQ
    - INT64_C
    - DDS_Security_parse_xml_date
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_security_utils, parse_xml_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:87,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:87,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:88,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:89,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:90,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - domain_id
    - id_cert
    - id_key
    - id_ca
    - gov_config
    - perm_config
    - crypto_init
    - crypto_fini
    - domain
    - pp
    argTypes:
    - dds_domainid_t
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - dds_entity_t*
    - dds_entity_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: init_domain_pp
    functionSourceFile: /src/cyclonedds/src/security/core/tests/crypto.c
    functionUses: 1
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - ddsrt_free
    - expand_lookup_unmatched
    - ddsrt_expand_vars_sh
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: "void init_domain_pp (dds_domainid_t domain_id, const char *id_cert,
      const char * id_key, const char * id_ca,\n    const char * gov_config, const
      char * perm_config, const char * crypto_init, const char * crypto_fini, dds_entity_t
      *domain, dds_entity_t *pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_domain_pp
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:99,1
    - Dst: init_domain_pp
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 13
    argNames:
    - gov_config1
    - perm_config1
    - id_cert1
    - id_key1
    - crypto_init1
    - crypto_fini1
    - gov_config2
    - perm_config2
    - id_cert2
    - id_key2
    - crypto_init2
    - crypto_fini2
    - id_ca
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: crypto_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/crypto.c
    functionUses: 0
    functionsReached:
    - init_domain_pp
    linkageType: ''
    returnType: void
    signature: "void crypto_init (\n    const char * gov_config1, const char * perm_config1,
      const char * id_cert1, const char * id_key1, const char * crypto_init1, const
      char * crypto_fini1,\n    const char * gov_config2, const char * perm_config2,
      const char * id_cert2, const char * id_key2, const char * crypto_init2, const
      char * crypto_fini2,\n    const char * id_ca)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:105,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:105,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:106,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:106,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/crypto.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - res
    - nres
    argTypes:
    - void*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: crypto_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/crypto.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void crypto_fini (void * res[], size_t nres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:84,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:87,1
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:103,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:103,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:104,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:105,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 13
    argNames:
    - n_nodes
    - id_certs
    - id_keys
    - id_ca
    - exp_pp_fail
    - ac_init_fns
    - ac_fini_fns
    - incl_gov
    - gov
    - incl_perm
    - perm
    - incl_ca
    - ca
    argTypes:
    - size_t
    - char*[]
    - char*[]
    - char*[]
    - bool[]
    - char*[]
    - char*[]
    - bool[]
    - char*[]
    - bool[]
    - char*[]
    - bool[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 109
    functionName: access_control_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - print_test_msg
    - expand_lookup_unmatched
    - ddsrt_expand_vars_sh
    - CU_ASSERT_LEQ_FATAL
    linkageType: ''
    returnType: void
    signature: "void access_control_init(\n  size_t n_nodes,\n  const char * id_certs[],
      const char * id_keys[], const char * id_ca[], bool exp_pp_fail[],\n  const char
      * ac_init_fns[], const char * ac_fini_fns[],\n  bool incl_gov[], const char
      * gov[],\n  bool incl_perm[], const char * perm[],\n  bool incl_ca[], const
      char * ca[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:114,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:114,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - n
    - res
    - nres
    argTypes:
    - size_t
    - void*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: access_control_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void access_control_fini(size_t n, void * res[], size_t nres)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: S
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: M
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: H
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: D
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: ceiling_sec
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t ceiling_sec (dds_time_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:597,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:601,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:602,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:603,1
    - Dst: get_permissions_default_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:606,1
    - Dst: get_permissions_default_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:607,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:608,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:610,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:611,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:612,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:613,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:614,1
    - Dst: access_control_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:616,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:625,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:625,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:628,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:629,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:629,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:629,1
    - Dst: write_read_for
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:631,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:631,1
    - Dst: get_builtin_writer_crypto_handle
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:635,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:636,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:637,1
    - Dst: get_cryptography_context
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:639,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:640,1
    - Dst: get_encode_decode_log
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:642,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:643,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:646,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:647,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:648,1
    - Dst: access_control_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 8
    argNames:
    - kind
    - enable_protection_pp1
    - enable_protection_pp2
    - protection_kind_pp1
    - protection_kind_pp2
    - exp_rd_wr_match_fail
    - exp_secure_pub_wr_handle
    - exp_secure_pub_wr_encode_decode
    argTypes:
    - enum test_discovery_liveliness
    - bool
    - bool
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 652
    functionName: test_discovery_liveliness_protection
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - get_cryptography_context
    - access_control_fini
    - DDS_SECS
    - rd_wr_init
    - get_encode_decode_log
    - generate_identity
    - COMMON_ETC_PATH
    - CU_ASSERT_EQ_FATAL
    - print_test_msg
    - get_governance_config
    - validate_handshake
    - DDS_MSECS
    - create_topic_name
    - get_permissions_default_grant
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - access_control_init
    - ddsrt_free
    - get_governance_topic_rule
    - get_permissions_config
    - get_builtin_writer_crypto_handle
    - sync_writer_to_readers
    - dds_time
    - generate_ca
    - write_read_for
    linkageType: ''
    returnType: void
    signature: "void test_discovery_liveliness_protection(enum test_discovery_liveliness
      kind,\n    bool enable_protection_pp1, bool enable_protection_pp2,\n    DDS_Security_ProtectionKind
      protection_kind_pp1, DDS_Security_ProtectionKind protection_kind_pp2,\n    bool
      exp_rd_wr_match_fail, bool exp_secure_pub_wr_handle, bool exp_secure_pub_wr_encode_decode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:680,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:684,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:685,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:686,1
    - Dst: get_permissions_default_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:689,1
    - Dst: get_permissions_default_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:690,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:691,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:693,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:694,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:695,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:696,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:697,1
    - Dst: access_control_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:699,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:711,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:711,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:712,1
    - Dst: handshake_list_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:713,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:718,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:719,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:719,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:719,1
    - Dst: access_control_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 12
    argNames:
    - exp_hs_fail
    - exp_rd_wr_fail
    - rtps_pk1
    - rtps_pk2
    - discovery_pk1
    - discovery_pk2
    - liveliness_pk1
    - liveliness_pk2
    - metadata_pk1
    - metadata_pk2
    - payload_pk1
    - payload_pk2
    argTypes:
    - bool
    - bool
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 723
    functionName: test_encoding_mismatch
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - get_permissions_config
    - COMMON_ETC_PATH
    - access_control_init
    - CU_ASSERT_EQ_FATAL
    - handshake_list_fini
    - access_control_fini
    - DDS_SECS
    - sync_writer_to_readers
    - rd_wr_init
    - get_governance_config
    - dds_time
    - get_governance_topic_rule
    - validate_handshake
    - create_topic_name
    - generate_ca
    - get_permissions_default_grant
    - generate_identity
    linkageType: ''
    returnType: void
    signature: "void test_encoding_mismatch(\n    bool exp_hs_fail, bool exp_rd_wr_fail,\n
      \   DDS_Security_ProtectionKind rtps_pk1, DDS_Security_ProtectionKind rtps_pk2,\n
      \   DDS_Security_ProtectionKind discovery_pk1, DDS_Security_ProtectionKind discovery_pk2,\n
      \   DDS_Security_ProtectionKind liveliness_pk1, DDS_Security_ProtectionKind
      liveliness_pk2,\n    DDS_Security_ProtectionKind metadata_pk1, DDS_Security_ProtectionKind
      metadata_pk2,\n    DDS_Security_BasicProtectionKind payload_pk1, DDS_Security_BasicProtectionKind
      payload_pk2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:773,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:774,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:775,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:778,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:782,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:783,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:784,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:786,1
    - Dst: get_permissions_rules
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:787,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:789,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:789,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:790,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:790,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:791,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:793,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:794,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:795,1
    - Dst: access_control_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:797,1
    - Dst: validate_handshake_nofail
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:810,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:810,1
    - Dst: rd_wr_init_fail
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:811,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:813,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:813,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:813,1
    - Dst: access_control_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 14
    argNames:
    - allow_pub
    - allow_sub
    - deny_pub
    - deny_sub
    - write_ac
    - read_ac
    - exp_pub_pp_fail
    - exp_pub_tp_fail
    - exp_wr_fail
    - exp_sub_pp_fail
    - exp_sub_tp_fail
    - exp_rd_fail
    - exp_sync_fail
    - default_policy
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 817
    functionName: test_readwrite_protection
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - get_permissions_config
    - COMMON_ETC_PATH
    - rd_wr_init_fail
    - access_control_init
    - access_control_fini
    - get_permissions_rules
    - DDS_SECS
    - dds_time
    - print_test_msg
    - get_permissions_grant
    - get_governance_config
    - validate_handshake_nofail
    - sync_writer_to_readers
    - get_governance_topic_rule
    - create_topic_name
    - generate_ca
    - generate_identity
    linkageType: ''
    returnType: void
    signature: "void test_readwrite_protection (\n  bool allow_pub, bool allow_sub,
      bool deny_pub, bool deny_sub, bool write_ac, bool read_ac,\n  bool exp_pub_pp_fail,
      bool exp_pub_tp_fail, bool exp_wr_fail,\n  bool exp_sub_pp_fail, bool exp_sub_tp_fail,
      bool exp_rd_fail,\n  bool exp_sync_fail, const char * default_policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:853,1
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:854,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:857,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:858,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:859,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:861,1
    - Dst: get_permissions_rules
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:862,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:863,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:863,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:864,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:864,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:865,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:866,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:868,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:869,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:870,1
    - Dst: access_control_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:872,1
    - Dst: rd_wr_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:884,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:886,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:886,1
    - Dst: sync_writer_to_readers
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:887,1
    - Dst: sync_reader_to_writers
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:888,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:891,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:892,1
    - Dst: get_default_test_qos
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:893,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:894,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:895,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:898,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:899,1
    - Dst: write_read_for
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:902,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:902,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:904,1
    - Dst: access_control_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 906
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - access_control_fini
    - DDS_SECS
    - get_permissions_grant
    - rd_wr_init
    - COMMON_ETC_PATH
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - get_permissions_rules
    - get_governance_config
    - write_read_for
    - DDS_MSECS
    - create_topic_name
    - CU_ASSERT_GT_FATAL
    - access_control_init
    - sync_reader_to_writers
    - get_governance_topic_rule
    - dds_create_writer
    - get_permissions_config
    - get_default_test_qos
    - sync_writer_to_readers
    - dds_time
    - dds_delete_qos
    - generate_ca
    - generate_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_access_control, denied_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_topic_name
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:913,1
    - Dst: generate_ca
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:916,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:917,1
    - Dst: generate_identity
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:918,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:920,1
    - Dst: get_permissions_rules_w_partitions
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:921,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:922,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:922,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:923,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:923,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:924,1
    - Dst: get_permissions_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:925,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:927,1
    - Dst: get_governance_config
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:928,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:929,1
    - Dst: access_control_init
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:931,1
    - Dst: rd_wr_init_w_partitions_fail
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:943,1
    - Dst: access_control_fini
      Src: /src/cyclonedds/src/security/core/tests/access_control.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - parts_allowed
    - parts_denied
    - parts_used
    - exp_deny
    argTypes:
    - char**
    - char**
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 949
    functionName: partition_test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/access_control.c
    functionUses: 0
    functionsReached:
    - get_permissions_config
    - COMMON_ETC_PATH
    - rd_wr_init_w_partitions_fail
    - access_control_init
    - access_control_fini
    - DDS_SECS
    - dds_time
    - get_permissions_grant
    - get_governance_config
    - get_governance_topic_rule
    - create_topic_name
    - generate_ca
    - get_permissions_rules_w_partitions
    - generate_identity
    linkageType: ''
    returnType: void
    signature: void partition_test (const char **parts_allowed, const char **parts_denied,
      const char **parts_used, bool exp_deny)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:68,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:69,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:69,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:71,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:72,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:73,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:74,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:80,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:81,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:82,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:84,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:89,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:90,1
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:97,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:98,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:99,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:101,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:102,1
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:110,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/builtintopic.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 114
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/core/tests/builtintopic.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - ddsrt_free
    - dds_return_loan
    - dds_delete
    - dds_get_guid
    - expand_lookup_unmatched
    - dds_lookup_instance
    - dds_create_reader
    - dds_take_instance
    - CU_ASSERT_MEMEQ_FATAL
    - ddsrt_expand_vars_sh
    - dds_get_instance_handle
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtintopic, participant_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:26,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:27,1
    - Dst: ASN1_INTEGER_set
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:28,1
    - Dst: X509_get_serialNumber
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:28,1
    - Dst: X509_gmtime_adj
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:29,1
    - Dst: X509_getm_notBefore
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:29,1
    - Dst: X509_gmtime_adj
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:30,1
    - Dst: X509_getm_notAfter
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:30,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:32,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:33,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:34,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:35,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - not_valid_before
    - not_valid_after
    - cn
    - email
    argTypes:
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: get_x509
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - X509_NAME_add_entry_by_txt
    - X509_getm_notBefore
    - ASN1_INTEGER_set
    - X509_get_serialNumber
    - X509_gmtime_adj
    - X509_new
    - X509_get_subject_name
    - X509_getm_notAfter
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: X509
    signature: X509 * get_x509(int not_valid_before, int not_valid_after, const char
      * cn, const char * email)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:43,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:43,1
    - Dst: PEM_write_bio_X509
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:44,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:45,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:46,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:47,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:52,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:53,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:54,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: get_x509_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - BIO_s_mem
    - memcpy
    - BIO_new
    - printf
    - ERR_print_errors_fp
    - PEM_write_bio_X509
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char * get_x509_data(X509 * cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:63,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:64,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:65,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv_key_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: get_priv_key
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * get_priv_key(const char * priv_key_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:72,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:73,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:74,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: get_cert
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: X509 * get_cert(const char * cert_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:81,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:82,1
    - Dst: get_x509
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:83,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:84,1
    - Dst: X509_set_pubkey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:86,1
    - Dst: X509_set_issuer_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:87,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:87,1
    - Dst: X509_sign
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:88,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:88,1
    - Dst: get_x509_data
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:89,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:91,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ca_name
    - ca_priv_key
    - not_valid_before
    - not_valid_after
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: generate_ca_internal
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - X509_sign
    - get_x509_data
    - X509_free
    - ddsrt_free
    - EVP_sha256
    - malloc
    - X509_get_subject_name
    - X509_set_pubkey
    - X509_set_issuer_name
    - EVP_PKEY_free
    - get_x509
    linkageType: ''
    returnType: char
    signature: char * generate_ca_internal(const char *ca_name, EVP_PKEY *ca_priv_key,
      int not_valid_before, int not_valid_after)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_priv_key
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:99,1
    - Dst: generate_ca_internal
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ca_name
    - ca_priv_key_str
    - not_valid_before
    - not_valid_after
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: generate_ca
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 6
    functionsReached:
    - get_priv_key
    - generate_ca_internal
    linkageType: ''
    returnType: char
    signature: char * generate_ca(const char *ca_name, const char * ca_priv_key_str,
      int not_valid_before, int not_valid_after)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cert
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:105,1
    - Dst: X509_get_pubkey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:106,1
    - Dst: X509_REQ_new
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:107,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:108,1
    - Dst: X509_REQ_sign
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:109,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:109,1
    - Dst: malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:111,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:112,1
    - Dst: get_x509
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:113,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:114,1
    - Dst: X509_REQ_get_pubkey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:116,1
    - Dst: X509_set_pubkey
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:117,1
    - Dst: X509_set_issuer_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:118,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:118,1
    - Dst: X509_sign
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:119,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:119,1
    - Dst: get_x509_data
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:120,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:124,1
    - Dst: X509_NAME_oneline
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:125,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:126,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:127,1
    - Dst: X509_REQ_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:130,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:131,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:132,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:133,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:134,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:135,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 7
    argNames:
    - ca_cert_str
    - ca_key_pkey
    - name
    - id_pkey
    - not_valid_before
    - not_valid_after
    - subject
    argTypes:
    - char*
    - EVP_PKEY*
    - char*
    - EVP_PKEY*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: generate_identity_internal
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - X509_get_pubkey
    - get_x509_data
    - X509_REQ_sign
    - X509_get_subject_name
    - X509_set_issuer_name
    - get_x509
    - X509_REQ_get_pubkey
    - snprintf
    - X509_sign
    - X509_NAME_oneline
    - ddsrt_strdup
    - X509_REQ_set_pubkey
    - EVP_sha256
    - ddsrt_free
    - OPENSSL_free
    - get_cert
    - X509_free
    - X509_REQ_new
    - malloc
    - X509_set_pubkey
    - X509_REQ_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: char
    signature: char * generate_identity_internal(const char * ca_cert_str, EVP_PKEY
      * ca_key_pkey, const char * name, EVP_PKEY * id_pkey, int not_valid_before,
      int not_valid_after, char ** subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_priv_key
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:143,1
    - Dst: get_priv_key
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:144,1
    - Dst: generate_identity_internal
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ca_cert_str
    - ca_priv_key_str
    - name
    - priv_key_str
    - not_valid_before
    - not_valid_after
    - subject
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: generate_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 6
    functionsReached:
    - generate_identity_internal
    - get_priv_key
    linkageType: ''
    returnType: char
    signature: char * generate_identity(const char * ca_cert_str, const char * ca_priv_key_str,
      const char * name, const char * priv_key_str, int not_valid_before, int not_valid_after,
      char ** subject)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:151,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: check_pkcs11_provider
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_try_load
    - OSSL_PROVIDER_available
    linkageType: ''
    returnType: bool
    signature: bool check_pkcs11_provider(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:163,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:163,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:163,1
    - Dst: malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:164,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:165,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:169,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:170,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:172,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:174,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:175,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:179,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:180,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:181,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:183,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:185,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:186,1
    - Dst: EVP_PKEY_generate
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:190,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:192,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:193,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:195,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:196,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:199,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:200,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:201,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - token
    - name
    - id
    - pin
    argTypes:
    - char*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 205
    functionName: generate_pkcs11_private_key
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - snprintf
    - CU_FAIL
    - EVP_PKEY_CTX_new_from_name
    - DDSRT_UNUSED_ARG
    - strlen
    - OSSL_PARAM_construct_end
    - ERR_print_errors_fp
    - malloc
    - printf
    - EVP_PKEY_keygen_init
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_set_params
    - CU_ASSERT_NEQ_FATAL
    - EVP_PKEY_free
    linkageType: ''
    returnType: char
    signature: char * generate_pkcs11_private_key(const char *token, const char *name,
      uint32_t id, const char *pin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:214,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:216,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:217,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:222,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:224,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:225,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:226,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:228,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:230,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:231,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:234,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:236,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 243
    functionName: get_priv_key_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_close
    - OSSL_STORE_error
    - DDSRT_UNUSED_ARG
    - OSSL_STORE_load
    - ERR_print_errors_fp
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * get_priv_key_pkcs11(const char *uri)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:252,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:254,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:255,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:260,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:262,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:263,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:264,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:266,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:268,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:269,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:272,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:274,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 281
    functionName: get_certificate_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - OSSL_STORE_close
    - OSSL_STORE_error
    - DDSRT_UNUSED_ARG
    - OSSL_STORE_load
    - ERR_print_errors_fp
    - OSSL_STORE_INFO_get1_CERT
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    linkageType: ''
    returnType: X509
    signature: X509 * get_certificate_pkcs11(const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_priv_key_pkcs11
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:286,1
    - Dst: generate_ca_internal
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:287,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:289,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:290,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:291,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ca_name
    - ca_priv_key_uri
    - not_valid_before
    - not_valid_after
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: generate_ca_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - get_priv_key_pkcs11
    - DDSRT_UNUSED_ARG
    - generate_ca_internal
    linkageType: ''
    returnType: char
    signature: char * generate_ca_pkcs11(const char *ca_name, const char * ca_priv_key_uri,
      int not_valid_before, int not_valid_after)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_priv_key_pkcs11
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:300,1
    - Dst: get_priv_key_pkcs11
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:301,1
    - Dst: generate_identity_internal
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:302,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:304,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:305,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:306,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:307,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:308,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:309,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/cert_utils.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - ca_cert_str
    - ca_priv_key_uri
    - name
    - priv_key_uri
    - not_valid_before
    - not_valid_after
    - subject
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: generate_identity_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
    functionUses: 0
    functionsReached:
    - generate_identity_internal
    - get_priv_key_pkcs11
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: char
    signature: char * generate_identity_pkcs11(const char * ca_cert_str, const char
      * ca_priv_key_uri, const char * name, const char * priv_key_uri, int not_valid_before,
      int not_valid_after, char ** subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: expand_lookup_vars
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char * expand_lookup_vars(const char *name, void * data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expand_lookup_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:121,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: expand_lookup_vars_env
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - expand_lookup_vars
    - ddsrt_getenv
    linkageType: ''
    returnType: char
    signature: char * expand_lookup_vars_env(const char *name, void * data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - lookup_table
    argTypes:
    - struct kvp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: expand_lookup_unmatched
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t expand_lookup_unmatched (const struct kvp * lookup_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_s
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:146,1
    - Dst: gmtime_r
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:148,1
    - Dst: strftime
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - dds_time_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: get_xml_datetime
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - strftime
    - gmtime_s
    - gmtime_r
    linkageType: ''
    returnType: char
    signature: char * get_xml_datetime(dds_time_t t, char * buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:156,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:159,1
    - Dst: BIO_s_file
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:159,1
    - Dst: BIO_read_filename
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:160,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:162,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:163,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:167,1
    - Dst: BIO_s_file
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:167,1
    - Dst: BIO_read_filename
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:168,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:170,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:171,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:175,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:176,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:179,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:179,1
    - Dst: BIO_puts
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:180,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:181,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:182,1
    - Dst: PKCS7_sign
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:186,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:188,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:189,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:193,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:193,1
    - Dst: SMIME_write_PKCS7
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:194,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:195,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:196,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:201,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:202,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:203,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:206,1
    - Dst: PKCS7_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:207,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:208,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:209,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:210,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:211,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - ca_cert_path
    - ca_priv_key_path
    - data
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 215
    functionName: smime_sign
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_X509_AUX
    - BIO_get_mem_data
    - ddsrt_malloc
    - BIO_s_file
    - PEM_read_bio_PrivateKey
    - BIO_puts
    - memcpy
    - PKCS7_sign
    - dds_openssl_init
    - BIO_s_mem
    - BIO_read_filename
    - BIO_new
    - printf
    - BIO_free
    - SMIME_write_PKCS7
    - CU_FAIL_FATAL
    - X509_free
    - PKCS7_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: char
    signature: char * smime_sign(char * ca_cert_path, char * ca_priv_key_path, const
      char * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:219,1
    - Dst: smime_sign
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:220,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:221,1
    - Dst: COMMON_ETC_PATH
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: get_signed_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - COMMON_ETC_PATH
    - DDSRT_UNUSED_ARG
    - smime_sign
    linkageType: ''
    returnType: char
    signature: char *get_signed_data(const char *data, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:231,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - config_signed
    - add_prefix
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: prefix_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - ddsrt_free
    linkageType: ''
    returnType: char
    signature: char * prefix_data (char * config_signed, bool add_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct kvp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: print_config_vars
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_config_vars(struct kvp *vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pk_to_str
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:252,1
    - Dst: bpk_to_str
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:253,1
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - topic_expr
    - discovery_protection
    - liveliness_protection
    - read_ac
    - write_ac
    - metadata_protection_kind
    - data_protection_kind
    argTypes:
    - char*
    - bool
    - bool
    - bool
    - bool
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: get_governance_topic_rule
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 7
    functionsReached:
    - bpk_to_str
    - ddsrt_expand_vars
    - pk_to_str
    linkageType: ''
    returnType: char
    signature: "char * get_governance_topic_rule(const char * topic_expr, bool discovery_protection,
      bool liveliness_protection,\n    bool read_ac, bool write_ac, DDS_Security_ProtectionKind
      metadata_protection_kind, DDS_Security_BasicProtectionKind data_protection_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pk_to_str
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:265,1
    - Dst: pk_to_str
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:266,1
    - Dst: pk_to_str
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:267,1
    - Dst: get_governance_topic_rule
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:268,1
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:271,1
    - Dst: signer
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:272,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:273,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:275,1
    - Dst: print_config_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:276,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:277,1
    - Dst: prefix_data
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - allow_unauth_pp
    - enable_join_ac
    - discovery_protection_kind
    - liveliness_protection_kind
    - rtps_protection_kind
    - topic_rules
    - signer
    - signer_arg
    - add_prefix
    argTypes:
    - bool
    - bool
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - char*
    - smime_sign_function
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: get_governance_config_ex
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_expand_vars
    - ddsrt_free
    - print_test_msg
    - print_config_vars
    - printf
    - prefix_data
    - get_governance_topic_rule
    - pk_to_str
    - signer
    linkageType: ''
    returnType: char
    signature: "char * get_governance_config_ex (bool allow_unauth_pp, bool enable_join_ac,
      DDS_Security_ProtectionKind discovery_protection_kind, DDS_Security_ProtectionKind
      liveliness_protection_kind,\n    DDS_Security_ProtectionKind rtps_protection_kind,
      const char * topic_rules, smime_sign_function signer, void *signer_arg, bool
      add_prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_governance_config_ex
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - allow_unauth_pp
    - enable_join_ac
    - discovery_protection_kind
    - liveliness_protection_kind
    - rtps_protection_kind
    - topic_rules
    - add_prefix
    argTypes:
    - bool
    - bool
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: get_governance_config
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 7
    functionsReached:
    - get_governance_config_ex
    linkageType: ''
    returnType: char
    signature: "char * get_governance_config (bool allow_unauth_pp, bool enable_join_ac,
      DDS_Security_ProtectionKind discovery_protection_kind, DDS_Security_ProtectionKind
      liveliness_protection_kind,\n    DDS_Security_ProtectionKind rtps_protection_kind,
      const char * topic_rules, bool add_prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:296,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:297,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:300,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:301,1
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:308,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - topic_name
    - parts
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: ((size_t) pos == len)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    constantsTouched: []
    func_position:
      end: 311
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 311
    functionName: expand_permissions_pubsub
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_expand_vars
    - ddsrt_free
    - assert
    - strlen
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char * expand_permissions_pubsub (const char * template, const char
      * topic_name, const char ** parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - domain_id
    - pub_xml
    - sub_xml
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: expand_permissions_rule
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_expand_vars
    linkageType: ''
    returnType: char
    signature: char * expand_permissions_rule (const char * template, const char *
      domain_id, const char * pub_xml, const char * sub_xml)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: expand_permissions_pubsub
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:329,1
    - Dst: expand_permissions_pubsub
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:330,1
    - Dst: expand_permissions_pubsub
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:331,1
    - Dst: expand_permissions_pubsub
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:332,1
    - Dst: expand_permissions_rule
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:336,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:337,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:338,1
    - Dst: expand_permissions_rule
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:342,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:343,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:344,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:346,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:347,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 7
    argNames:
    - domain_id
    - allow_pub_topic
    - allow_sub_topic
    - allow_parts
    - deny_pub_topic
    - deny_sub_topic
    - deny_parts
    argTypes:
    - char*
    - char*
    - char*
    - char**
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 350
    functionName: get_permissions_rules_w_partitions
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 1
    functionsReached:
    - expand_permissions_rule
    - ddsrt_asprintf
    - expand_permissions_pubsub
    - ddsrt_free
    linkageType: ''
    returnType: char
    signature: char * get_permissions_rules_w_partitions (const char * domain_id,
      const char * allow_pub_topic, const char * allow_sub_topic, const char ** allow_parts,
      const char * deny_pub_topic, const char * deny_sub_topic, const char ** deny_parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_permissions_rules_w_partitions
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - domain_id
    - allow_pub_topic
    - allow_sub_topic
    - deny_pub_topic
    - deny_sub_topic
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: get_permissions_rules
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 2
    functionsReached:
    - get_permissions_rules_w_partitions
    linkageType: ''
    returnType: char
    signature: char * get_permissions_rules (const char * domain_id, const char *
      allow_pub_topic, const char * allow_sub_topic, const char * deny_pub_topic,
      const char * deny_sub_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_xml_datetime
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:361,1
    - Dst: get_xml_datetime
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:362,1
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:373,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:374,1
    - Dst: expand_lookup_unmatched
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - grant_name
    - subject_name
    - not_before
    - not_after
    - rules_xml
    - default_policy
    argTypes:
    - char*
    - char*
    - dds_time_t
    - dds_time_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 376
    functionName: get_permissions_grant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 3
    functionsReached:
    - ddsrt_expand_vars
    - get_xml_datetime
    - CU_ASSERT_EQ_FATAL
    - expand_lookup_unmatched
    linkageType: ''
    returnType: char
    signature: char * get_permissions_grant (const char * grant_name, const char *
      subject_name, dds_time_t not_before, dds_time_t not_after, const char * rules_xml,
      const char * default_policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:380,1
    - Dst: get_permissions_rules
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:381,1
    - Dst: get_permissions_grant
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:382,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:382,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - grant_name
    - subject_name
    - topic_name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: get_permissions_default_grant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - get_permissions_rules
    - DDS_SECS
    - dds_time
    - get_permissions_grant
    linkageType: ''
    returnType: char
    signature: char * get_permissions_default_grant (const char * grant_name, const
      char * subject_name, const char * topic_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:392,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:393,1
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:399,1
    - Dst: signer
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:400,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:401,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:402,1
    - Dst: prefix_data
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - grants
    - ngrants
    - signer
    - signer_arg
    - add_prefix
    argTypes:
    - char*[]
    - size_t
    - smime_sign_function
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 404
    functionName: get_permissions_config_ex
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_expand_vars
    - ddsrt_free
    - ddsrt_asprintf
    - prefix_data
    - signer
    linkageType: ''
    returnType: char
    signature: char * get_permissions_config_ex(char * grants[], size_t ngrants, smime_sign_function
      signer, void *signer_arg, bool add_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_permissions_config_ex
      Src: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - grants
    - ngrants
    - add_prefix
    argTypes:
    - char*[]
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: get_permissions_config
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
    functionUses: 6
    functionsReached:
    - get_permissions_config_ex
    linkageType: ''
    returnType: char
    signature: char * get_permissions_config(char * grants[], size_t ngrants, bool
      add_prefix)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - result
    argTypes:
    - DDS_Security_ValidationResult_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: get_validation_result_str
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: char * get_validation_result_str (DDS_Security_ValidationResult_t result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node_type
    argTypes:
    - enum hs_node_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: get_node_type_str
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: char * get_node_type_str (enum hs_node_type node_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:76,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:77,1
    - Dst: va_start
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:78,1
    - Dst: vprintf
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:79,1
    - Dst: va_end
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:80,1
    - Dst: fflush
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: print_test_msg
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 5
    functionsReached:
    - vprintf
    - dds_time
    - printf
    - va_start
    - va_end
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_test_msg (const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:86,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - guid
    argTypes:
    - DDS_Security_IdentityHandle
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: add_local_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - print_test_msg
    linkageType: ''
    returnType: void
    signature: void add_local_identity (DDS_Security_IdentityHandle handle, DDS_Security_GUID_t
      *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: find_local_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_local_identity (DDS_Security_IdentityHandle handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: find_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_remote_identity (DDS_Security_IdentityHandle handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:114,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:116,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - guid
    argTypes:
    - DDS_Security_IdentityHandle
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: add_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - print_test_msg
    - find_remote_identity
    linkageType: ''
    returnType: void
    signature: void add_remote_identity (DDS_Security_IdentityHandle handle, DDS_Security_GUID_t
      *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: clear_stores
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_stores(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:132,1
    - Dst: find_local_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:136,1
    - Dst: find_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - node_type
    - lHandle
    - rHandle
    argTypes:
    - enum hs_node_type
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: add_handshake
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - print_test_msg
    - find_local_identity
    - find_remote_identity
    linkageType: ''
    returnType: struct Handshake
    signature: struct Handshake *add_handshake (enum hs_node_type node_type, DDS_Security_IdentityHandle
      lHandle, DDS_Security_IdentityHandle rHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_HandshakeHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: find_handshake
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_handshake (DDS_Security_HandshakeHandle handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_authentication_plugin_take_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:157,1
    - Dst: find_handshake
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:161,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:163,1
    - Dst: get_validation_result_str
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:163,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:165,1
    - Dst: test_authentication_plugin_release_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:167,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:171,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - domain_id
    - handshake
    - abstimeout
    argTypes:
    - dds_domainid_t
    - DDS_Security_IdentityHandle
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: handle_process_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - test_authentication_plugin_release_msg
    - find_handshake
    - print_test_msg
    - ddsrt_strdup
    - test_authentication_plugin_take_msg
    - get_validation_result_str
    linkageType: ''
    returnType: void
    signature: void handle_process_message (dds_domainid_t domain_id, DDS_Security_IdentityHandle
      handshake, ddsrt_mtime_t abstimeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:184,1
    - Dst: test_authentication_plugin_take_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:185,1
    - Dst: handle_process_message
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:191,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:193,1
    - Dst: test_authentication_plugin_release_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:194,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:198,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - domain_id
    - hs
    - lid
    - rid
    - abstimeout
    argTypes:
    - dds_domainid_t
    - struct Handshake*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: handle_begin_handshake_request
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - test_authentication_plugin_release_msg
    - print_test_msg
    - ddsrt_strdup
    - test_authentication_plugin_take_msg
    - handle_process_message
    linkageType: ''
    returnType: void
    signature: void handle_begin_handshake_request (dds_domainid_t domain_id, struct
      Handshake *hs, DDS_Security_IdentityHandle lid, DDS_Security_IdentityHandle
      rid, ddsrt_mtime_t abstimeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:211,1
    - Dst: test_authentication_plugin_take_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:212,1
    - Dst: handle_process_message
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:218,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:220,1
    - Dst: test_authentication_plugin_release_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:221,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:225,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - domain_id
    - hs
    - lid
    - rid
    - abstimeout
    argTypes:
    - dds_domainid_t
    - struct Handshake*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: handle_begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - test_authentication_plugin_release_msg
    - print_test_msg
    - ddsrt_strdup
    - test_authentication_plugin_take_msg
    - handle_process_message
    linkageType: ''
    returnType: void
    signature: void handle_begin_handshake_reply (dds_domainid_t domain_id, struct
      Handshake *hs, DDS_Security_IdentityHandle lid, DDS_Security_IdentityHandle
      rid, ddsrt_mtime_t abstimeout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_authentication_plugin_take_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:239,1
    - Dst: add_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:242,1
    - Dst: add_handshake
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:243,1
    - Dst: handle_begin_handshake_request
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:247,1
    - Dst: handle_begin_handshake_reply
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:252,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:256,1
    - Dst: test_authentication_plugin_release_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:258,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:266,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - domain_id
    - lid
    - count
    - abstimeout
    argTypes:
    - dds_domainid_t
    - DDS_Security_IdentityHandle
    - int
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: handle_validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - handle_begin_handshake_request
    - test_authentication_plugin_release_msg
    - add_remote_identity
    - handle_begin_handshake_reply
    - print_test_msg
    - add_handshake
    - test_authentication_plugin_take_msg
    linkageType: ''
    returnType: void
    signature: void handle_validate_remote_identity (dds_domainid_t domain_id, DDS_Security_IdentityHandle
      lid, int count, ddsrt_mtime_t abstimeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_authentication_plugin_take_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:277,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:282,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:285,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:288,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:289,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:292,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:293,1
    - Dst: strstr
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:293,1
    - Dst: add_local_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:297,1
    - Dst: test_authentication_plugin_release_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - domain_id
    - exp_localid_fail
    - exp_localid_msg
    - abstimeout
    argTypes:
    - dds_domainid_t
    - bool
    - char*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 300
    functionName: handle_validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - strstr
    - test_authentication_plugin_release_msg
    - add_local_identity
    - print_test_msg
    - test_authentication_plugin_take_msg
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void handle_validate_local_identity (dds_domainid_t domain_id, bool
      exp_localid_fail, const char * exp_localid_msg, ddsrt_mtime_t abstimeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:304,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:304,1
    - Dst: clear_stores
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:305,1
    - Dst: handle_validate_local_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:312,1
    - Dst: handle_validate_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:315,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:319,1
    - Dst: get_node_type_str
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:319,1
    - Dst: get_validation_result_str
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:319,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:320,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:321,1
    - Dst: handshake_list_fini
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:328,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - domain_id
    - exp_localid_fail
    - exp_localid_msg
    - hs_list
    - nhs
    - timeout
    argTypes:
    - dds_domainid_t
    - bool
    - char*
    - struct Handshake*[]
    - int*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 331
    functionName: validate_handshake
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 3
    functionsReached:
    - get_node_type_str
    - handle_validate_local_identity
    - handle_validate_remote_identity
    - handshake_list_fini
    - clear_stores
    - print_test_msg
    - strlen
    - ddsrt_mtime_add_duration
    - get_validation_result_str
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void validate_handshake (dds_domainid_t domain_id, bool exp_localid_fail,
      const char * exp_localid_msg, struct Handshake *hs_list[], int *nhs, dds_duration_t
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:337,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:342,1
    - Dst: handshake_list_fini
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - domain_id
    - timeout
    argTypes:
    - dds_domainid_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: validate_handshake_nofail
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 2
    functionsReached:
    - validate_handshake
    - CU_ASSERT_EQ_FATAL
    - handshake_list_fini
    linkageType: ''
    returnType: void
    signature: void validate_handshake_nofail (dds_domainid_t domain_id, dds_duration_t
      timeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:352,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:357,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:361,1
    - Dst: strstr
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:361,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:367,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:372,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:376,1
    - Dst: strstr
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - hs
    - exp_fail_hs_req
    - fail_hs_req_msg
    - exp_fail_hs_reply
    - fail_hs_reply_msg
    argTypes:
    - struct Handshake*
    - bool
    - char*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: validate_handshake_result
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - strstr
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void validate_handshake_result(struct Handshake *hs, bool exp_fail_hs_req,
      const char * fail_hs_req_msg, bool exp_fail_hs_reply, const char * fail_hs_reply_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hs_list
    - nhs
    argTypes:
    - struct Handshake*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: handshake_list_fini
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 4
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void handshake_list_fini (struct Handshake *hs_list, int nhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:394,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:395,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:398,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:399,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:402,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:403,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:405,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:406,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:407,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:411,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pp_wr
    - wr
    - exp_count
    - abstimeout
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - uint32_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: sync_writer_to_readers
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 7
    functionsReached:
    - dds_get_publication_matched_status
    - dds_waitset_wait_until
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_delete
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void sync_writer_to_readers (dds_entity_t pp_wr, dds_entity_t wr, uint32_t
      exp_count, dds_time_t abstimeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:418,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:419,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:422,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:423,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:426,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:427,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:429,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:430,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:431,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:435,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pp_rd
    - rd
    - exp_count
    - abstimeout
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - uint32_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 437
    functionName: sync_reader_to_writers
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - dds_waitset_wait_until
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_get_subscription_matched_status
    - dds_delete
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void sync_reader_to_writers (dds_entity_t pp_rd, dds_entity_t rd, uint32_t
      exp_count, dds_time_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:441,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:442,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - prefix
    - nr
    - name
    - size
    argTypes:
    - char*
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: create_topic_name
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 9
    functionsReached:
    - snprintf
    - ddsrt_gettid
    - ddsrt_getpid
    linkageType: ''
    returnType: char
    signature: char *create_topic_name (const char *prefix, uint32_t nr, char *name,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:450,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:451,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:452,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:453,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:454,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:456,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pp
    - rd
    - dur
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: reader_wait_for_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 2
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_delete
    - dds_waitset_wait
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: bool
    signature: bool reader_wait_for_data (dds_entity_t pp, dds_entity_t rd, dds_duration_t
      dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:463,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:464,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:465,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:466,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: get_default_test_qos
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - dds_qset_history
    - dds_qset_durability
    - dds_qset_reliability
    - dds_create_qos
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t * get_default_test_qos (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_default_test_qos
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:479,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:485,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:487,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:488,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:489,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:490,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:491,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:492,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:493,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:494,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:497,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:498,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:501,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:505,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:506,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:509,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 14
    argNames:
    - pp_wr
    - pub
    - pub_tp
    - wr
    - pp_rd
    - sub
    - sub_tp
    - rd
    - topic_name
    - partition_names
    - exp_pubtp_fail
    - exp_wr_fail
    - exp_subtp_fail
    - exp_rd_fail
    argTypes:
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - char*
    - char**
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 513
    functionName: rd_wr_init_w_partitions_fail
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - get_default_test_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_set_status_mask
    - CU_ASSERT_GT_FATAL
    - dds_create_subscriber
    - dds_create_publisher
    - dds_create_reader
    - dds_delete_qos
    - dds_create_writer
    - dds_qset_partition
    linkageType: ''
    returnType: void
    signature: "void rd_wr_init_w_partitions_fail(\n    dds_entity_t pp_wr, dds_entity_t
      *pub, dds_entity_t *pub_tp, dds_entity_t *wr,\n    dds_entity_t pp_rd, dds_entity_t
      *sub, dds_entity_t *sub_tp, dds_entity_t *rd,\n    const char * topic_name,\n
      \   const char ** partition_names,\n    bool exp_pubtp_fail, bool exp_wr_fail,\n
      \   bool exp_subtp_fail, bool exp_rd_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_wr_init_w_partitions_fail
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 13
    argNames:
    - pp_wr
    - pub
    - pub_tp
    - wr
    - pp_rd
    - sub
    - sub_tp
    - rd
    - topic_name
    - exp_pubtp_fail
    - exp_wr_fail
    - exp_subtp_fail
    - exp_rd_fail
    argTypes:
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - char*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: rd_wr_init_fail
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - rd_wr_init_w_partitions_fail
    linkageType: ''
    returnType: void
    signature: "void rd_wr_init_fail(\n    dds_entity_t pp_wr, dds_entity_t *pub,
      dds_entity_t *pub_tp, dds_entity_t *wr,\n    dds_entity_t pp_rd, dds_entity_t
      *sub, dds_entity_t *sub_tp, dds_entity_t *rd,\n    const char * topic_name,\n
      \   bool exp_pubtp_fail, bool exp_wr_fail,\n    bool exp_subtp_fail, bool exp_rd_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_wr_init_w_partitions_fail
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pp_wr
    - pub
    - pub_tp
    - wr
    - pp_rd
    - sub
    - sub_tp
    - rd
    - topic_name
    argTypes:
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: rd_wr_init
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 5
    functionsReached:
    - rd_wr_init_w_partitions_fail
    linkageType: ''
    returnType: void
    signature: "void rd_wr_init(\n    dds_entity_t pp_wr, dds_entity_t *pub, dds_entity_t
      *pub_tp, dds_entity_t *wr,\n    dds_entity_t pp_rd, dds_entity_t *sub, dds_entity_t
      *sub_tp, dds_entity_t *rd,\n    const char * topic_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:540,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:543,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:545,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:546,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:555,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:557,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:560,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:564,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:565,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:570,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:576,1
    - Dst: reader_wait_for_data
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:580,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:580,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:582,1
    - Dst: print_test_msg
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:588,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:594,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:594,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:595,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:596,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:597,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 6
    argNames:
    - wr
    - pp_rd
    - rd
    - dur
    - exp_write_fail
    - exp_read_fail
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_duration_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 598
    functionName: write_read_for
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 4
    functionsReached:
    - dds_take
    - reader_wait_for_data
    - CU_ASSERT_EQ_FATAL
    - dds_write
    - dds_time
    - print_test_msg
    - dds_set_status_mask
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void write_read_for(dds_entity_t wr, dds_entity_t pp_rd, dds_entity_t
      rd, dds_duration_t dur, bool exp_write_fail, bool exp_read_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: GET_SECURITY_PLUGIN_CONTEXT
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SECURITY_PLUGIN_CONTEXT(name_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pk
    argTypes:
    - DDS_Security_ProtectionKind
    assertStmts:
    - condition: (false)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: pk_to_str
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char * pk_to_str(DDS_Security_ProtectionKind pk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - bpk
    argTypes:
    - DDS_Security_BasicProtectionKind
    assertStmts:
    - condition: (false)
      pos:
        line_end: 640
        line_start: 640
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: bpk_to_str
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char * bpk_to_str(DDS_Security_BasicProtectionKind bpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:651,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:651,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:652,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:652,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:653,1
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:654,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:655,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:656,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:658,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:658,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - participant
    - entityid
    argTypes:
    - dds_entity_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 661
    functionName: get_builtin_writer_crypto_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 1
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsi_get_builtin_writer
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle get_builtin_writer_crypto_handle(dds_entity_t
      participant, unsigned entityid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:668,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:668,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:669,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:669,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:670,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:671,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:673,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:673,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/security/core/tests/common/test_utils.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: get_writer_crypto_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle get_writer_crypto_handle(dds_entity_t
      writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:83,1
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_access_control_impl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: init_returns_log
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_init
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_returns_log(struct dds_security_access_control_impl *impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:90,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:91,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:93,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:94,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:95,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:97,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_access_control_impl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: fini_returns_log
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_circlist_remove
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void fini_returns_log(struct dds_security_access_control_impl *impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:103,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:104,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:105,1
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:107,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - impl
    - obj
    argTypes:
    - struct dds_security_access_control_impl*
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: register_return_obj
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_circlist_append
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void register_return_obj (struct dds_security_access_control_impl *
      impl, void * obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:113,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - impl
    - obj
    argTypes:
    - struct dds_security_access_control_impl*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: find_return_obj_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_FROM_CIRCLIST
    - ddsrt_circlist_oldest
    linkageType: ''
    returnType: struct ddsrt_circlist_elem
    signature: struct ddsrt_circlist_elem *find_return_obj_data (struct dds_security_access_control_impl
      * impl, void * obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:130,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:131,1
    - Dst: find_return_obj_data
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:132,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:134,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:140,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - impl
    - obj
    argTypes:
    - struct dds_security_access_control_impl*
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: unregister_return_obj
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_free
    - ddsrt_circlist_remove
    - ddsrt_mutex_lock
    - assert
    - printf
    - find_return_obj_data
    linkageType: ''
    returnType: void
    signature: void unregister_return_obj (struct dds_security_access_control_impl
      * impl, void * obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:147,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:148,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:149,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_access_control_impl*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: all_returns_valid
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - assert
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool all_returns_valid (struct dds_security_access_control_impl * impl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:169,1
    - Dst: struct dds_security_access_control_impl*::instance::validate_local_permissions
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - instance
    - auth_plugin
    - identity
    - domain_id
    - participant_qos
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: validate_local_permissions
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::validate_local_permissions
    linkageType: ''
    returnType: DDS_Security_PermissionsHandle
    signature: "DDS_Security_PermissionsHandle validate_local_permissions(\n    dds_security_access_control
      *instance,\n    const dds_security_authentication *auth_plugin,\n    const DDS_Security_IdentityHandle
      identity,\n    const DDS_Security_DomainId domain_id,\n    const DDS_Security_Qos
      *participant_qos,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:200,1
    - Dst: struct dds_security_access_control_impl*::instance::validate_remote_permissions
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - instance
    - auth_plugin
    - local_identity_handle
    - remote_identity_handle
    - remote_permissions_token
    - remote_credential_token
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsToken*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: validate_remote_permissions
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::validate_remote_permissions
    linkageType: ''
    returnType: DDS_Security_PermissionsHandle
    signature: "DDS_Security_PermissionsHandle validate_remote_permissions(\n    dds_security_access_control
      *instance,\n    const dds_security_authentication *auth_plugin,\n    const DDS_Security_IdentityHandle
      local_identity_handle,\n    const DDS_Security_IdentityHandle remote_identity_handle,\n
      \   const DDS_Security_PermissionsToken *remote_permissions_token,\n    const
      DDS_Security_AuthenticatedPeerCredentialToken *remote_credential_token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:230,1
    - Dst: struct dds_security_access_control_impl*::instance::check_create_participant
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - participant_qos
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: check_create_participant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_create_participant
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_participant(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const DDS_Security_Qos *participant_qos,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:258,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:258,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:261,1
    - Dst: struct dds_security_access_control_impl*::instance::check_create_datawriter
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 8
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - writer_qos
    - partition
    - data_tag
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTags*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: check_create_datawriter
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - strncmp
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_create_datawriter
    - strlen
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_datawriter(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const char *topic_name,\n    const DDS_Security_Qos
      *writer_qos,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTags *data_tag,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:291,1
    - Dst: struct dds_security_access_control_impl*::instance::check_create_datareader
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 8
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - reader_qos
    - partition
    - data_tag
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTags*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 301
    functionName: check_create_datareader
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_create_datareader
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_datareader(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const char *topic_name,\n    const DDS_Security_Qos
      *reader_qos,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTags *data_tag,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:318,1
    - Dst: struct dds_security_access_control_impl*::instance::check_create_topic
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - qos
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: check_create_topic
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_create_topic
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_topic(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const char *topic_name,\n    const DDS_Security_Qos
      *qos,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_local_datawriter_register_instance
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - writer
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_DynamicData*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: check_local_datawriter_register_instance
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_local_datawriter_register_instance
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_register_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *writer,\n    const DDS_Security_DynamicData *key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_local_datawriter_dispose_instance
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - writer
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_DynamicData
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: check_local_datawriter_dispose_instance
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_local_datawriter_dispose_instance
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_dispose_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *writer,\n    const DDS_Security_DynamicData key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:382,1
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_participant
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - participant_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_ParticipantBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: check_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_remote_participant
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_participant(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const DDS_Security_ParticipantBuiltinTopicDataSecure
      *participant_data,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:408,1
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_datawriter
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - publication_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: check_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_remote_datawriter
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const DDS_Security_PublicationBuiltinTopicDataSecure
      *publication_data,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:434,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:434,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:437,1
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_datareader
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:445,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:450,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - subscription_data
    - relay_only
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_boolean*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 461
    functionName: check_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_remote_datareader
    - strncmp
    - ddsrt_strdup
    - strlen
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datareader(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const DDS_Security_SubscriptionBuiltinTopicDataSecure
      *subscription_data,\n    DDS_Security_boolean *relay_only,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:477,1
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_topic
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_TopicBuiltinTopicData*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 487
    functionName: check_remote_topic
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - struct dds_security_access_control_impl*::instance::check_remote_topic
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_topic(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_DomainId domain_id,\n    const DDS_Security_TopicBuiltinTopicData
      *topic_data,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_local_datawriter_match
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - writer_permissions_handle
    - reader_permissions_handle
    - publication_data
    - subscription_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 507
    functionName: check_local_datawriter_match
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_local_datawriter_match
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_match(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle writer_permissions_handle,\n
      \   const DDS_Security_PermissionsHandle reader_permissions_handle,\n    const
      DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    const
      DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_local_datareader_match
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - reader_permissions_handle
    - writer_permissions_handle
    - subscription_data
    - publication_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 527
    functionName: check_local_datareader_match
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_local_datareader_match
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datareader_match(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle reader_permissions_handle,\n
      \   const DDS_Security_PermissionsHandle writer_permissions_handle,\n    const
      DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    const
      DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_datawriter_register_instance
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - reader
    - publication_handle
    - key
    - instance_handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_InstanceHandle
    - DDS_Security_DynamicData
    - DDS_Security_InstanceHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 548
    functionName: check_remote_datawriter_register_instance
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_remote_datawriter_register_instance
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter_register_instance(\n
      \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
      permissions_handle,\n    const DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle
      publication_handle,\n    const DDS_Security_DynamicData key,\n    const DDS_Security_InstanceHandle
      instance_handle,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::check_remote_datawriter_dispose_instance
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - reader
    - publication_handle
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_InstanceHandle
    - DDS_Security_DynamicData
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: check_remote_datawriter_dispose_instance
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::check_remote_datawriter_dispose_instance
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter_dispose_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle publication_handle,\n
      \   const DDS_Security_DynamicData key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:580,1
    - Dst: struct dds_security_access_control_impl*::instance::get_permissions_token
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:583,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:586,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - instance
    - permissions_token
    - handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsToken*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 590
    functionName: get_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - register_return_obj
    - struct dds_security_access_control_impl*::instance::get_permissions_token
    - memset
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_permissions_token(\n    dds_security_access_control
      *instance,\n    DDS_Security_PermissionsToken *permissions_token,\n    const
      DDS_Security_PermissionsHandle handle,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:602,1
    - Dst: struct dds_security_access_control_impl*::instance::get_permissions_credential_token
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - instance
    - permissions_credential_token
    - handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 610
    functionName: get_permissions_credential_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - register_return_obj
    - struct dds_security_access_control_impl*::instance::get_permissions_credential_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_permissions_credential_token(\n    dds_security_access_control
      *instance,\n    DDS_Security_PermissionsCredentialToken *permissions_credential_token,\n
      \   const DDS_Security_PermissionsHandle handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::set_listener
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - listener
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_access_control_listener*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 627
    functionName: set_listener
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 3
    functionsReached:
    - struct dds_security_access_control_impl*::instance::set_listener
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_listener(\n    dds_security_access_control
      *instance,\n    const dds_security_access_control_listener *listener,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:638,1
    - Dst: struct dds_security_access_control_impl*::instance::return_permissions_token
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:641,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 647
    functionName: return_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - unregister_return_obj
    - struct dds_security_access_control_impl*::instance::return_permissions_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_token(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsToken *token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:658,1
    - Dst: struct dds_security_access_control_impl*::instance::return_permissions_credential_token
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - permissions_credential_token
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 666
    functionName: return_permissions_credential_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_permissions_credential_token
    - unregister_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_credential_token(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsCredentialToken *permissions_credential_token,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:678,1
    - Dst: struct dds_security_access_control_impl*::instance::get_participant_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - instance
    - permissions_handle
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: get_participant_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - register_return_obj
    - struct dds_security_access_control_impl*::instance::get_participant_sec_attributes
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_participant_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    DDS_Security_ParticipantSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:699,1
    - Dst: struct dds_security_access_control_impl*::instance::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_TopicSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: get_topic_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::get_topic_sec_attributes
    - register_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_topic_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    DDS_Security_TopicSecurityAttributes *attributes,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:722,1
    - Dst: struct dds_security_access_control_impl*::instance::get_datawriter_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - partition
    - data_tag
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTagQosPolicy*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 730
    functionName: get_datawriter_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::get_datawriter_sec_attributes
    - register_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_datawriter_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: register_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:745,1
    - Dst: struct dds_security_access_control_impl*::instance::get_datareader_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - partition
    - data_tag
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTagQosPolicy*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 753
    functionName: get_datareader_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - register_return_obj
    - struct dds_security_access_control_impl*::instance::get_datareader_sec_attributes
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_datareader_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:764,1
    - Dst: struct dds_security_access_control_impl*::instance::return_participant_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 772
    functionName: return_participant_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_participant_sec_attributes
    - unregister_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_participant_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_ParticipantSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:783,1
    - Dst: struct dds_security_access_control_impl*::instance::return_topic_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_TopicSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 791
    functionName: return_topic_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_topic_sec_attributes
    - unregister_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_topic_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_TopicSecurityAttributes *attributes,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:802,1
    - Dst: struct dds_security_access_control_impl*::instance::return_datawriter_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 810
    functionName: return_datawriter_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_datawriter_sec_attributes
    - unregister_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_datawriter_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unregister_return_obj
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:821,1
    - Dst: struct dds_security_access_control_impl*::instance::return_datareader_sec_attributes
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 829
    functionName: return_datareader_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_datareader_sec_attributes
    - unregister_return_obj
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_datareader_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_access_control_impl*::instance::return_permissions_handle
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - permissions_handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 846
    functionName: return_permissions_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_access_control_impl*::instance::return_permissions_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_handle(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:850,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:851,1
    - Dst: init_access_control
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 3
    argNames:
    - argument
    - wrapped
    - gv
    argTypes:
    - char*
    - bool
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 890
    functionName: init_test_access_control_common
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - init_access_control
    - memset
    linkageType: ''
    returnType: struct dds_security_access_control_impl
    signature: struct dds_security_access_control_impl * init_test_access_control_common(const
      char *argument, bool wrapped, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: finalize_access_control
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:895,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - impl
    - wrapped
    argTypes:
    - struct dds_security_access_control_impl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 899
    functionName: finalize_test_access_control_common
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_access_control
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_test_access_control_common(struct dds_security_access_control_impl
      * impl, bool wrapped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:903,1
    - Dst: init_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: init_test_access_control_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - init_test_access_control_common
    linkageType: ''
    returnType: int
    signature: int init_test_access_control_all_ok(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:913,1
    - Dst: finalize_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_ALL_OK)
      pos:
        line_end: 912
        line_start: 912
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 915
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 915
    functionName: finalize_test_access_control_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_access_control_common
    - assert
    linkageType: ''
    returnType: int
    signature: int finalize_test_access_control_all_ok(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:919,1
    - Dst: init_returns_log
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 926
    functionName: init_test_access_control_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - init_returns_log
    - init_test_access_control_common
    linkageType: ''
    returnType: int
    signature: int init_test_access_control_wrapped(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:931,1
    - Dst: all_returns_valid
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:932,1
    - Dst: fini_returns_log
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:933,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:934,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:935,1
    - Dst: finalize_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 937
      start: 928
    functionDepth: 2
    functionLinenumber: 928
    functionLinenumberEnd: 937
    functionName: finalize_test_access_control_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_access_control_common
    - assert
    - all_returns_valid
    - printf
    - fini_returns_log
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: int
    signature: int finalize_test_access_control_wrapped(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:941,1
    - Dst: init_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: init_test_access_control_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - init_test_access_control_common
    linkageType: ''
    returnType: int
    signature: int init_test_access_control_missing_func(const char *argument, void
      **context, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:952,1
    - Dst: finalize_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_MISSING_FUNC)
      pos:
        line_end: 951
        line_start: 951
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 954
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 954
    functionName: finalize_test_access_control_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_access_control_common
    - assert
    linkageType: ''
    returnType: int
    signature: int finalize_test_access_control_missing_func(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name_
    - ','
    - mask_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 967
    functionName: INIT_NOT_ALLOWED
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_NOT_ALLOWED(name_, mask_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:983,1
    - Dst: finalize_test_access_control_common
      Src: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_NOT_ALLOWED)
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: finalize_test_access_control_not_allowed
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_access_control_common
    - assert
    linkageType: ''
    returnType: int
    signature: int finalize_test_access_control_not_allowed(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: GET_SECURITY_PLUGIN_CONTEXT_DECL
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/test_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SECURITY_PLUGIN_CONTEXT_DECL(name_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:64,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:67,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:68,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:70,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:72,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:76,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:77,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:78,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:80,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:82,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:83,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:85,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:87,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:89,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:90,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:91,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:94,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:96,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - adjusted_participant_guid
    - participant_qos
    - candidate_participant_guid
    argTypes:
    - DDS_Security_GUID_t*
    - DDS_Security_Qos*
    - DDS_Security_GUID_t*
    assertStmts:
    - condition: (identity_certificate != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    - condition: (private_key != NULL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    - condition: (identity_ca != NULL)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    constantsTouched: []
    func_position:
      end: 103
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 103
    functionName: test_validate_local_identity_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - strcmp
    - printf
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_validate_local_identity_all_ok(\n
      \   DDS_Security_GUID_t *adjusted_participant_guid,\n    const DDS_Security_Qos
      *participant_qos,\n    const DDS_Security_GUID_t *candidate_participant_guid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::validate_local_identity
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:119,1
    - Dst: add_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:121,1
    - Dst: test_validate_local_identity_all_ok
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - instance
    - local_identity_handle
    - adjusted_participant_guid
    - domain_id
    - participant_qos
    - candidate_participant_guid
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle*
    - DDS_Security_GUID_t*
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_GUID_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: test_validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::validate_local_identity
    - test_validate_local_identity_all_ok
    - add_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_validate_local_identity(\n    dds_security_authentication
      *instance,\n    DDS_Security_IdentityHandle *local_identity_handle,\n    DDS_Security_GUID_t
      *adjusted_participant_guid,\n    const DDS_Security_DomainId domain_id,\n    const
      DDS_Security_Qos *participant_qos,\n    const DDS_Security_GUID_t *candidate_participant_guid,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::get_identity_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:140,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:145,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - instance
    - identity_token
    - handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: test_get_identity_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::get_identity_token
    - ddsrt_strdup
    - memset
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_get_identity_token(dds_security_authentication
      *instance,\n    DDS_Security_IdentityToken *identity_token,\n    const DDS_Security_IdentityHandle
      handle,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::get_identity_status_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - instance
    - identity_status_token
    - handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityStatusToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: test_get_identity_status_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::get_identity_status_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_get_identity_status_token(\n    dds_security_authentication
      *instance,\n    DDS_Security_IdentityStatusToken *identity_status_token,\n    const
      DDS_Security_IdentityHandle handle,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::set_permissions_credential_and_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - instance
    - handle
    - permissions_credential
    - permissions_token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_PermissionsToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: test_set_permissions_credential_and_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::set_permissions_credential_and_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_set_permissions_credential_and_token(\n
      \   dds_security_authentication *instance,\n    const DDS_Security_IdentityHandle
      handle,\n    const DDS_Security_PermissionsCredentialToken *permissions_credential,\n
      \   const DDS_Security_PermissionsToken *permissions_token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::validate_remote_identity
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:202,1
    - Dst: add_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - instance
    - remote_identity_handle
    - local_auth_request_token
    - remote_auth_request_token
    - local_identity_handle
    - remote_identity_token
    - remote_participant_guid
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle*
    - DDS_Security_AuthRequestMessageToken*
    - DDS_Security_AuthRequestMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityToken*
    - DDS_Security_GUID_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: test_validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::validate_remote_identity
    - add_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_validate_remote_identity(\n    dds_security_authentication
      *instance,\n    DDS_Security_IdentityHandle *remote_identity_handle,\n    DDS_Security_AuthRequestMessageToken
      *local_auth_request_token,\n    const DDS_Security_AuthRequestMessageToken *remote_auth_request_token,\n
      \   const DDS_Security_IdentityHandle local_identity_handle,\n    const DDS_Security_IdentityToken
      *remote_identity_token,\n    const DDS_Security_GUID_t *remote_participant_guid,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::begin_handshake_request
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:230,1
    - Dst: add_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - instance
    - handshake_handle
    - handshake_message
    - initiator_identity_handle
    - replier_identity_handle
    - serialized_local_participant_data
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_OctetSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: test_begin_handshake_request
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - add_message
    - struct dds_security_authentication_impl*::instance::begin_handshake_request
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_begin_handshake_request(\n    dds_security_authentication
      *instance,\n    DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
      *handshake_message,\n    const DDS_Security_IdentityHandle initiator_identity_handle,\n
      \   const DDS_Security_IdentityHandle replier_identity_handle,\n    const DDS_Security_OctetSeq
      *serialized_local_participant_data,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::begin_handshake_reply
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:259,1
    - Dst: add_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - instance
    - handshake_handle
    - handshake_message_out
    - handshake_message_in
    - initiator_identity_handle
    - replier_identity_handle
    - serialized_local_participant_data
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_OctetSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: test_begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::begin_handshake_reply
    - add_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_begin_handshake_reply(\n    dds_security_authentication
      *instance,\n    DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
      *handshake_message_out,\n    const DDS_Security_HandshakeMessageToken *handshake_message_in,\n
      \   const DDS_Security_IdentityHandle initiator_identity_handle,\n    const
      DDS_Security_IdentityHandle replier_identity_handle,\n    const DDS_Security_OctetSeq
      *serialized_local_participant_data,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::process_handshake
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:285,1
    - Dst: add_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - instance
    - handshake_message_out
    - handshake_message_in
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 295
    functionName: test_process_handshake
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::process_handshake
    - add_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t test_process_handshake(\n    dds_security_authentication
      *instance,\n    DDS_Security_HandshakeMessageToken *handshake_message_out,\n
      \   const DDS_Security_HandshakeMessageToken *handshake_message_in,\n    const
      DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::get_shared_secret
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: test_get_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::get_shared_secret
    linkageType: ''
    returnType: DDS_Security_SharedSecretHandle
    signature: "DDS_Security_SharedSecretHandle test_get_shared_secret(\n    dds_security_authentication
      *instance,\n    const DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - instance
    - peer_credential_token
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: test_get_authenticated_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::get_authenticated_peer_credential_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_get_authenticated_peer_credential_token(\n
      \   dds_security_authentication *instance,\n    DDS_Security_AuthenticatedPeerCredentialToken
      *peer_credential_token,\n    const DDS_Security_HandshakeHandle handshake_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::set_listener
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - listener
    - ex
    argTypes:
    - dds_security_authentication*
    - dds_security_authentication_listener*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: test_set_listener
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::set_listener
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_set_listener(dds_security_authentication
      *instance,\n    const dds_security_authentication_listener *listener,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_identity_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:353,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: test_return_identity_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_identity_token
    - ddsrt_free
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_identity_token(dds_security_authentication
      *instance,\n    const DDS_Security_IdentityToken *token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_identity_status_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityStatusToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: test_return_identity_status_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_identity_status_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_identity_status_token(\n    dds_security_authentication
      *instance,\n    const DDS_Security_IdentityStatusToken *token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - peer_credential_token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: test_return_authenticated_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_authenticated_peer_credential_token
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_authenticated_peer_credential_token(\n
      \   dds_security_authentication *instance,\n    const DDS_Security_AuthenticatedPeerCredentialToken
      *peer_credential_token,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_handshake_handle
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: test_return_handshake_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_handshake_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_handshake_handle(dds_security_authentication
      *instance,\n    const DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_identity_handle
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - identity_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 422
    functionName: test_return_identity_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_identity_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_identity_handle(\n    dds_security_authentication
      *instance,\n    const DDS_Security_IdentityHandle identity_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_authentication_impl*::instance::return_sharedsecret_handle
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - instance
    - sharedsecret_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: test_return_sharedsecret_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - struct dds_security_authentication_impl*::instance::return_sharedsecret_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean test_return_sharedsecret_handle(\n    dds_security_authentication
      *instance,\n    const DDS_Security_SharedSecretHandle sharedsecret_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - domain_id
    argTypes:
    - dds_domainid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: get_impl_for_domain
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dds_security_authentication_impl
    signature: struct dds_security_authentication_impl * get_impl_for_domain(dds_domainid_t
      domain_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_impl_for_domain
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:454,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:455,1
    - Dst: take_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - domain_id
    - kind
    - lidHandle
    - ridHandle
    - hsHandle
    - abstimeout
    - msg
    argTypes:
    - dds_domainid_t
    - message_kind_t
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - ddsrt_mtime_t
    - struct message**
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: test_authentication_plugin_take_msg
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 5
    functionsReached:
    - assert
    - get_impl_for_domain
    - take_message
    linkageType: ''
    returnType: enum take_message_result
    signature: enum take_message_result test_authentication_plugin_take_msg(dds_domainid_t
      domain_id, message_kind_t kind, DDS_Security_IdentityHandle lidHandle, DDS_Security_IdentityHandle
      ridHandle, DDS_Security_IdentityHandle hsHandle, ddsrt_mtime_t abstimeout, struct
      message **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_message
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: test_authentication_plugin_release_msg
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 5
    functionsReached:
    - delete_message
    linkageType: ''
    returnType: void
    signature: void test_authentication_plugin_release_msg(struct message *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:466,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: init_test_authentication_common
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct dds_security_authentication_impl
    signature: struct dds_security_authentication_impl * init_test_authentication_common(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:490,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:491,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:492,1
    - Dst: init_test_authentication_common
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: init_test_authentication_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - init_test_authentication_common
    linkageType: ''
    returnType: int
    signature: int init_test_authentication_all_ok(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:501,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (((struct dds_security_authentication_impl *)context)->mode == PLUGIN_MODE_ALL_OK)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: finalize_test_authentication_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_test_authentication_all_ok(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:508,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:509,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:510,1
    - Dst: init_test_authentication_common
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 516
    functionName: init_test_authentication_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - init_test_authentication_common
    linkageType: ''
    returnType: int
    signature: int init_test_authentication_missing_func(const char *argument, void
      **context, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (((struct dds_security_authentication_impl *)context)->mode == PLUGIN_MODE_MISSING_FUNC)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: finalize_test_authentication_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_test_authentication_missing_func(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:527,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:528,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: init_test_authentication_init_error
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int init_test_authentication_init_error(const char *argument, void
      **context, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: finalize_test_authentication_init_error
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int finalize_test_authentication_init_error(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_test_authentication_common
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:546,1
    - Dst: init_message_queue
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:549,1
    - Dst: init_authentication
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:550,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: init_test_authentication_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - init_message_queue
    - ddsrt_realloc
    - init_test_authentication_common
    - init_authentication
    linkageType: ''
    returnType: int
    signature: int init_test_authentication_wrapped(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:563,1
    - Dst: deinit_message_queue
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:564,1
    - Dst: finalize_authentication
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:565,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:571,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:574,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    - condition: (idx < auth_impl_idx)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: finalize_test_authentication_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    functionUses: 0
    functionsReached:
    - deinit_message_queue
    - assert
    - finalize_authentication
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_test_authentication_wrapped(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: INIT_NOT_ALLOWED_DECL
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_NOT_ALLOWED_DECL(name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - impl
    - rtps_protection_kind
    - metadata_protection_kind
    - payload_protection_kind
    argTypes:
    - struct dds_security_cryptography_impl*
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: set_protection_kinds
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void set_protection_kinds(\n  struct dds_security_cryptography_impl
      * impl,\n  DDS_Security_ProtectionKind rtps_protection_kind,\n  DDS_Security_ProtectionKind
      metadata_protection_kind,\n  DDS_Security_BasicProtectionKind payload_protection_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - impl
    - secret
    argTypes:
    - struct dds_security_cryptography_impl*
    - char*
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: set_encrypted_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set_encrypted_secret(struct dds_security_cryptography_impl * impl,
      const char * secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - impl
    - disc_protection_kind
    - liveliness_protection_kind
    argTypes:
    - struct dds_security_cryptography_impl*
    - DDS_Security_ProtectionKind
    - DDS_Security_ProtectionKind
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: set_disc_protection_kinds
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void set_disc_protection_kinds(\n  struct dds_security_cryptography_impl
      * impl,\n  DDS_Security_ProtectionKind disc_protection_kind,\n  DDS_Security_ProtectionKind
      liveliness_protection_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - impl
    - pp_secret
    - groupdata_secret
    - ep_secret
    argTypes:
    - struct dds_security_cryptography_impl*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: set_entity_data_secret
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set_entity_data_secret(struct dds_security_cryptography_impl *
      impl, const char * pp_secret, const char * groupdata_secret, const char * ep_secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:127,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - impl
    - handle
    - plain_rtps
    - plain_submsg
    - plain_payload
    argTypes:
    - struct dds_security_cryptography_impl*
    - DDS_Security_DatawriterCryptoHandle
    - bool
    - bool
    - bool
    assertStmts:
    - condition: (impl)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - condition: (impl->mode == PLUGIN_MODE_PLAIN_DATA)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: set_force_plain_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set_force_plain_data(struct dds_security_cryptography_impl * impl,
      DDS_Security_DatawriterCryptoHandle handle, bool plain_rtps, bool plain_submsg,
      bool plain_payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:145,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: check_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool check_crypto_tokens(const DDS_Security_DataHolderSeq *tokens)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum crypto_tokens_type
    assertStmts:
    - condition: (0)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: get_crypto_token_type_str
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *get_crypto_token_type_str (enum crypto_tokens_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:173,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:174,1
    - Dst: u
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:177,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:179,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:180,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - type
    - lch
    - rch
    - tokens
    argTypes:
    - enum crypto_tokens_type
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: print_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - u
    - ddsrt_mutex_unlock
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_tokens (enum crypto_tokens_type type, const DDS_Security_ParticipantCryptoHandle
      lch, const DDS_Security_ParticipantCryptoHandle rch,\n    const DDS_Security_ParticipantCryptoTokenSeq
      *tokens)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:190,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:195,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:199,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:200,1
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - list
    - type
    - lch
    - rch
    - tokens
    argTypes:
    - struct ddsrt_circlist*
    - enum crypto_tokens_type
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoTokenSeq*
    assertStmts:
    - condition: (tokens->_length <= CRYPTO_TOKEN_MAXCOUNT)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - condition: (len <= CRYPTO_TOKEN_SIZE)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: add_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    - ddsrt_circlist_append
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void add_tokens (struct ddsrt_circlist *list, enum crypto_tokens_type
      type,\n    const DDS_Security_ParticipantCryptoHandle lch, const DDS_Security_ParticipantCryptoHandle
      rch,\n    const DDS_Security_ParticipantCryptoTokenSeq *tokens)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:209,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:211,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:215,1
    - Dst: add_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:216,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:217,1
    - Dst: print_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - impl
    - type
    - lch
    - rch
    - tokens
    argTypes:
    - struct dds_security_crypto_key_exchange_impl*
    - enum crypto_tokens_type
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: store_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - check_crypto_tokens
    - ddsrt_mutex_lock
    - printf
    - add_tokens
    - ddsrt_mutex_unlock
    - print_tokens
    linkageType: ''
    returnType: void
    signature: "void store_tokens (struct dds_security_crypto_key_exchange_impl *impl,
      enum crypto_tokens_type type, const DDS_Security_ParticipantCryptoHandle lch,\n
      \   const DDS_Security_ParticipantCryptoHandle rch, const DDS_Security_ParticipantCryptoTokenSeq
      *tokens)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:224,1
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:225,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:227,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:228,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:230,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:234,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:237,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:238,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:239,1
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:240,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_cryptography_impl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: get_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_circlist_init
    - DDSRT_FROM_CIRCLIST
    - memcpy
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_circlist_append
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsrt_circlist
    signature: struct ddsrt_circlist * get_crypto_tokens (struct dds_security_cryptography_impl
      * impl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:250,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:251,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:252,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:254,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:257,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:260,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:266,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:267,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:269,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - impl
    - type
    - data
    - data_len
    argTypes:
    - struct dds_security_cryptography_impl*
    - enum crypto_tokens_type
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (data_len <= CRYPTO_TOKEN_SIZE)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - condition: (len <= CRYPTO_TOKEN_SIZE)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 278
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 278
    functionName: find_crypto_token
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - DDSRT_FROM_CIRCLIST
    - memcmp
    - ddsrt_mutex_lock
    - assert
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct crypto_token_data
    signature: struct crypto_token_data * find_crypto_token (struct dds_security_cryptography_impl
      * impl, enum crypto_tokens_type type, unsigned char * data, size_t data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:282,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:283,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:285,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:288,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:292,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:299,1
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:303,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - impl
    - function
    - handle
    argTypes:
    - struct dds_security_cryptography_impl*
    - enum crypto_encode_decode_fn
    - DDS_Security_long_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: log_encode_decode
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - DDSRT_FROM_CIRCLIST
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_circlist_append
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void log_encode_decode (struct dds_security_cryptography_impl * impl,
      enum crypto_encode_decode_fn function, DDS_Security_long_long handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:309,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:310,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:312,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:315,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:318,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:319,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:320,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - impl
    - function
    - handle
    argTypes:
    - struct dds_security_cryptography_impl*
    - enum crypto_encode_decode_fn
    - DDS_Security_long_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 328
    functionName: get_encode_decode_log
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - memcpy
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_malloc
    - DDSRT_FROM_CIRCLIST
    linkageType: ''
    returnType: struct crypto_encode_decode_data
    signature: struct crypto_encode_decode_data * get_encode_decode_log (struct dds_security_cryptography_impl
      * impl, enum crypto_encode_decode_fn function, DDS_Security_long_long handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - input
    - input_len
    - match
    - match_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: find_buffer_match
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * find_buffer_match(const unsigned char *input, size_t
      input_len, const unsigned char *match, size_t match_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:353,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - encoded_buffer
    - plain_buffer
    - expect_encrypted
    - ex
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - bool
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: check_buffers
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - find_buffer_match
    linkageType: ''
    returnType: bool
    signature: bool check_buffers(const DDS_Security_OctetSeq *encoded_buffer, const
      DDS_Security_OctetSeq *plain_buffer, bool expect_encrypted, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_long_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: check_handle
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: DDS_Security_long_long
    signature: DDS_Security_long_long check_handle(DDS_Security_long_long handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: expect_encrypted_buffer
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool expect_encrypted_buffer (DDS_Security_ProtectionKind pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:383,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - encoded_submsg
    - plain_submsg
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: copy_octetseq
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void copy_octetseq(DDS_Security_OctetSeq *encoded_submsg, const DDS_Security_OctetSeq
      *plain_submsg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::create_local_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:409,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_participant_crypto_tokens
    - local_participant_crypto
    - remote_participant_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_ParticipantCryptoTokenSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: create_local_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - struct dds_security_crypto_key_exchange_impl*::instance::create_local_participant_crypto_tokens
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_participant_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_ParticipantCryptoTokenSeq *local_participant_crypto_tokens,\n
      \   const DDS_Security_ParticipantCryptoHandle local_participant_crypto,\n    const
      DDS_Security_ParticipantCryptoHandle remote_participant_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::set_remote_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:434,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:434,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:435,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_participant_crypto
    - remote_participant_crypto
    - remote_participant_tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 443
    functionName: set_remote_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - check_handle
    - struct dds_security_crypto_key_exchange_impl*::instance::set_remote_participant_crypto_tokens
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_participant_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_ParticipantCryptoHandle local_participant_crypto,\n
      \   const DDS_Security_ParticipantCryptoHandle remote_participant_crypto,\n
      \   const DDS_Security_ParticipantCryptoTokenSeq *remote_participant_tokens,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:459,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:460,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:460,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_datawriter_crypto_tokens
    - local_datawriter_crypto
    - remote_datareader_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatawriterCryptoTokenSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 468
    functionName: create_local_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - struct dds_security_crypto_key_exchange_impl*::instance::create_local_datawriter_crypto_tokens
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_datawriter_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_DatawriterCryptoTokenSeq *local_datawriter_crypto_tokens,\n
      \   const DDS_Security_DatawriterCryptoHandle local_datawriter_crypto,\n    const
      DDS_Security_DatareaderCryptoHandle remote_datareader_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:484,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:484,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:485,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_datareader_crypto
    - remote_datawriter_crypto
    - remote_datawriter_tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatawriterCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 493
    functionName: set_remote_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - struct dds_security_crypto_key_exchange_impl*::instance::set_remote_datawriter_crypto_tokens
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_datawriter_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_DatareaderCryptoHandle local_datareader_crypto,\n
      \   const DDS_Security_DatawriterCryptoHandle remote_datawriter_crypto,\n    const
      DDS_Security_DatawriterCryptoTokenSeq *remote_datawriter_tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::create_local_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:509,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:510,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:510,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_datareader_cryto_tokens
    - local_datareader_crypto
    - remote_datawriter_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatareaderCryptoTokenSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 518
    functionName: create_local_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - struct dds_security_crypto_key_exchange_impl*::instance::create_local_datareader_crypto_tokens
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_datareader_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_DatareaderCryptoTokenSeq *local_datareader_cryto_tokens,\n
      \   const DDS_Security_DatareaderCryptoHandle local_datareader_crypto,\n    const
      DDS_Security_DatawriterCryptoHandle remote_datawriter_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:534,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:534,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:535,1
    - Dst: store_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - instance
    - local_datawriter_crypto
    - remote_datareader_crypto
    - remote_datareader_tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatareaderCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 543
    functionName: set_remote_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - store_tokens
    - struct dds_security_crypto_key_exchange_impl*::instance::set_remote_datareader_crypto_tokens
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_datareader_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_DatawriterCryptoHandle local_datawriter_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandle remote_datareader_crypto,\n    const
      DDS_Security_DatareaderCryptoTokenSeq *remote_datareader_tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_exchange_impl*::instance::return_crypto_tokens
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - crypto_tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_CryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 560
    functionName: return_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_exchange_impl*::instance::return_crypto_tokens
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_CryptoTokenSeq *crypto_tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:579,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_local_participant
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:579,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:579,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - participant_identity
    - participant_permissions
    - participant_properties
    - participant_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 584
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_local_participant
    - check_handle
    linkageType: ''
    returnType: DDS_Security_ParticipantCryptoHandle
    signature: "DDS_Security_ParticipantCryptoHandle register_local_participant(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_IdentityHandle
      participant_identity,\n    const DDS_Security_PermissionsHandle participant_permissions,\n
      \   const DDS_Security_PropertySeq *participant_properties,\n    const DDS_Security_ParticipantSecurityAttributes
      *participant_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:600,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - local_participant_crypto_handle
    - remote_participant_identity
    - remote_participant_permissions
    - shared_secret
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 605
    functionName: register_matched_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_participant
    - check_handle
    linkageType: ''
    returnType: DDS_Security_ParticipantCryptoHandle
    signature: "DDS_Security_ParticipantCryptoHandle register_matched_remote_participant(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_ParticipantCryptoHandle
      local_participant_crypto_handle,\n    const DDS_Security_IdentityHandle remote_participant_identity,\n
      \   const DDS_Security_PermissionsHandle remote_participant_permissions,\n    const
      DDS_Security_SharedSecretHandle shared_secret,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:620,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_local_datawriter
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:620,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - instance
    - participant_crypto
    - datawriter_properties
    - datawriter_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 625
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_local_datawriter
    - check_handle
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: "DDS_Security_DatawriterCryptoHandle register_local_datawriter(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto,\n
      \   const DDS_Security_PropertySeq *datawriter_properties,\n    const DDS_Security_EndpointSecurityAttributes
      *datawriter_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:641,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:641,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:641,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:642,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - local_datawriter_crypto_handle
    - remote_participant_crypto
    - shared_secret
    - relay_only
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_boolean
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 646
    functionName: register_matched_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_datareader
    - check_handle
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: "DDS_Security_DatareaderCryptoHandle register_matched_remote_datareader(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatawriterCryptoHandle
      local_datawriter_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
      remote_participant_crypto,\n    const DDS_Security_SharedSecretHandle shared_secret,\n
      \   const DDS_Security_boolean relay_only,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:661,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_local_datareader
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:661,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - instance
    - participant_crypto
    - datareader_properties
    - datareader_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_local_datareader
    - check_handle
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: "DDS_Security_DatareaderCryptoHandle register_local_datareader(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto,\n
      \   const DDS_Security_PropertySeq *datareader_properties,\n    const DDS_Security_EndpointSecurityAttributes
      *datareader_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:681,1
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:681,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:681,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - instance
    - local_datareader_crypto_handle
    - remote_participant_crypt
    - shared_secret
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: register_matched_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::register_matched_remote_datawriter
    - check_handle
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: "DDS_Security_DatawriterCryptoHandle register_matched_remote_datawriter(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatareaderCryptoHandle
      local_datareader_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
      remote_participant_crypt,\n    const DDS_Security_SharedSecretHandle shared_secret,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::unregister_participant
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:699,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - participant_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 703
    functionName: unregister_participant
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::unregister_participant
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_participant(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::unregister_datawriter
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:716,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - datawriter_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 720
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::unregister_datawriter
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_datawriter(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_DatawriterCryptoHandle datawriter_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_key_factory_impl*::instance::unregister_datareader
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:733,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance
    - datareader_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 737
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_key_factory_impl*::instance::unregister_datareader
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_datareader(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_DatareaderCryptoHandle datareader_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: copy_octetseq
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:756,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::encode_serialized_payload
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:763,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:764,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:769,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:770,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:772,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:772,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:775,1
    - Dst: check_buffers
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - instance
    - encoded_buffer
    - extra_inline_qos
    - plain_buffer
    - sending_datawriter_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 784
    functionName: encode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_transform_impl*::instance::encode_serialized_payload
    - copy_octetseq
    - strlen
    - ddsrt_strdup
    - check_buffers
    - check_handle
    - find_buffer_match
    - expect_encrypted_buffer
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_serialized_payload(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_buffer,\n    DDS_Security_OctetSeq
      *extra_inline_qos,\n    const DDS_Security_OctetSeq *plain_buffer,\n    const
      DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:792,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:792,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:793,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:793,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:796,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:800,1
    - Dst: check_buffers
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - impl
    - encoded_rtps_submessage
    - plain_rtps_submessage
    - ex
    argTypes:
    - struct dds_security_crypto_transform_impl*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 801
    functionName: check_buffer_submsg
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - strlen
    - ddsrt_strdup
    - check_buffers
    - find_buffer_match
    - expect_encrypted_buffer
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_buffer_submsg(\n    struct dds_security_crypto_transform_impl
      *impl,\n    DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const DDS_Security_OctetSeq
      *plain_rtps_submessage,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: copy_octetseq
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:818,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:819,1
    - Dst: log_encode_decode
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:825,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::encode_datawriter_submessage
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:828,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:829,1
    - Dst: check_buffer_submsg
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:831,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:834,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:836,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:836,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:839,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:842,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:842,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:845,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:848,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:848,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 7
    argNames:
    - instance
    - encoded_rtps_submessage
    - plain_rtps_submessage
    - sending_datawriter_crypto
    - receiving_datareader_crypto_list
    - receiving_datareader_crypto_list_index
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandleSeq*
    - int32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (receiving_datareader_crypto_list->_length <= INT32_MAX)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 861
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 861
    functionName: encode_datawriter_submessage
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - copy_octetseq
    - assert
    - strlen
    - struct dds_security_crypto_transform_impl*::instance::encode_datawriter_submessage
    - check_buffer_submsg
    - ddsrt_strdup
    - check_handle
    - log_encode_decode
    - find_buffer_match
    - expect_encrypted_buffer
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_datawriter_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const DDS_Security_OctetSeq
      *plain_rtps_submessage,\n    const DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandleSeq *receiving_datareader_crypto_list,\n
      \   int32_t *receiving_datareader_crypto_list_index,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: copy_octetseq
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:877,1
    - Dst: log_encode_decode
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:882,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::encode_datareader_submessage
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:885,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:886,1
    - Dst: check_buffer_submsg
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - instance
    - encoded_rtps_submessage
    - plain_rtps_submessage
    - sending_datareader_crypto
    - receiving_datawriter_crypto_list
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandleSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 892
    functionName: encode_datareader_submessage
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_transform_impl*::instance::encode_datareader_submessage
    - copy_octetseq
    - check_buffer_submsg
    - check_handle
    - log_encode_decode
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_datareader_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const DDS_Security_OctetSeq
      *plain_rtps_submessage,\n    const DDS_Security_DatareaderCryptoHandle sending_datareader_crypto,\n
      \   const DDS_Security_DatawriterCryptoHandleSeq *receiving_datawriter_crypto_list,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: copy_octetseq
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:909,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:910,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::encode_rtps_message
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:917,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:918,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:922,1
    - Dst: find_buffer_match
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:923,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:923,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:926,1
    - Dst: expect_encrypted_buffer
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:929,1
    - Dst: check_buffers
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - instance
    - encoded_rtps_message
    - plain_rtps_message
    - sending_participant_crypto
    - receiving_participant_crypto_list
    - receiving_participant_crypto_list_index
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandleSeq*
    - int32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (receiving_participant_crypto_list->_length <= INT32_MAX)
      pos:
        line_end: 909
        line_start: 909
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 934
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 934
    functionName: encode_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - copy_octetseq
    - assert
    - strlen
    - ddsrt_strdup
    - check_buffers
    - check_handle
    - find_buffer_match
    - expect_encrypted_buffer
    - struct dds_security_crypto_transform_impl*::instance::encode_rtps_message
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_rtps_message(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_rtps_message,\n    const DDS_Security_OctetSeq
      *plain_rtps_message,\n    const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
      \   const DDS_Security_ParticipantCryptoHandleSeq *receiving_participant_crypto_list,\n
      \   int32_t *receiving_participant_crypto_list_index,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_transform_impl*::instance::decode_rtps_message
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:950,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:951,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - plain_buffer
    - encoded_buffer
    - receiving_participant_crypto
    - sending_participant_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 955
    functionName: decode_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - check_handle
    - struct dds_security_crypto_transform_impl*::instance::decode_rtps_message
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_rtps_message (\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_buffer,\n    const DDS_Security_OctetSeq
      *encoded_buffer,\n    const DDS_Security_ParticipantCryptoHandle receiving_participant_crypto,\n
      \   const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_transform_impl*::instance::preprocess_secure_submsg
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:973,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:974,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - instance
    - datawriter_crypto
    - datareader_crypto
    - secure_submessage_category
    - encoded_rtps_submessage
    - receiving_participant_crypto
    - sending_participant_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_DatawriterCryptoHandle*
    - DDS_Security_DatareaderCryptoHandle*
    - DDS_Security_SecureSubmessageCategory_t*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 978
    functionName: preprocess_secure_submsg
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_transform_impl*::instance::preprocess_secure_submsg
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean preprocess_secure_submsg(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_DatawriterCryptoHandle *datawriter_crypto,\n    DDS_Security_DatareaderCryptoHandle
      *datareader_crypto,\n    DDS_Security_SecureSubmessageCategory_t *secure_submessage_category,\n
      \   const DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const DDS_Security_ParticipantCryptoHandle
      receiving_participant_crypto,\n    const DDS_Security_ParticipantCryptoHandle
      sending_participant_crypto,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_encode_decode
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:993,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::decode_datawriter_submessage
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:996,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:997,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - instance
    - plain_rtps_submessage
    - encoded_rtps_submessage
    - receiving_datareader_crypto
    - sending_datawriter_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1001
    functionName: decode_datawriter_submessage
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - log_encode_decode
    - struct dds_security_crypto_transform_impl*::instance::decode_datawriter_submessage
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_datawriter_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_rtps_submessage,\n    const DDS_Security_OctetSeq
      *encoded_rtps_submessage,\n    const DDS_Security_DatareaderCryptoHandle receiving_datareader_crypto,\n
      \   const DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log_encode_decode
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1016,1
    - Dst: struct dds_security_crypto_transform_impl*::instance::decode_datareader_submessage
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1019,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1020,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - instance
    - plain_rtps_submessage
    - encoded_rtps_submessage
    - receiving_datawriter_crypto
    - sending_datareader_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1024
    functionName: decode_datareader_submessage
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - log_encode_decode
    - struct dds_security_crypto_transform_impl*::instance::decode_datareader_submessage
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_datareader_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_rtps_submessage,\n    const DDS_Security_OctetSeq
      *encoded_rtps_submessage,\n    const DDS_Security_DatawriterCryptoHandle receiving_datawriter_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandle sending_datareader_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_crypto_transform_impl*::instance::decode_serialized_payload
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1041,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1042,1
    - Dst: check_handle
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - instance
    - plain_buffer
    - encoded_buffer
    - inline_qos
    - receiving_datareader_crypto
    - sending_datawriter_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1046
    functionName: decode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 1
    functionsReached:
    - struct dds_security_crypto_transform_impl*::instance::decode_serialized_payload
    - check_handle
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_serialized_payload(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_buffer,\n    const DDS_Security_OctetSeq
      *encoded_buffer,\n    const DDS_Security_OctetSeq *inline_qos,\n    const DDS_Security_DatareaderCryptoHandle
      receiving_datareader_crypto,\n    const DDS_Security_DatawriterCryptoHandle
      sending_datawriter_crypto,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1053,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1054,1
    - Dst: init_crypto
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - argument
    - wrapped
    - gv
    argTypes:
    - char*
    - bool
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1103
    functionName: init_test_cryptography_common
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - init_crypto
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct dds_security_cryptography_impl
    signature: struct dds_security_cryptography_impl * init_test_cryptography_common(const
      char *argument, bool wrapped, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: finalize_crypto
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1108,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - impl
    - wrapped
    argTypes:
    - struct dds_security_cryptography_impl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1112
    functionName: finalize_test_cryptography_common
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_crypto
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_test_cryptography_common(struct dds_security_cryptography_impl
      * impl, bool wrapped)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: init_test_cryptography_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - init_test_cryptography_common
    linkageType: ''
    returnType: int
    signature: int init_test_cryptography_all_ok(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1127,1
    - Dst: finalize_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_ALL_OK)
      pos:
        line_end: 1126
        line_start: 1126
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: finalize_test_cryptography_all_ok
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_cryptography_common
    - assert
    linkageType: ''
    returnType: int
    signature: int finalize_test_cryptography_all_ok(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1140
    functionName: init_test_cryptography_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - init_test_cryptography_common
    linkageType: ''
    returnType: int
    signature: int init_test_cryptography_missing_func(const char *argument, void
      **context, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1145,1
    - Dst: finalize_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_MISSING_FUNC)
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: finalize_test_cryptography_missing_func
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_cryptography_common
    - assert
    linkageType: ''
    returnType: int
    signature: int finalize_test_cryptography_missing_func(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1151,1
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_cryptography_impl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: init_encode_decode_log
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_init
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_encode_decode_log(struct dds_security_cryptography_impl *impl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1157,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1158,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1160,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1161,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1162,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1164,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - impl
    argTypes:
    - struct dds_security_cryptography_impl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1166
    functionName: fini_encode_decode_log
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_circlist_remove
    - ddsrt_mutex_lock
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void fini_encode_decode_log(struct dds_security_cryptography_impl *impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1170,1
    - Dst: init_encode_decode_log
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1177
    functionName: init_test_cryptography_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - init_test_cryptography_common
    - init_encode_decode_log
    linkageType: ''
    returnType: int
    signature: int init_test_cryptography_wrapped(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1182,1
    - Dst: fini_encode_decode_log
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1183,1
    - Dst: finalize_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_WRAPPED)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 1185
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1185
    functionName: finalize_test_cryptography_wrapped
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_cryptography_common
    - assert
    - fini_encode_decode_log
    linkageType: ''
    returnType: int
    signature: int finalize_test_cryptography_wrapped(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1190
    functionName: init_print_lock
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_print_lock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1194,1
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1198,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1199,1
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1203
    functionName: init_test_cryptography_store_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_init
    - ddsrt_mutex_init
    - init_test_cryptography_common
    - ddsrt_once
    linkageType: ''
    returnType: int32_t
    signature: int32_t init_test_cryptography_store_tokens(const char *argument, void
      **context, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1208,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1209,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1210,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1212,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1213,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1214,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1216,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1217,1
    - Dst: finalize_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_TOKEN_LOG)
      pos:
        line_end: 1207
        line_start: 1207
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 1223
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1223
    functionName: finalize_test_cryptography_store_tokens
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_circlist_remove
    - finalize_test_cryptography_common
    - ddsrt_mutex_lock
    - assert
    - ddsrt_circlist_isempty
    - ddsrt_circlist_oldest
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t finalize_test_cryptography_store_tokens(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1227,1
    - Dst: init_encode_decode_log
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1234
    functionName: init_test_cryptography_plain_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - init_test_cryptography_common
    - init_encode_decode_log
    linkageType: ''
    returnType: int
    signature: int init_test_cryptography_plain_data(const char *argument, void **context,
      struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1239,1
    - Dst: fini_encode_decode_log
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1240,1
    - Dst: finalize_test_cryptography_common
      Src: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts:
    - condition: (impl->mode == PLUGIN_MODE_PLAIN_DATA)
      pos:
        line_end: 1238
        line_start: 1238
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    constantsTouched: []
    func_position:
      end: 1242
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1242
    functionName: finalize_test_cryptography_plain_data
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    functionUses: 0
    functionsReached:
    - finalize_test_cryptography_common
    - assert
    - fini_encode_decode_log
    linkageType: ''
    returnType: int
    signature: int finalize_test_cryptography_plain_data(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:24,1
    - Dst: ddsrt_cond_mtime_signal
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:31,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - msg
    argTypes:
    - struct message_queue*
    - struct message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: insert_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_signal
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void insert_message(struct message_queue *queue, struct message *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:39,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:40,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:46,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:48,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:50,1
    - Dst: DDS_Security_DataHolder_copy
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:52,1
    - Dst: insert_message
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 11
    argNames:
    - queue
    - kind
    - lidHandle
    - ridHandle
    - hsHandle
    - lguid
    - rguid
    - result
    - err_msg
    - token
    - instance
    argTypes:
    - struct message_queue*
    - message_kind_t
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    - DDS_Security_ValidationResult_t
    - char*
    - DDS_Security_DataHolder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: add_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 5
    functionsReached:
    - memcpy
    - DDS_Security_DataHolder_copy
    - memset
    - ddsrt_strdup
    - insert_message
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void add_message(struct message_queue *queue, message_kind_t kind,
      DDS_Security_IdentityHandle lidHandle, DDS_Security_IdentityHandle ridHandle,
      DDS_Security_IdentityHandle hsHandle,\n    const DDS_Security_GUID_t *lguid,
      const DDS_Security_GUID_t *rguid, DDS_Security_ValidationResult_t result, const
      char * err_msg,\n    const DDS_Security_DataHolder *token, void *instance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:62,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:63,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: delete_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 1
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void delete_message(struct message *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:72,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct message_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: init_message_queue
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_init
    - ddsrt_cond_mtime_init
    linkageType: ''
    returnType: void
    signature: void init_message_queue(struct message_queue *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_message
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:82,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:85,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct message_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: deinit_message_queue
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_mtime_destroy
    - delete_message
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void deinit_message_queue(struct message_queue *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - kind
    - lidHandle
    - ridHandle
    - hsHandle
    argTypes:
    - struct message*
    - message_kind_t
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: message_matched
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int message_matched(struct message *msg, message_kind_t kind, DDS_Security_IdentityHandle
      lidHandle, DDS_Security_IdentityHandle ridHandle, DDS_Security_IdentityHandle
      hsHandle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:102,1
    - Dst: message_matched
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:109,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:127,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - queue
    - kind
    - lidHandle
    - ridHandle
    - hsHandle
    - abstimeout
    - msg
    argTypes:
    - struct message_queue*
    - message_kind_t
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - ddsrt_mtime_t
    - struct message**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: take_message
    functionSourceFile: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - message_matched
    - ddsrt_cond_mtime_waituntil
    linkageType: ''
    returnType: enum take_message_result
    signature: enum take_message_result take_message(struct message_queue *queue,
      message_kind_t kind, DDS_Security_IdentityHandle lidHandle, DDS_Security_IdentityHandle
      ridHandle, DDS_Security_IdentityHandle hsHandle, ddsrt_mtime_t abstimeout, struct
      message **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: compare_time_event
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_time_event (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: compare_timed_cb_trigger_time
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_timed_cb_trigger_time (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - callback
    - trigger_time
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_security_timed_cb_t
    - dds_time_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: timed_event_new
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct dds_security_timed_event
    signature: struct dds_security_timed_event *timed_event_new (dds_security_time_event_handle_t
      handle, dds_security_timed_cb_t callback, dds_time_t trigger_time, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:88,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:93,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ev
    - tnow_wc
    argTypes:
    - struct dds_security_timed_event*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: calc_tsched
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t calc_tsched (const struct dds_security_timed_event *ev,
      dds_time_t tnow_wc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:109,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:110,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:112,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:114,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:115,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:116,1
    - Dst: struct dds_security_timed_event*::callback
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:118,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:119,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:121,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:122,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:128,1
    - Dst: calc_tsched
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:128,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: timed_event_cb
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - struct dds_security_timed_event*::callback
    - ddsrt_free
    - calc_tsched
    - ddsrt_mutex_lock
    - dds_time
    - ddsrt_avl_delete
    - ddsi_resched_xevent_if_earlier
    - ddsrt_fibheap_extract_min
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void timed_event_cb (struct ddsi_domaingv *gv, struct ddsi_xevent *xev,
      struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:134,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:135,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:136,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: dds_security_timed_dispatcher_new
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: struct dds_security_timed_dispatcher
    signature: struct dds_security_timed_dispatcher *dds_security_timed_dispatcher_new
      (struct ddsi_xeventq *evq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:146,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:149,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:151,1
    - Dst: calc_tsched
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:151,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:151,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dds_security_timed_dispatcher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: dds_security_timed_dispatcher_enable
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsi_qxev_callback
    - calc_tsched
    - ddsrt_mutex_lock
    - dds_time
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void dds_security_timed_dispatcher_enable (struct dds_security_timed_dispatcher
      *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:185,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:188,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dds_security_timed_dispatcher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 193
    functionName: dds_security_timed_dispatcher_disable
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_delete_xevent
    linkageType: ''
    returnType: bool
    signature: bool dds_security_timed_dispatcher_disable (struct dds_security_timed_dispatcher
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_timed_dispatcher_disable
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:205,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:207,1
    - Dst: struct dds_security_timed_event*::callback
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:209,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:210,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:212,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dds_security_timed_dispatcher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: dds_security_timed_dispatcher_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - struct dds_security_timed_event*::callback
    - ddsrt_fibheap_extract_min
    - ddsrt_mutex_destroy
    - dds_security_timed_dispatcher_disable
    linkageType: ''
    returnType: void
    signature: void dds_security_timed_dispatcher_free (struct dds_security_timed_dispatcher
      *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:218,1
    - Dst: timed_event_new
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:219,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:223,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:224,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:227,1
    - Dst: calc_tsched
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:227,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:227,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - d
    - cb
    - trigger_time
    - arg
    argTypes:
    - struct dds_security_timed_dispatcher*
    - dds_security_timed_cb_t
    - dds_time_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: dds_security_timed_dispatcher_add
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - timed_event_new
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - calc_tsched
    - dds_time
    - ddsi_resched_xevent_if_earlier
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_security_time_event_handle_t
    signature: dds_security_time_event_handle_t dds_security_timed_dispatcher_add
      (struct dds_security_timed_dispatcher *d, dds_security_timed_cb_t cb, dds_time_t
      trigger_time, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:235,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:236,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:240,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:244,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:245,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:246,1
    - Dst: struct dds_security_timed_event*::callback
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:247,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - d
    - timer
    argTypes:
    - struct dds_security_timed_dispatcher*
    - dds_security_time_event_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: dds_security_timed_dispatcher_remove
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    functionUses: 0
    functionsReached:
    - struct dds_security_timed_event*::callback
    - ddsrt_free
    - ddsrt_mutex_lock
    - ddsrt_fibheap_delete
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_timed_dispatcher_remove (struct dds_security_timed_dispatcher
      *d, dds_security_time_event_handle_t timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: DDS_Security_get_challenge1_from_secret_handle
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_shared_secret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_octet
    signature: 'DDS_Security_octet *

      DDS_Security_get_challenge1_from_secret_handle (DDS_Security_SharedSecretHandle
      handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: DDS_Security_get_challenge2_from_secret_handle
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_shared_secret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_octet
    signature: 'DDS_Security_octet *

      DDS_Security_get_challenge2_from_secret_handle (DDS_Security_SharedSecretHandle
      handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: DDS_Security_get_secret_from_secret_handle
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_shared_secret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_octet
    signature: 'DDS_Security_octet *

      DDS_Security_get_secret_from_secret_handle (DDS_Security_SharedSecretHandle
      handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: DDS_Security_get_secret_size_from_secret_handle
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_shared_secret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DDS_Security_get_secret_size_from_secret_handle (DDS_Security_SharedSecretHandle
      handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:28,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: DDS_Security_BinaryProperty_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: 'DDS_Security_BinaryProperty_t *

      DDS_Security_BinaryProperty_alloc (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:41,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:43,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: DDS_Security_BinaryProperty_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - memset
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_deinit(\n    DDS_Security_BinaryProperty_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryProperty_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:53,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: DDS_Security_BinaryProperty_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryProperty_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_free(\n    DDS_Security_BinaryProperty_t
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:63,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:69,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: DDS_Security_BinaryProperty_copy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_copy(\n     DDS_Security_BinaryProperty_t
      *dst,\n     const DDS_Security_BinaryProperty_t *src)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:84,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: DDS_Security_BinaryProperty_equal
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool DDS_Security_BinaryProperty_equal(\n     const DDS_Security_BinaryProperty_t
      *pa,\n     const DDS_Security_BinaryProperty_t *pb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:115,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:117,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:119,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:124,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - uint32_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (data)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: DDS_Security_BinaryProperty_set_by_value
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_set_by_value(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const unsigned char *data,\n     uint32_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:139,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:140,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:141,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:143,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - data
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - char*
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (data)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: DDS_Security_BinaryProperty_set_by_string
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryProperty_set_by_value
    - assert
    - strlen
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_set_by_string(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:154,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:155,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:156,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:157,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - uint32_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (data)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (length > 0)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: DDS_Security_BinaryProperty_set_by_ref
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryProperty_set_by_ref(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     unsigned char *data,\n     uint32_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:171,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: DDS_Security_BinaryPropertySeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_BinaryPropertySeq
    signature: 'DDS_Security_BinaryPropertySeq *

      DDS_Security_BinaryPropertySeq_alloc (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:182,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: DDS_Security_BinaryPropertySeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nDDS_Security_BinaryPropertySeq_allocbuf
      (\n     DDS_Security_unsigned_long len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:197,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:198,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_BinaryPropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: DDS_Security_BinaryPropertySeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_OctetSeq_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryPropertySeq_deinit(\n     DDS_Security_BinaryPropertySeq
      *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryPropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:207,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_BinaryPropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: DDS_Security_BinaryPropertySeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryPropertySeq_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BinaryPropertySeq_free(\n     DDS_Security_BinaryPropertySeq
      *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:217,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: DDS_Security_Property_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: 'DDS_Security_Property_t *

      DDS_Security_Property_alloc (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Property_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:227,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: DDS_Security_Property_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Property_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Property_free(\n    DDS_Security_Property_t *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:240,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: DDS_Security_Property_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Property_deinit(\n    DDS_Security_Property_t *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:249,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_Property_t*
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: DDS_Security_Property_copy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Property_copy(\n     DDS_Security_Property_t *dst,\n
      \    const DDS_Security_Property_t *src)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:260,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - DDS_Security_Property_t*
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: DDS_Security_Property_equal
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool DDS_Security_Property_equal(\n     const DDS_Security_Property_t
      *pa,\n     const DDS_Security_Property_t *pb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:286,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:287,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:291,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - properties
    - name
    argTypes:
    - DDS_Security_PropertySeq*
    - char*
    assertStmts:
    - condition: (properties)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 299
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 299
    functionName: DDS_Security_Property_get_value
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *\nDDS_Security_Property_get_value(\n     const DDS_Security_PropertySeq
      *properties,\n     const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:306,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: DDS_Security_PropertySeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_PropertySeq
    signature: 'DDS_Security_PropertySeq *

      DDS_Security_PropertySeq_alloc (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:317,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: DDS_Security_PropertySeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: "DDS_Security_Property_t *\nDDS_Security_PropertySeq_allocbuf (\n     DDS_Security_unsigned_long
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:331,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:332,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: DDS_Security_PropertySeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_PropertySeq_freebuf(\n     DDS_Security_PropertySeq
      *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:345,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: DDS_Security_PropertySeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_PropertySeq_free(\n     DDS_Security_PropertySeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:359,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:360,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: DDS_Security_PropertySeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_PropertySeq_deinit(\n    DDS_Security_PropertySeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:374,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:375,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:377,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - property_seq
    - name
    argTypes:
    - DDS_Security_PropertySeq*
    - char*
    assertStmts:
    - condition: (property_seq)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 386
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 386
    functionName: DDS_Security_PropertySeq_find_property
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - strlen
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: "DDS_Security_Property_t *\nDDS_Security_PropertySeq_find_property
      (\n     const DDS_Security_PropertySeq *property_seq,\n     const char *name
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:392,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: DDS_Security_DataHolder_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_DataHolder
    signature: 'DDS_Security_DataHolder *

      DDS_Security_DataHolder_alloc(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:404,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - holder
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: DDS_Security_DataHolder_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolder_free(\n    DDS_Security_DataHolder *holder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:418,1
    - Dst: DDS_Security_Property_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:421,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:423,1
    - Dst: DDS_Security_BinaryProperty_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:426,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:428,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - holder
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 431
    functionName: DDS_Security_DataHolder_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 2
    functionsReached:
    - DDS_Security_BinaryProperty_deinit
    - DDS_Security_Property_deinit
    - memset
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolder_deinit(\n    DDS_Security_DataHolder
      *holder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:440,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:441,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:444,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:451,1
    - Dst: DDS_Security_Property_copy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:453,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:459,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_DataHolder*
    - DDS_Security_DataHolder*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (src)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 464
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 464
    functionName: DDS_Security_DataHolder_copy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Property_copy
    - DDS_Security_BinaryPropertySeq_allocbuf
    - assert
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - DDS_Security_BinaryProperty_copy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolder_copy(\n     DDS_Security_DataHolder *dst,\n
      \    const DDS_Security_DataHolder *src)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:474,1
    - Dst: DDS_Security_Property_equal
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:482,1
    - Dst: DDS_Security_BinaryProperty_equal
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - psa
    - psb
    argTypes:
    - DDS_Security_DataHolder*
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: DDS_Security_DataHolder_equal
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Property_equal
    - strcmp
    - DDS_Security_BinaryProperty_equal
    linkageType: ''
    returnType: bool
    signature: "bool DDS_Security_DataHolder_equal(\n     const DDS_Security_DataHolder
      *psa,\n     const DDS_Security_DataHolder *psb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:503,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:504,1
    - Dst: DDS_Security_PropertySeq_find_property
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - holder
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts:
    - condition: (holder)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: DDS_Security_DataHolder_find_property
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_find_property
    - assert
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: "DDS_Security_Property_t *\nDDS_Security_DataHolder_find_property(\n
      \    const DDS_Security_DataHolder *holder,\n     const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:517,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:518,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:520,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - holder
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts:
    - condition: (holder)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (name)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 530
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 530
    functionName: DDS_Security_DataHolder_find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - strlen
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nDDS_Security_DataHolder_find_binary_property(\n
      \    const DDS_Security_DataHolder *holder,\n     const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:537,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: DDS_Security_DataHolderSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_DataHolderSeq
    signature: 'DDS_Security_DataHolderSeq *

      DDS_Security_DataHolderSeq_alloc (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:548,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: DDS_Security_DataHolderSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_DataHolder
    signature: "DDS_Security_DataHolder *\nDDS_Security_DataHolderSeq_allocbuf (\n
      \    DDS_Security_unsigned_long len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:561,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 568
    functionName: DDS_Security_DataHolderSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolderSeq_freebuf(\n     DDS_Security_DataHolderSeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_freebuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:575,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: DDS_Security_DataHolderSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_Security_DataHolderSeq_freebuf
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolderSeq_free(\n     DDS_Security_DataHolderSeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_freebuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: DDS_Security_DataHolderSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolderSeq_freebuf
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolderSeq_deinit(\n     DDS_Security_DataHolderSeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:596,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:597,1
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:602,1
    - Dst: DDS_Security_DataHolder_copy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_DataHolderSeq*
    - DDS_Security_DataHolderSeq*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (src)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 4
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: DDS_Security_DataHolderSeq_copy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - DDS_Security_DataHolderSeq_allocbuf
    - DDS_Security_DataHolder_copy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_DataHolderSeq_copy(\n     DDS_Security_DataHolderSeq
      *dst,\n     const DDS_Security_DataHolderSeq *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:615,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: DDS_Security_ParticipantBuiltinTopicData_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_ParticipantBuiltinTopicData
    signature: 'DDS_Security_ParticipantBuiltinTopicData *

      DDS_Security_ParticipantBuiltinTopicData_alloc(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_ParticipantBuiltinTopicData_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:625,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: DDS_Security_ParticipantBuiltinTopicData_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_Security_ParticipantBuiltinTopicData_deinit
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_ParticipantBuiltinTopicData_free(\n     DDS_Security_ParticipantBuiltinTopicData
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:636,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:637,1
    - Dst: DDS_Security_PropertyQosPolicy_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:638,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 640
    functionName: DDS_Security_ParticipantBuiltinTopicData_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - DDS_Security_PropertyQosPolicy_deinit
    - DDS_Security_OctetSeq_deinit
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_ParticipantBuiltinTopicData_deinit(\n     DDS_Security_ParticipantBuiltinTopicData
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: DDS_Security_OctetSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_OctetSeq
    signature: 'DDS_Security_OctetSeq *

      DDS_Security_OctetSeq_alloc (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: DDS_Security_OctetSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_octet
    signature: "DDS_Security_octet *\nDDS_Security_OctetSeq_allocbuf (\n     DDS_Security_unsigned_long
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 666
    functionName: DDS_Security_OctetSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_OctetSeq_freebuf(\n     DDS_Security_OctetSeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:672,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: DDS_Security_OctetSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_OctetSeq_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_OctetSeq_free(\n     DDS_Security_OctetSeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_OctetSeq_freebuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: DDS_Security_OctetSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 3
    functionsReached:
    - DDS_Security_OctetSeq_freebuf
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_OctetSeq_deinit(\n     DDS_Security_OctetSeq *seq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:690,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:696,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 701
    functionName: DDS_Security_OctetSeq_copy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - DDS_Security_OctetSeq_deinit
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_OctetSeq_copy(\n     DDS_Security_OctetSeq *dst,\n
      \    const DDS_Security_OctetSeq *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 714
    functionName: DDS_Security_HandleSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_HandleSeq
    signature: 'DDS_Security_HandleSeq *

      DDS_Security_HandleSeq_alloc(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:721,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: DDS_Security_HandleSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: DDS_Security_long_long
    signature: "DDS_Security_long_long *\nDDS_Security_HandleSeq_allocbuf(\n     DDS_Security_unsigned_long
      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_HandleSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 736
    functionName: DDS_Security_HandleSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_HandleSeq_freebuf(\n     DDS_Security_HandleSeq
      *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_HandleSeq_freebuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:745,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_HandleSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: DDS_Security_HandleSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_HandleSeq_freebuf
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_HandleSeq_free(\n     DDS_Security_HandleSeq *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_HandleSeq_freebuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_HandleSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: DDS_Security_HandleSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_HandleSeq_freebuf
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_HandleSeq_deinit(\n     DDS_Security_HandleSeq *seq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:767,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:768,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:769,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:770,1
    - Dst: va_copy
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:772,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:774,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:776,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:777,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:778,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:779,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:781,1
    - Dst: va_end
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:786,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - ex
    - context
    - code
    - minor_code
    - fmt
    - args1
    argTypes:
    - DDS_Security_SecurityException*
    - char*
    - int
    - int
    - char*
    - va_list
    assertStmts:
    - condition: (context)
      pos:
        line_end: 766
        line_start: 766
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (fmt)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (ex)
      pos:
        line_end: 768
        line_start: 768
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (false)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: ((size_t) ret == len)
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 793
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 793
    functionName: DDS_Security_Exception_vset
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - va_copy
    - ddsrt_free
    - assert
    - DDSRT_UNUSED_ARG
    - vsnprintf
    - ddsrt_malloc
    - va_end
    linkageType: ''
    returnType: void
    signature: void DDS_Security_Exception_vset (DDS_Security_SecurityException *ex,
      const char *context, int code, int minor_code, const char *fmt, va_list args1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:798,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:799,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:800,1
    - Dst: va_start
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:801,1
    - Dst: DDS_Security_Exception_vset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:802,1
    - Dst: va_end
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ex
    - context
    - code
    - minor_code
    - fmt
    argTypes:
    - DDS_Security_SecurityException*
    - char*
    - int
    - int
    - char*
    assertStmts:
    - condition: (context)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (ex)
      pos:
        line_end: 799
        line_start: 799
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (fmt)
      pos:
        line_end: 798
        line_start: 798
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: DDS_Security_Exception_set
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - va_start
    - assert
    - DDS_Security_Exception_vset
    - va_end
    linkageType: ''
    returnType: void
    signature: void DDS_Security_Exception_set (DDS_Security_SecurityException *ex,
      const char *context, int code, int minor_code, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:812,1
    - Dst: DDS_Security_Exception_clean
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 816
    functionName: DDS_Security_Exception_reset
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_clean
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Exception_reset(\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 827
    functionName: DDS_Security_Exception_clean
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Exception_clean(\n     DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:836,1
    - Dst: DDS_Security_BinaryPropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - policy
    argTypes:
    - DDS_Security_PropertyQosPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: DDS_Security_PropertyQosPolicy_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - DDS_Security_BinaryPropertySeq_deinit
    - DDS_Security_PropertySeq_deinit
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_PropertyQosPolicy_deinit(\n     DDS_Security_PropertyQosPolicy
      *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_PropertyQosPolicy_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:844,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - policy
    argTypes:
    - DDS_Security_PropertyQosPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 846
    functionName: DDS_Security_PropertyQosPolicy_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertyQosPolicy_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_PropertyQosPolicy_free(\n     DDS_Security_PropertyQosPolicy
      *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:853,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:854,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 856
    functionName: DDS_Security_set_token_nil
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - ddsrt_strdup
    - memset
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_set_token_nil(\n     DDS_Security_DataHolder *token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:864,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:865,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:868,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:869,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:872,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - key_material
    argTypes:
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 876
    functionName: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memset
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit(\n     DDS_Security_KeyMaterial_AES_GCM_GMAC
      *key_material)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_PropertySeq_find_property
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:883,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - properties
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 888
    functionName: DDS_Security_getKeySize
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_find_property
    - strcmp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DDS_Security_getKeySize (const DDS_Security_PropertySeq *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_getKeySize
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - properties
    - protection
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 906
    functionName: DDS_Security_basicprotectionkind2transformationkind
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_getKeySize
    linkageType: ''
    returnType: DDS_Security_CryptoTransformKind_Enum
    signature: "DDS_Security_CryptoTransformKind_Enum DDS_Security_basicprotectionkind2transformationkind(\n
      \    const DDS_Security_PropertySeq *properties,\n     DDS_Security_BasicProtectionKind
      protection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_getKeySize
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - properties
    - protection
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 926
    functionName: DDS_Security_protectionkind2transformationkind
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_getKeySize
    linkageType: ''
    returnType: DDS_Security_CryptoTransformKind_Enum
    signature: "DDS_Security_CryptoTransformKind_Enum DDS_Security_protectionkind2transformationkind(\n
      \    const DDS_Security_PropertySeq *properties,\n     DDS_Security_ProtectionKind
      protection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:936,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:939,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - size
    argTypes:
    - char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 942
    functionName: print_binary_debug
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_binary_debug(\n     char* name,\n     unsigned char *value,\n
      \    uint32_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_binary_debug
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 953
    functionName: print_binary_properties_debug
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - print_binary_debug
    linkageType: ''
    returnType: void
    signature: "void print_binary_properties_debug(\n     const DDS_Security_DataHolder
      *token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:966,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:967,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:968,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:970,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:971,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:976,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:979,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:980,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:982,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:985,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:987,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:988,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (data)
      pos:
        line_end: 970
        line_start: 970
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    - condition: (str)
      pos:
        line_end: 969
        line_start: 969
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 994
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 994
    functionName: DDS_Security_get_conf_item_type
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - ddsrt_strdup
    - strlen
    linkageType: ''
    returnType: DDS_Security_config_item_prefix_t
    signature: "DDS_Security_config_item_prefix_t DDS_Security_get_conf_item_type(\n
      \    const char *str,\n     char **data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1011,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1031
    functionName: DDS_Security_normalize_file
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nDDS_Security_normalize_file(\n    const char *filepath)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1060,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1123,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1123,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1123,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1123,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1124,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1124,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1125,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1125,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1127,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1127,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1128,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1128,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1129,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1129,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1139,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1143,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1156,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1156,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1157,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1157,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1220,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/core/src/dds_security_utils.c:1223,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 98
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts:
    - condition: (buf != NULL)
      pos:
        line_end: 1059
        line_start: 1059
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    constantsTouched: []
    func_position:
      end: 1230
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1230
    functionName: DDS_Security_parse_xml_date
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_utils.c
    functionUses: 1
    functionsReached:
    - ddsrt_todigit
    - DDS_SECS
    - assert
    linkageType: ''
    returnType: dds_time_t
    signature: "dds_time_t DDS_Security_parse_xml_date(\n    char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:24,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:28,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - config
    - name
    - gv
    argTypes:
    - dds_security_plugin_config*
    - char*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: check_plugin_configuration
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - GVERROR
    linkageType: ''
    returnType: bool
    signature: bool check_plugin_configuration (const dds_security_plugin_config *config,
      const char *name, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_plugin_configuration
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:40,1
    - Dst: check_plugin_configuration
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:41,1
    - Dst: check_plugin_configuration
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - security_suite_config
    - gv
    argTypes:
    - dds_security_plugin_suite_config*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: dds_security_check_plugin_configuration
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - check_plugin_configuration
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_security_check_plugin_configuration (const dds_security_plugin_suite_config
      *security_suite_config, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - function_ptr
    - plugin
    - function_name
    - gv
    argTypes:
    - void*
    - dds_security_plugin*
    - char*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: verify_function
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - GVERROR
    linkageType: ''
    returnType: bool
    signature: bool verify_function (const void *function_ptr, dds_security_plugin
      *plugin, const char *function_name, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verify_function
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - context
    - plugin
    - entries
    - nentries
    - gv
    argTypes:
    - void*
    - dds_security_plugin*
    - struct verify_plugin_functions_tab*
    - size_t
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: verify_plugin_functions
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - verify_function
    linkageType: ''
    returnType: bool
    signature: bool verify_plugin_functions (const void *context, dds_security_plugin
      *plugin, const struct verify_plugin_functions_tab *entries, size_t nentries,
      struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:84,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:85,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:86,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:87,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:88,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:89,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:90,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:91,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:92,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:93,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:94,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:95,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:96,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:97,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:98,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:99,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:104,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:105,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:106,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:107,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:108,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:109,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:110,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:111,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:112,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:113,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:114,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:115,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:116,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:117,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:118,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:119,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:120,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:121,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:122,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:123,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:124,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:125,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:126,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:127,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:128,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:129,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:130,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:131,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:132,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:137,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:138,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:139,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:140,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:141,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:142,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:143,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:144,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:145,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:150,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:151,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:152,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:153,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:154,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:155,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:156,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:161,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:162,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:163,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:164,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:165,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:166,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:167,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:168,1
    - Dst: F
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:169,1
    - Dst: C
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:173,1
    - Dst: C
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:174,1
    - Dst: C
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:175,1
    - Dst: C
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:176,1
    - Dst: C
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 7
    argNames:
    - authentication_context
    - auth_plugin
    - crypto_context
    - crypto_plugin
    - access_control_context
    - ac_plugin
    - gv
    argTypes:
    - dds_security_authentication*
    - dds_security_plugin*
    - dds_security_cryptography*
    - dds_security_plugin*
    - dds_security_access_control*
    - dds_security_plugin*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 186
    functionName: dds_security_verify_plugin_functions
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - C
    - F
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t dds_security_verify_plugin_functions(\n    dds_security_authentication
      *authentication_context, dds_security_plugin *auth_plugin,\n    dds_security_cryptography
      *crypto_context, dds_security_plugin *crypto_plugin,\n    dds_security_access_control
      *access_control_context, dds_security_plugin *ac_plugin,\n    struct ddsi_domaingv
      *gv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - context
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: FGEN
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FGEN(context, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: F
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: F
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: F
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: F
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: F
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - context
    - ','
    - plugin
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: C
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(context, plugin, table)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:198,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:199,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:200,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:206,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:207,1
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:208,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:209,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:213,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:214,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:219,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:221,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:226,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:228,1
    - Dst: dds_security_plugin*::func_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:235,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:237,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - plugin_config
    - security_plugin
    - security_plugin_context
    - gv
    argTypes:
    - dds_security_plugin_config*
    - dds_security_plugin*
    - void**
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (plugin_config->library_path)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    - condition: (plugin_config->library_init)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    - condition: (plugin_config->library_finalize)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    constantsTouched: []
    func_position:
      end: 248
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 248
    functionName: dds_security_load_security_library
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - dds_security_plugin*::func_init
    - ddsrt_dlclose
    - assert
    - ddsrt_dlopen
    - ddsrt_dlsym
    - ddsrt_dlerror
    - ddsrt_asprintf
    - strncmp
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t dds_security_load_security_library (const dds_security_plugin_config
      *plugin_config, dds_security_plugin *security_plugin,\n    void **security_plugin_context,
      struct ddsi_domaingv *gv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:253,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:254,1
    - Dst: dds_security_plugin*::func_finalize
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:257,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:259,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/security/core/src/dds_security_plugins.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - security_plugin
    - context
    argTypes:
    - dds_security_plugin*
    - void*
    assertStmts:
    - condition: (security_plugin->lib_handle)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    - condition: (security_plugin->func_finalize)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: dds_security_plugin_release
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    functionUses: 0
    functionsReached:
    - ddsrt_dlclose
    - assert
    - dds_security_plugin*::func_finalize
    - DDS_ERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_security_plugin_release (const dds_security_plugin
      *security_plugin, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: alignup_size
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t alignup_size (\n     size_t x,\n     size_t a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - a
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: alignup_ptr
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t alignup_ptr(\n     const unsigned char *ptr,\n     size_t a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:137,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - increment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: DDS_Security_Serializer_new
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_Serializer
    signature: "DDS_Security_Serializer DDS_Security_Serializer_new(\n     size_t
      size,\n     size_t increment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:151,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ser
    argTypes:
    - DDS_Security_Serializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: DDS_Security_Serializer_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serializer_free(\n     DDS_Security_Serializer ser)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:162,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:163,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ser
    - buffer
    - size
    argTypes:
    - DDS_Security_Serializer
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (ser)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    - condition: (buffer)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    - condition: (size)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: DDS_Security_Serializer_buffer
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serializer_buffer(\n     DDS_Security_Serializer
      ser,\n     unsigned char **buffer,\n     size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - needed
    argTypes:
    - DDS_Security_Serializer
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: serbuffer_adjust_size
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_realloc
    linkageType: ''
    returnType: void
    signature: "void serbuffer_adjust_size(\n    DDS_Security_Serializer ser,\n    size_t
      needed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignup_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:189,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ser
    - alignment
    argTypes:
    - DDS_Security_Serializer
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: serbuffer_align
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - serbuffer_adjust_size
    - alignup_size
    linkageType: ''
    returnType: void
    signature: "void serbuffer_align(\n     DDS_Security_Serializer ser,\n     size_t
      alignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:201,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ser
    argTypes:
    - DDS_Security_Serializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: DDS_Security_Serialize_mark_len
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - serbuffer_align
    - serbuffer_adjust_size
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_mark_len(\n     DDS_Security_Serializer
      ser)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ser
    argTypes:
    - DDS_Security_Serializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: DDS_Security_Serialize_update_len
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE2u
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_update_len(\n     DDS_Security_Serializer
      ser)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:222,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:223,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - value
    argTypes:
    - DDS_Security_Serializer
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: DDS_Security_Serialize_uint16
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - serbuffer_align
    - serbuffer_adjust_size
    - ddsrt_toBE2u
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_uint16(\n     DDS_Security_Serializer
      ser,\n     unsigned short value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:234,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:235,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - value
    argTypes:
    - DDS_Security_Serializer
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: DDS_Security_Serialize_uint32_t
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - serbuffer_align
    - ddsrt_toBE4u
    - serbuffer_adjust_size
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_uint32_t(\n     DDS_Security_Serializer
      ser,\n     uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:246,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:248,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:249,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - str
    argTypes:
    - DDS_Security_Serializer
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: DDS_Security_Serialize_string
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint32_t
    - serbuffer_adjust_size
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_string(\n     DDS_Security_Serializer
      ser,\n     const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:260,1
    - Dst: DDS_Security_Serialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ser
    - property
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: DDS_Security_Serialize_Property
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_string
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_Property(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_Property_t *property)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:269,1
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:271,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ser
    - seq
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: DDS_Security_Serialize_OctetSeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint32_t
    - serbuffer_adjust_size
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_OctetSeq(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_OctetSeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:282,1
    - Dst: DDS_Security_Serialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ser
    - property
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: DDS_Security_Serialize_BinaryProperty
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_string
    - DDS_Security_Serialize_OctetSeq
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_BinaryProperty(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_BinaryProperty_t *property)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:293,1
    - Dst: DDS_Security_Serialize_Property
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - seq
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: DDS_Security_Serialize_PropertySeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_Property
    - DDS_Security_Serialize_uint32_t
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_PropertySeq(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:307,1
    - Dst: DDS_Security_Serialize_BinaryProperty
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - serializer
    - properties
    - propertyLength
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: DDS_Security_Serialize_BinaryPropertyArray
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint32_t
    - DDS_Security_Serialize_BinaryProperty
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_BinaryPropertyArray(\n     DDS_Security_Serializer
      serializer,\n     const DDS_Security_BinaryProperty_t **properties,\n     const
      uint32_t propertyLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:320,1
    - Dst: DDS_Security_Serialize_BinaryProperty
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - serializer
    - seq
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_BinaryPropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: DDS_Security_Serialize_BinaryPropertySeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint32_t
    - DDS_Security_Serialize_BinaryProperty
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_BinaryPropertySeq(\n     DDS_Security_Serializer
      serializer,\n     const DDS_Security_BinaryPropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:332,1
    - Dst: DDS_Security_Serialize_PropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:333,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ser
    - holder
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: DDS_Security_Serialize_DataHolder
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_BinaryPropertySeq
    - DDS_Security_Serialize_PropertySeq
    - DDS_Security_Serialize_string
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_DataHolder(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_DataHolder *holder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:343,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:344,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:345,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:346,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:347,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:348,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ser
    - key
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_BuiltinTopicKey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: DDS_Security_Serialize_BuiltinTopicKey
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_uint32_t
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_BuiltinTopicKey(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_BuiltinTopicKey_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:359,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:360,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:361,1
    - Dst: DDS_Security_Serialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ser
    - seq
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: DDS_Security_Serialize_UserDataQosPolicy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_OctetSeq
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_UserDataQosPolicy(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_OctetSeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:371,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:372,1
    - Dst: DDS_Security_Serialize_mark_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:373,1
    - Dst: DDS_Security_Serialize_DataHolder
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:374,1
    - Dst: DDS_Security_Serialize_update_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ser
    - token
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 7
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: DDS_Security_Serialize_IdentityToken
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_DataHolder
    - DDS_Security_Serialize_update_len
    - DDS_Security_Serialize_mark_len
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_IdentityToken(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_IdentityToken *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:383,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:384,1
    - Dst: DDS_Security_Serialize_mark_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:385,1
    - Dst: DDS_Security_Serialize_DataHolder
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:386,1
    - Dst: DDS_Security_Serialize_update_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ser
    - token
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_PermissionsToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: DDS_Security_Serialize_PermissionsToken
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_DataHolder
    - DDS_Security_Serialize_update_len
    - DDS_Security_Serialize_mark_len
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_PermissionsToken(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_PermissionsToken *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:395,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:396,1
    - Dst: DDS_Security_Serialize_mark_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:397,1
    - Dst: DDS_Security_Serialize_PropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:398,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:400,1
    - Dst: DDS_Security_Serialize_update_len
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ser
    - policy
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_PropertyQosPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: DDS_Security_Serialize_PropertyQosPolicy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_PropertySeq
    - DDS_Security_Serialize_update_len
    - DDS_Security_Serialize_BinaryPropertySeq
    - DDS_Security_Serialize_mark_len
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_PropertyQosPolicy(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_PropertyQosPolicy *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:409,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:410,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:411,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:412,1
    - Dst: DDS_Security_Serialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ser
    - info
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_ParticipantSecurityInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: DDS_Security_Serialize_ParticipantSecurityInfo
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_uint16
    - serbuffer_align
    - DDS_Security_Serialize_uint32_t
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_ParticipantSecurityInfo(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_ParticipantSecurityInfo *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_BuiltinTopicKey
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:422,1
    - Dst: DDS_Security_Serialize_UserDataQosPolicy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:423,1
    - Dst: DDS_Security_Serialize_IdentityToken
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:424,1
    - Dst: DDS_Security_Serialize_PermissionsToken
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:425,1
    - Dst: DDS_Security_Serialize_PropertyQosPolicy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:426,1
    - Dst: DDS_Security_Serialize_ParticipantSecurityInfo
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:427,1
    - Dst: serbuffer_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:428,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:429,1
    - Dst: DDS_Security_Serialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ser
    - pdata
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_ParticipantBuiltinTopicData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 417
    functionDepth: 8
    functionLinenumber: 417
    functionLinenumberEnd: 431
    functionName: DDS_Security_Serialize_ParticipantBuiltinTopicData
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_IdentityToken
    - DDS_Security_Serialize_PermissionsToken
    - DDS_Security_Serialize_PropertyQosPolicy
    - DDS_Security_Serialize_uint16
    - DDS_Security_Serialize_BuiltinTopicKey
    - serbuffer_align
    - DDS_Security_Serialize_ParticipantSecurityInfo
    - DDS_Security_Serialize_UserDataQosPolicy
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_ParticipantBuiltinTopicData(\n     DDS_Security_Serializer
      ser,\n     DDS_Security_ParticipantBuiltinTopicData *pdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serbuffer_adjust_size
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:439,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ser
    - data
    - length
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_octet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: DDS_Security_Serialize_OctetArray
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - memcpy
    - serbuffer_adjust_size
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_OctetArray(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_octet *data,\n     uint32_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:449,1
    - Dst: DDS_Security_Serialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:450,1
    - Dst: DDS_Security_Serialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:451,1
    - Dst: DDS_Security_Serialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:452,1
    - Dst: DDS_Security_Serialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:453,1
    - Dst: DDS_Security_Serialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ser
    - data
    argTypes:
    - DDS_Security_Serializer
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_OctetArray
    - DDS_Security_Serialize_OctetSeq
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC(\n     DDS_Security_Serializer
      ser,\n     const DDS_Security_KeyMaterial_AES_GCM_GMAC *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: DDS_Security_Deserializer_new
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_Deserializer
    signature: "DDS_Security_Deserializer DDS_Security_Deserializer_new(\n     const
      unsigned char *data,\n     size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dser
    argTypes:
    - DDS_Security_Deserializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: DDS_Security_Deserializer_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Deserializer_free(\n     DDS_Security_Deserializer
      dser)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alignup_ptr
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dser
    - size
    argTypes:
    - DDS_Security_Deserializer
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: DDS_Security_Deserialize_align
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - alignup_ptr
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_Deserialize_align(\n     DDS_Security_Deserializer
      dser,\n     size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:504,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dser
    - value
    argTypes:
    - DDS_Security_Deserializer
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 514
    functionName: DDS_Security_Deserialize_uint16
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_align
    - ddsrt_fromBE2u
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_uint16(\n     DDS_Security_Deserializer
      dser,\n     unsigned short *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:523,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dser
    - value
    argTypes:
    - DDS_Security_Deserializer
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 533
    functionName: DDS_Security_Deserialize_uint32_t
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_align
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_uint32_t(\n     DDS_Security_Deserializer
      dser,\n     uint32_t *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:543,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:556,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - dser
    - value
    argTypes:
    - DDS_Security_Deserializer
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 561
    functionName: DDS_Security_Deserialize_string
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_Deserialize_uint32_t
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_string(\n      DDS_Security_Deserializer
      dser,\n      char **value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dser
    - arr
    - length
    argTypes:
    - DDS_Security_Deserializer
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 577
    functionName: DDS_Security_Deserialize_OctetArray
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_OctetArray(\n     DDS_Security_Deserializer
      dser,\n     unsigned char *arr,\n     uint32_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:585,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:593,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:598,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dser
    - seq
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: DDS_Security_Deserialize_OctetSeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - DDS_Security_Deserialize_uint32_t
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_OctetSeq(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_OctetSeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:611,1
    - Dst: DDS_Security_Deserialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dser
    - property
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_Property_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: DDS_Security_Deserialize_Property
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_string
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_Property(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_Property_t *property)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:620,1
    - Dst: DDS_Security_Deserialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dser
    - property
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_BinaryProperty_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 4
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: DDS_Security_Deserialize_BinaryProperty
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_OctetSeq
    - DDS_Security_Deserialize_string
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_BinaryProperty(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_BinaryProperty_t *property)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:635,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:641,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:643,1
    - Dst: DDS_Security_Deserialize_Property
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dser
    - seq
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 649
    functionName: DDS_Security_Deserialize_PropertySeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_allocbuf
    - DDS_Security_Deserialize_Property
    - DDS_Security_Deserialize_uint32_t
    - DDS_Security_PropertySeq_deinit
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_PropertySeq(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_PropertySeq *seq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:661,1
    - Dst: DDS_Security_BinaryPropertySeq_deinit
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:667,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:669,1
    - Dst: DDS_Security_Deserialize_BinaryProperty
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dser
    - seq
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_BinaryPropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 675
    functionName: DDS_Security_Deserialize_BinaryPropertySeq
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_BinaryProperty
    - DDS_Security_BinaryPropertySeq_deinit
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Deserialize_uint32_t
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_BinaryPropertySeq(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_BinaryPropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_string
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:682,1
    - Dst: DDS_Security_Deserialize_PropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:683,1
    - Dst: DDS_Security_Deserialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dser
    - holder
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 6
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: DDS_Security_Deserialize_DataHolder
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_PropertySeq
    - DDS_Security_Deserialize_string
    - DDS_Security_Deserialize_BinaryPropertySeq
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_DataHolder(\n      DDS_Security_Deserializer
      dser,\n      DDS_Security_DataHolder *holder)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_PropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:696,1
    - Dst: DDS_Security_Deserialize_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:699,1
    - Dst: DDS_Security_Deserialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dser
    - policy
    - len
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_PropertyQosPolicy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 6
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: DDS_Security_Deserialize_PropertyQosPolicy
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_PropertySeq
    - DDS_Security_Deserialize_align
    - DDS_Security_Deserialize_BinaryPropertySeq
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_PropertyQosPolicy(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_PropertyQosPolicy *policy,\n     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:717,1
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:718,1
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:719,1
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dser
    - key
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_BuiltinTopicKey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: DDS_Security_Deserialize_BuiltinTopicKey
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_uint32_t
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_BuiltinTopicKey(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_BuiltinTopicKey_t key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:728,1
    - Dst: DDS_Security_Deserialize_uint32_t
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dser
    - info
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_ParticipantSecurityInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: DDS_Security_Deserialize_ParticipantSecurityInfo
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_uint32_t
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_ParticipantSecurityInfo(\n    DDS_Security_Deserializer
      dser,\n    DDS_Security_ParticipantSecurityInfo *info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserialize_align
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:743,1
    - Dst: DDS_Security_Deserialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:744,1
    - Dst: DDS_Security_Deserialize_uint16
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:745,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:747,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:750,1
    - Dst: DDS_Security_Deserialize_BuiltinTopicKey
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:756,1
    - Dst: DDS_Security_Deserialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:759,1
    - Dst: DDS_Security_Deserialize_DataHolder
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:762,1
    - Dst: DDS_Security_Deserialize_DataHolder
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:765,1
    - Dst: DDS_Security_Deserialize_PropertyQosPolicy
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:768,1
    - Dst: DDS_Security_Deserialize_ParticipantSecurityInfo
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:771,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:782,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - dser
    - pdata
    - ex
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_ParticipantBuiltinTopicData*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 732
    functionDepth: 7
    functionLinenumber: 732
    functionLinenumberEnd: 788
    functionName: DDS_Security_Deserialize_ParticipantBuiltinTopicData
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_DataHolder
    - DDS_Security_Exception_set
    - DDS_Security_Deserialize_ParticipantSecurityInfo
    - DDS_Security_Deserialize_align
    - DDS_Security_Deserialize_uint16
    - DDS_Security_Deserialize_OctetSeq
    - DDS_Security_Deserialize_BuiltinTopicKey
    - DDS_Security_Deserialize_PropertyQosPolicy
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_ParticipantBuiltinTopicData(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_ParticipantBuiltinTopicData *pdata,\n     DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:795,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:796,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_BuiltinTopicKey_t
    - DDS_Security_BuiltinTopicKey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: DDS_Security_BuiltinTopicKeyBE
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE4u
    linkageType: ''
    returnType: void
    signature: "void DDS_Security_BuiltinTopicKeyBE(\n     DDS_Security_BuiltinTopicKey_t
      dst,\n     const  DDS_Security_BuiltinTopicKey_t src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:805,1
    - Dst: DDS_Security_Deserialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:807,1
    - Dst: DDS_Security_Deserialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:808,1
    - Dst: DDS_Security_Deserialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:809,1
    - Dst: DDS_Security_Deserialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:810,1
    - Dst: DDS_Security_Deserialize_OctetArray
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:811,1
    - Dst: DDS_Security_Deserialize_OctetSeq
      Src: /src/cyclonedds/src/security/core/src/dds_security_serialize.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - dser
    - data
    argTypes:
    - DDS_Security_Deserializer
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 813
    functionName: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Deserialize_OctetSeq
    - DDS_Security_Deserialize_OctetArray
    - memset
    linkageType: ''
    returnType: int
    signature: "int DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC(\n     DDS_Security_Deserializer
      dser,\n     DDS_Security_KeyMaterial_AES_GCM_GMAC *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: compare_timer_event
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_timer_event (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - control
    - event
    argTypes:
    - struct dds_security_fsm_control*
    - struct fsm_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: append_event
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_event(struct dds_security_fsm_control *control, struct
      fsm_event *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - control
    - event
    argTypes:
    - struct dds_security_fsm_control*
    - struct fsm_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: insert_event
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_event(struct dds_security_fsm_control *control, struct
      fsm_event *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct dds_security_fsm_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: get_event
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fsm_event
    signature: struct fsm_event *get_event(struct dds_security_fsm_control *control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - control
    - fsm
    argTypes:
    - struct dds_security_fsm_control*
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: remove_events
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void remove_events(struct dds_security_fsm_control *control, struct
      dds_security_fsm *fsm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_fsm*::debug_func
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:157,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:162,1
    - Dst: insert_event
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:169,1
    - Dst: append_event
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - fsm
    - event_id
    - lifo
    argTypes:
    - struct dds_security_fsm*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: fsm_dispatch
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 5
    functionsReached:
    - append_event
    - ddsrt_malloc
    - insert_event
    - struct dds_security_fsm*::debug_func
    linkageType: ''
    returnType: void
    signature: void fsm_dispatch (struct dds_security_fsm *fsm, int event_id, bool
      lifo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:180,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:180,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: set_state_timer
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_insert
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    linkageType: ''
    returnType: void
    signature: void set_state_timer (struct dds_security_fsm *fsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: clear_state_timer
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_delete
    linkageType: ''
    returnType: void
    signature: void clear_state_timer (struct dds_security_fsm *fsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: clear_overall_timer
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_delete
    linkageType: ''
    returnType: void
    signature: void clear_overall_timer (struct dds_security_fsm *fsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct dds_security_fsm_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: first_timeout
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t first_timeout (struct dds_security_fsm_control *control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fsm_dispatch
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: fsm_check_auto_state_change
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - fsm_dispatch
    linkageType: ''
    returnType: void
    signature: void fsm_check_auto_state_change (struct dds_security_fsm *fsm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_fsm*::debug_func
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:237,1
    - Dst: clear_state_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:243,1
    - Dst: set_state_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:245,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:248,1
    - Dst: func
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:251,1
    - Dst: struct dds_security_fsm*::current::func
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:253,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:255,1
    - Dst: fsm_check_auto_state_change
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:259,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - control
    - event
    argTypes:
    - struct dds_security_fsm_control*
    - struct fsm_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 265
    functionName: fsm_state_change
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - struct dds_security_fsm*::current::func
    - set_state_timer
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    - fsm_check_auto_state_change
    - clear_state_timer
    - struct dds_security_fsm*::debug_func
    - func
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void fsm_state_change (struct dds_security_fsm_control *control, struct
      fsm_event *event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fsm_dispatch
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:273,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:276,1
    - Dst: struct dds_security_fsm*::overall_timeout_action
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:278,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:279,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - control
    - timer_event
    argTypes:
    - struct dds_security_fsm_control*
    - struct fsm_timer_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: fsm_handle_timeout
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    - fsm_dispatch
    - struct dds_security_fsm*::overall_timeout_action
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void fsm_handle_timeout (struct dds_security_fsm_control *control,
      struct fsm_timer_event *timer_event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:289,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:292,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:293,1
    - Dst: get_event
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:296,1
    - Dst: fsm_state_change
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:298,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:299,1
    - Dst: first_timeout
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:303,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:304,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:307,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:308,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:309,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:313,1
    - Dst: fsm_handle_timeout
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:316,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:320,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - vcontrol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 323
    functionName: handle_events
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - first_timeout
    - fsm_handle_timeout
    - ddsi_thread_state_awake
    - get_event
    - ddsrt_free
    - ddsrt_mutex_lock
    - fsm_state_change
    - ddsi_thread_state_asleep
    - ddsrt_cond_etime_waituntil
    - ddsrt_fibheap_extract_min
    - ddsrt_time_elapsed
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t handle_events (void *vcontrol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:327,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:328,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:329,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:331,1
    - Dst: clear_overall_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:336,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:338,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:338,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:339,1
    - Dst: first_timeout
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:340,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:341,1
    - Dst: clear_overall_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:344,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - fsm
    - action
    - timeout
    argTypes:
    - struct dds_security_fsm*
    - dds_security_fsm_action
    - dds_duration_t
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (timeout > 0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (fsm->control)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: dds_security_fsm_set_timeout
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - first_timeout
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - assert
    - ddsrt_etime_add_duration
    - ddsrt_cond_etime_broadcast
    - clear_overall_timer
    - ddsrt_time_elapsed
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_set_timeout (struct dds_security_fsm *fsm, dds_security_fsm_action
      action, dds_duration_t timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:351,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:352,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:354,1
    - Dst: fsm_dispatch
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:357,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:358,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fsm
    - event_id
    - prio
    argTypes:
    - struct dds_security_fsm*
    - int32_t
    - bool
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (fsm->control)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: dds_security_fsm_dispatch
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 5
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_etime_broadcast
    - fsm_dispatch
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_dispatch (struct dds_security_fsm *fsm, int32_t
      event_id, bool prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:365,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:366,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: dds_security_fsm_running
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool dds_security_fsm_running (struct dds_security_fsm *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:374,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:376,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fsm
    - func
    argTypes:
    - struct dds_security_fsm*
    - dds_security_fsm_debug
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: dds_security_fsm_set_debug
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_set_debug (struct dds_security_fsm *fsm, dds_security_fsm_debug
      func)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - transitions
    - size
    argTypes:
    - dds_security_fsm_transition*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: fsm_validate
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fsm_validate (const dds_security_fsm_transition *transitions,
      uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:400,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - control
    - fsm
    argTypes:
    - struct dds_security_fsm_control*
    - struct dds_security_fsm*
    assertStmts:
    - condition: (control->first_fsm != NULL)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (control->first_fsm == NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: add_fsm_to_list
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void add_fsm_to_list (struct dds_security_fsm_control *control, struct
      dds_security_fsm *fsm)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - control
    - fsm
    argTypes:
    - struct dds_security_fsm_control*
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: remove_fsm_from_list
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_fsm_from_list (struct dds_security_fsm_control *control,
      struct dds_security_fsm *fsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:428,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:429,1
    - Dst: fsm_validate
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:431,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:433,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:452,1
    - Dst: add_fsm_to_list
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:453,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - control
    - transitions
    - size
    - arg
    argTypes:
    - struct dds_security_fsm_control*
    - dds_security_fsm_transition*
    - uint32_t
    - void*
    assertStmts:
    - condition: (control)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (transitions)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 457
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 457
    functionName: dds_security_fsm_create
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - add_fsm_to_list
    - fsm_validate
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct dds_security_fsm
    signature: struct dds_security_fsm * dds_security_fsm_create (struct dds_security_fsm_control
      *control, const dds_security_fsm_transition *transitions, uint32_t size, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: dds_security_fsm_start
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_start (struct dds_security_fsm *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_events
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:468,1
    - Dst: clear_state_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:469,1
    - Dst: clear_overall_timer
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - control
    - fsm
    argTypes:
    - struct dds_security_fsm_control*
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: fsm_deactivate
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - clear_overall_timer
    - remove_events
    - clear_state_timer
    linkageType: ''
    returnType: void
    signature: void fsm_deactivate (struct dds_security_fsm_control *control, struct
      dds_security_fsm *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:478,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:479,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:482,1
    - Dst: fsm_deactivate
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:483,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (fsm->control)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: dds_security_fsm_stop
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - assert
    - fsm_deactivate
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_stop (struct dds_security_fsm *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_fsm_from_list
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:489,1
    - Dst: fsm_deactivate
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:490,1
    - Dst: ddsrt_cond_etime_wait
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:492,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - control
    - fsm
    argTypes:
    - struct dds_security_fsm_control*
    - struct dds_security_fsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: fsm_delete
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - fsm_deactivate
    - remove_fsm_from_list
    - ddsrt_free
    - ddsrt_cond_etime_wait
    linkageType: ''
    returnType: void
    signature: void fsm_delete (struct dds_security_fsm_control *control, struct dds_security_fsm
      *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:500,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:501,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:504,1
    - Dst: fsm_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:505,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fsm
    argTypes:
    - struct dds_security_fsm*
    assertStmts:
    - condition: (fsm)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (fsm->control)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: dds_security_fsm_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - fsm_delete
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_free (struct dds_security_fsm *fsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:513,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:520,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:521,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: dds_security_fsm_control_create
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 1
    functionsReached:
    - ddsrt_fibheap_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_cond_etime_init
    linkageType: ''
    returnType: struct dds_security_fsm_control
    signature: struct dds_security_fsm_control * dds_security_fsm_control_create (struct
      ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:532,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:533,1
    - Dst: fsm_delete
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:538,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:543,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:546,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:547,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct dds_security_fsm_control*
    assertStmts:
    - condition: (control)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (!control->running)
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: dds_security_fsm_control_free
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 1
    functionsReached:
    - fsm_delete
    - ddsrt_free
    - assert
    - ddsrt_cond_etime_destroy
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_control_free (struct dds_security_fsm_control
      *control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:556,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - control
    - name
    argTypes:
    - struct dds_security_fsm_control*
    - char*
    assertStmts:
    - condition: (control)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: dds_security_fsm_control_start
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 1
    functionsReached:
    - ddsi_create_thread
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_security_fsm_control_start (struct dds_security_fsm_control
      *control, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:566,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:567,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:569,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:571,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:572,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/security/core/src/dds_security_fsm.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct dds_security_fsm_control*
    assertStmts:
    - condition: (control)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - condition: (control->running)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: dds_security_fsm_control_stop
    functionSourceFile: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_join_thread
    - ddsrt_cond_etime_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_security_fsm_control_stop (struct dds_security_fsm_control
      *control)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: DDS_Security_ParticipantCryptoTokenSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoTokenSeq_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: DDS_Security_ParticipantCryptoTokenSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoTokenSeq_freebuf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: DDS_Security_ParticipantCryptoTokenSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoTokenSeq_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: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: DDS_Security_ParticipantCryptoTokenSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoTokenSeq_deinit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: DDS_Security_ParticipantCryptoTokenSeq_copy
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoTokenSeq_copy(d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: DDS_Security_ParticipantCryptoHandleSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoHandleSeq_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: DDS_Security_ParticipantCryptoHandleSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoHandleSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: DDS_Security_ParticipantCryptoHandleSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoHandleSeq_freebuf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: DDS_Security_ParticipantCryptoHandleSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoHandleSeq_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: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: DDS_Security_ParticipantCryptoHandleSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_ParticipantCryptoHandleSeq_deinit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: DDS_Security_DatawriterCryptoHandleSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatawriterCryptoHandleSeq_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatawriterCryptoHandleSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: DDS_Security_DatawriterCryptoHandleSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatawriterCryptoHandleSeq_freebuf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: DDS_Security_DatawriterCryptoHandleSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatawriterCryptoHandleSeq_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: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: DDS_Security_DatawriterCryptoHandleSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatawriterCryptoHandleSeq_deinit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: DDS_Security_DatareaderCryptoHandleSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatareaderCryptoHandleSeq_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatareaderCryptoHandleSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: DDS_Security_DatareaderCryptoHandleSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatareaderCryptoHandleSeq_freebuf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: DDS_Security_DatareaderCryptoHandleSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatareaderCryptoHandleSeq_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: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: DDS_Security_DatareaderCryptoHandleSeq_deinit
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_DatareaderCryptoHandleSeq_deinit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: DDS_Security_CryptoTokenSeq_alloc
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_CryptoTokenSeq_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: DDS_Security_CryptoTokenSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_CryptoTokenSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: DDS_Security_CryptoTokenSeq_freebuf
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_CryptoTokenSeq_freebuf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: DDS_Security_CryptoTokenSeq_free
    functionSourceFile: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Security_CryptoTokenSeq_free(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:447,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:458,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:459,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:480,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:482,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:485,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:487,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:488,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:491,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:492,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:495,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:496,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:499,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 502
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:509,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:512,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:513,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:514,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:515,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - token
    - caAlgo
    argTypes:
    - DDS_Security_PermissionsToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionName: initialize_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    linkageType: ''
    returnType: void
    signature: "void initialize_permissions_token(\n    DDS_Security_PermissionsToken
      *token,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:529,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:535,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:537,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:540,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 546
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n    DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 564
    functionName: find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nfind_binary_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:594,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:595,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:596,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:598,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:599,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:602,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:603,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:606,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:607,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:610,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:611,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:616,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:618,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:621,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:622,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:627,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:628,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:632,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:643,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:646,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:647,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:649,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:650,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:652,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:653,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:654,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:656,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:657,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:662,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 5
    argNames:
    - ca_certificate
    - public_cert
    - key
    - trusted_ca_dir
    - crl_data
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 670
    functionName: validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - snprintf
    - ddsrt_fromBE4u
    - dds_security_property_init
    - dds_security_property_deinit
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - serializer_participant_data
    - memset
    - printf
    - ddsrt_strdup
    - initialize_permissions_token
    - DDS_Security_ParticipantBuiltinTopicData_free
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int validate_local_identity(const char *ca_certificate, const char
      *public_cert, const char *key, const char *trusted_ca_dir, const char *crl_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:679,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:681,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:683,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 687
    functionName: release_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - return_identity_handle
    - DDS_Security_OctetSeq_deinit
    - printf
    linkageType: ''
    returnType: void
    signature: void release_local_identity(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:696,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:701,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 706
    functionName: load_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: "X509 *\nload_certificate(\n   const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:722,1
    - Dst: i2d_X509_NAME
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:723,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:725,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:726,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:727,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:729,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:730,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - candidate
    - adjusted
    argTypes:
    - X509*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 745
    functionName: get_adjusted_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - i2d_X509_NAME
    - OPENSSL_free
    - SHA256
    - X509_get_subject_name
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int get_adjusted_participant_guid(\n    X509 *cert,\n    const DDS_Security_GUID_t
      *candidate,\n    DDS_Security_GUID_t *adjusted)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:762,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:763,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:764,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:765,1
    - Dst: load_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:771,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:776,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:777,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:781,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:782,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:786,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:788,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:790,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:802,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:805,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:807,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:809,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:821,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:824,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:826,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:827,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:829,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:830,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:831,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:832,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:833,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:835,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:836,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:841,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:842,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:843,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:844,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:845,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:847,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:848,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:853,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:854,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:856,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:857,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 1
    argNames:
    - remote_id_certificate
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 866
    functionName: validate_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - X509_free
    - ddsrt_fromBE4u
    - validate_remote_identity
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - deinitialize_identity_token
    - get_adjusted_participant_guid
    - printf
    - find_binary_property
    - DDS_Security_DataHolder_deinit
    - load_certificate
    - initialize_permissions_token
    - fill_auth_request_token
    linkageType: ''
    returnType: int
    signature: int validate_remote_identities (const char *remote_id_certificate)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:875,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:877,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:879,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:882,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:884,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:886,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:889,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:890,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:893,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:897,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 904
    functionName: release_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    - DDS_Security_DataHolder_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    linkageType: ''
    returnType: void
    signature: void release_remote_identities(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:909,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:912,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:917,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:919,1
    - Dst: create_dh_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:922,1
    - Dst: get_dh_public_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:925,1
    - Dst: create_dh_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:928,1
    - Dst: get_dh_public_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:931,1
    - Dst: octet_seq_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 943
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - get_dh_public_key_modp_2048
    - get_dh_public_key_ecdh
    - create_dh_key_ecdh
    - octet_seq_init
    - validate_remote_identities
    - create_dh_key_modp_2048
    - dds_openssl_init
    - load_plugins
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_process_handshake)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:947,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:948,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:949,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:950,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:951,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:952,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:954,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 960
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - release_remote_identities
    - unload_plugins
    - EVP_PKEY_free
    - release_local_identity
    - octet_seq_deinit
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_process_handshake)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - seq1
    - seq2
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 979
    functionName: compare_octet_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool compare_octet_seq(\n    const DDS_Security_OctetSeq *seq1,\n
      \   const DDS_Security_OctetSeq *seq2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:988,1
    - Dst: DDS_Security_Serialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:990,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:991,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdata
    - buffer
    - size
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 9
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: serializer_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Serialize_ParticipantBuiltinTopicData
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: "void serializer_participant_data(\n    DDS_Security_ParticipantBuiltinTopicData
      *pdata,\n    unsigned char **buffer,\n    size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1003,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1004,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1005,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1007,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1010,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - uint32_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 1002
        line_start: 1002
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: (name)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: (data)
      pos:
        line_end: 1004
        line_start: 1004
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    constantsTouched: []
    func_position:
      end: 1015
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1015
    functionName: set_binary_property_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_value(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const unsigned char *data,\n     uint32_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1025,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1026,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1027,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1029,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - data
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - char*
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: (data)
      pos:
        line_end: 1026
        line_start: 1026
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: (name)
      pos:
        line_end: 1025
        line_start: 1025
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    constantsTouched: []
    func_position:
      end: 1031
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1031
    functionName: set_binary_property_string
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - set_binary_property_value
    - assert
    - strlen
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_string(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const char *data)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1072,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1082,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1086,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1088,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1092,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1095,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1096,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1100,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1102,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1107,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1109,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1123,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1125,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1126,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1127,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1128,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1129,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1131,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1136,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1138,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1143,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1145,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1148,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1154,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1169,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1173,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1175,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1179,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1182,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1183,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1187,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1189,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1194,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1196,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1199,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1201,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1214,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1216,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1217,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1218,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1220,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1221,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1223,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1228,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1230,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1235,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1237,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1243,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1245,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1250,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1252,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1265,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1266,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1267,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1268,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1277,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1279,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1283,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1284,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1286,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1287,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1290,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1296,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1306,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1307,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1309,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1310,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1312,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1316,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1318,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1323,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1325,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1331,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1333,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1338,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1340,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1352,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1353,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1354,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1355,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1364,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1366,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1370,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1371,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1373,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1374,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 203
    argCount: 14
    argNames:
    - token
    - pdata
    - certificate
    - dsign
    - kagree
    - diffie_hellman1
    - challengeData
    - challengeDataSize
    - diffie_hellman2
    - challengeData2
    - challengeDataSize2
    - hash1_from_request
    - hash2_from_reply
    - step
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - char*
    - char*
    - char*
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    - HandshakeStep_t
    assertStmts:
    - condition: (private_key_x509 )
      pos:
        line_end: 1267
        line_start: 1267
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: ( bio )
      pos:
        line_end: 1265
        line_start: 1265
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: ( bio )
      pos:
        line_end: 1352
        line_start: 1352
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    - condition: (private_key_x509 )
      pos:
        line_end: 1354
        line_start: 1354
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    constantsTouched: []
    func_position:
      end: 1381
      start: 1033
    functionDepth: 6
    functionLinenumber: 1033
    functionLinenumberEnd: 1381
    functionName: fill_handshake_message_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - BIO_new_mem_buf
    - SHA256
    - DDS_Security_BinaryPropertySeq_allocbuf
    - PEM_read_bio_PrivateKey
    - DDS_Security_Serializer_buffer
    - ddsrt_strdup
    - DDS_Security_Serializer_new
    - DDS_Security_Serialize_BinaryPropertySeq
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - assert
    - serializer_participant_data
    - printf
    - BIO_free
    - create_signature_for_test
    - set_binary_property_string
    - DDS_Security_Serializer_free
    - set_binary_property_value
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const char
      *certificate,\n    const char *dsign,\n    const char *kagree,\n    const struct
      octet_seq *diffie_hellman1,\n    const unsigned char *challengeData,\n    unsigned
      int challengeDataSize,\n    const struct octet_seq *diffie_hellman2,\n    const
      unsigned char *challengeData2,\n    unsigned int challengeDataSize2,\n    const
      DDS_Security_BinaryProperty_t *hash1_from_request,\n    const DDS_Security_BinaryProperty_t
      *hash2_from_reply,\n    HandshakeStep_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - pdata
    - challengeData
    - challengeDataSize
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1394
    functionName: fill_handshake_message_token_default
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - fill_handshake_message_token
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token_default(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const unsigned
      char *challengeData,\n    unsigned int challengeDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1401
    functionName: handshake_message_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void handshake_message_deinit(\n    DDS_Security_HandshakeMessageToken
      *token)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1426,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1429,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1430,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1431,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1432,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1433,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1434,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1435,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1436,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1437,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1438,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1439,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1440,1
    - Dst: compare_octet_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1441,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1442,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1443,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1444,1
    - Dst: compare_octet_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1445,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1446,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - token
    - challenge1
    - challenge2
    - token_type
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - HandshakeStep_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1452
    functionName: validate_handshake_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - find_binary_property
    - CU_FAIL
    - strcmp
    - compare_octet_seq
    linkageType: ''
    returnType: bool
    signature: "bool validate_handshake_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    const DDS_Security_OctetSeq *challenge1,\n    const DDS_Security_OctetSeq
      *challenge2,\n    HandshakeStep_t token_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1470,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1471,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1472,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1473,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1474,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1475,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1477,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1487,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1491,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1494,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1496,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1498,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1499,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1500,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1506,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1512,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1514,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1521,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1522,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1523,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1523,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1525,1
    - Dst: check_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1525,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1527,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1528,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1530,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1532,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1533,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1534,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1536
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - check_shared_secret
    - CU_ASSERT_EQ_FATAL
    - validate_handshake_token
    - printf
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - CU_ASSERT_EQ
    - process_handshake
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,happy_day_after_request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1555,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1557,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1558,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1559,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1560,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1561,1
    - Dst: fill_handshake_message_token_default
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1563,1
    - Dst: begin_handshake_reply
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1565,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1576,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1579,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1580,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1581,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1581,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1583,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1584,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1587,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1590,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1592,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1598,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1604,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1612,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1614,1
    - Dst: check_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1614,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1616,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1617,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1620,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1622,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1624,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1625,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1626,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1628
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - check_shared_secret
    - return_handshake_handle
    - CU_ASSERT_EQ_FATAL
    - validate_handshake_token
    - printf
    - fill_handshake_message_token
    - CU_ASSERT_EQ
    - process_handshake
    - handshake_message_deinit
    - find_binary_property
    - begin_handshake_reply
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,happy_day_after_reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1646,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1648,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1649,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1650,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1651,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1652,1
    - Dst: fill_handshake_message_token_default
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1654,1
    - Dst: begin_handshake_reply
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1656,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1667,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1670,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1671,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1672,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1672,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1675,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1677,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1678,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1681,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1683,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1689,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1697,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1704,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1705,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1706,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1707,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1709,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1716,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1717,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1718,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1719,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1721,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1728,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1729,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1730,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1731,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1733,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1734,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1736,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1737,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1739
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_handshake_handle
    - CU_ASSERT_EQ_FATAL
    - validate_handshake_token
    - printf
    - fill_handshake_message_token
    - CU_ASSERT_EQ
    - process_handshake
    - handshake_message_deinit
    - find_binary_property
    - begin_handshake_reply
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,invalid_arguments)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1757,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1758,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1759,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1760,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1761,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1762,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1764,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1774,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1777,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1780,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1783,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1785,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1787,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1788,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1789,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1795,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1802,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1804,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1811,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1812,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1813,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1815,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1817,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1818,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1820,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1822,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1823,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1825
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - printf
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - process_handshake
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,invalid_certificate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1842,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1843,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1844,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1845,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1846,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1847,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1849,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1859,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1862,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1865,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1868,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1870,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1872,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1873,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1874,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1880,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1887,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1889,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1896,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1897,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1898,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1900,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1901,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1902,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1904
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - printf
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - process_handshake
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,invalid_dsign_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1921,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1922,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1923,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1924,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1925,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1926,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1928,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1938,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1941,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1944,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1947,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1949,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1951,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1952,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1953,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1959,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1966,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1968,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1975,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1976,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1977,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1979,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1980,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1981,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1983
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - printf
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - process_handshake
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,invalid_kagree_algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:1999,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2000,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2001,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2002,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2003,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2004,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2006,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2016,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2019,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2022,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2025,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2027,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2029,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2030,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2031,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2034,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2041,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2043,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2050,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2051,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2052,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2054,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2055,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2056,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2058
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - printf
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - process_handshake
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,invalid_diffie_hellman)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2070,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2071,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2072,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2073,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2074,1
    - Dst: fill_handshake_message_token_default
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2076,1
    - Dst: begin_handshake_reply
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2078,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2089,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2092,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2093,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2095,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2097,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2098,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2101,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2103,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2105,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2106,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2107,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2108,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2111,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2113,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2115,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2117
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_handshake_handle
    - CU_ASSERT_EQ_FATAL
    - printf
    - CU_ASSERT_EQ
    - handshake_message_deinit
    - begin_handshake_reply
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,return_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2135,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2136,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2138,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2138,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2139,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2139,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2141,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2142,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2143,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2144,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2145,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2146,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2148,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2158,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2160,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2163,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2166,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2168,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2170,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2171,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2172,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2178,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2184,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2193,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2194,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2195,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2195,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2197,1
    - Dst: check_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2197,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2199,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2200,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2202,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2204,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2205,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2206,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2207,1
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2210,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2211,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2213,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2213,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2214,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2214,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2216,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2217,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2218,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2219,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2220,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2221,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2223,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2233,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2237,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2240,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2242,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2244,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2245,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2246,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2252,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2258,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2260,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2267,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2269,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2272,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2273,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2274,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2275,1
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2279,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2280,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2282,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2282,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2283,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2283,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2285,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2286,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2287,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2288,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2289,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2290,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2292,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2302,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2306,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2309,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2311,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2313,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2314,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2315,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2321,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2327,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2329,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2336,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2337,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2340,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2343,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2344,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2345,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2347
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - validate_handshake_token
    - release_remote_identities
    - handshake_message_deinit
    - return_handshake_handle
    - release_local_identity
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - process_handshake
    - find_binary_property
    - begin_handshake_request
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_shared_secret
    - printf
    - fill_handshake_message_token
    - validate_remote_identities
    - validate_local_identity
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,extended_certificate_check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2364,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2365,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2367,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2367,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2368,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2368,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2370,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2371,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2372,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2373,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2374,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2375,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2377,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2387,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2389,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2392,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2395,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2397,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2399,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2400,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2401,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2407,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2413,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2415,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2423,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2426,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2427,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2429,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2431,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2432,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2433,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2435
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - release_remote_identities
    - begin_handshake_request
    - printf
    - fill_handshake_message_token
    - process_handshake
    - find_binary_property
    - validate_remote_identities
    - handshake_message_deinit
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - release_local_identity
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_process_handshake,crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CRYPTO_TRANSFORM_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_KIND(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CRYPTO_TRANSFORM_ID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_ID(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:49,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:70,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:93,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:94,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:97,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 2
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:119,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:150,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:151,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:156,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 2
    functionsReached:
    - prepare_endpoint_security_attributes
    - printf
    - memset
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: int
    signature: int register_local_datawriter(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:176,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datareader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 14
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:202,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:203,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:203,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:208,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:208,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:209,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:210,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:210,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:211,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: suite_create_local_datawriter_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - register_remote_datareader
    - register_local_datawriter
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_create_local_datawriter_crypto_tokens_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:220,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:221,1
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:225,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:226,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:230,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:231,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:235,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:236,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:238,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 240
    functionName: suite_create_local_datawriter_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    - crypto_key_factory::unregister_participant
    - deallocate_shared_secret
    - unload_plugins
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void suite_create_local_datawriter_crypto_tokens_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: data_not_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool data_not_empty(unsigned char *data, uint32_t length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:259,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:260,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:262,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:264,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:267,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:269,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:274,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:279,1
    - Dst: data_not_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:282,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:284,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:289,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:294,1
    - Dst: data_not_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:297,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:299,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:308,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 312
    functionName: check_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CRYPTO_TRANSFORM_ID
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - CRYPTO_TRANSFORM_KIND
    - printf
    - data_not_empty
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: bool
    signature: bool check_key_material(DDS_Security_OctetSeq *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:327,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:331,1
    - Dst: check_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 342
    functionName: check_token_validity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - check_key_material
    linkageType: ''
    returnType: bool
    signature: bool check_token_validity(const DDS_Security_DatawriterCryptoTokenSeq
      *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:64,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:66,1
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: register_local_regular
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 0
    functionsReached:
    - prepare_endpoint_security_attributes
    - crypto_key_factory::register_local_datareader
    - memset
    linkageType: ''
    returnType: void
    signature: void register_local_regular(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:88,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:88,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:95,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:96,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:110,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:111,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:112,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:114,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:115,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:123,1
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:126,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 135
    functionName: suite_register_matched_remote_datawriter_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - crypto_key_factory::register_matched_remote_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_datawriter_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:142,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:142,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:147,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:147,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:152,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:153,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: suite_register_matched_remote_datawriter_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::unregister_participant
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_datawriter_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
    functionUses: 15
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:70,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:90,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:101,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:102,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:105,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 5
    functionsReached:
    - crypto_key_factory::register_local_participant
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:126,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes( DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:156,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:157,1
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:160,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 3
    functionsReached:
    - prepare_endpoint_security_attributes
    - crypto_key_factory::register_local_datareader
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_datareader(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:179,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:181,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datareader(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:201,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:202,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:205,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 4
    functionsReached:
    - prepare_endpoint_security_attributes
    - printf
    - memset
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: int
    signature: int register_local_datawriter(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:224,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datawriter(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:247,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:251,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: retrieve_datawriter_keys
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Deserializer_free
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean retrieve_datawriter_keys(DDS_Security_DatawriterCryptoTokenSeq
      *tokens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:268,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:272,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatareaderCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: retrieve_datareader_keys
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Deserializer_free
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean retrieve_datareader_keys(DDS_Security_DatareaderCryptoTokenSeq
      *tokens)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:285,1
    - Dst: crypto_key_exchange::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:288,1
    - Dst: retrieve_datawriter_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:296,1
    - Dst: crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:299,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: set_remote_datawriter_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_exchange::set_remote_datawriter_crypto_tokens
    - crypto_key_exchange::create_local_datawriter_crypto_tokens
    - retrieve_datawriter_keys
    - memset
    - DDS_Security_DataHolderSeq_deinit
    linkageType: ''
    returnType: int
    signature: int set_remote_datawriter_tokens(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:318,1
    - Dst: crypto_key_exchange::create_local_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:321,1
    - Dst: retrieve_datareader_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:329,1
    - Dst: crypto_key_exchange::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:331,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 312
    functionDepth: 6
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: set_remote_datareader_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_exchange::set_remote_datareader_crypto_tokens
    - retrieve_datareader_keys
    - memset
    - DDS_Security_DataHolderSeq_deinit
    - crypto_key_exchange::create_local_datareader_crypto_tokens
    linkageType: ''
    returnType: int
    signature: int set_remote_datareader_tokens(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 15
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:355,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:356,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:357,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:358,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:360,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:360,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:365,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:365,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:366,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:366,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:367,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:367,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:368,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:368,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:369,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:369,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:370,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:371,1
    - Dst: set_remote_datawriter_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:371,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:372,1
    - Dst: set_remote_datareader_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: suite_preprocess_secure_submsg_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - set_remote_datareader_tokens
    - register_remote_datawriter
    - register_local_datareader
    - register_remote_participant
    - memset
    - allocate_shared_secret
    - set_remote_datawriter_tokens
    - register_local_participant
    - register_remote_datareader
    - register_local_datawriter
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_preprocess_secure_submsg_init (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:380,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:381,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:384,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:385,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:388,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:389,1
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:392,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:393,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:396,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:397,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:400,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:401,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:404,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:405,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:406,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 408
    functionName: suite_preprocess_secure_submsg_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    - crypto_key_factory::unregister_participant
    - crypto_key_factory::unregister_datawriter
    - deallocate_shared_secret
    - unload_plugins
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: void
    signature: void suite_preprocess_secure_submsg_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: submsg_header_endianness_flag
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char submsg_header_endianness_flag (enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:426,1
    - Dst: submsg_header_endianness_flag
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:431,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:432,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:434,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - key_id
    - transform_kind
    - msg_id
    - bo
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_CryptoTransformKeyId
    - DDS_Security_CryptoTransformKind
    - unsigned char
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: create_encoded_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - submsg_header_endianness_flag
    - ddsrt_toBO2u
    linkageType: ''
    returnType: void
    signature: void create_encoded_submsg(DDS_Security_OctetSeq *msg, DDS_Security_CryptoTransformKeyId
      key_id, DDS_Security_CryptoTransformKind transform_kind, unsigned char msg_id,
      enum ddsrt_byte_order_selector bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:444,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: clear_encoded_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    functionUses: 0
    functionsReached:
    - memset
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void clear_encoded_submsg(DDS_Security_OctetSeq *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:157,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:168,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:169,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 16
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:190,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:192,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:195,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:197,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:198,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:201,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:202,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:205,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:206,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:209,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:222,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:228,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:230,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:233,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 239
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n     DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 11
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nfind_binary_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 1
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:279,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:280,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:281,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:283,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:284,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:285,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:286,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:287,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:288,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:289,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:290,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:293,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:304,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:307,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 311
    functionName: validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 7
    functionsReached:
    - reset_exception
    - dds_security_property_init
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - ddsrt_strdup
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int validate_local_identity(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:320,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:322,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: release_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void release_local_identity(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:342,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:343,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:344,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:345,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:351,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:353,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:365,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:368,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:370,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:372,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:384,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:387,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:389,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:390,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:392,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 396
    functionName: validate_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - validate_remote_identity
    - memcpy
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - find_binary_property
    - fill_auth_request_token
    linkageType: ''
    returnType: int
    signature: int validate_remote_identities (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:405,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:407,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:409,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:412,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:414,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:416,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:419,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: release_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - DDS_Security_DataHolder_deinit
    - return_identity_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void release_remote_identities(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pdata
    - length
    argTypes:
    - DDS_Security_OctetSeq*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: fill_local_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void fill_local_participant_data(\n    DDS_Security_OctetSeq *pdata,\n
      \   uint32_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdata
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: release_local_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void release_local_participant_data(\n    DDS_Security_OctetSeq *pdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:452,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:457,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - validate_remote_identities
    - load_plugins
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_validate_begin_handshake_request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:470,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:471,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - release_remote_identities
    - release_local_identity
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_validate_begin_handshake_request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - seq1
    - seq2
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: compare_octet_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool compare_octet_seq(\n    const DDS_Security_OctetSeq *seq1,\n
      \   const DDS_Security_OctetSeq *seq2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:501,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - certificate
    - value
    argTypes:
    - char*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 508
    functionName: valid_c_id_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - strncmp
    - CU_FAIL
    linkageType: ''
    returnType: bool
    signature: "bool valid_c_id_property(\n    const char *certificate,\n    const
      DDS_Security_OctetSeq *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:515,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expected
    - value
    argTypes:
    - char*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: valid_string_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool valid_string_value(\n    const char *expected,\n    const DDS_Security_OctetSeq
      *value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:533,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:534,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:535,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:536,1
    - Dst: valid_c_id_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:537,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:538,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:539,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:540,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:541,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:542,1
    - Dst: valid_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:543,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:544,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:545,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:546,1
    - Dst: valid_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:547,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:548,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:549,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:550,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:551,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:552,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:553,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:554,1
    - Dst: compare_octet_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:555,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:556,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - token
    - challenge
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 562
    functionName: validate_handshake_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 4
    functionsReached:
    - CU_FAIL
    - compare_octet_seq
    - valid_c_id_property
    - strcmp
    - valid_string_value
    - find_binary_property
    linkageType: ''
    returnType: bool
    signature: "bool validate_handshake_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    const DDS_Security_OctetSeq *challenge)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:575,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:576,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:577,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:578,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:579,1
    - Dst: fill_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:581,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:583,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:593,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:596,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:597,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:598,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:598,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:600,1
    - Dst: release_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:602,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:604,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:605,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:608,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:610,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 613
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - fill_local_participant_data
    - validate_handshake_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_NEQ_FATAL
    - release_local_participant_data
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_begin_handshake_request,happy_day_challenge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:624,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:625,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:626,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:627,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:628,1
    - Dst: fill_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:630,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:632,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:642,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:645,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:646,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:647,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:647,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:649,1
    - Dst: release_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:651,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:653,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:654,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:657,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:659,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 662
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - fill_local_participant_data
    - validate_handshake_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_NEQ_FATAL
    - release_local_participant_data
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_begin_handshake_request,happy_day_future_challenge)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:673,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:674,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:675,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:676,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:677,1
    - Dst: fill_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:679,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:681,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:691,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:693,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:694,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:695,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:696,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:698,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:708,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:710,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:711,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:712,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:713,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:715,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:725,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:727,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:728,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:729,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:730,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:732,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:742,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:744,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:745,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:746,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:747,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:749,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:759,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:761,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:762,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:763,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:764,1
    - Dst: release_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 767
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - fill_local_participant_data
    - printf
    - CU_ASSERT_NEQ_FATAL
    - release_local_participant_data
    - begin_handshake_request
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_begin_handshake_request,invalid_arguments)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:778,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:779,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:780,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:781,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:782,1
    - Dst: fill_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:784,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:786,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:796,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:799,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:800,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:802,1
    - Dst: release_local_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:804,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:806,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:807,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:810,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:812,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:814,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:815,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:816,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:817,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:820,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:822,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 825
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - fill_local_participant_data
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_NEQ_FATAL
    - release_local_participant_data
    - CU_ASSERT_EQ
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_begin_handshake_request,return_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:351,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:362,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:363,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 24
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:382,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:382,1
    - Dst: ERR_print_errors
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:388,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:389,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:390,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:391,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:392,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:393,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: get_openssl_error
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - ERR_print_errors
    - memcpy
    - BIO_new
    - memset
    - ddsrt_strdup
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: "char *\nget_openssl_error(\n        void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:407,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:409,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:412,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:414,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:415,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:418,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:419,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:422,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:423,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:426,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 429
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:436,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:439,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:440,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:441,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:442,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - token
    - caAlgo
    argTypes:
    - DDS_Security_PermissionsToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 444
    functionName: initialize_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    linkageType: ''
    returnType: void
    signature: "void initialize_permissions_token(\n    DDS_Security_PermissionsToken
      *token,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:456,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:462,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:464,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:467,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 473
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n     DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 13
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nfind_binary_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:521,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:522,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:523,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:525,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:526,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:529,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:530,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:533,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:534,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:537,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:538,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:543,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:545,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:548,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:549,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:554,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:555,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:559,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:570,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:573,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:574,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:576,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:577,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:579,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:580,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:581,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:583,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:584,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:589,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 2
    argNames:
    - trusted_ca_dir
    - crl_data
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 597
    functionName: validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 9
    functionsReached:
    - reset_exception
    - snprintf
    - ddsrt_fromBE4u
    - dds_security_property_init
    - dds_security_property_deinit
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - serializer_participant_data
    - memset
    - printf
    - ddsrt_strdup
    - initialize_permissions_token
    - DDS_Security_ParticipantBuiltinTopicData_free
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int validate_local_identity(const char *trusted_ca_dir, const char
      *crl_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:606,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:608,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:610,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 614
    functionName: release_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 4
    functionsReached:
    - reset_exception
    - return_identity_handle
    - DDS_Security_OctetSeq_deinit
    - printf
    linkageType: ''
    returnType: void
    signature: void release_local_identity(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:624,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:629,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 634
    functionName: load_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 1
    functionsReached:
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: "X509 *\nload_certificate(\n   const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:651,1
    - Dst: i2d_X509_NAME
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:652,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:654,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:655,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:656,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:658,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:659,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - candidate
    - adjusted
    argTypes:
    - X509*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 674
    functionName: get_adjusted_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - memcpy
    - i2d_X509_NAME
    - OPENSSL_free
    - SHA256
    - X509_get_subject_name
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int get_adjusted_participant_guid(\n    X509 *cert,\n    const DDS_Security_GUID_t
      *candidate,\n    DDS_Security_GUID_t *adjusted)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:691,1
    - Dst: get_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:693,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:695,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:696,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:700,1
    - Dst: get_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:702,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:704,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:705,1
    - Dst: get_pubkey_asn1int
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:709,1
    - Dst: get_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:711,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:713,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:714,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:718,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:720,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:721,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:722,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:724,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:727,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - keystr
    - pubkey
    - size
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 732
    functionName: set_dh_public_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - ddsrt_free
    - ASN1_INTEGER_free
    - memcpy
    - get_pubkey_asn1int
    - OPENSSL_free
    - PEM_read_bio_PUBKEY
    - printf
    - BIO_free
    - get_openssl_error
    - EVP_PKEY_free
    - i2d_ASN1_INTEGER
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int set_dh_public_key(\n    const char *keystr,\n    unsigned char
      **pubkey,\n    size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_dh_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:740,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:742,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 747
    functionName: set_dh_keys
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - set_dh_public_key
    linkageType: ''
    returnType: int
    signature: int set_dh_keys(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:765,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:766,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:767,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:768,1
    - Dst: load_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:774,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:779,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:780,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:784,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:785,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:789,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:791,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:793,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:806,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:809,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:811,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:813,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:826,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:829,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:831,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:832,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:834,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:835,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:836,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:837,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:838,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:841,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:842,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:847,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:848,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:849,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:850,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:851,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:853,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:854,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:859,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:860,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:862,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:863,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:868,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:869,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 1
    argNames:
    - remote_id_certificate
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 872
    functionName: validate_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 4
    functionsReached:
    - reset_exception
    - X509_free
    - ddsrt_fromBE4u
    - validate_remote_identity
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - deinitialize_identity_token
    - get_adjusted_participant_guid
    - printf
    - find_binary_property
    - DDS_Security_DataHolder_deinit
    - load_certificate
    - initialize_permissions_token
    - fill_auth_request_token
    linkageType: ''
    returnType: int
    signature: int validate_remote_identities (const char *remote_id_certificate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:881,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:883,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:885,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:889,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:891,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:893,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:897,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:898,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:900,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:901,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 906
    functionName: release_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 4
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    - DDS_Security_DataHolder_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    linkageType: ''
    returnType: void
    signature: void release_remote_identities(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:913,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:919,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:921,1
    - Dst: set_dh_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:924,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 908
    functionDepth: 5
    functionLinenumber: 908
    functionLinenumberEnd: 931
    functionName: init_testcase
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - validate_remote_identities
    - set_dh_keys
    - load_plugins
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void init_testcase(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:935,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:936,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:937,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:938,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 941
    functionName: fini_testcase
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 0
    functionsReached:
    - release_remote_identities
    - ddsrt_free
    - release_local_identity
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void fini_testcase(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - seq1
    - seq2
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 963
    functionName: compare_octet_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool compare_octet_seq(\n    const DDS_Security_OctetSeq *seq1,\n
      \   const DDS_Security_OctetSeq *seq2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:971,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - certificate
    - value
    argTypes:
    - char*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 978
    functionName: valid_c_id_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 1
    functionsReached:
    - strncmp
    - CU_FAIL
    linkageType: ''
    returnType: bool
    signature: "bool valid_c_id_property(\n    const char *certificate,\n    const
      DDS_Security_OctetSeq *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:985,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expected
    - value
    argTypes:
    - char*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: valid_string_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool valid_string_value(\n    const char *expected,\n    const DDS_Security_OctetSeq
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1001,1
    - Dst: DDS_Security_Serialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1003,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1004,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdata
    - buffer
    - size
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 994
    functionDepth: 9
    functionLinenumber: 994
    functionLinenumberEnd: 1006
    functionName: serializer_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 3
    functionsReached:
    - DDS_Security_Serialize_ParticipantBuiltinTopicData
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: "void serializer_participant_data(\n    DDS_Security_ParticipantBuiltinTopicData
      *pdata,\n    unsigned char **buffer,\n    size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1016,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1017,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1018,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1020,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1023,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    - condition: (name)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    - condition: (data)
      pos:
        line_end: 1017
        line_start: 1017
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    constantsTouched: []
    func_position:
      end: 1028
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1028
    functionName: set_binary_property_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - assert
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_value(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const unsigned char *data,\n     size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1038,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1039,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1040,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1042,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - data
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - char*
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 1037
        line_start: 1037
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    - condition: (data)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    - condition: (name)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: set_binary_property_string
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 1
    functionsReached:
    - set_binary_property_value
    - assert
    - strlen
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_string(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const char *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1071,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1073,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1085,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1087,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1091,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1094,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1098,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1100,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1105,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1107,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1120,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1122,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1123,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1124,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1125,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1126,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1128,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1133,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1135,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1140,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1142,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1145,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 9
    argNames:
    - token
    - pdata
    - certificate
    - dsign
    - kagree
    - diffie_hellman
    - diffie_hellman_size
    - challengeData
    - challengeDataSize
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - char*
    - char*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1046
    functionDepth: 6
    functionLinenumber: 1046
    functionLinenumberEnd: 1150
    functionName: fill_handshake_message_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 10
    functionsReached:
    - DDS_Security_BinaryPropertySeq_allocbuf
    - set_binary_property_string
    - ddsrt_free
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - serializer_participant_data
    - SHA256
    - ddsrt_strdup
    - DDS_Security_Serializer_new
    - set_binary_property_value
    - DDS_Security_Serialize_BinaryPropertySeq
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const char
      *certificate,\n    const char *dsign,\n    const char *kagree,\n    const unsigned
      char *diffie_hellman,\n    const size_t diffie_hellman_size,\n    const unsigned
      char *challengeData,\n    size_t challengeDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - pdata
    - challengeData
    - challengeDataSize
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1163
    functionName: fill_handshake_message_token_default
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 3
    functionsReached:
    - fill_handshake_message_token
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token_default(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const unsigned
      char *challengeData,\n    unsigned int challengeDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1170
    functionName: handshake_message_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 10
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void handshake_message_deinit(\n    DDS_Security_HandshakeMessageToken
      *token)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1180,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1181,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1182,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1183,1
    - Dst: valid_c_id_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1184,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1185,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1186,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1187,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1188,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1189,1
    - Dst: valid_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1190,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1191,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1192,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1193,1
    - Dst: valid_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1194,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1195,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1196,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1197,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1198,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1199,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1200,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1201,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1202,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1203,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1204,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1205,1
    - Dst: compare_octet_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1206,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1207,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1208,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1209,1
    - Dst: compare_octet_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1210,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c:1211,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - token
    - challenge_1
    - challenge_2
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1217
    functionName: validate_handshake_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
    functionUses: 6
    functionsReached:
    - CU_FAIL
    - compare_octet_seq
    - valid_c_id_property
    - strcmp
    - valid_string_value
    - find_binary_property
    linkageType: ''
    returnType: bool
    signature: "bool validate_handshake_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    const DDS_Security_OctetSeq *challenge_1,\n    const DDS_Security_OctetSeq
      *challenge_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c:32,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: suite_register_matched_remote_participant_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_participant_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: suite_register_matched_remote_participant_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_participant_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
    functionUses: 28
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CRYPTO_TRANSFORM_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_KIND(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CRYPTO_TRANSFORM_ID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_ID(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:46,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:63,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:86,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:87,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:90,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 7
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:112,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 2
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:134,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:135,1
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:140,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 5
    functionsReached:
    - crypto_key_factory::register_local_datareader
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_datareader(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:160,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datawriter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 28
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:185,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:186,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:191,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:191,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:192,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:192,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:193,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:193,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:194,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: suite_set_remote_datawriter_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_datawriter
    - register_local_datareader
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_datawriter_crypto_tokens_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:203,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:204,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:208,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:209,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:213,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:214,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:218,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:219,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:221,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: suite_set_remote_datawriter_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    - crypto_key_factory::unregister_participant
    - deallocate_shared_secret
    - unload_plugins
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_datawriter_crypto_tokens_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:232,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:235,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:238,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:239,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:242,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:243,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:247,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:249,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:250,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:253,1
    - Dst: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:254,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:255,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:256,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - seq
    - include_specific_key
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 262
    functionName: create_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Serializer_free
    - DDS_Security_OctetSeq_allocbuf
    - DDS_Security_Serializer_buffer
    - memset
    - DDS_Security_Serializer_new
    - RAND_bytes
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: void
    signature: void create_key_material(DDS_Security_OctetSeq *seq, bool include_specific_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:266,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:269,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:272,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:273,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:276,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:277,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:281,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:283,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - keymat
    - include_specific_key
    argTypes:
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: init_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_OctetSeq_allocbuf
    - RAND_bytes
    - memset
    linkageType: ''
    returnType: void
    signature: void init_key_material(DDS_Security_KeyMaterial_AES_GCM_GMAC *keymat,
      bool include_specific_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:290,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:291,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keymat
    argTypes:
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: deinit_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deinit_key_material(DDS_Security_KeyMaterial_AES_GCM_GMAC *keymat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:298,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:301,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:304,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:305,1
    - Dst: create_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tokens
    - num
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: create_writer_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_DataHolderSeq_allocbuf
    - create_key_material
    linkageType: ''
    returnType: void
    signature: void create_writer_tokens(DDS_Security_DatawriterCryptoTokenSeq *tokens,
      uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:313,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:316,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:319,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - tokens
    - num
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: create_writer_tokens_no_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_DataHolderSeq_allocbuf
    linkageType: ''
    returnType: void
    signature: void create_writer_tokens_no_key_material(DDS_Security_DatawriterCryptoTokenSeq
      *tokens, uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:330,1
    - Dst: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:331,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:332,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - keymat
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: serialize_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: void serialize_key_material(DDS_Security_OctetSeq *seq, DDS_Security_KeyMaterial_AES_GCM_GMAC
      *keymat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:40,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:61,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:87,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:88,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:89,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:92,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:103,1
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:109,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 124
    functionName: register_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - crypto_key_factory::register_matched_remote_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_participants(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:133,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:136,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:142,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: unregister_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::unregister_participant
    - printf
    linkageType: ''
    returnType: void
    signature: void unregister_participants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:152,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:152,1
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:157,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:158,1
    - Dst: register_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: suite_create_local_participant_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - allocate_shared_secret
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - register_participants
    linkageType: ''
    returnType: void
    signature: void suite_create_local_participant_crypto_tokens_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:163,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:164,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: suite_create_local_participant_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - unregister_participants
    - deallocate_shared_secret
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_create_local_participant_crypto_tokens_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 29
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:189,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_ParticipantCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: check_token_validity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean check_token_validity(const DDS_Security_ParticipantCryptoTokenSeq
      *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: bswap4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned bswap4u (unsigned x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: toBE4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: fromBE4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fromBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: toBE4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: fromBE4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fromBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:249,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:260,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:261,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 29
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:284,1
    - Dst: X509_get0_notAfter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:286,1
    - Dst: ASN1_TIME_diff
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:290,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:292,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:293,1
    - Dst: BIO_new_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:296,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:297,1
    - Dst: ASN1_TIME_print
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:298,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:299,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    constantsTouched: []
    func_position:
      end: 306
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 306
    functionName: get_certificate_expiry
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_print
    - DDS_SECS
    - assert
    - dds_time
    - X509_get0_notAfter
    - ASN1_TIME_diff
    - BIO_free
    - BIO_new_fp
    - BIO_printf
    linkageType: ''
    returnType: dds_time_t
    signature: "dds_time_t get_certificate_expiry(\n    /*_In_*/ X509 *cert)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:328,1
    - Dst: BIO_s_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:328,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:333,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:335,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:336,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:344,1
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:346,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:347,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:351,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:352,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:356,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:362,1
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:364,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:365,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:369,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:370,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:374,1
    - Dst: X509_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:379,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:380,1
    - Dst: X509_set_version
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:384,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:385,1
    - Dst: ASN1_INTEGER_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:393,1
    - Dst: ASN1_INTEGER_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:394,1
    - Dst: X509_set_serialNumber
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:395,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:396,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:403,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:404,1
    - Dst: X509_set_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:409,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:410,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:417,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:418,1
    - Dst: X509_set_issuer_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:425,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:426,1
    - Dst: X509_REQ_get_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:433,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:434,1
    - Dst: X509_REQ_verify
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:441,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:442,1
    - Dst: X509_set_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:449,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:450,1
    - Dst: X509_gmtime_adj
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:457,1
    - Dst: X509_getm_notBefore
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:457,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:458,1
    - Dst: X509_gmtime_adj
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:462,1
    - Dst: X509_getm_notAfter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:462,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:463,1
    - Dst: X509V3_set_ctx
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:470,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:475,1
    - Dst: X509_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:477,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:478,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:485,1
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:487,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:488,1
    - Dst: PEM_write_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:491,1
    - Dst: BIO_printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:492,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:495,1
    - Dst: get_certificate_expiry
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:497,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:499,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:500,1
    - Dst: X509_REQ_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:501,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:502,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:503,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:504,1
    - Dst: BIO_free_all
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:505,1
    - Dst: BIO_free_all
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:506,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:507,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:508,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:509,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 104
    argCount: 4
    argNames:
    - csr
    - valid_secs
    - outfile
    - expiry
    argTypes:
    - char*
    - long
    - char*
    - dds_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 511
    functionName: create_certificate_from_csr
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - X509_getm_notBefore
    - BIO_new_mem_buf
    - X509V3_set_ctx
    - X509_get_subject_name
    - PEM_read_bio_X509
    - X509_REQ_get_subject_name
    - X509_set_subject_name
    - X509_set_issuer_name
    - X509_set_version
    - BIO_s_file
    - X509_REQ_get_pubkey
    - X509_sign
    - PEM_read_bio_PrivateKey
    - get_certificate_expiry
    - X509_set_serialNumber
    - PEM_read_bio_X509_REQ
    - EVP_sha256
    - ddsrt_free
    - BIO_new_file
    - ASN1_INTEGER_set
    - BIO_new
    - X509_new
    - ddsrt_asprintf
    - X509_getm_notAfter
    - BIO_free
    - BIO_printf
    - ASN1_INTEGER_new
    - X509_free
    - X509_REQ_verify
    - X509_gmtime_adj
    - PEM_write_bio_X509
    - X509_set_pubkey
    - BIO_free_all
    - X509_REQ_free
    - ASN1_INTEGER_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_certificate_from_csr(const char* csr,
      long valid_secs,\n                const char* outfile, dds_time_t *expiry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_certificate_from_csr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:529,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:532,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:534,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:537,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:539,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:542,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:544,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:546,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:548,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:549,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:550,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:551,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:552,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:553,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:554,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:555,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:556,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:557,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:558,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:559,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:560,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:561,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:563,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:564,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:565,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:566,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:567,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:568,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 4
    argNames:
    - qos
    - validity_duration
    - governance_filename
    - identity_expiry
    argTypes:
    - DDS_Security_Qos*
    - long
    - char*
    - dds_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 572
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - dds_security_property_init
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    - create_certificate_from_csr
    linkageType: ''
    returnType: void
    signature: "void fill_participant_qos(\n    DDS_Security_Qos *qos,\n    long validity_duration,\n
      \   const char *governance_filename,\n    dds_time_t *identity_expiry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:578,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:580,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:582,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:584,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:585,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:587,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_PermissionsToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: fill_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_permissions_token(\n    DDS_Security_PermissionsToken *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:603,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:606,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:609,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:611,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:614,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:616,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:618,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:619,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:621,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:624,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:628,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthenticatedPeerCredentialToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 631
    functionName: fill_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - load_file_contents
    linkageType: ''
    returnType: int
    signature: "int fill_peer_credential_token(\n    DDS_Security_AuthenticatedPeerCredentialToken
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:641,1
    - Dst: DDS_Security_Serialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:643,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:644,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdata
    - buffer
    - size
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 9
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: serializer_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 4
    functionsReached:
    - DDS_Security_Serialize_ParticipantBuiltinTopicData
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: "void serializer_participant_data(\n    DDS_Security_ParticipantBuiltinTopicData
      *pdata,\n    unsigned char **buffer,\n    size_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:654,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:656,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:659,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:661,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:662,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:665,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:666,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:669,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:670,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:673,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 676
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 5
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:693,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:694,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:695,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:697,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:700,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:711,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:714,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:717,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:726,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:736,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:737,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:739,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:740,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:742,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:743,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:744,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:746,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:747,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:752,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - identity_expiry_duration
    - identity_expiry
    argTypes:
    - uint32_t
    - dds_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 762
    functionName: validate_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - fill_permissions_token
    - dds_security_property_deinit
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - serializer_participant_data
    - memset
    - printf
    - validate_local_permissions
    - fill_participant_qos
    - DDS_Security_ParticipantBuiltinTopicData_free
    - fromBE4u
    - validate_local_identity
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long validate_local_identity_and_permissions( uint32_t
      identity_expiry_duration, dds_time_t *identity_expiry )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:771,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:773,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:775,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:779,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:781,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:783,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 787
    functionName: clear_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    - DDS_Security_OctetSeq_deinit
    linkageType: ''
    returnType: void
    signature: void clear_local_identity_and_permissions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:796,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 800
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: set_path_build_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_build_dir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 825
    functionName: find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 15
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nfind_binary_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:830,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:831,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:833,1
    - Dst: set_path_build_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:839,1
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:840,1
    - Dst: create_dh_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:842,1
    - Dst: get_dh_public_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:845,1
    - Dst: create_dh_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:848,1
    - Dst: get_dh_public_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:851,1
    - Dst: octet_seq_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:854,1
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:861,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 863
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - get_dh_public_key_modp_2048
    - get_dh_public_key_ecdh
    - ddsi_thread_states_init
    - create_dh_key_ecdh
    - octet_seq_init
    - set_path_to_etc_dir
    - load_plugins
    - set_path_build_dir
    - dds_openssl_init
    - create_dh_key_modp_2048
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_listeners_auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:867,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:868,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:869,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:871,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:874,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:876,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 880
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - EVP_PKEY_free
    - ddsrt_free
    - octet_seq_deinit
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_listeners_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:891,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:892,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:893,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:895,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:898,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - uint32_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 890
        line_start: 890
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (name)
      pos:
        line_end: 891
        line_start: 891
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (data)
      pos:
        line_end: 892
        line_start: 892
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    constantsTouched: []
    func_position:
      end: 903
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 903
    functionName: set_binary_property_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_strdup
    - assert
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_value(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const unsigned char *data,\n     uint32_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:913,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:914,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:915,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:917,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - data
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - char*
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 912
        line_start: 912
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (data)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (name)
      pos:
        line_end: 913
        line_start: 913
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    constantsTouched: []
    func_position:
      end: 919
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 919
    functionName: set_binary_property_string
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 2
    functionsReached:
    - set_binary_property_value
    - assert
    - strlen
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_string(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:928,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:933,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: load_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 2
    functionsReached:
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: "X509 *\nload_certificate(\n   const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:955,1
    - Dst: i2d_X509_NAME
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:956,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:958,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:959,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:960,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:962,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:963,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - candidate
    - adjusted
    argTypes:
    - X509*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 978
    functionName: get_adjusted_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - memcpy
    - i2d_X509_NAME
    - OPENSSL_free
    - SHA256
    - X509_get_subject_name
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int get_adjusted_participant_guid(\n    X509 *cert,\n    const DDS_Security_GUID_t
      *candidate,\n    DDS_Security_GUID_t *adjusted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 3
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:995,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1001,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1003,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1006,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1012
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n    DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1029,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1030,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1031,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1032,1
    - Dst: load_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1038,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1043,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1044,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1048,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1049,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1053,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1055,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1057,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1069,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1072,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1073,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1075,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1087,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1090,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1091,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1092,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1094,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1095,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1096,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1097,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1098,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1100,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1101,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1106,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1107,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1108,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1109,1
    - Dst: fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1110,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1112,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1113,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1118,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1119,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1121,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1122,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 1
    argNames:
    - remote_id_certificate
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1131
    functionName: validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 7
    functionsReached:
    - reset_exception
    - fill_permissions_token
    - X509_free
    - validate_remote_identity
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - deinitialize_identity_token
    - get_adjusted_participant_guid
    - printf
    - DDS_Security_DataHolder_deinit
    - load_certificate
    - find_binary_property
    - fromBE4u
    - fill_auth_request_token
    linkageType: ''
    returnType: int
    signature: int validate_remote_identity (const char *remote_id_certificate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1140,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1142,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1144,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1148,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1150,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1152,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1155,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1156,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1158,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1159,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1161
    functionName: release_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    - DDS_Security_DataHolder_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    linkageType: ''
    returnType: void
    signature: void release_remote_identities(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1204,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1214,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1218,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1220,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1224,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1227,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1228,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1232,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1234,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1239,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1241,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1255,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1257,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1258,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1259,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1260,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1261,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1263,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1268,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1270,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1275,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1277,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1280,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1286,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1301,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1305,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1307,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1311,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1314,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1315,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1319,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1321,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1326,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1328,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1331,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1333,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1346,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1348,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1349,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1350,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1352,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1353,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1355,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1360,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1362,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1367,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1369,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1375,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1377,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1382,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1384,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1398,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1399,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1400,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1401,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1410,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1413,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1417,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1418,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1419,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1421,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1422,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1425,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1431,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1441,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1442,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1444,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1445,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1447,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1451,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1453,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1458,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1460,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1466,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1468,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1473,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1475,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1487,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1488,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1489,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1490,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1499,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1501,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1505,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1506,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1508,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1509,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1511,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 205
    argCount: 14
    argNames:
    - token
    - pdata
    - certificate
    - dsign
    - kagree
    - diffie_hellman1
    - challengeData
    - challengeDataSize
    - diffie_hellman2
    - challengeData2
    - challengeDataSize2
    - hash1_from_request
    - hash2_from_reply
    - step
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - char*
    - char*
    - char*
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    - HandshakeStep_t
    assertStmts:
    - condition: ( bio )
      pos:
        line_end: 1487
        line_start: 1487
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: ( bio )
      pos:
        line_end: 1398
        line_start: 1398
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (private_key_x509 )
      pos:
        line_end: 1400
        line_start: 1400
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    - condition: (private_key_x509 )
      pos:
        line_end: 1489
        line_start: 1489
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    constantsTouched: []
    func_position:
      end: 1516
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1516
    functionName: fill_handshake_message_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 11
    functionsReached:
    - CU_ASSERT_NEQ
    - BIO_new_mem_buf
    - SHA256
    - DDS_Security_BinaryPropertySeq_allocbuf
    - CU_ASSERT_EQ_FATAL
    - PEM_read_bio_PrivateKey
    - DDS_Security_Serializer_buffer
    - ddsrt_strdup
    - DDS_Security_Serializer_new
    - DDS_Security_Serialize_BinaryPropertySeq
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - assert
    - serializer_participant_data
    - printf
    - BIO_free
    - create_signature_for_test
    - set_binary_property_string
    - DDS_Security_Serializer_free
    - set_binary_property_value
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const char
      *certificate,\n    const char *dsign,\n    const char *kagree,\n    const struct
      octet_seq *diffie_hellman1,\n    const unsigned char *challengeData,\n    unsigned
      int challengeDataSize,\n    const struct octet_seq *diffie_hellman2,\n    const
      unsigned char *challengeData2,\n    unsigned int challengeDataSize2,\n    const
      DDS_Security_BinaryProperty_t *hash1_from_request,\n    const DDS_Security_BinaryProperty_t
      *hash2_from_reply,\n    HandshakeStep_t step)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1521,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - plugin
    - handle
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1529
    functionName: on_revoke_identity_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - printf
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean on_revoke_identity_cb(const dds_security_authentication
      *plugin, const DDS_Security_IdentityHandle handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1541,1
    - Dst: set_listener
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1559,1
    - Dst: set_listener
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1560,1
    - Dst: validate_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1565,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1571,1
    - Dst: create_certificate_from_csr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1574,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1576,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1577,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1579,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1583,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1584,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1585,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1586,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1588,1
    - Dst: fill_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1589,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1590,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1595,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1605,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1609,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1612,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1614,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1616,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1617,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1618,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1624,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1630,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1632,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1639,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1640,1
    - Dst: validate_remote_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1642,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1652,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1654,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1661,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1683,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1683,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1684,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1687,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1688,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1691,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1693,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1694,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1696,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1697,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1700,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1702,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1704,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1705,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1706,1
    - Dst: clear_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1708,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1709,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c:1710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1711
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
    functionUses: 0
    functionsReached:
    - fill_permissions_token
    - CU_ASSERT_NEQ
    - validate_remote_identity
    - release_remote_identities
    - CU_ASSERT
    - return_handshake_handle
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - set_listener
    - DDS_Security_DataHolder_deinit
    - DDS_MSECS
    - process_handshake
    - find_binary_property
    - validate_remote_permissions
    - begin_handshake_request
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - printf
    - ddsrt_asprintf
    - create_certificate_from_csr
    - fill_handshake_message_token
    - clear_local_identity_and_permissions
    - validate_local_identity_and_permissions
    - fill_peer_credential_token
    - dds_sleepfor
    - load_file_contents
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_listeners_auth, local_remote_set_before_validation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 34
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:74,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 8
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:96,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:119,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:120,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:123,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 10
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:144,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:155,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 3
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:176,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:197,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:198,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:207,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:216,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - encrypted
    argTypes:
    - bool
    assertStmts:
    - condition: (writer_crypto != 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    constantsTouched: []
    func_position:
      end: 221
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 221
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 6
    functionsReached:
    - prepare_endpoint_security_attributes
    - assert
    - memset
    - printf
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_local_datawriter(bool
      encrypted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:229,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:238,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts:
    - condition: (writer_crypto != 0)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 2
    functionsReached:
    - assert
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_remote_datawriter(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:250,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_datawriter(DDS_Security_DatawriterCryptoHandle writer_crypto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:262,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:263,1
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:271,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - encrypted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 7
    functionsReached:
    - crypto_key_factory::register_local_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_local_datareader(bool
      encrypted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:292,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:295,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 309
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 2
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_remote_datareader(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:316,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_datareader(DDS_Security_DatareaderCryptoHandle reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:332,1
    - Dst: crypto_key_exchange::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:335,1
    - Dst: crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:344,1
    - Dst: crypto_key_exchange::return_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - local_writer_crypto
    - remote_reader_crypto
    - local_reader_crypto
    - remote_writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: set_remote_datawriter_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_exchange::create_local_datawriter_crypto_tokens
    - crypto_key_exchange::return_crypto_tokens
    - memset
    - crypto_key_exchange::set_remote_datawriter_crypto_tokens
    linkageType: ''
    returnType: bool
    signature: "bool set_remote_datawriter_tokens(\n    DDS_Security_DatawriterCryptoHandle
      local_writer_crypto,\n    DDS_Security_DatareaderCryptoHandle remote_reader_crypto,\n
      \   DDS_Security_DatareaderCryptoHandle local_reader_crypto,\n    DDS_Security_DatawriterCryptoHandle
      remote_writer_crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: get_datawriter_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_datawriter_session(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer_crypto
    - protection_kind
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: check_writer_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_writer_protection_kind(DDS_Security_DatawriterCryptoHandle
      writer_crypto, DDS_Security_BasicProtectionKind protection_kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key_size
    - encoded
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: get_transformation_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_transformation_kind(uint32_t key_size, bool encoded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:390,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:392,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:392,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:397,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:397,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:398,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: suite_decode_serialized_payload_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_decode_serialized_payload_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:403,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:404,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:405,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: suite_decode_serialized_payload_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_decode_serialized_payload_fini(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - data
    - size
    - header
    - contents
    - length
    - footer
    argTypes:
    - unsigned char*
    - size_t
    - struct crypto_header**
    - unsigned char**
    - size_t*
    - struct crypto_footer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 437
    functionName: split_encoded_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool split_encoded_data(unsigned char *data, size_t size, struct crypto_header
      **header, unsigned char **contents, size_t *length, struct crypto_footer **footer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:454,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:455,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:456,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:457,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:459,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:461,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:463,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:464,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:466,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:467,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:468,1
    - Dst: check_writer_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:468,1
    - Dst: get_datawriter_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:470,1
    - Dst: get_transformation_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:471,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:474,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:475,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:477,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:478,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:480,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:481,1
    - Dst: set_remote_datawriter_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:483,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:484,1
    - Dst: crypto_transform::encode_serialized_payload
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:487,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:497,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:500,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:501,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:502,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:504,1
    - Dst: crypto_transform::decode_serialized_payload
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:507,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:518,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:521,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:522,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:523,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:525,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:526,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:527,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:528,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:530,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:531,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:532,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 2
    argNames:
    - key_size
    - encrypted
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 535
    functionName: decode_serialized_payload_check
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - register_remote_datawriter
    - CU_ASSERT
    - check_writer_protection_kind
    - register_remote_datareader
    - unregister_datareader
    - register_local_datawriter
    - get_datawriter_session
    - reset_exception
    - memcpy
    - get_transformation_kind
    - crypto_transform::decode_serialized_payload
    - crypto_transform::encode_serialized_payload
    - unregister_datawriter
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - register_local_datareader
    - strlen
    - printf
    - DDS_Security_OctetSeq_allocbuf
    - memset
    - set_remote_datawriter_tokens
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void decode_serialized_payload_check(uint32_t key_size, bool encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 39
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:75,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 10
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:97,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 5
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:120,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:121,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:124,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 13
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:145,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:156,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 5
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:177,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:189,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:190,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:198,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - encrypted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 211
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 8
    functionsReached:
    - printf
    - memset
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_local_datawriter(bool
      encrypted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:218,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: unregister_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_local_datawriter(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:229,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:232,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 3
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_remote_datareader(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:253,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: unregister_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_remote_datareader(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - data
    - size
    - header
    - payload
    - footer
    - encrypted
    argTypes:
    - unsigned char*
    - uint32_t
    - struct crypto_header**
    - DDS_Security_OctetSeq*
    - struct crypto_footer**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 309
    functionName: split_encoded_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool split_encoded_data(unsigned char *data, uint32_t size, struct
      crypto_header **header, DDS_Security_OctetSeq *payload, struct crypto_footer
      **footer, bool encrypted)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:316,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:316,1
    - Dst: crypto_calculate_session_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:319,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:321,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:326,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:331,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:331,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:333,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:334,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:340,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:340,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:342,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:343,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:349,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:355,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:361,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:363,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:364,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:373,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:379,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:380,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:386,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:388,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:389,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:397,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:399,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:400,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:409,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:415,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:416,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:423,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:425,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:426,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:433,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 7
    argNames:
    - session_id
    - iv
    - transformation_kind
    - key_material
    - encrypted
    - decoded
    - tag
    argTypes:
    - uint32_t
    - unsigned char*
    - DDS_Security_CryptoTransformKind
    - master_key_material*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 436
    functionName: crypto_decrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_new
    - crypto_get_key_size
    - CRYPTO_TRANSFORM_KIND
    - EVP_aes_256_gcm
    - EVP_CIPHER_CTX_free
    - printf
    - ERR_print_errors_fp
    - EVP_aes_128_gcm
    - EVP_DecryptInit_ex
    - crypto_calculate_session_key_test
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: bool crypto_decrypt_data(uint32_t session_id, unsigned char *iv, DDS_Security_CryptoTransformKind
      transformation_kind, master_key_material *key_material, DDS_Security_OctetSeq
      *encrypted, DDS_Security_OctetSeq *decoded, unsigned char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: get_datawriter_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_datawriter_session(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer_crypto
    - protection_kind
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: check_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_protection_kind(DDS_Security_DatawriterCryptoHandle writer_crypto,
      DDS_Security_BasicProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:452,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:453,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:453,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:458,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:458,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:459,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: suite_encode_serialized_payload_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_encode_serialized_payload_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:464,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:465,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:466,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: suite_encode_serialized_payload_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_encode_serialized_payload_fini(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key_size
    - encrypted
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: get_transformation_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 1
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_transformation_kind(uint32_t key_size, bool encrypted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - seq1
    - seq2
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: seq_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool seq_equal(DDS_Security_OctetSeq *seq1, DDS_Security_OctetSeq *seq2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - payload
    - plain_buffer
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: check_payload_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - seq_equal
    linkageType: ''
    returnType: bool
    signature: bool check_payload_signed(DDS_Security_OctetSeq *payload, DDS_Security_OctetSeq
      *plain_buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - payload
    - plain_buffer
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: check_payload_encrypted
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool check_payload_encrypted(DDS_Security_OctetSeq *payload, DDS_Security_OctetSeq
      *plain_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_payload_encrypted
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:523,1
    - Dst: check_payload_signed
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - payload
    - plain_buffer
    - encrypted
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 530
    functionName: check_payload_encoded
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - check_payload_signed
    - check_payload_encrypted
    linkageType: ''
    returnType: bool
    signature: bool check_payload_encoded(DDS_Security_OctetSeq *payload, DDS_Security_OctetSeq
      *plain_buffer, bool encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - payload
    - plain_buffer
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: check_payload_decoded
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - seq_equal
    linkageType: ''
    returnType: bool
    signature: bool check_payload_decoded(DDS_Security_OctetSeq *payload, DDS_Security_OctetSeq
      *plain_buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:553,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:554,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:555,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:557,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:559,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:560,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:562,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:563,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:565,1
    - Dst: check_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:565,1
    - Dst: get_datawriter_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:567,1
    - Dst: get_transformation_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:568,1
    - Dst: crypto_transform::encode_serialized_payload
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:572,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:582,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:584,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:585,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:586,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:587,1
    - Dst: split_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:589,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:590,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:591,1
    - Dst: check_payload_encoded
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:591,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:593,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:598,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:601,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:604,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:606,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:607,1
    - Dst: check_payload_decoded
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:607,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:608,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:612,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:615,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:617,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:620,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:621,1
    - Dst: unregister_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - key_size
    - encrypted
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 624
    functionName: encode_serialized_payload_check
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    functionUses: 0
    functionsReached:
    - unregister_local_datawriter
    - CU_ASSERT
    - split_encoded_data
    - ddsrt_malloc
    - register_local_datawriter
    - get_datawriter_session
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - memcpy
    - get_transformation_kind
    - check_protection_kind
    - check_payload_encoded
    - crypto_transform::encode_serialized_payload
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - strlen
    - printf
    - ddsrt_fromBE4u
    - DDS_Security_OctetSeq_allocbuf
    - check_payload_decoded
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_serialized_payload_check(uint32_t key_size, bool encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:123,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:134,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:135,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - name
    argTypes:
    - DDS_Security_PropertySeq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: dds_security_property_find
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: DDS_Security_Property_t *dds_security_property_find(DDS_Security_PropertySeq
      *seq, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 44
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - postfix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: combine_strings
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: char
    signature: char *combine_strings(const char *prefix, const char *postfix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: combine_strings
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:179,1
    - Dst: combine_strings
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:180,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:181,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: create_uri_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - combine_strings
    - ddsrt_free
    linkageType: ''
    returnType: char
    signature: char *create_uri_file(const char *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: combine_strings
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:199,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:202,1
    - Dst: combine_strings
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:205,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:206,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:208,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 217
    functionName: create_uri_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - combine_strings
    - load_file_contents
    - ddsrt_free
    linkageType: ''
    returnType: char
    signature: char *create_uri_data(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:223,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:225,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:226,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:227,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:228,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:229,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:230,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:232,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:233,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:234,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:235,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:236,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - property
    - permission_ca
    - permission_uri
    - governance_uri
    argTypes:
    - DDS_Security_PropertyQosPolicy*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: fill_property_policy
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - dds_security_property_init
    linkageType: ''
    returnType: void
    signature: void fill_property_policy(DDS_Security_PropertyQosPolicy *property,
      const char *permission_ca, const char *permission_uri, const char *governance_uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:253,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:254,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:256,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:257,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:258,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:261,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:272,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - participant_qos
    argTypes:
    - DDS_Security_Qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 278
    functionName: create_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - memcpy
    - memset
    - printf
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: DDS_Security_IdentityHandle
    signature: DDS_Security_IdentityHandle create_local_identity(DDS_Security_Qos
      *participant_qos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:289,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:292,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - local_id_hdl
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: clear_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void clear_local_identity(DDS_Security_IdentityHandle local_id_hdl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:313,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:314,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:315,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:317,1
    - Dst: fill_property_policy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:318,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:323,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:324,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - participant_qos
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: qos_init_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memset
    - create_uri_file
    - fill_property_policy
    linkageType: ''
    returnType: void
    signature: void qos_init_file(DDS_Security_Qos *participant_qos, const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_uri_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:337,1
    - Dst: create_uri_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:338,1
    - Dst: create_uri_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:339,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:340,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:341,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:342,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:344,1
    - Dst: fill_property_policy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:345,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:350,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:351,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - participant_qos
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: qos_init_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - fill_property_policy
    - memset
    - create_uri_data
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void qos_init_data(DDS_Security_Qos *participant_qos, const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:364,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:366,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:368,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:370,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:372,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:374,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:376,1
    - Dst: fill_property_policy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:377,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:382,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:383,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - participant_qos
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: qos_init_type
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - create_uri_file
    - fill_property_policy
    - memset
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void qos_init_type(DDS_Security_Qos *participant_qos, const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:396,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:398,1
    - Dst: create_uri_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:400,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:402,1
    - Dst: fill_property_policy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:403,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:408,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:409,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - participant_qos
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: qos_init_null
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memset
    - create_uri_file
    - fill_property_policy
    linkageType: ''
    returnType: void
    signature: void qos_init_null(DDS_Security_Qos *participant_qos, const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant_qos
    argTypes:
    - DDS_Security_Qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: qos_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - dds_security_property_deinit
    linkageType: ''
    returnType: void
    signature: void qos_deinit(DDS_Security_Qos *participant_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:425,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:431,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:432,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:433,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:434,1
    - Dst: create_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - participant_qos
    argTypes:
    - DDS_Security_Qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: test_setup
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - create_local_identity
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: DDS_Security_IdentityHandle
    signature: DDS_Security_IdentityHandle test_setup(DDS_Security_Qos *participant_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:446,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - local_id_hdl
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: test_teardown
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - clear_local_identity
    linkageType: ''
    returnType: int
    signature: int test_teardown(DDS_Security_IdentityHandle local_id_hdl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_setup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:465,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:466,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:469,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:478,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:482,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:483,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:487,1
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:488,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:490,1
    - Dst: test_teardown
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - participant_qos
    argTypes:
    - DDS_Security_Qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 496
    functionName: test_failure_scenario
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - test_teardown
    - test_setup
    - return_permissions_handle
    - validate_local_permissions
    - printf
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_failure_scenario(DDS_Security_Qos *participant_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_init_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:505,1
    - Dst: test_failure_scenario
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:510,1
    - Dst: qos_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: test_invalid_file_uri
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - qos_deinit
    - qos_init_file
    - test_failure_scenario
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_invalid_file_uri(const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_init_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:524,1
    - Dst: test_failure_scenario
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:529,1
    - Dst: qos_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 534
    functionName: test_invalid_data_uri
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - qos_deinit
    - test_failure_scenario
    - qos_init_data
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_invalid_data_uri(const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_init_type
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:543,1
    - Dst: test_failure_scenario
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:548,1
    - Dst: qos_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionName: test_invalid_type_uri
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - qos_deinit
    - test_failure_scenario
    - qos_init_type
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_invalid_type_uri(const char *certificate_filename,
      const char *permission_filename, const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_init_null
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:560,1
    - Dst: test_failure_scenario
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:565,1
    - Dst: qos_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - certificate_filename
    - permission_filename
    - governance_filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 570
    functionName: test_null_uri
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - qos_init_null
    - qos_deinit
    - test_failure_scenario
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_null_uri(const char *certificate_filename, const
      char *permission_filename, const char *governance_filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qos_init_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:582,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:588,1
    - Dst: dds_security_property_find
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:592,1
    - Dst: dds_security_property_find
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:594,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:597,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:598,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:599,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:600,1
    - Dst: test_failure_scenario
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:605,1
    - Dst: qos_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - corrupt_permissions
    - corrupt_governance
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 608
    functionName: test_corrupted_signature
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - dds_security_property_find
    - test_failure_scenario
    - strlen
    - qos_init_data
    - qos_deinit
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long test_corrupted_signature(bool corrupt_permissions,
      bool corrupt_governance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: suite_validate_local_permissions_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - set_path_to_etc_dir
    linkageType: ''
    returnType: void
    signature: void suite_validate_local_permissions_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: suite_validate_local_permissions_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void suite_validate_local_permissions_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:145,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 5
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:156,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:157,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 5
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 47
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:178,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:180,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:183,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:185,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:186,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:189,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:190,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:193,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:197,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 7
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:210,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:212,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:215,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:217,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:218,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:221,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:222,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:225,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:226,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:229,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 5
    argNames:
    - token
    - certSubjName
    - certAlgo
    - caSubjName
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 232
    functionName: initialize_identity_token_w_sn
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token_w_sn(\n    DDS_Security_IdentityToken
      *token,\n    const char *certSubjName,\n    const char *certAlgo,\n    const
      char *caSubjName,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 4
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:254,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:255,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:256,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:258,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:259,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:260,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:261,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:262,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:263,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:264,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:265,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:268,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:279,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:282,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 286
    functionName: create_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - dds_security_property_init
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - ddsrt_strdup
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int create_local_identity(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:295,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:297,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: clear_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void clear_local_identity(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:310,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:311,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:317,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:322,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:323,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:329,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:333,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:339,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - token
    - notNil
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 344
    functionName: check_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - printf
    linkageType: ''
    returnType: int
    signature: "int check_auth_request_token(\n    DDS_Security_AuthRequestMessageToken
      *token,\n    int notNil)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:354,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:360,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:362,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:365,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n     DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - guid
    - higher
    argTypes:
    - DDS_Security_GUID_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: set_remote_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void set_remote_participant_guid(\n    DDS_Security_GUID_t *guid,\n
      \   int higher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:411,1
    - Dst: create_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - create_local_identity
    - load_plugins
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_validate_remote_identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:425,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - clear_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_validate_remote_identity)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:440,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:441,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:442,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:448,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:449,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:451,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:462,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:465,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:467,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:468,1
    - Dst: check_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:468,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:471,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:472,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:473,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:477,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:478,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:481,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 485
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - check_auth_request_token
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,happy_day_nil_auth_req
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:499,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:500,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:501,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:502,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:504,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:505,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:506,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:508,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:519,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:522,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:523,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:524,1
    - Dst: check_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:524,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:526,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:527,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:528,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:529,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:531,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:532,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:535,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 538
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - check_auth_request_token
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,happy_day_with_auth_req
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:552,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:553,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:554,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:555,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:557,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:558,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:559,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:561,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:565,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:567,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:568,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:569,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:570,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:572,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:576,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:578,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:579,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:580,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:581,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:583,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:587,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:589,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:590,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:591,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:592,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:594,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:598,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:600,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:601,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:602,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:603,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:605,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:609,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:611,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:612,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:613,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:614,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:616,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 618
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,invalid_parameters
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:632,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:633,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:634,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:635,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:637,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:638,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:639,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:641,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:652,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:655,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:656,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:657,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:659,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:660,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 662
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,unknown_local_identity
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:676,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:677,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:678,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:679,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:681,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:682,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:683,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:685,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:686,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:688,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:699,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:702,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:703,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:704,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:706,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:708,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:709,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:711,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:722,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:725,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:726,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:727,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:729,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:731,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 733
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - ddsrt_free
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - ddsrt_strdup
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,invalid_remote_identity_token
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:748,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:749,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:750,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:751,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:753,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:754,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:755,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:758,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:759,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:761,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:772,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:775,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:776,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:777,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:779,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:782,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:785,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:796,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:799,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:800,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:801,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:803,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:806,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:808,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:819,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:822,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:823,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:824,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:826,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:829,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:830,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:831,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:832,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:834,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:845,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:848,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:849,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:850,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:852,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:855,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:858,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:869,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:872,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:873,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:874,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:876,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:879,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:880,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:882,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:893,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:896,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:897,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:898,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:900,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:903,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:904,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:910,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:921,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:924,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:925,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:926,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:928,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:935,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:946,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:949,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:950,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:951,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:953,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:960,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:971,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:974,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:975,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:976,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:978,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:982,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 984
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - ddsrt_free
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - ddsrt_strdup
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,invalid_auth_req_token
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:999,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1000,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1001,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1002,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1004,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1005,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1006,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1008,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1019,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1022,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1023,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1024,1
    - Dst: check_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1024,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1026,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1028,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1039,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1042,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1043,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1044,1
    - Dst: check_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1044,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1046,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1048,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1049,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1050,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1052,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1053,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1056,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1059
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - check_auth_request_token
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,already_validated_same_token
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1076,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1077,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1078,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1080,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1081,1
    - Dst: set_remote_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1082,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1084,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1095,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1098,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1099,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1100,1
    - Dst: check_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1100,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1102,1
    - Dst: initialize_identity_token_w_sn
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1104,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1109,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1120,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1123,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1124,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1125,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1127,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1129,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1130,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1131,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1132,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1134,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1135,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1138,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1141
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - validate_remote_identity
    - initialize_identity_token
    - deinitialize_identity_token
    - printf
    - initialize_identity_token_w_sn
    - DDS_Security_DataHolder_deinit
    - CU_ASSERT_EQ
    - check_auth_request_token
    - CU_ASSERT_NEQ_FATAL
    - set_remote_participant_guid
    - fill_auth_request_token
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_remote_identity,already_validated_different_token
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 57
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: find_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: DDS_Security_Property_t *find_property(DDS_Security_DataHolder *token,
      const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:174,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:183,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:184,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:196,1
    - Dst: DDS_Security_normalize_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:197,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:198,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:199,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: read_document_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - DDS_Security_normalize_file
    - ddsrt_free
    - load_file_contents
    linkageType: ''
    returnType: char
    signature: char *read_document_from_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:211,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:212,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:214,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:215,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:216,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:217,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:218,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:219,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:220,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:221,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:222,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:223,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:224,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:225,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:226,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:227,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:229,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - qos
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 231
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 1
    functionsReached:
    - dds_security_property_init
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void fill_participant_qos(DDS_Security_Qos *qos, const char *permission_filename,
      const char *governance_filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:244,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:245,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:246,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:248,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:250,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:262,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:265,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:269,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:280,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:284,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - domain_id
    argTypes:
    - DDS_Security_DomainId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 289
    functionName: local_permissions_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - validate_local_permissions
    - fill_participant_qos
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int local_permissions_init(DDS_Security_DomainId domain_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:298,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:301,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:303,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:308,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:311,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: local_permissions_clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void local_permissions_clean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 2
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:324,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:325,1
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:326,1
    - Dst: local_permissions_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:327,1
    - Dst: read_document_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:328,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: suite_get_permissions_credential_token_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - local_permissions_init
    - read_document_from_file
    - set_path_to_etc_dir
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_get_permissions_credential_token_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: local_permissions_clean
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:334,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:335,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:336,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: suite_get_permissions_credential_token_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - local_permissions_clean
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_get_permissions_credential_token_fini(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:344,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:346,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:350,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:353,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:358,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:361,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_PermissionsCredentialToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 368
    functionName: validate_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - strcmp
    - find_property
    linkageType: ''
    returnType: bool
    signature: bool validate_permissions_token(DDS_Security_PermissionsCredentialToken
      *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CRYPTO_TRANSFORM_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_KIND(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CRYPTO_TRANSFORM_ID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_ID(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:46,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 12
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:67,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:91,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:92,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:95,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 16
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:118,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 7
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:141,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:142,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:148,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 10
    functionsReached:
    - printf
    - memset
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: int
    signature: int register_local_datawriter(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:169,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 3
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datareader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 59
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:197,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:198,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:198,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:203,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:203,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:204,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:204,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:205,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:205,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:206,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: suite_set_remote_datareader_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - register_remote_datareader
    - register_local_datawriter
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_datareader_crypto_tokens_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:215,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:216,1
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:220,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:221,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:225,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:226,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:230,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:231,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:233,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: suite_set_remote_datareader_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    - crypto_key_factory::unregister_participant
    - deallocate_shared_secret
    - unload_plugins
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_datareader_crypto_tokens_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:244,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:247,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:250,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:251,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:254,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:255,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:259,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:261,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:262,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:265,1
    - Dst: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:266,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:267,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:268,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - seq
    - include_specific_key
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: create_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Serializer_free
    - DDS_Security_OctetSeq_allocbuf
    - DDS_Security_Serializer_buffer
    - memset
    - DDS_Security_Serializer_new
    - RAND_bytes
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: void
    signature: void create_key_material(DDS_Security_OctetSeq *seq, bool include_specific_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:278,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:281,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:284,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:285,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:288,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:289,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:293,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:295,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - keymat
    - include_specific_key
    argTypes:
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: init_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_OctetSeq_allocbuf
    - RAND_bytes
    - memset
    linkageType: ''
    returnType: void
    signature: void init_key_material(DDS_Security_KeyMaterial_AES_GCM_GMAC *keymat,
      bool include_specific_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:302,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:303,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - keymat
    argTypes:
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: deinit_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deinit_key_material(DDS_Security_KeyMaterial_AES_GCM_GMAC *keymat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:310,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:311,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:314,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:315,1
    - Dst: create_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: create_reader_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_DataHolderSeq_allocbuf
    - create_key_material
    linkageType: ''
    returnType: void
    signature: void create_reader_tokens(DDS_Security_DatawriterCryptoTokenSeq *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:322,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:323,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:326,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: create_reader_tokens_no_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_DataHolderSeq_allocbuf
    linkageType: ''
    returnType: void
    signature: void create_reader_tokens_no_key_material(DDS_Security_DatawriterCryptoTokenSeq
      *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:336,1
    - Dst: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:337,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:338,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - keymat
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: serialize_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: void serialize_key_material(DDS_Security_OctetSeq *seq, DDS_Security_KeyMaterial_AES_GCM_GMAC
      *keymat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:230,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 7
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:241,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 7
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 60
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:263,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:265,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:268,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:270,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:271,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:274,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:275,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:278,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:279,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:282,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - token
    - certAlgo
    - caAlgo
    argTypes:
    - DDS_Security_IdentityToken*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: initialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 15
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void initialize_identity_token(\n    DDS_Security_IdentityToken *token,\n
      \   const char *certAlgo,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:292,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:295,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:296,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:297,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:298,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - token
    - caAlgo
    argTypes:
    - DDS_Security_PermissionsToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: initialize_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    linkageType: ''
    returnType: void
    signature: "void initialize_permissions_token(\n    DDS_Security_PermissionsToken
      *token,\n    const char *caAlgo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:312,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:318,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:320,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:323,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 329
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 11
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void fill_auth_request_token(\n    DDS_Security_AuthRequestMessageToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: find_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 17
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nfind_binary_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: find_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: "DDS_Security_Property_t *\nfind_property(\n    DDS_Security_DataHolder
      *token,\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_IdentityToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: deinitialize_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 12
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void deinitialize_identity_token(\n    DDS_Security_IdentityToken
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:389,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:390,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:391,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:393,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:394,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:395,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:396,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:397,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:398,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:399,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:400,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:403,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:414,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:417,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:418,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:420,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:421,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:423,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:424,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:425,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:427,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:428,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 439
    functionName: validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 15
    functionsReached:
    - reset_exception
    - ddsrt_fromBE4u
    - dds_security_property_init
    - dds_security_property_deinit
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - serializer_participant_data
    - memset
    - printf
    - ddsrt_strdup
    - initialize_permissions_token
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int validate_local_identity(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:448,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:450,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:452,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:455,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 460
    functionName: release_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    - DDS_Security_OctetSeq_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    linkageType: ''
    returnType: void
    signature: void release_local_identity(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:469,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:474,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: load_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 3
    functionsReached:
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: "X509 *\nload_certificate(\n   const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:495,1
    - Dst: i2d_X509_NAME
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:496,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:498,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:499,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:500,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:502,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:503,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - candidate
    - adjusted
    argTypes:
    - X509*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 518
    functionName: get_adjusted_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - memcpy
    - i2d_X509_NAME
    - OPENSSL_free
    - SHA256
    - X509_get_subject_name
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int get_adjusted_participant_guid(\n    X509 *cert,\n    const DDS_Security_GUID_t
      *candidate,\n    DDS_Security_GUID_t *adjusted)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:539,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:540,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:541,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:542,1
    - Dst: load_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:548,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:553,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:554,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:558,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:559,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:563,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:565,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:567,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:569,1
    - Dst: validate_remote_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:571,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:583,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:586,1
    - Dst: deinitialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:588,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:589,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:591,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:592,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:593,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:594,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:595,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:597,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:598,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:603,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:604,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:605,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:606,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:607,1
    - Dst: initialize_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:609,1
    - Dst: initialize_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:610,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 1
    argNames:
    - remote_id_certificate
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 622
    functionName: validate_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - X509_free
    - ddsrt_fromBE4u
    - validate_remote_identity
    - memcpy
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - initialize_identity_token
    - deinitialize_identity_token
    - get_adjusted_participant_guid
    - printf
    - find_binary_property
    - DDS_Security_DataHolder_deinit
    - load_certificate
    - initialize_permissions_token
    - fill_auth_request_token
    linkageType: ''
    returnType: int
    signature: int validate_remote_identities (const char *remote_id_certificate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:631,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:633,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:635,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:638,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:640,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 642
    functionName: release_remote_identities
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 6
    functionsReached:
    - reset_exception
    - return_identity_handle
    - printf
    - DDS_Security_DataHolder_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    linkageType: ''
    returnType: void
    signature: void release_remote_identities(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:647,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:650,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:655,1
    - Dst: validate_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:657,1
    - Dst: create_dh_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:660,1
    - Dst: get_dh_public_key_modp_2048
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:663,1
    - Dst: create_dh_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:666,1
    - Dst: get_dh_public_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 677
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - get_dh_public_key_modp_2048
    - get_dh_public_key_ecdh
    - create_dh_key_ecdh
    - validate_remote_identities
    - create_dh_key_modp_2048
    - dds_openssl_init
    - load_plugins
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_get_authenticated_peer_credential)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: release_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:681,1
    - Dst: release_remote_identities
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:682,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:683,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:684,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:685,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:687,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 693
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - release_remote_identities
    - unload_plugins
    - EVP_PKEY_free
    - release_local_identity
    - octet_seq_deinit
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_get_authenticated_peer_credential)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:702,1
    - Dst: DDS_Security_Serialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:704,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:705,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdata
    - buffer
    - size
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 695
    functionDepth: 9
    functionLinenumber: 695
    functionLinenumberEnd: 707
    functionName: serializer_participant_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 7
    functionsReached:
    - DDS_Security_Serialize_ParticipantBuiltinTopicData
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - DDS_Security_Serializer_free
    linkageType: ''
    returnType: void
    signature: "void serializer_participant_data(\n    DDS_Security_ParticipantBuiltinTopicData
      *pdata,\n    unsigned char **buffer,\n    size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:717,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:718,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:719,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:721,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:724,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - bp
    - name
    - data
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 716
        line_start: 716
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: (name)
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: (data)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: set_binary_property_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_strdup
    - assert
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_value(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const unsigned char *data,\n     size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:739,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:740,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:741,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:743,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - name
    - data
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - char*
    - char*
    assertStmts:
    - condition: (bp)
      pos:
        line_end: 738
        line_start: 738
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: (name)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: (data)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    constantsTouched: []
    func_position:
      end: 745
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 745
    functionName: set_binary_property_string
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 3
    functionsReached:
    - set_binary_property_value
    - assert
    - strlen
    linkageType: ''
    returnType: void
    signature: "void set_binary_property_string(\n     DDS_Security_BinaryProperty_t
      *bp,\n     const char *name,\n     const char *data)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:787,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:797,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:801,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:803,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:807,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:810,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:811,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:815,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:817,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:822,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:824,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:838,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:840,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:841,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:842,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:843,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:844,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:846,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:851,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:853,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:858,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:860,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:863,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:869,1
    - Dst: serializer_participant_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:884,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:888,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:890,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:894,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:897,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:898,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:902,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:904,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:909,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:911,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:914,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:916,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:929,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:931,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:932,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:933,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:935,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:936,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:938,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:943,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:945,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:950,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:952,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:958,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:960,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:965,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:967,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:980,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:981,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:982,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:983,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:992,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:994,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:996,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:998,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:999,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1000,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1003,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1009,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1019,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1020,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1022,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1023,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1025,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1029,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1031,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1036,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1038,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1044,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1046,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1051,1
    - Dst: set_binary_property_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1053,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1065,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1066,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1067,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1068,1
    - Dst: create_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1077,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1079,1
    - Dst: set_binary_property_value
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1081,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1083,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1084,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1085,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1087,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 201
    argCount: 14
    argNames:
    - token
    - pdata
    - certificate
    - dsign
    - kagree
    - diffie_hellman1
    - challengeData
    - challengeDataSize
    - diffie_hellman2
    - challengeData2
    - challengeDataSize2
    - hash1_from_request
    - hash2_from_reply
    - step
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - char*
    - char*
    - char*
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - struct octet_seq*
    - unsigned char*
    - unsigned int
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    - HandshakeStep_t
    assertStmts:
    - condition: (private_key_x509 )
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: ( bio )
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: (private_key_x509 )
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    - condition: ( bio )
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    constantsTouched: []
    func_position:
      end: 1092
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 1092
    functionName: fill_handshake_message_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 12
    functionsReached:
    - CU_ASSERT_NEQ
    - BIO_new_mem_buf
    - SHA256
    - DDS_Security_BinaryPropertySeq_allocbuf
    - PEM_read_bio_PrivateKey
    - DDS_Security_Serializer_buffer
    - ddsrt_strdup
    - DDS_Security_Serializer_new
    - DDS_Security_Serialize_BinaryPropertySeq
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - assert
    - serializer_participant_data
    - printf
    - BIO_free
    - create_signature_for_test
    - set_binary_property_string
    - DDS_Security_Serializer_free
    - set_binary_property_value
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const char
      *certificate,\n    const char *dsign,\n    const char *kagree,\n    const struct
      octet_seq *diffie_hellman1,\n    const unsigned char *challengeData,\n    unsigned
      int challengeDataSize,\n    const struct octet_seq *diffie_hellman2,\n    const
      unsigned char *challengeData2,\n    unsigned int challengeDataSize2,\n    const
      DDS_Security_BinaryProperty_t *hash1_from_request,\n    const DDS_Security_BinaryProperty_t
      *hash2_from_reply,\n    HandshakeStep_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - token
    - pdata
    - challengeData
    - challengeDataSize
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_ParticipantBuiltinTopicData*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1105
    functionName: fill_handshake_message_token_default
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 3
    functionsReached:
    - fill_handshake_message_token
    linkageType: ''
    returnType: void
    signature: "void fill_handshake_message_token_default(\n    DDS_Security_HandshakeMessageToken
      *token,\n    DDS_Security_ParticipantBuiltinTopicData *pdata,\n    const unsigned
      char *challengeData,\n    unsigned int challengeDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1112
    functionName: handshake_message_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 10
    functionsReached:
    - DDS_Security_DataHolder_deinit
    linkageType: ''
    returnType: void
    signature: "void handshake_message_deinit(\n    DDS_Security_HandshakeMessageToken
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1130,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1131,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1132,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1133,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1134,1
    - Dst: begin_handshake_request
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1137,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1146,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1149,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1152,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1153,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1154,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1169,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1172,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1178,1
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1183,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1189,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1191,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1192,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1193,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1194,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1196,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1197,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1198,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1200,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1202,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1203,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1204,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1206,1
    - Dst: return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1208,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1209,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1210,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1211,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1212,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1213,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1214,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1215,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1216,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1218,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1219,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1221,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1223,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1225
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - find_property
    - return_authenticated_peer_credential_token
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token
    - CU_ASSERT_EQ
    - process_handshake
    - get_authenticated_peer_credential_token
    - find_binary_property
    - handshake_message_deinit
    - begin_handshake_request
    - return_handshake_handle
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_get_authenticated_peer_credential,token_after_request
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1246,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1248,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1249,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1250,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1251,1
    - Dst: fill_handshake_message_token_default
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1254,1
    - Dst: begin_handshake_reply
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1260,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1270,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1273,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1276,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1277,1
    - Dst: find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1278,1
    - Dst: fill_handshake_message_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1279,1
    - Dst: process_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1296,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1303,1
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1308,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1314,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1316,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1317,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1318,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1319,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1321,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1322,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1323,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1325,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1327,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1328,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1329,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1331,1
    - Dst: return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1334,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1335,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1336,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1337,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1338,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1339,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1340,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1341,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1342,1
    - Dst: return_handshake_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1344,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1345,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1347,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1349,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1350,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1351,1
    - Dst: handshake_message_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1353
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_handshake_handle
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - find_property
    - return_authenticated_peer_credential_token
    - fill_handshake_message_token
    - CU_ASSERT_EQ
    - process_handshake
    - get_authenticated_peer_credential_token
    - handshake_message_deinit
    - find_binary_property
    - begin_handshake_reply
    - CU_ASSERT_NEQ_FATAL
    - fill_handshake_message_token_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_get_authenticated_peer_credential,token_after_reply
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1362,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1363,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1364,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1365,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1366,1
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1368,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1369,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1370,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1371,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1372,1
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1374,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1375,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1376,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1377,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1378,1
    - Dst: get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1380,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1381,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1382,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1383,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1384,1
    - Dst: return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1386,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1387,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1388,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1389,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1390,1
    - Dst: return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1392,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1393,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1394,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1395,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1397
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_authenticated_peer_credential_token
    - get_authenticated_peer_credential_token
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_get_authenticated_peer_credential,token_invalid_arguments
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:40,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:41,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:42,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:43,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:44,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:44,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:45,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:45,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:46,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:46,1
    - Dst: HMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:47,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:47,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:49,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - prefix
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    argTypes:
    - char*
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: crypto_calculate_session_key_impl_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - ddsrt_free
    - memcpy
    - HMAC
    - strlen
    - ERR_print_errors_fp
    - ddsrt_toBE4u
    - ddsrt_malloc
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: bool
    signature: "bool crypto_calculate_session_key_impl_test(\n    const char *prefix,\n
      \   crypto_session_key_t *session_key,\n    uint32_t session_id,\n    const
      unsigned char *master_salt,\n    const unsigned char *master_key,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_calculate_session_key_impl_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: crypto_calculate_session_key_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 1
    functionsReached:
    - crypto_calculate_session_key_impl_test
    linkageType: ''
    returnType: bool
    signature: "bool crypto_calculate_session_key_test(\n    crypto_session_key_t
      *session_key,\n    uint32_t session_id,\n    const unsigned char *master_salt,\n
      \   const unsigned char *master_key,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_calculate_session_key_impl_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: calculate_receiver_specific_key_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 0
    functionsReached:
    - crypto_calculate_session_key_impl_test
    linkageType: ''
    returnType: bool
    signature: "bool calculate_receiver_specific_key_test(\n    crypto_session_key_t
      *session_key,\n    uint32_t session_id,\n    const unsigned char *master_salt,\n
      \   const unsigned char *master_key,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keymat
    argTypes:
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: master_salt_not_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 0
    functionsReached:
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: int
    signature: int master_salt_not_empty(master_key_material *keymat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keymat
    argTypes:
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: master_key_not_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 0
    functionsReached:
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: int
    signature: int master_key_not_empty(master_key_material *keymat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - keymat
    argTypes:
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: master_receiver_specific_key_not_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
    functionUses: 0
    functionsReached:
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: int
    signature: int master_receiver_specific_key_not_empty(master_key_material *keymat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:34,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - seq
    - data
    - size
    argTypes:
    - struct octet_seq*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: octet_seq_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void octet_seq_init(\n    struct octet_seq *seq,\n    unsigned char
      *data,\n    uint32_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - struct octet_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: octet_seq_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void octet_seq_deinit(\n    struct octet_seq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhkey
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: dh_get_public_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - DH_get0_key
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *\ndh_get_public_key(\n     DH *dhkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:62,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:64,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:65,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:66,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:69,1
    - Dst: dh_get_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:69,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: get_pubkey_asn1int
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - DH_free
    - get_openssl_error_message_for_test
    - printf
    - BN_to_ASN1_INTEGER
    - dh_get_public_key
    - EVP_PKEY_get1_DH
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: 'ASN1_INTEGER *

      get_pubkey_asn1int(EVP_PKEY *pkey)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:85,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:87,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:88,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:89,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:94,1
    - Dst: dh_get_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:94,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:96,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:97,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:98,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:103,1
    - Dst: octet_seq_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:104,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:106,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:107,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - struct octet_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 113
    functionName: get_dh_public_key_modp_2048
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - DH_free
    - get_openssl_error_message_for_test
    - OPENSSL_free
    - printf
    - BN_to_ASN1_INTEGER
    - dh_get_public_key
    - octet_seq_init
    - ASN1_INTEGER_free
    - EVP_PKEY_get1_DH
    - i2d_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: "int get_dh_public_key_modp_2048(\n    EVP_PKEY *pkey,\n    struct
      octet_seq *pubkey)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:126,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:127,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:128,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:129,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:131,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:132,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:133,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:134,1
    - Dst: EC_KEY_get0_group
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:136,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:137,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:138,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:139,1
    - Dst: EC_POINT_point2oct
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:141,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:142,1
    - Dst: EC_POINT_point2oct
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:143,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:145,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:146,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:147,1
    - Dst: octet_seq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:148,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:152,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:153,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:154,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - struct octet_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 161
    functionName: get_dh_public_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - EC_KEY_free
    - ddsrt_free
    - EC_POINT_point2oct
    - get_openssl_error_message_for_test
    - EC_KEY_get0_public_key
    - EC_KEY_get0_group
    - EVP_PKEY_get1_EC_KEY
    - printf
    - ddsrt_malloc
    - octet_seq_deinit
    linkageType: ''
    returnType: int
    signature: "int get_dh_public_key_ecdh(\n    EVP_PKEY *pkey,\n    struct octet_seq
      *pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:173,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:175,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:176,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:180,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:181,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:182,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:183,1
    - Dst: DH_get_2048_256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:187,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:188,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:189,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:190,1
    - Dst: DH_set0_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:194,1
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:195,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:196,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:197,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:198,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:202,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:203,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:204,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:205,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:206,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:210,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:211,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:216,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:218,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 223
    functionName: modp_data_to_pubkey
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DH
    - ddsrt_free
    - DH_get_2048_256
    - DH_free
    - get_openssl_error_message_for_test
    - BN_free
    - EVP_PKEY_new
    - printf
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - DH_set0_key
    - ASN1_INTEGER_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\nmodp_data_to_pubkey(\n    const unsigned char *data,\n
      \   uint32_t size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:235,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:236,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:237,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:238,1
    - Dst: EC_POINT_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:239,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:240,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:241,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:242,1
    - Dst: EC_POINT_oct2point
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:243,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:244,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:245,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:246,1
    - Dst: EC_KEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:247,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:248,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:249,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:250,1
    - Dst: EC_KEY_set_group
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:251,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:252,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:253,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:254,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:255,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:256,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:257,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:258,1
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:259,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:260,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:261,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:262,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:263,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:264,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:265,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:266,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:267,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:271,1
    - Dst: EC_POINT_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:272,1
    - Dst: EC_GROUP_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: ecdh_data_to_pubkey
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    - ddsrt_free
    - get_openssl_error_message_for_test
    - EC_POINT_new
    - EVP_PKEY_new
    - EC_KEY_set_public_key
    - EC_KEY_new
    - printf
    - EVP_PKEY_set1_EC_KEY
    - EC_POINT_free
    - EC_GROUP_free
    - EC_GROUP_new_by_curve_name
    - EVP_PKEY_free
    - EC_POINT_oct2point
    - EC_KEY_set_group
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\necdh_data_to_pubkey(\n    const unsigned char *data,\n
      \   uint32_t size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:289,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:290,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:291,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:292,1
    - Dst: DH_get_2048_256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:294,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:295,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:296,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:297,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:299,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:300,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:301,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:302,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:304,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:305,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:306,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:307,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:309,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:310,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:311,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:312,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:314,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:315,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:316,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:317,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:321,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:322,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 326
    functionName: create_dh_key_modp_2048
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - EVP_PKEY_set1_DH
    - EVP_PKEY_keygen
    - ddsrt_free
    - DH_get_2048_256
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - get_openssl_error_message_for_test
    - DH_free
    - EVP_PKEY_new
    - printf
    - EVP_PKEY_keygen_init
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int create_dh_key_modp_2048(\n    EVP_PKEY **pkey)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:339,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:340,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:341,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:342,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:344,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:345,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:346,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:347,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:349,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:350,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:351,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:352,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:354,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:355,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:356,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:357,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:359,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:360,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:361,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:362,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:364,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:365,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:366,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:367,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:369,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:370,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:371,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:372,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:376,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:377,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 381
    functionName: create_dh_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - EVP_PKEY_keygen
    - ddsrt_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - get_openssl_error_message_for_test
    - EVP_PKEY_paramgen_init
    - printf
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_id
    linkageType: ''
    returnType: int
    signature: "int create_dh_key_ecdh(\n    EVP_PKEY **pkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:392,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:393,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:394,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:395,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:398,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: get_pubkey_asn1int
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - get_openssl_error_message_for_test
    - BN_free
    - printf
    - BN_to_ASN1_INTEGER
    - EVP_PKEY_get_bn_param
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: 'ASN1_INTEGER *

      get_pubkey_asn1int(EVP_PKEY *pkey)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:414,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:415,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:416,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:417,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:421,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:423,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:424,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:425,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:429,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:431,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:432,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:433,1
    - Dst: octet_seq_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:437,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:438,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:442,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - struct octet_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 447
    functionName: get_dh_public_key_modp_2048
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - get_openssl_error_message_for_test
    - BN_free
    - OPENSSL_free
    - printf
    - BN_to_ASN1_INTEGER
    - octet_seq_init
    - ASN1_INTEGER_free
    - EVP_PKEY_get_bn_param
    - i2d_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: "int get_dh_public_key_modp_2048(\n    EVP_PKEY *pkey,\n    struct
      octet_seq *pubkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:457,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:459,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:460,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:461,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:464,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:465,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:467,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:468,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:469,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:470,1
    - Dst: octet_seq_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:474,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - struct octet_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 478
    functionName: get_dh_public_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - EVP_PKEY_get_octet_string_param
    - get_openssl_error_message_for_test
    - printf
    - octet_seq_init
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: "int get_dh_public_key_ecdh(\n    EVP_PKEY *pkey,\n    struct octet_seq
      *pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:495,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:496,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:497,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:498,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:502,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:503,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:504,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:505,1
    - Dst: BN_num_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:509,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:510,1
    - Dst: BN_bn2nativepad
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:511,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:513,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:514,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:515,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:517,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:519,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:521,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:525,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:526,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:527,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:528,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:532,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:533,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:534,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:535,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:540,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:542,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:543,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 548
    functionName: modp_data_to_pubkey
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ddsrt_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - ASN1_INTEGER_free
    - get_openssl_error_message_for_test
    - BN_num_bytes
    - EVP_PKEY_fromdata_init
    - BN_free
    - printf
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - EVP_PKEY_fromdata
    - BN_bn2nativepad
    - ddsrt_malloc
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\nmodp_data_to_pubkey(\n    const unsigned char *data,\n
      \   uint32_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:559,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:560,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:561,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:563,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:565,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:566,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:567,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:571,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:572,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:573,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:574,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:578,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:579,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:580,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:581,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 588
    functionName: ecdh_data_to_pubkey
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - ddsrt_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - get_openssl_error_message_for_test
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - printf
    - EVP_PKEY_fromdata
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\necdh_data_to_pubkey(\n    const unsigned char *data,\n
      \   uint32_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:601,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:602,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:604,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:605,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:606,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:607,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:609,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:610,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:611,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:612,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:614,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:615,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:616,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:617,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:619,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:620,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:621,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:622,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 628
    functionName: create_dh_key_modp_2048
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen
    - ddsrt_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - get_openssl_error_message_for_test
    - printf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: int
    signature: "int create_dh_key_modp_2048(\n    EVP_PKEY **pkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:641,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:642,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:643,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:645,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:646,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:647,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:648,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:650,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:651,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:652,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:653,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:655,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:656,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:657,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:658,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:660,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:661,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:662,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:663,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 669
    functionName: create_dh_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen
    - ddsrt_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - get_openssl_error_message_for_test
    - printf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: int
    signature: "int create_dh_key_ecdh(\n    EVP_PKEY **pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:676,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:679,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - size
    argTypes:
    - char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 682
    functionName: print_binary_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_binary_test( char* name, unsigned char *value, uint32_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_binary_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 695
    functionName: print_binary_properties_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - print_binary_test
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: "DDS_Security_BinaryProperty_t *\nprint_binary_properties_test(\n    DDS_Security_DataHolder
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:711,1
    - Dst: DDS_Security_Serialize_BinaryPropertyArray
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:713,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:714,1
    - Dst: create_asymmetrical_signature_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:716,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:718,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - pkey
    - binary_properties
    - binary_properties_length
    - signature
    - signatureLen
    - ex
    argTypes:
    - EVP_PKEY*
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 722
    functionName: create_signature_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - DDS_Security_Serialize_BinaryPropertyArray
    - ddsrt_free
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - create_asymmetrical_signature_for_test
    - DDS_Security_Serializer_new
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t create_signature_for_test(\n    EVP_PKEY
      *pkey,\n    const DDS_Security_BinaryProperty_t **binary_properties,\n    const
      uint32_t binary_properties_length,\n    unsigned char **signature,\n    size_t
      *signatureLen,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:738,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:739,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:741,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:742,1
    - Dst: EVP_DigestSignInit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:746,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:746,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:747,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:749,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:750,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:754,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:755,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:757,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:758,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:762,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:763,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:765,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:766,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:770,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:771,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:773,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:774,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:778,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:779,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:780,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:782,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:783,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:784,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 6
    argNames:
    - pkey
    - data
    - dataLen
    - signature
    - signatureLen
    - ex
    argTypes:
    - EVP_PKEY*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 791
    functionName: screate_asymmetrical_signature_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_Security_Exception_set
    - EVP_MD_CTX_create
    - EVP_sha256
    - get_openssl_error_message_for_test
    - EVP_DigestSignInit
    - EVP_DigestSignFinal
    - ddsrt_malloc
    - EVP_MD_CTX_destroy
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t screate_asymmetrical_signature_for_test(\n
      \    EVP_PKEY *pkey,\n     void *data,\n     size_t dataLen,\n     unsigned
      char **signature,\n     size_t *signatureLen,\n     DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:799,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:799,1
    - Dst: ERR_print_errors
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:805,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:806,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:807,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:808,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:809,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:810,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 816
    functionName: get_openssl_error_message_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 15
    functionsReached:
    - BIO_s_mem
    - ERR_print_errors
    - memcpy
    - BIO_new
    - memset
    - ddsrt_strdup
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: "char *\nget_openssl_error_message_for_test(\n        void)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:830,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:831,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:833,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:834,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:838,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:838,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:839,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:841,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:842,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:846,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:847,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:849,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:850,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:854,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:855,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:857,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:858,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 6
    argNames:
    - pkey
    - data
    - dataLen
    - signature
    - signatureLen
    - ex
    argTypes:
    - EVP_PKEY*
    - void*
    - size_t
    - unsigned char*
    - size_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 866
    functionName: validate_asymmetrical_signature_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_Security_Exception_set
    - EVP_MD_CTX_create
    - EVP_sha256
    - get_openssl_error_message_for_test
    - EVP_DigestVerifyFinal
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyInit
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_asymmetrical_signature_for_test(\n
      \   EVP_PKEY *pkey,\n    void *data,\n    size_t dataLen,\n    unsigned char
      *signature,\n    size_t signatureLen,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:880,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:881,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:885,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:885,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:889,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:890,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:891,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:893,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:894,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:896,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:897,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:898,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pkey
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (pkey)
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    - condition: (buffer)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    constantsTouched: []
    func_position:
      end: 905
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 905
    functionName: get_public_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 2
    functionsReached:
    - PEM_write_bio_PUBKEY
    - BIO_s_mem
    - ddsrt_free
    - DDS_Security_Exception_set
    - memcpy
    - assert
    - get_openssl_error_message_for_test
    - BIO_new
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t get_public_key(\n    EVP_PKEY *pkey,\n
      \   unsigned char **buffer,\n    size_t *length,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_data_to_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:929,1
    - Dst: modp_data_to_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:931,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:935,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:938,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:942,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:945,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:948,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:950,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:954,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:955,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:956,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:957,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:958,1
    - Dst: EVP_PKEY_derive
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:962,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:966,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:969,1
    - Dst: EVP_PKEY_derive
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:971,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:974,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:977,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:979,1
    - Dst: dds_security_authentication*::get_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:982,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:989,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:993,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:996,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - auth
    - use_ecdh
    - dh_remote
    - dh_local_private
    - handshake_handle
    argTypes:
    - dds_security_authentication*
    - int
    - DDS_Security_BinaryProperty_t*
    - EVP_PKEY*
    - DDS_Security_HandshakeHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 997
    functionName: check_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 3
    functionsReached:
    - CU_FAIL
    - EVP_PKEY_CTX_new
    - modp_data_to_pubkey
    - ddsrt_free
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - get_openssl_error_message_for_test
    - EVP_PKEY_CTX_free
    - SHA256
    - memcmp
    - printf
    - ecdh_data_to_pubkey
    - dds_security_authentication*::get_shared_secret
    - EVP_PKEY_derive_init
    - ddsrt_malloc
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int check_shared_secret(\n    dds_security_authentication *auth,\n
      \   int use_ecdh,\n    const DDS_Security_BinaryProperty_t *dh_remote,\n    EVP_PKEY
      *dh_local_private,\n\n    DDS_Security_HandshakeHandle handshake_handle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1014,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1015,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1017,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1018,1
    - Dst: EVP_DigestSignInit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1022,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1022,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1023,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1025,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1026,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1030,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1031,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1033,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1034,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1038,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1039,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1041,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1042,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1046,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1047,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1049,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1050,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1054,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1055,1
    - Dst: get_openssl_error_message_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1056,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1058,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1059,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1060,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c:1064,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 6
    argNames:
    - pkey
    - data
    - dataLen
    - signature
    - signatureLen
    - ex
    argTypes:
    - EVP_PKEY*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1067
    functionName: create_asymmetrical_signature_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - DDS_Security_Exception_set
    - EVP_MD_CTX_create
    - EVP_sha256
    - get_openssl_error_message_for_test
    - EVP_DigestSignInit
    - EVP_DigestSignFinal
    - ddsrt_malloc
    - EVP_MD_CTX_destroy
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t create_asymmetrical_signature_for_test(\n
      \       EVP_PKEY *pkey,\n        void *data,\n        size_t dataLen,\n        unsigned
      char **signature,\n        size_t *signatureLen,\n        DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:54,1
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:56,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:59,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:62,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:63,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:67,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:69,1
    - Dst: struct plugin_info*::func_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:74,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:78,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:82,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - info
    - name_lib
    - name_init
    - name_fini
    - args
    argTypes:
    - struct plugin_info*
    - char*
    - char*
    - char*
    - void*
    assertStmts:
    - condition: (info)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 86
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 86
    functionName: load_plugin
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 0
    functionsReached:
    - struct plugin_info*::func_init
    - ddsrt_dlopen
    - assert
    - ddsrt_dlsym
    - ddsrt_dlerror
    - printf
    linkageType: ''
    returnType: void
    signature: "void *\nload_plugin(\n        struct plugin_info *info,\n        const
      char *name_lib,\n        const char *name_init,\n        const char *name_fini,\n
      \       void *args)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:95,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:96,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:97,1
    - Dst: ddsi_xeventq_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:102,1
    - Dst: load_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:105,1
    - Dst: load_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:115,1
    - Dst: load_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:125,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:135,1
    - Dst: ddsi_xeventq_start
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:136,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - ac
    - auth
    - crypto
    - gv_init
    argTypes:
    - dds_security_access_control**
    - dds_security_authentication**
    - dds_security_cryptography**
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (plugins)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 142
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 142
    functionName: load_plugins
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 35
    functionsReached:
    - load_plugin
    - assert
    - memset
    - ddsi_thread_states_init
    - ddsi_xeventq_new
    - ddsrt_malloc
    - ddsi_xeventq_start
    - unload_plugins
    linkageType: ''
    returnType: struct plugins_hdl
    signature: "struct plugins_hdl *\nload_plugins(\n        dds_security_access_control
      **ac,\n        dds_security_authentication **auth,\n        dds_security_cryptography
      \  **crypto,\n        const struct ddsi_domaingv *gv_init)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:149,1
    - Dst: struct plugin_info*::func_fini
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:153,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:155,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct plugin_info*
    assertStmts:
    - condition: (info)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: unload_plugin
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 0
    functionsReached:
    - struct plugin_info*::func_fini
    - assert
    - ddsrt_dlclose
    - printf
    linkageType: ''
    returnType: void
    signature: "void unload_plugin(\n        struct plugin_info *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:166,1
    - Dst: unload_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:167,1
    - Dst: unload_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:168,1
    - Dst: unload_plugin
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:169,1
    - Dst: ddsi_xeventq_stop
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:171,1
    - Dst: ddsi_xeventq_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:172,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:173,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - plugins
    argTypes:
    - struct plugins_hdl*
    assertStmts:
    - condition: (plugins)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: unload_plugins
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 18
    functionsReached:
    - ddsi_thread_states_fini
    - ddsrt_free
    - assert
    - ddsi_xeventq_stop
    - unload_plugin
    - ddsi_xeventq_free
    linkageType: ''
    returnType: void
    signature: "void unload_plugins(\n        struct plugins_hdl *plugins)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _stat
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:188,1
    - Dst: stat
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:191,1
    - Dst: S_ISREG
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:198,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:217,1
    - Dst: DDS_Security_normalize_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:220,1
    - Dst: regular_file_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:223,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:226,1
    - Dst: fopen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:227,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:228,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:231,1
    - Dst: fread
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:232,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:234,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:239,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts:
    - condition: (filename)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 246
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 246
    functionName: regular_file_size
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 1
    functionsReached:
    - fclose
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - DDS_Security_normalize_file
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - fread
    - regular_file_size
    - S_ISREG
    - stat
    - _stat
    - ddsrt_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t regular_file_size(\n         const char *filename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:217,1
    - Dst: DDS_Security_normalize_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:220,1
    - Dst: regular_file_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:223,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:226,1
    - Dst: fopen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:227,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:228,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:231,1
    - Dst: fread
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:232,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:234,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:239,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts:
    - condition: (filename)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: load_file_contents
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    functionUses: 4
    functionsReached:
    - fclose
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - DDS_Security_normalize_file
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - regular_file_size
    - fread
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: "char *\nload_file_contents(\n    const char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 67
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:90,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 14
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:111,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 7
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:122,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:123,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:126,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 140
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 18
    functionsReached:
    - crypto_key_factory::register_local_participant
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:147,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:153,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:155,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:157,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:161,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:165,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    - DDS_Security_CryptoTransformKind_Enum
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: prepare_endpoint_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_endpoint_security_attributes_and_properties(DDS_Security_EndpointSecurityAttributes
      *attributes,\n                                                                DDS_Security_PropertySeq
      *properties,\n                                                                DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n                                                                bool
      is_origin_authenticated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:201,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:212,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 8
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:233,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:244,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - attributes
    - properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 12
    functionsReached:
    - printf
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_local_datawriter(DDS_Security_EndpointSecurityAttributes
      *attributes, DDS_Security_PropertySeq *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:265,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 3
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_remote_datawriter(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:285,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 9
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_datawriter(DDS_Security_DatawriterCryptoHandle writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:296,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - attributes
    - properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 309
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 9
    functionsReached:
    - crypto_key_factory::register_local_datareader
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_local_datareader(DDS_Security_EndpointSecurityAttributes
      *attributes, DDS_Security_PropertySeq *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:317,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:320,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 4
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_remote_datareader(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:341,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 9
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_datareader(DDS_Security_DatareaderCryptoHandle reader_crypto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:356,1
    - Dst: crypto_key_exchange::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:359,1
    - Dst: crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:368,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:376,1
    - Dst: crypto_key_exchange::create_local_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:380,1
    - Dst: crypto_key_exchange::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:390,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - nodeA_local_writer_crypto
    - nodeA_remote_reader_crypto
    - nodeB_local_reader_crypto
    - nodeB_remote_writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 401
    functionName: set_remote_datawriter_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 2
    functionsReached:
    - crypto_key_exchange::set_remote_datareader_crypto_tokens
    - crypto_key_exchange::set_remote_datawriter_crypto_tokens
    - crypto_key_exchange::create_local_datawriter_crypto_tokens
    - memset
    - DDS_Security_DataHolderSeq_deinit
    - crypto_key_exchange::create_local_datareader_crypto_tokens
    linkageType: ''
    returnType: bool
    signature: "bool set_remote_datawriter_tokens(\n    DDS_Security_DatawriterCryptoHandle
      nodeA_local_writer_crypto,\n    DDS_Security_DatareaderCryptoHandle nodeA_remote_reader_crypto,\n
      \   DDS_Security_DatareaderCryptoHandle nodeB_local_reader_crypto,\n    DDS_Security_DatawriterCryptoHandle
      nodeB_remote_writer_crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:405,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:407,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:407,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:413,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:413,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:414,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: suite_decode_datawriter_submessage_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_decode_datawriter_submessage_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:419,1
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:420,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:421,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: suite_decode_datawriter_submessage_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_decode_datawriter_submessage_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: submsg_header_endianness_flag
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char submsg_header_endianness_flag (enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:436,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:440,1
    - Dst: submsg_header_endianness_flag
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:443,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:444,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - submsg
    - bo
    argTypes:
    - DDS_Security_OctetSeq*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 451
    functionName: initialize_data_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - ddsrt_toBO2u
    - submsg_header_endianness_flag
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_data_submessage(DDS_Security_OctetSeq *submsg, enum
      ddsrt_byte_order_selector bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - submsg
    - id
    - flags
    - length
    argTypes:
    - struct submsg_header*
    - unsigned char
    - unsigned char
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: set_submsg_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_submsg_header(struct submsg_header *submsg, unsigned char
      id, unsigned char flags, uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: get_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct submsg_header
    signature: struct submsg_header * get_submsg(unsigned char *data, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: get_crypto_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_header
    signature: struct crypto_header * get_crypto_header(unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_submsg
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: get_crypto_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - get_submsg
    linkageType: ''
    returnType: struct crypto_footer
    signature: struct crypto_footer * get_crypto_footer(unsigned char *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:506,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:507,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:508,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:509,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:511,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:512,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:514,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:516,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:517,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:519,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:520,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:522,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:523,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:525,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:526,1
    - Dst: set_remote_datawriter_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:528,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:529,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:532,1
    - Dst: crypto_transform::encode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:537,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:548,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:551,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:552,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:553,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:555,1
    - Dst: crypto_transform::decode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:558,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:568,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:571,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:572,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:573,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:574,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:576,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:578,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:580,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:583,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:586,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:587,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:588,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:590,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:592,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:593,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:594,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:595,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 597
    functionName: decode_datawriter_submessage_not_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - register_remote_datawriter
    - memcmp
    - crypto_transform::decode_datawriter_submessage
    - register_remote_datareader
    - unregister_datareader
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - register_local_datawriter
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - crypto_transform::encode_datawriter_submessage
    - CU_ASSERT_EQ_FATAL
    - initialize_data_submessage
    - unregister_datawriter
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - CU_FAIL
    - register_local_datareader
    - printf
    - prepare_endpoint_security_attributes_and_properties
    - set_remote_datawriter_tokens
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void decode_datawriter_submessage_not_signed(DDS_Security_CryptoTransformKind_Enum
      transformation_kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:639,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:640,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:641,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:642,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:644,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:645,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:647,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:649,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:650,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:653,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:656,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:659,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:667,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:668,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:670,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:671,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:673,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:674,1
    - Dst: set_remote_datawriter_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:676,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:677,1
    - Dst: crypto_transform::encode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:690,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:701,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:704,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:705,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:706,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:708,1
    - Dst: crypto_transform::decode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:716,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:726,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:729,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:730,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:731,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:732,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:734,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:736,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:739,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:740,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:745,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:746,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:747,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:752,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:754,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:755,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:756,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:758,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:759,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:761,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 763
    functionName: decode_datawriter_submessage_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - register_remote_datawriter
    - memcmp
    - crypto_transform::decode_datawriter_submessage
    - register_remote_datareader
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - unregister_datareader
    - register_local_datawriter
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - crypto_transform::encode_datawriter_submessage
    - CU_ASSERT_EQ_FATAL
    - initialize_data_submessage
    - unregister_datawriter
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - CU_FAIL
    - register_local_datareader
    - printf
    - prepare_endpoint_security_attributes_and_properties
    - DDS_Security_DatawriterCryptoHandleSeq_deinit
    - DDS_Security_DatawriterCryptoHandleSeq_allocbuf
    - set_remote_datawriter_tokens
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void decode_datawriter_submessage_signed(DDS_Security_CryptoTransformKind_Enum
      transformation_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
    functionUses: 7
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
    functionUses: 73
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:66,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:66,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:73,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:74,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:88,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:90,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:91,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:92,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:93,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:100,1
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:103,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:110,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:111,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 113
    functionName: suite_register_local_datawriter_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - ddsrt_free
    - prepare_participant_security_attributes
    - memset
    - crypto_key_factory::register_matched_remote_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void suite_register_local_datawriter_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:119,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:120,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:122,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:123,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: suite_register_local_datawriter_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_local_datawriter_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:21,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:21,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:22,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:22,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:23,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:23,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:24,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:24,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:25,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:25,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:27,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:27,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:28,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:28,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:29,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:29,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:30,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:30,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:31,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:31,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:33,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:33,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:34,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:34,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:35,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:35,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:36,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:36,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:37,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:37,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:38,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:38,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:39,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:39,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:40,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:40,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:42,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:42,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:43,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:43,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:44,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:44,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:45,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:45,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:46,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:46,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:47,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:47,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:48,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:48,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:49,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:49,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:50,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:50,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:51,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:51,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:52,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:52,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:53,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:53,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:54,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:54,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:55,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:55,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:56,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:56,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:57,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:57,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:58,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:58,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:59,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:59,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:60,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:60,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:61,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:61,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:62,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:62,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:63,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:63,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:64,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 65
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT
    - ac_fnmatch
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_access_control_fnmatch, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c:32,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: suite_register_local_participant_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_register_local_participant_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: suite_register_local_participant_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_local_participant_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c
    functionUses: 74
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CRYPTO_TRANSFORM_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_KIND(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CRYPTO_TRANSFORM_ID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_ID(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:49,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 16
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:69,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 8
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:101,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:102,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:105,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 22
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:127,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 10
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:149,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:151,1
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:154,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 12
    functionsReached:
    - prepare_endpoint_security_attributes
    - crypto_key_factory::register_local_datareader
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_datareader(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 187
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 5
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_datawriter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 74
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:199,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:200,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:200,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:205,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:205,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:206,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:206,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:207,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:207,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:208,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: suite_create_local_datareader_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_datawriter
    - register_local_datareader
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_create_local_datareader_crypto_tokens_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:217,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:218,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:222,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:223,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:227,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:228,1
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:232,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:233,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:235,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: suite_create_local_datareader_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    - crypto_key_factory::unregister_participant
    - deallocate_shared_secret
    - unload_plugins
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void suite_create_local_datareader_crypto_tokens_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: data_not_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool data_not_empty(unsigned char *data, uint32_t length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:256,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:257,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:259,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:261,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:264,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:266,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:271,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:276,1
    - Dst: data_not_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:279,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:281,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:286,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:291,1
    - Dst: data_not_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:294,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:296,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:305,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 309
    functionName: check_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 1
    functionsReached:
    - CRYPTO_TRANSFORM_ID
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - CRYPTO_TRANSFORM_KIND
    - printf
    - data_not_empty
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: bool
    signature: bool check_key_material(DDS_Security_OctetSeq *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:324,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:328,1
    - Dst: check_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DatawriterCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 339
    functionName: check_token_validity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - check_key_material
    linkageType: ''
    returnType: bool
    signature: bool check_token_validity(const DDS_Security_DatawriterCryptoTokenSeq
      *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:155,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 8
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:165,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:166,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 8
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 75
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:184,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:185,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:187,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:188,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:189,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:190,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:191,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:192,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:193,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:195,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:196,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:197,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:198,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:199,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:200,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:202,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - qos
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 204
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 2
    functionsReached:
    - dds_security_property_init
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void fill_participant_qos(DDS_Security_Qos *qos, const char *permission_filename,
      const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:208,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:210,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:212,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:214,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:215,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:217,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_PermissionsToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: fill_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: void fill_permissions_token(DDS_Security_PermissionsToken *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:227,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:229,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:231,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:235,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:237,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:239,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:240,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:247,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - token
    - permission_filename
    argTypes:
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: fill_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - load_file_contents
    linkageType: ''
    returnType: int
    signature: int fill_peer_credential_token(DDS_Security_AuthenticatedPeerCredentialToken
      *token, const char *permission_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:261,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:262,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:263,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:264,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:265,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:266,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:270,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:271,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_AuthenticatedPeerCredentialToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: corrupt_permission_signature
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - strlen
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void corrupt_permission_signature(DDS_Security_AuthenticatedPeerCredentialToken
      *token)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:287,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:288,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:289,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:291,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:294,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:306,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:309,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:313,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:324,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 331
    functionName: validate_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - validate_local_permissions
    - fill_participant_qos
    - validate_local_identity
    linkageType: ''
    returnType: int
    signature: int validate_local_identity_and_permissions(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:340,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:342,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:343,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:348,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:350,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: clear_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void clear_local_identity_and_permissions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:362,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:363,1
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:364,1
    - Dst: validate_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: suite_validate_remote_permissions_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 0
    functionsReached:
    - set_path_to_etc_dir
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity_and_permissions
    linkageType: ''
    returnType: void
    signature: void suite_validate_remote_permissions_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:370,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:371,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: suite_validate_remote_permissions_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
    functionUses: 0
    functionsReached:
    - clear_local_identity_and_permissions
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_validate_remote_permissions_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:43,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 18
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:61,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 9
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 9
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:84,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:85,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:87,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:90,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 24
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:110,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 11
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_exchange::create_local_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:128,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: create_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_exchange::create_local_participant_crypto_tokens
    - printf
    linkageType: ''
    returnType: int
    signature: int create_crypto_tokens(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_exchange::return_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:147,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:149,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:154,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:156,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:161,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: unregister_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_exchange::return_crypto_tokens
    - crypto_key_factory::unregister_participant
    - printf
    linkageType: ''
    returnType: void
    signature: void unregister_participants(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:169,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:171,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:171,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:176,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:176,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:177,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:178,1
    - Dst: create_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: suite_set_remote_participant_crypto_tokens_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - create_crypto_tokens
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_participant_crypto_tokens_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:183,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:184,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: suite_set_remote_participant_crypto_tokens_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 0
    functionsReached:
    - unregister_participants
    - deallocate_shared_secret
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_set_remote_participant_crypto_tokens_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
    functionUses: 77
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_validate_local_identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_validate_local_identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:478,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 9
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_init(\n    DDS_Security_PropertySeq *seq,\n
      \   DDS_Security_unsigned_long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:489,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:490,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 9
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_property_deinit(\n    DDS_Security_PropertySeq *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:502,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:505,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:507,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:510,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - guid
    argTypes:
    - char*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: print_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_guid(\n    const char *msg,\n    DDS_Security_GUID_t *guid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 77
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void reset_exception(\n    DDS_Security_SecurityException *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:548,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:549,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:552,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:555,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:557,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:559,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:562,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:566,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:569,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:571,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:573,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:576,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:580,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:583,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:585,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:587,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:590,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:595,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:596,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:601,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:604,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:606,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:608,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:611,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:618,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:620,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:622,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 11
    argNames:
    - participant_qos
    - is_file_certificate
    - certificate
    - is_file_ca
    - ca
    - is_file_private_key
    - private_key_data
    - password
    - trusted_ca_dir
    - is_file_crl
    - crl_data
    argTypes:
    - DDS_Security_Qos*
    - bool
    - char*
    - bool
    - char*
    - bool
    - char*
    - char*
    - char*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 625
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_strdup
    - dds_security_property_init
    - memset
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void fill_participant_qos(\n    DDS_Security_Qos *participant_qos,\n
      \   bool is_file_certificate, const char *certificate,\n    bool is_file_ca,
      const char *ca,\n    bool is_file_private_key, const char *private_key_data,\n
      \   const char *password,\n    const char *trusted_ca_dir,\n    bool is_file_crl,
      const char *crl_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:642,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:643,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:645,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:646,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:647,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:649,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:656,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:666,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:670,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:671,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:673,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:674,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:676,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:677,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:679,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:680,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:683,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:685,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:688,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:689,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:690,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:692,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:700,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:710,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:714,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:715,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:717,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:718,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:720,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:721,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:723,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:724,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:727,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 730
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,happy_day)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:746,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:747,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:749,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:750,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:751,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:753,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:761,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:771,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:775,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:776,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:777,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:779,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:780,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:784,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:785,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:786,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:788,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:796,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:806,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:810,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:811,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:812,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:814,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 816
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,invalid_certificate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:832,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:833,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:835,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:836,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:837,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:839,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:846,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:856,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:860,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:861,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:862,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:864,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:865,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:868,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:869,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:870,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:872,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:879,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:889,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:893,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:894,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:895,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:897,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 899
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,invalid_root)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:915,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:916,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:918,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:919,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:920,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:922,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:929,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:939,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:943,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:944,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:945,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:947,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:948,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:951,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:952,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:953,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:955,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:962,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:972,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:976,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:977,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:978,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:980,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 984
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,invalid_chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:999,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1000,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1002,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1003,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1004,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1006,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1014,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1024,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1028,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1029,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1030,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1032,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 1034
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,certificate_key_too_small)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1050,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1051,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1053,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1054,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1055,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1057,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1064,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1074,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1078,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1079,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1080,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1082,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1083,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1086,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1087,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1088,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1090,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1097,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1107,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1111,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1112,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1113,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1115,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1117
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,invalid_private_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1133,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1134,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1136,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1137,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1138,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1140,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1147,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1157,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1161,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1162,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1163,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1165,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1167
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,private_key_too_small)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1183,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1184,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1186,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1187,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1188,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1190,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1191,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1192,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1193,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1195,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1196,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1197,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1200,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1210,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1214,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1215,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1216,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1217,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1219,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1221
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_init
    - CU_ASSERT_STREQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - ddsrt_strdup
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,missing_certificate_property)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1239,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1240,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1242,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1243,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1244,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1246,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1247,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1248,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1249,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1250,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1251,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1252,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1253,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1256,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1266,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1270,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1271,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1272,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1273,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1275,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1224
    functionDepth: 2
    functionLinenumber: 1224
    functionLinenumberEnd: 1277
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_init
    - CU_ASSERT_STREQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - ddsrt_strdup
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,missing_ca_property)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1292,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1293,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1295,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1296,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1297,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1299,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1300,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1301,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1302,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1303,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1304,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1307,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1317,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1321,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1322,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1323,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1324,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1326,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1328
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_init
    - CU_ASSERT_STREQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - ddsrt_strdup
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,missing_private_key_property)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1345,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1346,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1348,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1348,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1349,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1351,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1353,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1354,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1355,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1357,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1364,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1374,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1378,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1379,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1380,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1382,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1383,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1386
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - snprintf
    - CU_ASSERT_NEQ
    - fill_participant_qos
    - ddsrt_free
    - dds_security_property_deinit
    - memcpy
    - memset
    - strlen
    - printf
    - ddsrt_malloc
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,unsupported_certification_format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1401,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1402,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1404,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1405,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1406,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1408,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1415,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1425,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1429,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1430,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1432,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1433,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1435,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1436,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1439,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1440,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1441,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1443,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1450,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1460,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1464,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1465,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1467,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1468,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1470,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1388
    functionDepth: 2
    functionLinenumber: 1388
    functionLinenumberEnd: 1472
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - CU_ASSERT_EQ
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,encrypted_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1487,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1488,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1490,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1491,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1492,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1494,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1501,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1511,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1512,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1513,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1515,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1516,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1519,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1520,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1521,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1523,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1530,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1540,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1541,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1542,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1544,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1474
    functionDepth: 2
    functionLinenumber: 1474
    functionLinenumberEnd: 1546
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,encrypted_key_no_password)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1561,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1562,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1564,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1565,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1566,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1568,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1576,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1586,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1590,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1591,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1592,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1594,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1595,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1599,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1600,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1601,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1603,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1611,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1621,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1625,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1626,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1627,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1629,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1548
    functionDepth: 2
    functionLinenumber: 1548
    functionLinenumberEnd: 1631
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,encrypted_key_invalid_password)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1647,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1648,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1650,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1651,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1652,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1654,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1661,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1671,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1675,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1676,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1678,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1679,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1681,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1682,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1684,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1685,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1688,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1690,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1693,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1694,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1695,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1697,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1704,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1714,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1718,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1719,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1721,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1722,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1724,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1725,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1727,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1728,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1731,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1734
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,happy_day_elliptic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1750,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1751,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1753,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1754,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1755,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1757,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1764,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1774,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1778,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1779,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1781,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1782,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1784,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1785,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1788,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1789,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1790,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1792,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1799,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1809,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1813,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1814,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1815,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1817,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1819
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - CU_ASSERT_EQ
    - CU_ASSERT_MEMEQ_FATAL
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,encrypted_ec_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1834,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1835,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1837,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1838,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1839,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1841,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1849,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1859,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1863,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1864,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1865,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1867,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1869
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,elliptic_unsupported_certificate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1884,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1885,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1887,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1888,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1889,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1891,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1899,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1909,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1913,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1914,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1915,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1917,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1919
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,elliptic_unsupported_private_key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1935,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1936,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1938,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1939,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1940,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1942,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1950,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1960,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1964,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1965,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1967,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1968,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1970,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1971,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1973,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1974,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1977,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1979,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1981,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1982,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1983,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1984,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1987,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:1989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1921
    functionDepth: 2
    functionLinenumber: 1921
    functionLinenumberEnd: 1990
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - CU_ASSERT_EQ
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,return_freed_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2006,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2007,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2010,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2011,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2012,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2014,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2022,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2032,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2036,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2037,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2039,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2040,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2042,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2043,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2044,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2046,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2054,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2064,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2068,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2069,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2071,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2072,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2075,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2076,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2077,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2079,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2087,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2097,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2101,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2102,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2104,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 1993
    functionDepth: 2
    functionLinenumber: 1993
    functionLinenumberEnd: 2106
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,no_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2122,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2123,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2125,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2126,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2127,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2129,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2136,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2146,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2150,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2151,1
    - Dst: print_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2153,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2154,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2156,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2157,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2159,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2160,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2163,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2166,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2167,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2168,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2170,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2178,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2188,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2189,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2191,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2108
    functionDepth: 2
    functionLinenumber: 2108
    functionLinenumberEnd: 2193
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - return_identity_handle
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_MEMEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - print_guid
    - CU_ASSERT_EQ
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,with_extended_certificate_check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2209,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2210,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2212,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2213,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2214,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2216,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2223,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2233,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2237,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2238,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2239,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2241,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2242,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2245,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2246,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2247,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2249,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2257,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2267,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2271,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2272,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2273,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2275,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2277
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2293,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2294,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2297,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2298,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2299,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2301,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2309,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2319,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2323,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2324,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2325,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2327,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c:2328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2280
    functionDepth: 2
    functionLinenumber: 2280
    functionLinenumberEnd: 2329
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - CU_ASSERT_NEQ
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_validate_local_identity,trusted_ca_dir_and_crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 100
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:94,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 20
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:115,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 10
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:122,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:125,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - data
    - sz
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: print_octets
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_octets(const char *msg, const unsigned char *data, size_t
      sz)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:135,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:141,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:143,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:145,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:149,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:153,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_PropertySeq*
    - DDS_Security_CryptoTransformKind_Enum
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: prepare_participant_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_participant_security_attributes_and_properties(DDS_Security_ParticipantSecurityAttributes
      *attributes,\n                                                                   DDS_Security_PropertySeq
      *properties,\n                                                                   DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n                                                                   bool
      is_origin_authenticated)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:192,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:202,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:206,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - participant_security_attributes
    - participant_properties
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 220
    functionName: register_local_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participants(DDS_Security_ParticipantSecurityAttributes
      *participant_security_attributes, DDS_Security_PropertySeq *participant_properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:227,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:228,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:232,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: unregister_local_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participants(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:250,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - local_id
    - remote_ids
    - participant_cryptos
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_IdentityHandle[]
    - DDS_Security_ParticipantCryptoHandle[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: register_remote_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: "int register_remote_participants(DDS_Security_ParticipantCryptoHandle
      local_id,\n                             DDS_Security_IdentityHandle remote_ids[4],\n
      \                            DDS_Security_ParticipantCryptoHandle participant_cryptos[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:277,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: unregister_remote_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participants(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:293,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - local_id
    - remote_identity
    - remote_participant_crypto
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_ParticipantCryptoHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 305
    functionName: register_remote_participant_for_participantB
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: "int register_remote_participant_for_participantB(\n    DDS_Security_ParticipantCryptoHandle
      local_id,\n    DDS_Security_IdentityHandle remote_identity,\n    DDS_Security_ParticipantCryptoHandle
      *remote_participant_crypto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:312,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - remote_participant_crypto
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: unregister_remote_participant_of_participantB
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant_of_participantB(DDS_Security_ParticipantCryptoHandle
      remote_participant_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant_crypto
    - protection_kind
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: set_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_protection_kind(DDS_Security_ParticipantCryptoHandle participant_crypto,
      DDS_Security_ProtectionKind protection_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:334,1
    - Dst: crypto_key_exchange::create_local_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:338,1
    - Dst: crypto_key_exchange::set_remote_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:347,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - local_participantA_crypto_handle
    - remote_participantB_crypto_handle
    - local_participantB_crypto_handle
    - remote_participantA_crypto_handle
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 358
    functionName: set_remote_participant_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_exchange::set_remote_participant_crypto_tokens
    - crypto_key_exchange::create_local_participant_crypto_tokens
    - memset
    - DDS_Security_DataHolderSeq_deinit
    linkageType: ''
    returnType: bool
    signature: "bool set_remote_participant_tokens(\n    DDS_Security_ParticipantCryptoHandle
      local_participantA_crypto_handle,\n    DDS_Security_ParticipantCryptoHandle
      remote_participantB_crypto_handle,\n    DDS_Security_ParticipantCryptoHandle
      local_participantB_crypto_handle,\n    DDS_Security_ParticipantCryptoHandle
      remote_participantA_crypto_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant_crypto
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: get_local_participant_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_local_participant_session(DDS_Security_ParticipantCryptoHandle
      participant_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:368,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:370,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: suite_decode_rtps_message_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - allocate_shared_secret
    linkageType: ''
    returnType: void
    signature: void suite_decode_rtps_message_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:379,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: suite_decode_rtps_message_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - deallocate_shared_secret
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_decode_rtps_message_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: submsg_header_endianness_flag
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char submsg_header_endianness_flag (enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:394,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:398,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:399,1
    - Dst: submsg_header_endianness_flag
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:403,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:404,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - submsg
    - bo
    argTypes:
    - DDS_Security_OctetSeq*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: initialize_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - ddsrt_toBO2u
    - submsg_header_endianness_flag
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_rtps_message(DDS_Security_OctetSeq *submsg, enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - submsg
    - id
    - flags
    - length
    argTypes:
    - struct submsg_header*
    - unsigned char
    - unsigned char
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: set_submsg_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_submsg_header(struct submsg_header *submsg, unsigned char
      id, unsigned char flags, uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: get_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct submsg_header
    signature: struct submsg_header * get_submsg(unsigned char *data, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: get_crypto_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_header
    signature: struct crypto_header * get_crypto_header(unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_submsg
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: get_crypto_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - get_submsg
    linkageType: ''
    returnType: struct crypto_footer
    signature: struct crypto_footer * get_crypto_footer(unsigned char *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:457,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:461,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:463,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:473,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:483,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:487,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:489,1
    - Dst: print_octets
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:490,1
    - Dst: print_octets
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - decoded
    - orig
    argTypes:
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 495
    functionName: check_decoded_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - print_octets
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool check_decoded_rtps_message(const DDS_Security_OctetSeq *decoded,
      const DDS_Security_OctetSeq *orig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:510,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:511,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:512,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:513,1
    - Dst: prepare_participant_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:515,1
    - Dst: register_local_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:516,1
    - Dst: initialize_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:518,1
    - Dst: get_local_participant_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:520,1
    - Dst: register_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:524,1
    - Dst: register_remote_participant_for_participantB
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:528,1
    - Dst: set_remote_participant_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:530,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:531,1
    - Dst: DDS_Security_ParticipantCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:534,1
    - Dst: crypto_transform::encode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:539,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:550,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:553,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:554,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:555,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:557,1
    - Dst: crypto_transform::decode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:560,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:570,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:573,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:574,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:575,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:576,1
    - Dst: check_decoded_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:578,1
    - Dst: unregister_remote_participant_of_participantB
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:580,1
    - Dst: unregister_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:581,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:582,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:584,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:585,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:586,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:587,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:588,1
    - Dst: unregister_local_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 2
    argNames:
    - transformation_kind
    - key_size
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 591
    functionName: decode_rtps_message_not_authenticated
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - unregister_remote_participant_of_participantB
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - unregister_remote_participants
    - get_local_participant_session
    - unregister_local_participants
    - register_local_participants
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - register_remote_participant_for_participantB
    - crypto_transform::decode_rtps_message
    - crypto_transform::encode_rtps_message
    - printf
    - initialize_rtps_message
    - register_remote_participants
    - DDS_Security_ParticipantCryptoHandleSeq_allocbuf
    - prepare_participant_security_attributes_and_properties
    - DDS_Security_OctetSeq_deinit
    - set_remote_participant_tokens
    - check_decoded_rtps_message
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void decode_rtps_message_not_authenticated(DDS_Security_CryptoTransformKind_Enum
      transformation_kind, uint32_t key_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:627,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:628,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:629,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:630,1
    - Dst: prepare_participant_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:632,1
    - Dst: register_local_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:633,1
    - Dst: initialize_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:635,1
    - Dst: get_local_participant_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:637,1
    - Dst: set_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:641,1
    - Dst: register_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:643,1
    - Dst: set_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:645,1
    - Dst: register_remote_participant_for_participantB
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:647,1
    - Dst: set_remote_participant_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:649,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:650,1
    - Dst: DDS_Security_ParticipantCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:653,1
    - Dst: crypto_transform::encode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:666,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:677,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:680,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:681,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:682,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:684,1
    - Dst: crypto_transform::decode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:692,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:702,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:705,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:706,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:707,1
    - Dst: check_decoded_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:709,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:711,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:712,1
    - Dst: unregister_remote_participant_of_participantB
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:715,1
    - Dst: unregister_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:716,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:717,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:719,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:720,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:721,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 3
    argNames:
    - transformation_kind
    - key_size
    - protection_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    - uint32_t
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 613
    functionDepth: 5
    functionLinenumber: 613
    functionLinenumberEnd: 723
    functionName: decode_rtps_message_authenticated
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - set_protection_kind
    - unregister_remote_participant_of_participantB
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - unregister_remote_participants
    - get_local_participant_session
    - register_local_participants
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - register_remote_participant_for_participantB
    - crypto_transform::decode_rtps_message
    - crypto_transform::encode_rtps_message
    - printf
    - initialize_rtps_message
    - register_remote_participants
    - DDS_Security_ParticipantCryptoHandleSeq_allocbuf
    - prepare_participant_security_attributes_and_properties
    - DDS_Security_OctetSeq_deinit
    - set_remote_participant_tokens
    - check_decoded_rtps_message
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void decode_rtps_message_authenticated(DDS_Security_CryptoTransformKind_Enum
      transformation_kind, uint32_t key_size, DDS_Security_ProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:204,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 13
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:214,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:215,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 32
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 105
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:231,1
    - Dst: time
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:234,1
    - Dst: OPENSSL_gmtime
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:235,1
    - Dst: strftime
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:238,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - len
    - delta
    argTypes:
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: get_future_xsdate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - strftime
    - OPENSSL_gmtime
    - time
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void get_future_xsdate(char *str, size_t len, int32_t delta)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:253,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:256,1
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:258,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:262,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:267,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:267,1
    - Dst: PKCS7_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:271,1
    - Dst: BIO_new_file
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:274,1
    - Dst: SMIME_write_PKCS7
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:282,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:288,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:289,1
    - Dst: PKCS7_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:292,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:294,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:296,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:298,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:300,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:302,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:304,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 4
    argNames:
    - certificate_file
    - key_file
    - data
    - out_file
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 307
    functionName: smime_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 1
    functionsReached:
    - fprintf
    - BIO_new_mem_buf
    - X509_free
    - PEM_read_bio_PrivateKey
    - BIO_new_file
    - PKCS7_free
    - PKCS7_sign
    - strlen
    - ERR_print_errors_fp
    - BIO_free
    - PEM_read_bio_X509
    - SMIME_write_PKCS7
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int smime_sign(const char *certificate_file, const char *key_file,
      const char *data, const char *out_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_future_xsdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:320,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:321,1
    - Dst: ddsrt_str_replace
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:323,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:325,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:326,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:327,1
    - Dst: smime_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:329,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:332,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:333,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:335,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:336,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:337,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:338,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:339,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:340,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:341,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:342,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:343,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:344,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:345,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:346,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:347,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:348,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:350,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:351,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:352,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:353,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:354,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - qos
    - permission_expiry
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 356
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 23
    functionsReached:
    - dds_security_property_init
    - smime_sign
    - ddsrt_free
    - get_future_xsdate
    - ddsrt_str_replace
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    - DDS_Security_parse_xml_date
    linkageType: ''
    returnType: void
    signature: void fill_participant_qos(DDS_Security_Qos *qos, int32_t permission_expiry,
      const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:360,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:362,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:364,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:366,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:367,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:369,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_PermissionsToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: fill_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 3
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: void fill_permissions_token(DDS_Security_PermissionsToken *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_future_xsdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:385,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:386,1
    - Dst: ddsrt_str_replace
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:387,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:389,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:390,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:391,1
    - Dst: smime_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:393,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:395,1
    - Dst: load_file_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:397,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:401,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:403,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:405,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:406,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:408,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:413,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:417,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:418,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:419,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - token
    - permission_expiry
    argTypes:
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 422
    functionName: fill_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 1
    functionsReached:
    - smime_sign
    - ddsrt_free
    - get_future_xsdate
    - ddsrt_str_replace
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - load_file_contents
    - DDS_Security_parse_xml_date
    linkageType: ''
    returnType: int
    signature: int fill_peer_credential_token(DDS_Security_AuthenticatedPeerCredentialToken
      *token, int32_t permission_expiry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:436,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:437,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:438,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:440,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:443,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:455,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:458,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:462,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:472,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:481,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - permission_expiry
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 485
    functionName: validate_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - ddsrt_free
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - validate_local_permissions
    - fill_participant_qos
    - validate_local_identity
    linkageType: ''
    returnType: DDS_Security_long
    signature: DDS_Security_long validate_local_identity_and_permissions(int32_t permission_expiry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:494,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:496,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:497,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:502,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:504,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 507
    functionName: clear_local_identity_and_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void clear_local_identity_and_permissions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 4
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: set_path_build_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_build_dir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:521,1
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:526,1
    - Dst: set_path_build_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:527,1
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 0
    functionsReached:
    - set_path_to_etc_dir
    - load_plugins
    - set_path_build_dir
    - dds_openssl_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddssec_builtin_listeners_access_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:536,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddssec_builtin_listeners_access_control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:543,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - plugin
    - handle
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: on_revoke_permissions_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - printf
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean on_revoke_permissions_cb(const dds_security_access_control
      *plugin, const DDS_Security_PermissionsHandle handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:560,1
    - Dst: validate_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:569,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:576,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:579,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:580,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:581,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:582,1
    - Dst: fill_permissions_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:584,1
    - Dst: fill_peer_credential_token
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:585,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:586,1
    - Dst: set_listener
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:590,1
    - Dst: validate_remote_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:592,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:603,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:606,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:612,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:641,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:641,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:642,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:645,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:646,1
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:648,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:651,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:653,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:654,1
    - Dst: clear_local_identity_and_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 657
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - validate_local_identity_and_permissions
    - fill_permissions_token
    - CU_ASSERT_EQ_FATAL
    - return_permissions_handle
    - fill_peer_credential_token
    - set_listener
    - CU_ASSERT
    - dds_sleepfor
    - printf
    - DDS_Security_DataHolder_deinit
    - DDS_MSECS
    - CU_ASSERT_EQ
    - clear_local_identity_and_permissions
    - validate_remote_permissions
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddssec_builtin_listeners_access_control, local_2secs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 108
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:98,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 22
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:119,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 11
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: initialize_heartbeat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initialize_heartbeat(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:144,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:145,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:148,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 27
    functionsReached:
    - crypto_key_factory::register_local_participant
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:169,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:181,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 195
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 12
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:202,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 3
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:213,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:219,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:221,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:223,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:227,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:231,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    - DDS_Security_CryptoTransformKind_Enum
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 260
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 260
    functionName: prepare_endpoint_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 2
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_endpoint_security_attributes_and_properties(DDS_Security_EndpointSecurityAttributes
      *attributes,\n                                                                DDS_Security_PropertySeq
      *properties,\n                                                                DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n                                                                bool
      is_origin_authenticated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:268,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - datawriter_security_attributes
    - datawriter_properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 15
    functionsReached:
    - printf
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_local_datawriter(DDS_Security_EndpointSecurityAttributes
      *datawriter_security_attributes, DDS_Security_PropertySeq *datawriter_properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:289,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 6
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_remote_datawriter(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:309,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 13
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_datawriter(DDS_Security_DatawriterCryptoHandle writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:320,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - datareader_security_attributes
    - datareader_properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 14
    functionsReached:
    - crypto_key_factory::register_local_datareader
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_local_datareader(DDS_Security_EndpointSecurityAttributes
      *datareader_security_attributes, DDS_Security_PropertySeq *datareader_properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:341,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:344,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 358
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 6
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_remote_datareader(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:365,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 13
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_datareader(DDS_Security_DatareaderCryptoHandle reader_crypto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:380,1
    - Dst: crypto_key_exchange::create_local_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:383,1
    - Dst: crypto_key_exchange::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:392,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:400,1
    - Dst: crypto_key_exchange::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:404,1
    - Dst: crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:414,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - nodeA_local_reader_crypto
    - nodeA_remote_writer_crypto
    - nodeB_local_writer_crypto
    - nodeB_remote_reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 425
    functionName: set_remote_datareader_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 1
    functionsReached:
    - crypto_key_exchange::set_remote_datareader_crypto_tokens
    - crypto_key_exchange::set_remote_datawriter_crypto_tokens
    - crypto_key_exchange::create_local_datawriter_crypto_tokens
    - memset
    - DDS_Security_DataHolderSeq_deinit
    - crypto_key_exchange::create_local_datareader_crypto_tokens
    linkageType: ''
    returnType: bool
    signature: "bool set_remote_datareader_tokens(\n    DDS_Security_DatareaderCryptoHandle
      nodeA_local_reader_crypto,\n    DDS_Security_DatawriterCryptoHandle nodeA_remote_writer_crypto,\n
      \   DDS_Security_DatawriterCryptoHandle nodeB_local_writer_crypto,\n    DDS_Security_DatareaderCryptoHandle
      nodeB_remote_reader_crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:429,1
    - Dst: initialize_heartbeat
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:430,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:432,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:432,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:438,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:438,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:439,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: suite_decode_datareader_submessage_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - initialize_heartbeat
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_decode_datareader_submessage_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:444,1
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:445,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:446,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: suite_decode_datareader_submessage_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_decode_datareader_submessage_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:455,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - submsg
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: initialize_data_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_data_submessage(DDS_Security_OctetSeq *submsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - submsg
    - id
    - flags
    - length
    argTypes:
    - struct submsg_header*
    - unsigned char
    - unsigned char
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: set_submsg_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_submsg_header(struct submsg_header *submsg, unsigned char
      id, unsigned char flags, uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: get_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct submsg_header
    signature: struct submsg_header * get_submsg(unsigned char *data, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: get_crypto_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_header
    signature: struct crypto_header * get_crypto_header(unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_submsg
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: get_crypto_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - get_submsg
    linkageType: ''
    returnType: struct crypto_footer
    signature: struct crypto_footer * get_crypto_footer(unsigned char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:516,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:517,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:518,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:519,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:521,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:523,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:524,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:526,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:527,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:529,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:530,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:532,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:533,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:535,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:536,1
    - Dst: set_remote_datareader_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:538,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:539,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:542,1
    - Dst: crypto_transform::encode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:546,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:556,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:559,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:560,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:561,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:563,1
    - Dst: crypto_transform::decode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:566,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:576,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:579,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:580,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:583,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:585,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:586,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:588,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:590,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:592,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:595,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:596,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:597,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:598,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:600,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:602,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:603,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:604,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:606,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 608
    functionName: decode_datareader_submessage_not_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - crypto_transform::decode_datareader_submessage
    - set_remote_datareader_tokens
    - register_remote_datawriter
    - memcmp
    - DDS_Security_PropertySeq_deinit
    - register_remote_datareader
    - unregister_datareader
    - register_local_datawriter
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - initialize_data_submessage
    - unregister_datawriter
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - CU_FAIL
    - register_local_datareader
    - printf
    - prepare_endpoint_security_attributes_and_properties
    - DDS_Security_DatawriterCryptoHandleSeq_allocbuf
    - crypto_transform::encode_datareader_submessage
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void decode_datareader_submessage_not_signed(\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:649,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:650,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:651,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:652,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:654,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:656,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:657,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:659,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:660,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:663,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:666,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:669,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:677,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:678,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:680,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:681,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:683,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:684,1
    - Dst: set_remote_datareader_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:686,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:687,1
    - Dst: crypto_transform::encode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:695,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:705,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:708,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:709,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:710,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:712,1
    - Dst: crypto_transform::decode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:717,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:727,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:730,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:731,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:732,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:733,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:735,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:737,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:740,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:741,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:746,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:747,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:748,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:753,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:755,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:756,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:757,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:759,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:760,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:762,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 764
    functionName: decode_datareader_submessage_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - crypto_transform::decode_datareader_submessage
    - set_remote_datareader_tokens
    - register_remote_datawriter
    - memcmp
    - DDS_Security_PropertySeq_deinit
    - register_remote_datareader
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - unregister_datareader
    - register_local_datawriter
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - initialize_data_submessage
    - unregister_datawriter
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - CU_FAIL
    - register_local_datareader
    - printf
    - prepare_endpoint_security_attributes_and_properties
    - DDS_Security_DatawriterCryptoHandleSeq_deinit
    - DDS_Security_DatawriterCryptoHandleSeq_allocbuf
    - crypto_transform::encode_datareader_submessage
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void decode_datareader_submessage_signed(\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 114
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:93,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 24
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:114,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 12
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:121,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:124,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - data
    - sz
    argTypes:
    - char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: print_octets
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_octets(const char *msg, const unsigned char *data, uint32_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - participant_security_attributes
    - participant_properties
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 30
    functionsReached:
    - crypto_key_factory::register_local_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(DDS_Security_ParticipantSecurityAttributes
      *participant_security_attributes, DDS_Security_PropertySeq *participant_properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:156,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 4
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:172,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: register_remote_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 2
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participants(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:200,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: unregister_remote_participants
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participants(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:218,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:223,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:223,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:225,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:231,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:242,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:246,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:251,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:253,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:257,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:266,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:270,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:271,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:286,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:292,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:294,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:297,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:314,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:317,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:328,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:336,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:344,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:353,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:357,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:358,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:361,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:367,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 119
    argCount: 5
    argNames:
    - data
    - encrypted
    - header
    - footer
    - contents
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    - struct crypto_header**
    - struct crypto_footer**
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 370
    functionName: check_encoded_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_fromBE4u
    - ddsrt_free
    - memcmp
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - strlen
    - printf
    - ddsrt_bswap2u
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool check_encoded_data(DDS_Security_OctetSeq *data, bool encrypted,
      struct crypto_header **header, struct crypto_footer **footer, DDS_Security_OctetSeq
      *contents)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:386,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:389,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:396,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:396,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:398,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:404,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:404,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:406,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:412,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:418,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:420,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:424,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:426,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:430,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:432,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:437,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:439,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:444,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:449,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 6
    argNames:
    - session_key
    - key_size
    - iv
    - data
    - data_len
    - tag
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - uint32_t
    - unsigned char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 452
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 452
    functionName: cipher_sign_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - assert
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_free
    - ERR_print_errors_fp
    - EVP_EncryptUpdate
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: bool
    signature: "bool cipher_sign_data(\n    const unsigned char *session_key,\n    uint32_t
      key_size,\n    const unsigned char *iv,\n    const unsigned char *data,\n    uint32_t
      data_len,\n    unsigned char *tag)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:467,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:467,1
    - Dst: crypto_calculate_session_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:470,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:473,1
    - Dst: print_octets
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:474,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:477,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:482,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:482,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:484,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:490,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:490,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:492,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:498,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:509,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:511,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:520,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:526,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:532,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:534,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:542,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:544,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:553,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:559,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:566,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:568,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:575,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 7
    argNames:
    - session_id
    - iv
    - transformation_kind
    - key_material
    - encrypted
    - decoded
    - tag
    argTypes:
    - uint32_t
    - unsigned char*
    - DDS_Security_CryptoTransformKind
    - master_key_material*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - unsigned char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 578
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 578
    functionName: crypto_decrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - crypto_get_key_size
    - CRYPTO_TRANSFORM_KIND
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - assert
    - print_octets
    - EVP_CIPHER_CTX_free
    - printf
    - ERR_print_errors_fp
    - EVP_aes_128_gcm
    - EVP_DecryptInit_ex
    - crypto_calculate_session_key_test
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: "bool crypto_decrypt_data(\n    uint32_t session_id,\n    unsigned
      char *iv,\n    DDS_Security_CryptoTransformKind transformation_kind,\n    master_key_material
      *key_material,\n    DDS_Security_OctetSeq *encrypted,\n    DDS_Security_OctetSeq
      *decoded,\n    unsigned char *tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - participant_crypto
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    assertStmts:
    - condition: (participant_crypto_impl)
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: get_local_participant_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_local_participant_session(DDS_Security_ParticipantCryptoHandle
      participant_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_factory_get_master_key_material_for_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant_crypto
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: get_remote_participant_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - crypto_factory_get_master_key_material_for_test
    linkageType: ''
    returnType: master_key_material
    signature: master_key_material * get_remote_participant_key_material(DDS_Security_ParticipantCryptoHandle
      participant_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant_crypto
    - protection_kind
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: set_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_protection_kind(DDS_Security_ParticipantCryptoHandle participant_crypto,
      DDS_Security_ProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant_crypto
    - protection_kind
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: set_remote_participant_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_remote_participant_protection_kind(DDS_Security_ParticipantCryptoHandle
      participant_crypto, DDS_Security_ProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: submsg_header_endianness_flag
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char submsg_header_endianness_flag (enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:615,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:619,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:620,1
    - Dst: submsg_header_endianness_flag
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:624,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:625,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - submsg
    - bo
    argTypes:
    - DDS_Security_OctetSeq*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 632
    functionName: initialize_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strlen
    - ddsrt_toBO2u
    - submsg_header_endianness_flag
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_rtps_message(DDS_Security_OctetSeq *submsg, enum ddsrt_byte_order_selector
      bo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:640,1
    - Dst: get_remote_participant_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:642,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:645,1
    - Dst: calculate_receiver_specific_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:648,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:650,1
    - Dst: cipher_sign_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:653,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:657,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - participant_crypto
    - session_id
    - key_id
    - key_size
    - init_vector
    - common_mac
    - hmac
    argTypes:
    - DDS_Security_ParticipantCryptoHandle
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 669
    functionName: check_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - calculate_receiver_specific_key_test
    - memcmp
    - memset
    - printf
    - get_remote_participant_key_material
    - cipher_sign_data
    linkageType: ''
    returnType: bool
    signature: bool check_sign(DDS_Security_ParticipantCryptoHandle participant_crypto,
      uint32_t session_id, uint32_t key_id, uint32_t key_size, unsigned char *init_vector,
      unsigned char *common_mac, unsigned char *hmac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:691,1
    - Dst: check_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - list
    - footer
    - session_id
    - init_vector
    - key_size
    argTypes:
    - DDS_Security_ParticipantCryptoHandleSeq*
    - struct crypto_footer*
    - uint32_t
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 699
    functionName: check_signing
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_sign
    linkageType: ''
    returnType: bool
    signature: "bool check_signing(\n    DDS_Security_ParticipantCryptoHandleSeq *list,\n
      \   struct crypto_footer *footer,\n    uint32_t session_id,\n    unsigned char
      *init_vector,\n    uint32_t key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:703,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:704,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: suite_encode_rtps_message_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - allocate_shared_secret
    linkageType: ''
    returnType: void
    signature: void suite_encode_rtps_message_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:713,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 3
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: suite_encode_rtps_message_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - deallocate_shared_secret
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_encode_rtps_message_fini(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:723,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:724,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:732,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:734,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:737,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:741,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_PropertySeq*
    - DDS_Security_CryptoTransformKind_Enum
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 771
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 771
    functionName: prepare_participant_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 2
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_participant_security_attributes_and_properties(\n    DDS_Security_ParticipantSecurityAttributes
      *attributes,\n    DDS_Security_PropertySeq *properties,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n    bool is_origin_authenticated)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:790,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:791,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:792,1
    - Dst: prepare_participant_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:794,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:796,1
    - Dst: initialize_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:798,1
    - Dst: get_local_participant_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:800,1
    - Dst: DDS_Security_ParticipantCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:806,1
    - Dst: crypto_transform::encode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:811,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:822,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:825,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:826,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:827,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:829,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:831,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:832,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:834,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:835,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:837,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:841,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:845,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:850,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:853,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:858,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:859,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:863,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:867,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:870,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:871,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:874,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:875,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:876,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:878,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:879,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:881,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 3
    argNames:
    - transformation_kind
    - key_size
    - encrypted
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 883
    functionName: encode_rtps_message_not_authenticated
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - unregister_local_participant
    - ddsrt_malloc
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - get_local_participant_session
    - CU_ASSERT_LEQ
    - register_local_participant
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - crypto_transform::encode_rtps_message
    - printf
    - ddsrt_bswap4u
    - initialize_rtps_message
    - DDS_Security_ParticipantCryptoHandleSeq_allocbuf
    - prepare_participant_security_attributes_and_properties
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_MEMEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_rtps_message_not_authenticated(DDS_Security_CryptoTransformKind_Enum
      transformation_kind, uint32_t key_size, bool encrypted)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:924,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:925,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:926,1
    - Dst: prepare_participant_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:928,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:930,1
    - Dst: initialize_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:932,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:934,1
    - Dst: get_local_participant_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:936,1
    - Dst: set_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:939,1
    - Dst: register_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:941,1
    - Dst: DDS_Security_ParticipantCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:944,1
    - Dst: set_remote_participant_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:947,1
    - Dst: crypto_transform::encode_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:958,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:969,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:972,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:973,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:974,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:977,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:979,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:982,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:984,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:985,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:987,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:988,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:990,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:994,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:998,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1002,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1005,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1008,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1010,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1014,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1019,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1022,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1023,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1026,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1028,1
    - Dst: check_signing
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1028,1
    - Dst: unregister_remote_participants
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1030,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1032,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1033,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1034,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1035,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1037,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1038,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c:1040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 4
    argNames:
    - transformation_kind
    - key_size
    - protection_kind
    - encoded
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    - uint32_t
    - DDS_Security_ProtectionKind
    - bool
    assertStmts:
    - condition: (encoded_buffer._buffer != NULL)
      pos:
        line_end: 976
        line_start: 976
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    - condition: (encoded_buffer._buffer != NULL)
      pos:
        line_end: 981
        line_start: 981
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    constantsTouched: []
    func_position:
      end: 1041
      start: 905
    functionDepth: 6
    functionLinenumber: 905
    functionLinenumberEnd: 1041
    functionName: encode_rtps_message_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - set_protection_kind
    - CU_ASSERT
    - unregister_local_participant
    - ddsrt_malloc
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - unregister_remote_participants
    - get_local_participant_session
    - CU_ASSERT_LEQ
    - register_local_participant
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - crypto_transform::encode_rtps_message
    - assert
    - printf
    - ddsrt_bswap4u
    - check_signing
    - initialize_rtps_message
    - register_remote_participants
    - DDS_Security_ParticipantCryptoHandleSeq_allocbuf
    - CU_ASSERT_MEMEQ
    - prepare_participant_security_attributes_and_properties
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    - set_remote_participant_protection_kind
    linkageType: ''
    returnType: void
    signature: void encode_rtps_message_sign(DDS_Security_CryptoTransformKind_Enum
      transformation_kind, uint32_t key_size, DDS_Security_ProtectionKind protection_kind,
      bool encoded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 118
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - token
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: find_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 5
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: DDS_Security_Property_t
    signature: DDS_Security_Property_t *find_property(DDS_Security_DataHolder *token,
      const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:168,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 14
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:177,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:178,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 33
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:188,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:189,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:191,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:192,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:193,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:195,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:196,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:197,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:198,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:199,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:200,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:201,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:202,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:203,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:204,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:206,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - qos
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 24
    functionsReached:
    - dds_security_property_init
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void fill_participant_qos(DDS_Security_Qos *qos, const char *permission_filename,
      const char *governance_filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:220,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:221,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:222,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:224,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:226,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:235,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:236,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:237,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:245,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:246,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - domain_id
    argTypes:
    - DDS_Security_DomainId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 248
    functionName: local_permissions_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - CU_ASSERT_EQ_FATAL
    - dds_security_property_deinit
    - memcpy
    - memset
    - validate_local_permissions
    - fill_participant_qos
    - CU_ASSERT_NEQ_FATAL
    - validate_local_identity
    linkageType: ''
    returnType: void
    signature: void local_permissions_init(DDS_Security_DomainId domain_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:257,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:260,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:262,1
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:267,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:270,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: local_permissions_clean
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 1
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void local_permissions_clean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 5
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:283,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:284,1
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:285,1
    - Dst: local_permissions_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: suite_get_permissions_token_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 0
    functionsReached:
    - local_permissions_init
    - set_path_to_etc_dir
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_get_permissions_token_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: local_permissions_clean
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:291,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:292,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: suite_get_permissions_token_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 0
    functionsReached:
    - local_permissions_clean
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_get_permissions_token_fini(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:299,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:301,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:306,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:307,1
    - Dst: find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:308,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - token
    argTypes:
    - DDS_Security_PermissionsToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: validate_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - strcmp
    - printf
    - find_property
    linkageType: ''
    returnType: bool
    signature: "bool validate_permissions_token(\n    DDS_Security_PermissionsToken
      *token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 120
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:109,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 26
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:130,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 13
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: initialize_heartbeat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initialize_heartbeat(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:155,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:156,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:159,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 173
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 33
    functionsReached:
    - crypto_key_factory::register_local_participant
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:180,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 6
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:191,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 14
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:212,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 4
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:223,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - datareader_security_attributes
    - datareader_properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 17
    functionsReached:
    - crypto_key_factory::register_local_datareader
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_local_datareader(DDS_Security_EndpointSecurityAttributes
      *datareader_security_attributes, DDS_Security_PropertySeq *datareader_properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:243,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 16
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_datareader(DDS_Security_DatareaderCryptoHandle reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:254,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: register_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 8
    functionsReached:
    - crypto_key_factory::register_matched_remote_datawriter
    - printf
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_remote_datawriter(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:274,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 16
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_datawriter(DDS_Security_DatawriterCryptoHandle writer_crypto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:287,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:295,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:299,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:304,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:306,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ptr
    - remain
    argTypes:
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 318
    functionName: read_prefix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_bswap2u
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_prefix(unsigned char **ptr, uint32_t *remain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:324,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:328,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - header
    - ptr
    - remain
    argTypes:
    - struct crypto_header**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: read_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_header(struct crypto_header **header, unsigned char **ptr,
      uint32_t *remain)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:349,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:354,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:356,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:364,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:368,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:377,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - contents
    - encrypted
    - ptr
    - remain
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 390
    functionName: read_body
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_fromBE4u
    - DDSRT_WARNING_MSVC_OFF
    - printf
    - ddsrt_bswap2u
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: bool
    signature: bool read_body(DDS_Security_OctetSeq *contents, bool encrypted, unsigned
      char **ptr, uint32_t *remain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:398,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - remain
    argTypes:
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 414
    functionName: read_postfix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_postfix(unsigned char **ptr, uint32_t *remain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:420,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:424,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:425,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - footer
    - ptr
    - remain
    argTypes:
    - struct crypto_footer**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: read_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - ddsrt_fromBE4u
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_footer(struct crypto_footer **footer, unsigned char **ptr,
      uint32_t *remain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:439,1
    - Dst: read_header
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:441,1
    - Dst: read_body
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:443,1
    - Dst: read_postfix
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:445,1
    - Dst: read_footer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - data
    - encrypted
    - header
    - footer
    - contents
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    - struct crypto_header**
    - struct crypto_footer**
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: check_encoded_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 2
    functionsReached:
    - read_prefix
    - read_postfix
    - read_header
    - read_footer
    - read_body
    linkageType: ''
    returnType: bool
    signature: bool check_encoded_data(DDS_Security_OctetSeq *data, bool encrypted,
      struct crypto_header **header, struct crypto_footer **footer, DDS_Security_OctetSeq
      *contents)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:459,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:462,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:469,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:469,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:471,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:477,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:477,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:479,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:485,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:491,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:493,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:497,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:499,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:503,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:505,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:510,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:512,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:517,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:522,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 6
    argNames:
    - session_key
    - key_size
    - iv
    - data
    - data_len
    - tag
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - uint32_t
    - unsigned char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 525
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 525
    functionName: cipher_sign_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 1
    functionsReached:
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - assert
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_free
    - ERR_print_errors_fp
    - EVP_EncryptUpdate
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: bool
    signature: bool cipher_sign_data(const unsigned char *session_key, uint32_t key_size,
      const unsigned char *iv, const unsigned char *data, uint32_t data_len, unsigned
      char *tag)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:532,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:532,1
    - Dst: crypto_calculate_session_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:535,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:539,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:544,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:544,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:546,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:552,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:552,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:554,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:560,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:571,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:573,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:582,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:588,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:594,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:596,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:604,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:606,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:615,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:621,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:628,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:630,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:637,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 7
    argNames:
    - session_id
    - iv
    - transformation_kind
    - key_material
    - encrypted
    - decoded
    - tag
    argTypes:
    - uint32_t
    - unsigned char*
    - DDS_Security_CryptoTransformKind
    - master_key_material*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - unsigned char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 640
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 640
    functionName: crypto_decrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - crypto_get_key_size
    - EVP_CIPHER_CTX_new
    - CRYPTO_TRANSFORM_KIND
    - EVP_aes_256_gcm
    - assert
    - EVP_CIPHER_CTX_free
    - ERR_print_errors_fp
    - EVP_aes_128_gcm
    - EVP_DecryptInit_ex
    - crypto_calculate_session_key_test
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: bool crypto_decrypt_data(uint32_t session_id, unsigned char *iv, DDS_Security_CryptoTransformKind
      transformation_kind, master_key_material *key_material, DDS_Security_OctetSeq
      *encrypted, DDS_Security_OctetSeq *decoded, unsigned char *tag)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:647,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:648,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:653,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:655,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:658,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:662,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    - uint32_t
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 690
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 690
    functionName: prepare_endpoint_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 4
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_endpoint_security_attributes_and_properties(DDS_Security_EndpointSecurityAttributes
      *attributes,\n                                                                DDS_Security_PropertySeq
      *properties,\n                                                                uint32_t
      transformation_kind,\n                                                                bool
      is_origin_authenticated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: get_datareader_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_datareader_session(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: get_datawriter_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: master_key_material
    signature: master_key_material * get_datawriter_key_material(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:709,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - submsg
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 715
    functionName: initialize_data_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 4
    functionsReached:
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_data_submessage(DDS_Security_OctetSeq *submsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_datawriter_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:723,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:726,1
    - Dst: calculate_receiver_specific_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:729,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:731,1
    - Dst: cipher_sign_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:734,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:738,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - writer_crypto
    - session_id
    - key_id
    - key_size
    - init_vector
    - common_mac
    - hmac
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 745
    functionName: check_writer_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - calculate_receiver_specific_key_test
    - memcmp
    - printf
    - get_datawriter_key_material
    - cipher_sign_data
    linkageType: ''
    returnType: bool
    signature: bool check_writer_sign(DDS_Security_DatareaderCryptoHandle writer_crypto,
      uint32_t session_id, uint32_t key_id, uint32_t key_size, unsigned char *init_vector,
      unsigned char *common_mac, unsigned char *hmac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:762,1
    - Dst: check_writer_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - list
    - footer
    - session_id
    - init_vector
    - key_size
    argTypes:
    - DDS_Security_DatareaderCryptoHandleSeq*
    - struct crypto_footer*
    - uint32_t
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 747
    functionDepth: 5
    functionLinenumber: 747
    functionLinenumberEnd: 770
    functionName: check_writer_signing
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_writer_sign
    linkageType: ''
    returnType: bool
    signature: bool check_writer_signing(DDS_Security_DatareaderCryptoHandleSeq *list,
      struct crypto_footer *footer, uint32_t session_id, unsigned char *init_vector,
      uint32_t key_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:774,1
    - Dst: initialize_heartbeat
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:775,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:776,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:776,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:781,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:781,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:782,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 783
    functionName: suite_encode_datareader_submessage_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - initialize_heartbeat
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_encode_datareader_submessage_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:787,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:788,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:789,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: suite_encode_datareader_submessage_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_encode_datareader_submessage_fini(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:812,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:813,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:814,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:818,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:820,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:822,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:823,1
    - Dst: get_datareader_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:825,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:827,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:828,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:831,1
    - Dst: crypto_transform::encode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:835,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:845,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:848,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:849,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:850,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:852,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:854,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:855,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:857,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:858,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:860,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:864,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:868,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:873,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:876,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:877,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:878,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:882,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:886,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:889,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:890,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:893,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:896,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:898,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:899,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:900,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:902,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:903,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 906
    functionName: encode_datareader_submessage_not_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - register_remote_datawriter
    - get_datareader_session
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - ddsrt_malloc
    - unregister_datareader
    - reset_exception
    - initialize_data_submessage
    - CU_ASSERT_LEQ
    - unregister_datawriter
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - register_local_datareader
    - printf
    - ddsrt_bswap4u
    - prepare_endpoint_security_attributes_and_properties
    - DDS_Security_DatawriterCryptoHandleSeq_deinit
    - CU_ASSERT_MEMEQ
    - crypto_transform::encode_datareader_submessage
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_datareader_submessage_not_signed(uint32_t transformation_kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:950,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:951,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:952,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:963,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:965,1
    - Dst: register_local_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:967,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:968,1
    - Dst: get_datareader_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:970,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:973,1
    - Dst: register_remote_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:976,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:977,1
    - Dst: crypto_transform::encode_datareader_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:984,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:994,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:997,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:998,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:999,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1001,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1004,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1005,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1007,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1008,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1010,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1014,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1018,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1022,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1025,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1026,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1027,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1031,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1036,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1039,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1040,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1043,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1045,1
    - Dst: check_writer_signing
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1045,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1049,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1053,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1055,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1056,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1057,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1059,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1060,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c:1062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 928
    functionDepth: 6
    functionLinenumber: 928
    functionLinenumberEnd: 1063
    functionName: encode_datareader_submessage_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    functionUses: 0
    functionsReached:
    - check_writer_signing
    - DDS_Security_PropertySeq_deinit
    - register_remote_datawriter
    - CU_ASSERT
    - get_datareader_session
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - ddsrt_malloc
    - unregister_datareader
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - reset_exception
    - initialize_data_submessage
    - CU_ASSERT_LEQ
    - unregister_datawriter
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - register_local_datareader
    - printf
    - ddsrt_bswap4u
    - prepare_endpoint_security_attributes_and_properties
    - CU_ASSERT_MEMEQ
    - crypto_transform::encode_datareader_submessage
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_datareader_submessage_sign(uint32_t transformation_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 126
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:184,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seq
    - size
    argTypes:
    - DDS_Security_PropertySeq*
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: dds_security_property_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 15
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_security_property_init(DDS_Security_PropertySeq *seq, DDS_Security_unsigned_long
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:193,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:194,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: dds_security_property_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 34
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_property_deinit(DDS_Security_PropertySeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:205,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:206,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:208,1
    - Dst: dds_security_property_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:209,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:210,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:211,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:212,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:213,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:214,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:215,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:216,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:217,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:218,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:219,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:220,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:221,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:223,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - qos
    - permission_filename
    - governance_filename
    argTypes:
    - DDS_Security_Qos*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 225
    functionName: fill_participant_qos
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 25
    functionsReached:
    - dds_security_property_init
    - ddsrt_free
    - memset
    - ddsrt_asprintf
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: "void fill_participant_qos(DDS_Security_Qos *qos, const char *permission_filename,\n
      \                                const char *governance_filename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:236,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:237,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:238,1
    - Dst: fill_participant_qos
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:240,1
    - Dst: validate_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:243,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:254,1
    - Dst: validate_local_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:258,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:268,1
    - Dst: dds_security_property_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - domain_id
    - governance_file
    argTypes:
    - DDS_Security_DomainId
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 275
    functionName: create_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 2
    functionsReached:
    - dds_security_property_deinit
    - memcpy
    - memset
    - printf
    - validate_local_permissions
    - fill_participant_qos
    - validate_local_identity
    linkageType: ''
    returnType: bool
    signature: bool create_local_identity(DDS_Security_DomainId domain_id, const char
      *governance_file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_identity_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:284,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:287,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:289,1
    - Dst: return_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:294,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:297,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: clear_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 2
    functionsReached:
    - reset_exception
    - return_identity_handle
    - return_permissions_handle
    - printf
    linkageType: ''
    returnType: void
    signature: void clear_local_identity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: set_path_to_etc_dir
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 6
    functionsReached:
    - ddsrt_asprintf
    linkageType: ''
    returnType: void
    signature: void set_path_to_etc_dir(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - is_payload_encrypted
    - is_submessage_encrypted
    - is_submessage_origin_authenticated
    argTypes:
    - DDS_Security_boolean
    - DDS_Security_boolean
    - DDS_Security_boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: get_plugin_endpoint_security_attributes_mask
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_PluginEndpointSecurityAttributesMask
    signature: DDS_Security_PluginEndpointSecurityAttributesMask get_plugin_endpoint_security_attributes_mask(DDS_Security_boolean
      is_payload_encrypted, DDS_Security_boolean is_submessage_encrypted, DDS_Security_boolean
      is_submessage_origin_authenticated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_path_to_etc_dir
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:325,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:372,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:383,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 395
    functionName: suite_get_xxx_sec_attributes_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - set_path_to_etc_dir
    - get_plugin_endpoint_security_attributes_mask
    linkageType: ''
    returnType: void
    signature: void suite_get_xxx_sec_attributes_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: suite_get_xxx_sec_attributes_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void suite_get_xxx_sec_attributes_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: plugins_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - load_plugins
    linkageType: ''
    returnType: bool
    signature: bool plugins_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: plugins_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void plugins_fini(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:439,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:440,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - topic_type
    - attributes
    argTypes:
    - SEC_TOPIC_TYPE
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 457
    functionName: verify_endpoint_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: bool
    signature: bool verify_endpoint_attributes(SEC_TOPIC_TYPE topic_type, DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:472,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - topic_type
    - attributes
    argTypes:
    - SEC_TOPIC_TYPE
    - DDS_Security_TopicSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 484
    functionName: verify_topic_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: bool
    signature: bool verify_topic_attributes(SEC_TOPIC_TYPE topic_type, DDS_Security_TopicSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1181,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1183,1
    - Dst: get_participant_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1185,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1190,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1192,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1193,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1194,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1195,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1196,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1197,1
    - Dst: return_participant_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1199,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - hdl
    - liveliness_protected
    - liveliness_mask
    - discovery_protected
    - discovery_mask
    argTypes:
    - DDS_Security_PermissionsHandle
    - bool
    - DDS_Security_unsigned_long
    - bool
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1204
    functionName: test_liveliness_discovery_participant_attr
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT
    - memset
    - CU_ASSERT_EQ
    - get_participant_sec_attributes
    - return_participant_sec_attributes
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_liveliness_discovery_participant_attr(\n    DDS_Security_PermissionsHandle
      hdl,\n    bool liveliness_protected,\n    DDS_Security_unsigned_long liveliness_mask,\n
      \   bool discovery_protected,\n    DDS_Security_unsigned_long discovery_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1221,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1223,1
    - Dst: get_datawriter_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1225,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1233,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1235,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1236,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1237,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1238,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1239,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1240,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1241,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1242,1
    - Dst: return_datawriter_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1244,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - topic_name
    - hdl
    - liveliness_protected
    - discovery_protected
    - submsg_protected
    - submsg_mask
    argTypes:
    - char*
    - DDS_Security_PermissionsHandle
    - bool
    - bool
    - bool
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1249
    functionName: test_liveliness_discovery_writer_attr
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - return_datawriter_sec_attributes
    - CU_ASSERT
    - memset
    - get_datawriter_sec_attributes
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_liveliness_discovery_writer_attr(\n    const char *topic_name,\n
      \   DDS_Security_PermissionsHandle hdl,\n    bool liveliness_protected,\n    bool
      discovery_protected,\n    bool submsg_protected,\n    DDS_Security_unsigned_long
      submsg_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1266,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1268,1
    - Dst: get_datareader_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1270,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1278,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1280,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1281,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1282,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1283,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1284,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1285,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1286,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1287,1
    - Dst: return_datareader_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1289,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - topic_name
    - hdl
    - liveliness_protected
    - discovery_protected
    - submsg_protected
    - submsg_mask
    argTypes:
    - char*
    - DDS_Security_PermissionsHandle
    - bool
    - bool
    - bool
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1294
    functionName: test_liveliness_discovery_reader_attr
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - get_datareader_sec_attributes
    - CU_ASSERT
    - memset
    - return_datareader_sec_attributes
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_liveliness_discovery_reader_attr(\n    const char *topic_name,\n
      \   DDS_Security_PermissionsHandle hdl,\n    bool liveliness_protected,\n    bool
      discovery_protected,\n    bool submsg_protected,\n    DDS_Security_unsigned_long
      submsg_mask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: plugins_init
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1307,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1308,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1309,1
    - Dst: create_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1311,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1312,1
    - Dst: test_liveliness_discovery_participant_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1335,1
    - Dst: test_liveliness_discovery_writer_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1345,1
    - Dst: test_liveliness_discovery_writer_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1354,1
    - Dst: test_liveliness_discovery_writer_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1363,1
    - Dst: test_liveliness_discovery_writer_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1372,1
    - Dst: test_liveliness_discovery_reader_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1383,1
    - Dst: test_liveliness_discovery_reader_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1392,1
    - Dst: test_liveliness_discovery_reader_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1401,1
    - Dst: test_liveliness_discovery_reader_attr
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1410,1
    - Dst: clear_local_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1418,1
    - Dst: plugins_fini
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c:1419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - governance
    - liveliness_protected
    - liveliness_mask
    - discovery_protected
    - discovery_mask
    argTypes:
    - char*
    - bool
    - DDS_Security_unsigned_long
    - bool
    - DDS_Security_unsigned_long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1420
    functionName: test_liveliness_discovery_attr
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    functionUses: 0
    functionsReached:
    - plugins_fini
    - clear_local_identity
    - create_local_identity
    - test_liveliness_discovery_reader_attr
    - test_liveliness_discovery_writer_attr
    - test_liveliness_discovery_participant_attr
    - plugins_init
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_liveliness_discovery_attr(\n    const char *governance,\n
      \   bool liveliness_protected,\n    DDS_Security_unsigned_long liveliness_mask,\n
      \   bool discovery_protected,\n    DDS_Security_unsigned_long discovery_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 127
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:97,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: allocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 28
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void allocate_shared_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:118,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: deallocate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 14
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deallocate_shared_secret(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:129,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:130,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:133,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 36
    functionsReached:
    - crypto_key_factory::register_local_participant
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int register_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:154,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: unregister_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 7
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_local_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:165,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: register_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 16
    functionsReached:
    - crypto_key_factory::register_matched_remote_participant
    - printf
    linkageType: ''
    returnType: int
    signature: int register_remote_participant(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:186,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:187,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:192,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:197,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - attributes
    - properties
    - transformation_kind
    - is_origin_authenticated
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    - DDS_Security_CryptoTransformKind_Enum
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 229
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 229
    functionName: prepare_endpoint_security_attributes_and_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 6
    functionsReached:
    - assert
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void prepare_endpoint_security_attributes_and_properties(DDS_Security_EndpointSecurityAttributes
      *attributes,\n                                                                DDS_Security_PropertySeq
      *properties,\n                                                                DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n                                                                bool
      is_origin_authenticated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:236,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: unregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 5
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    linkageType: ''
    returnType: void
    signature: void unregister_remote_participant(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:247,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - datawriter_security_attributes
    - datawriter_properties
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 18
    functionsReached:
    - printf
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: DDS_Security_DatawriterCryptoHandle register_local_datawriter(DDS_Security_EndpointSecurityAttributes
      *datawriter_security_attributes, DDS_Security_PropertySeq *datawriter_properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:267,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 19
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datawriter
    linkageType: ''
    returnType: void
    signature: void unregister_datawriter(DDS_Security_DatawriterCryptoHandle writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:278,1
    - Dst: crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:281,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: register_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 8
    functionsReached:
    - crypto_key_factory::register_matched_remote_datareader
    - memset
    - printf
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: DDS_Security_DatareaderCryptoHandle register_remote_datareader(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:302,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 19
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void unregister_datareader(DDS_Security_DatareaderCryptoHandle reader_crypto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:315,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:323,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:327,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:332,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:334,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ptr
    - remain
    argTypes:
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 346
    functionName: read_prefix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_bswap2u
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_prefix(unsigned char **ptr, uint32_t *remain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:352,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:356,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - header
    - ptr
    - remain
    argTypes:
    - struct crypto_header**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: read_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_header(struct crypto_header **header, unsigned char **ptr,
      uint32_t *remain)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:378,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:383,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:385,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:393,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:397,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:406,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - contents
    - encrypted
    - ptr
    - remain
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 419
    functionName: read_body
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached:
    - ddsrt_fromBE4u
    - DDSRT_WARNING_MSVC_OFF
    - printf
    - ddsrt_bswap2u
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: bool
    signature: bool read_body(DDS_Security_OctetSeq *contents, bool encrypted, unsigned
      char **ptr, uint32_t *remain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:427,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - remain
    argTypes:
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 443
    functionName: read_postfix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_postfix(unsigned char **ptr,uint32_t *remain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:449,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:453,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:454,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - footer
    - ptr
    - remain
    argTypes:
    - struct crypto_footer**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: read_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - ddsrt_fromBE4u
    - printf
    linkageType: ''
    returnType: bool
    signature: bool read_footer(struct crypto_footer **footer, unsigned char **ptr,
      uint32_t *remain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:468,1
    - Dst: read_header
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:470,1
    - Dst: read_body
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:472,1
    - Dst: read_postfix
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:474,1
    - Dst: read_footer
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - data
    - encrypted
    - header
    - footer
    - contents
    argTypes:
    - DDS_Security_OctetSeq*
    - bool
    - struct crypto_header**
    - struct crypto_footer**
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 479
    functionName: check_encoded_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 4
    functionsReached:
    - read_prefix
    - read_postfix
    - read_header
    - read_footer
    - read_body
    linkageType: ''
    returnType: bool
    signature: bool check_encoded_data(DDS_Security_OctetSeq *data, bool encrypted,
      struct crypto_header **header, struct crypto_footer **footer, DDS_Security_OctetSeq
      *contents)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:488,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:491,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:498,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:498,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:500,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:506,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:506,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:508,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:514,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:516,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:520,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:522,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:526,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:528,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:533,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:535,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:540,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:545,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 6
    argNames:
    - session_key
    - key_size
    - iv
    - data
    - data_len
    - tag
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 548
    functionName: cipher_sign_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 2
    functionsReached:
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - ERR_print_errors_fp
    - EVP_EncryptUpdate
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: bool
    signature: bool cipher_sign_data(const unsigned char *session_key, uint32_t key_size,
      const unsigned char *iv, const unsigned char *data, uint32_t data_len, unsigned
      char *tag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:554,1
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:554,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:555,1
    - Dst: crypto_calculate_session_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:561,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:565,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:568,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:572,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:572,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:574,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:577,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:577,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:579,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:582,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:584,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:590,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:592,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:597,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:599,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:603,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:605,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:611,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:613,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:621,1
    - Dst: ERR_print_errors_fp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:623,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:627,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:631,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 7
    argNames:
    - session_id
    - iv
    - transformation_kind
    - key_material
    - encrypted
    - decoded
    - tag
    argTypes:
    - uint32_t
    - unsigned char*
    - DDS_Security_CryptoTransformKind
    - master_key_material*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - unsigned char*
    assertStmts:
    - condition: (key_size)
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    constantsTouched: []
    func_position:
      end: 633
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 633
    functionName: crypto_decrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 5
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - crypto_get_key_size
    - EVP_CIPHER_CTX_new
    - CRYPTO_TRANSFORM_KIND
    - EVP_aes_256_gcm
    - assert
    - EVP_CIPHER_CTX_free
    - ERR_print_errors_fp
    - EVP_aes_128_gcm
    - EVP_DecryptInit_ex
    - crypto_calculate_session_key_test
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: bool crypto_decrypt_data(uint32_t session_id, unsigned char *iv, DDS_Security_CryptoTransformKind
      transformation_kind, master_key_material *key_material, DDS_Security_OctetSeq
      *encrypted, DDS_Security_OctetSeq *decoded, unsigned char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writer_crypto
    argTypes:
    - DDS_Security_DatawriterCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: get_datawriter_session
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * get_datawriter_session(DDS_Security_DatawriterCryptoHandle
      writer_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader_crypto
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 645
    functionName: get_datareader_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: master_key_material
    signature: master_key_material * get_datareader_key_material(DDS_Security_DatareaderCryptoHandle
      reader_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: submsg_header_endianness_flag
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char submsg_header_endianness_flag (enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:658,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:662,1
    - Dst: submsg_header_endianness_flag
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:665,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:666,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - submsg
    - bo
    argTypes:
    - DDS_Security_OctetSeq*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: initialize_data_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 6
    functionsReached:
    - memcpy
    - strlen
    - ddsrt_toBO2u
    - submsg_header_endianness_flag
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void initialize_data_submessage(DDS_Security_OctetSeq *submsg, enum
      ddsrt_byte_order_selector bo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_datareader_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:688,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:692,1
    - Dst: calculate_receiver_specific_key_test
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:695,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:697,1
    - Dst: cipher_sign_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:700,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:704,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - reader_crypto
    - session_id
    - key_id
    - key_size
    - init_vector
    - common_mac
    - hmac
    argTypes:
    - DDS_Security_DatareaderCryptoHandle
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 711
    functionName: check_reader_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - calculate_receiver_specific_key_test
    - memcmp
    - printf
    - get_datareader_key_material
    - cipher_sign_data
    linkageType: ''
    returnType: bool
    signature: "bool check_reader_sign(\n    DDS_Security_DatareaderCryptoHandle reader_crypto,\n
      \   uint32_t session_id,\n    uint32_t key_id,\n    uint32_t key_size,\n    unsigned
      char *init_vector,\n    unsigned char *common_mac,\n    unsigned char *hmac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:728,1
    - Dst: check_reader_sign
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - list
    - footer
    - session_id
    - init_vector
    - key_size
    argTypes:
    - DDS_Security_DatareaderCryptoHandleSeq*
    - struct crypto_footer*
    - uint32_t
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 713
    functionDepth: 5
    functionLinenumber: 713
    functionLinenumberEnd: 736
    functionName: check_reader_signing
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_reader_sign
    linkageType: ''
    returnType: bool
    signature: bool check_reader_signing(DDS_Security_DatareaderCryptoHandleSeq *list,
      struct crypto_footer *footer, uint32_t session_id, unsigned char *init_vector,
      uint32_t key_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:740,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:741,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:741,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:746,1
    - Dst: register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:746,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:747,1
    - Dst: register_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 748
    functionName: suite_encode_datawriter_submessage_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - register_remote_participant
    - allocate_shared_secret
    - register_local_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void suite_encode_datawriter_submessage_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregister_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:752,1
    - Dst: unregister_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:753,1
    - Dst: deallocate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:754,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: suite_encode_datawriter_submessage_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - unload_plugins
    - deallocate_shared_secret
    - unregister_local_participant
    - unregister_remote_participant
    linkageType: ''
    returnType: void
    signature: void suite_encode_datawriter_submessage_fini(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:779,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:780,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:781,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:792,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:794,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:796,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:797,1
    - Dst: get_datawriter_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:799,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:801,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:802,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:805,1
    - Dst: crypto_transform::encode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:810,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:821,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:824,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:826,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:827,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:829,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:831,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:832,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:834,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:835,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:837,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:841,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:845,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:850,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:853,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:854,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:855,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:859,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:863,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:866,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:867,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:870,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:873,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:875,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:876,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:877,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:879,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:880,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:881,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:882,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 884
    functionName: encode_datawriter_submessage_not_signed
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - register_remote_datareader
    - ddsrt_malloc
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - register_local_datawriter
    - unregister_datareader
    - get_datawriter_session
    - reset_exception
    - crypto_transform::encode_datawriter_submessage
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - initialize_data_submessage
    - CU_ASSERT_LEQ
    - unregister_datawriter
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - printf
    - ddsrt_bswap4u
    - prepare_endpoint_security_attributes_and_properties
    - CU_ASSERT_MEMEQ
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_datawriter_submessage_not_signed(DDS_Security_CryptoTransformKind_Enum
      transformation_kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:929,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:930,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:931,1
    - Dst: prepare_endpoint_security_attributes_and_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:942,1
    - Dst: initialize_data_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:944,1
    - Dst: register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:946,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:947,1
    - Dst: get_datawriter_session
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:949,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:952,1
    - Dst: register_remote_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:955,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:956,1
    - Dst: crypto_transform::encode_datawriter_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:966,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:977,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:980,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:981,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:982,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:984,1
    - Dst: check_encoded_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:988,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:989,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:991,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:992,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:994,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:998,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1002,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1006,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1009,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1010,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1011,1
    - Dst: crypto_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1015,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1020,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1023,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1024,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1027,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1029,1
    - Dst: check_reader_signing
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1029,1
    - Dst: unregister_datareader
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1033,1
    - Dst: unregister_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1037,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1039,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1040,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1041,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1043,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1044,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1045,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1046,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c:1047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 1
    argNames:
    - transformation_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 906
    functionDepth: 6
    functionLinenumber: 906
    functionLinenumberEnd: 1048
    functionName: encode_datawriter_submessage_sign
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT
    - check_reader_signing
    - register_remote_datareader
    - ddsrt_malloc
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - register_local_datawriter
    - unregister_datareader
    - get_datawriter_session
    - reset_exception
    - crypto_transform::encode_datawriter_submessage
    - DDS_Security_DatareaderCryptoHandleSeq_deinit
    - initialize_data_submessage
    - CU_ASSERT_LEQ
    - unregister_datawriter
    - crypto_decrypt_data
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - check_encoded_data
    - ddsrt_free
    - printf
    - ddsrt_bswap4u
    - prepare_endpoint_security_attributes_and_properties
    - CU_ASSERT_MEMEQ
    - DDS_Security_OctetSeq_deinit
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void encode_datawriter_submessage_sign(DDS_Security_CryptoTransformKind_Enum
      transformation_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 10
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:64,1
    - Dst: prepare_endpoint_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:66,1
    - Dst: crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: register_local_regular
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 0
    functionsReached:
    - prepare_endpoint_security_attributes
    - memset
    - crypto_key_factory::register_local_datawriter
    linkageType: ''
    returnType: void
    signature: void register_local_regular(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:90,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:90,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:97,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:98,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:113,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:114,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:115,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:116,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:118,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:126,1
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:129,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:137,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:138,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 140
    functionName: suite_register_matched_remote_datareader_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - ddsrt_free
    - prepare_participant_security_attributes
    - memset
    - crypto_key_factory::register_matched_remote_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_datareader_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:145,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:149,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: suite_register_matched_remote_datareader_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::unregister_participant
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_matched_remote_datareader_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
    functionUses: 133
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: prepare_participant_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
    functionUses: 11
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_participant_security_attributes(DDS_Security_ParticipantSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: reset_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
    functionUses: 133
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reset_exception(DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:67,1
    - Dst: load_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:67,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:74,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:75,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:89,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:90,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:91,1
    - Dst: prepare_participant_security_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:92,1
    - Dst: crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:93,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:100,1
    - Dst: crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 110
    functionName: suite_register_local_datareader_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
    functionUses: 0
    functionsReached:
    - crypto_key_factory::register_local_participant
    - prepare_participant_security_attributes
    - memset
    - crypto_key_factory::register_matched_remote_participant
    - load_plugins
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void suite_register_local_datareader_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:117,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:118,1
    - Dst: crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:120,1
    - Dst: reset_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:121,1
    - Dst: unload_plugins
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:123,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:124,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: suite_register_local_datareader_fini
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
    functionUses: 0
    functionsReached:
    - reset_exception
    - crypto_key_factory::unregister_participant
    - ddsrt_free
    - unload_plugins
    linkageType: ''
    returnType: void
    signature: void suite_register_local_datareader_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: prepare_endpoint_security_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
    functionUses: 7
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_endpoint_security_attributes(DDS_Security_EndpointSecurityAttributes
      *attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lab_
    - ','
    - operstr_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: SSLERROR
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLERROR(lab_, operstr_)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - num
    - inp
    - outp
    argTypes:
    - size_t
    - const_tainted_crypto_data_t*
    - tainted_crypto_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: check_buffer_sizes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_buffer_sizes (const size_t num, const const_tainted_crypto_data_t
      *inp, const tainted_crypto_data_t *outp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:50,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:51,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:52,1
    - Dst: check_buffer_sizes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - num
    - inp
    - outp
    argTypes:
    - size_t
    - trusted_crypto_data_t*
    - trusted_crypto_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: trusted_check_buffer_sizes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - check_buffer_sizes
    linkageType: ''
    returnType: bool
    signature: bool trusted_check_buffer_sizes (const size_t num, const trusted_crypto_data_t
      *inp, const trusted_crypto_data_t *outp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:59,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:60,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:61,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:62,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:63,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:64,1
    - Dst: trusted_check_buffer_sizes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:64,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:66,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:66,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:70,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:71,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:72,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:73,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:74,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:75,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:79,1
    - Dst: EVP_EncryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:81,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:82,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:83,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:91,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:92,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:93,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:100,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:101,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:105,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:106,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:108,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 8
    argNames:
    - session_key
    - key_size
    - iv
    - num_inp
    - inpdata
    - outpdata
    - tag
    - ex
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - struct init_vector*
    - size_t
    - trusted_crypto_data_t*
    - trusted_crypto_data_t*
    - crypto_hmac_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (iv)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (inpdata[i].x.length <= INT_MAX)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (len >= 0)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (num_inp > 0)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (inpdata)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (trusted_check_buffer_sizes (num_inp, inpdata, outpdata))
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (session_key)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (len >= 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (key_size == 128 || key_size == 256)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    constantsTouched: []
    func_position:
      end: 115
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 115
    functionName: crypto_cipher_encrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - assert
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_free
    - SSLERROR
    - EVP_EncryptUpdate
    - EVP_aes_128_gcm
    - trusted_check_buffer_sizes
    linkageType: ''
    returnType: bool
    signature: bool crypto_cipher_encrypt_data (const crypto_session_key_t *session_key,
      uint32_t key_size, const struct init_vector *iv, const size_t num_inp, const
      trusted_crypto_data_t *inpdata, trusted_crypto_data_t *outpdata, crypto_hmac_t
      *tag, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:122,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - session_key
    - key_size
    - iv
    - inpdata
    - tag
    - ex
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - struct init_vector*
    - tainted_crypto_data_t*
    - crypto_hmac_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: crypto_cipher_calc_hmac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached:
    - crypto_cipher_encrypt_data
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: bool
    signature: bool crypto_cipher_calc_hmac (const crypto_session_key_t *session_key,
      uint32_t key_size, const struct init_vector *iv, const tainted_crypto_data_t
      *inpdata, crypto_hmac_t *tag, DDS_Security_SecurityException *ex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:131,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:132,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:133,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:134,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:135,1
    - Dst: check_buffer_sizes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:135,1
    - Dst: EVP_aes_128_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:137,1
    - Dst: EVP_aes_256_gcm
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:137,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:141,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:142,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:143,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:144,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:145,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:146,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:149,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:150,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:156,1
    - Dst: EVP_DecryptUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:161,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:162,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:163,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:171,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:172,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:173,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:180,1
    - Dst: SSLERROR
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:181,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:184,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c:188,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 7
    argNames:
    - session
    - iv
    - num_inp
    - inpdata
    - outpdata
    - tag
    - ex
    argTypes:
    - remote_session_info*
    - struct init_vector*
    - size_t
    - const_tainted_crypto_data_t*
    - tainted_crypto_data_t*
    - crypto_hmac_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (len >= 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (iv)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (session->key_size == 128 || session->key_size == 256)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (inpdata)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (check_buffer_sizes (num_inp, inpdata, outpdata))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (num_inp > 0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    - condition: (session)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    constantsTouched: []
    func_position:
      end: 191
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 191
    functionName: crypto_cipher_decrypt_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - DDS_Security_Exception_set
    - assert
    - EVP_CIPHER_CTX_free
    - SSLERROR
    - EVP_DecryptInit_ex
    - EVP_aes_128_gcm
    - check_buffer_sizes
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: bool
    signature: bool crypto_cipher_decrypt_data (const remote_session_info *session,
      const struct init_vector *iv, const size_t num_inp, const const_tainted_crypto_data_t
      *inpdata, tainted_crypto_data_t *outpdata, crypto_hmac_t *tag, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: CRYPTO_TRANSFORM_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_KIND(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: CRYPTO_TRANSFORM_ID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_ID(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: CRYPTO_KEY_SIZE_BYTES
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_KEY_SIZE_BYTES(kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: ALIGN4
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN4(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:47,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:51,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: check_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool check_crypto_tokens(const DDS_Security_DataHolderSeq *tokens)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: check_not_data_empty
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_not_data_empty(const DDS_Security_OctetSeq *seq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:77,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:83,1
    - Dst: check_not_data_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:84,1
    - Dst: check_not_data_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:85,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:86,1
    - Dst: check_not_data_empty
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:89,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:98,1
    - Dst: crypto_factory_get_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - impl
    - keymat
    - handle
    argTypes:
    - dds_security_crypto_key_exchange_impl*
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: check_crypto_keymaterial
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached:
    - CRYPTO_TRANSFORM_ID
    - crypto_factory_get_protection_kind
    - CRYPTO_TRANSFORM_KIND
    - check_not_data_empty
    - cryptography_get_crypto_key_factory
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: bool
    signature: "bool check_crypto_keymaterial(\n    const dds_security_crypto_key_exchange_impl
      *impl,\n    const DDS_Security_KeyMaterial_AES_GCM_GMAC *keymat,\n    const
      int64_t handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:126,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:130,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:134,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:135,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:137,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:140,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:141,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:143,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:146,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:149,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:151,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - keymat
    - buffer
    - length
    argTypes:
    - master_key_material*
    - uint8_t**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 158
    functionName: serialize_master_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE4u
    - ddsrt_malloc
    - CRYPTO_KEY_SIZE_BYTES
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void serialize_master_key_material(\n    const master_key_material
      *keymat,\n    uint8_t **buffer,\n    uint32_t *length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:180,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:185,1
    - Dst: crypto_factory_get_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:186,1
    - Dst: serialize_master_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:188,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:189,1
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:191,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:193,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:194,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - instance
    - tokens
    - local_id
    - remote_id
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_ParticipantCryptoTokenSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 205
    functionName: create_local_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 3
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_DataHolderSeq_allocbuf
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - serialize_master_key_material
    - ddsrt_strdup
    - crypto_factory_get_participant_crypto_tokens
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_participant_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_ParticipantCryptoTokenSeq *tokens,\n    const DDS_Security_ParticipantCryptoHandle
      local_id,\n    const DDS_Security_ParticipantCryptoHandle remote_id,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:220,1
    - Dst: crypto_factory_get_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - impl
    - tokens
    - handle
    argTypes:
    - dds_security_crypto_key_exchange_impl*
    - DDS_Security_ParticipantCryptoTokenSeq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: allow_empty_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached:
    - crypto_factory_get_protection_kind
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean allow_empty_tokens(\n    const dds_security_crypto_key_exchange_impl
      *impl,\n    const DDS_Security_ParticipantCryptoTokenSeq *tokens,\n    const
      int64_t handle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:245,1
    - Dst: allow_empty_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:250,1
    - Dst: check_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:253,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:255,1
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:262,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:265,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:269,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:271,1
    - Dst: check_crypto_keymaterial
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:275,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:277,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:283,1
    - Dst: crypto_factory_set_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:284,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:285,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - instance
    - local_id
    - remote_id
    - tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 291
    functionName: set_remote_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 2
    functionsReached:
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - crypto_factory_set_participant_crypto_tokens
    - DDS_Security_Exception_set
    - check_crypto_tokens
    - check_crypto_keymaterial
    - allow_empty_tokens
    - cryptography_get_crypto_key_factory
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_participant_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_ParticipantCryptoHandle local_id,\n    const
      DDS_Security_ParticipantCryptoHandle remote_id,\n    const DDS_Security_ParticipantCryptoTokenSeq
      *tokens,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:309,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:314,1
    - Dst: crypto_factory_get_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:316,1
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:320,1
    - Dst: serialize_master_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:327,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:329,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:330,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:332,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - instance
    - tokens
    - local_writer_handle
    - remote_reader_handle
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatawriterCryptoTokenSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 341
    functionName: create_local_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 5
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_DataHolderSeq_allocbuf
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - serialize_master_key_material
    - crypto_factory_get_datawriter_crypto_tokens
    - ddsrt_strdup
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_datawriter_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_DatawriterCryptoTokenSeq *tokens,\n    const DDS_Security_DatawriterCryptoHandle
      local_writer_handle,\n    const DDS_Security_DatareaderCryptoHandle remote_reader_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:359,1
    - Dst: allow_empty_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:364,1
    - Dst: check_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:367,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:369,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:376,1
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:384,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:387,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:391,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:393,1
    - Dst: check_crypto_keymaterial
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:397,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:399,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:403,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:408,1
    - Dst: crypto_factory_set_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:409,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:413,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - instance
    - local_reader_handle
    - remote_writer_handle
    - tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatawriterCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 416
    functionName: set_remote_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 5
    functionsReached:
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Exception_set
    - check_crypto_tokens
    - check_crypto_keymaterial
    - allow_empty_tokens
    - crypto_factory_set_datawriter_crypto_tokens
    - cryptography_get_crypto_key_factory
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_datawriter_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_DatareaderCryptoHandle local_reader_handle,\n
      \   const DDS_Security_DatawriterCryptoHandle remote_writer_handle,\n    const
      DDS_Security_DatawriterCryptoTokenSeq *tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:434,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:439,1
    - Dst: crypto_factory_get_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:441,1
    - Dst: serialize_master_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:447,1
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:449,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:452,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:453,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:455,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - instance
    - tokens
    - local_reader_handle
    - remote_writer_handle
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatareaderCryptoTokenSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 471
    functionName: create_local_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 4
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_DataHolderSeq_allocbuf
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - serialize_master_key_material
    - crypto_factory_get_datareader_crypto_tokens
    - ddsrt_strdup
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean create_local_datareader_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_DatareaderCryptoTokenSeq *tokens,\n    const DDS_Security_DatareaderCryptoHandle
      local_reader_handle,\n    const DDS_Security_DatawriterCryptoHandle remote_writer_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:490,1
    - Dst: allow_empty_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:495,1
    - Dst: check_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:498,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:500,1
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:507,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:510,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:514,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:516,1
    - Dst: check_crypto_keymaterial
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:520,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:522,1
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:528,1
    - Dst: crypto_factory_set_datareader_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:529,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:532,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - instance
    - local_writer_handle
    - remote_reader_handle
    - tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatareaderCryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 473
    functionDepth: 5
    functionLinenumber: 473
    functionLinenumberEnd: 537
    functionName: set_remote_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 4
    functionsReached:
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Exception_set
    - check_crypto_tokens
    - check_crypto_keymaterial
    - allow_empty_tokens
    - crypto_factory_set_datareader_crypto_tokens
    - cryptography_get_crypto_key_factory
    - DDS_Security_Deserializer_new
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_remote_datareader_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    const DDS_Security_DatawriterCryptoHandle local_writer_handle,\n
      \   const DDS_Security_DatareaderCryptoHandle remote_reader_handle,\n    const
      DDS_Security_DatareaderCryptoTokenSeq *tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:549,1
    - Dst: check_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:554,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:556,1
    - Dst: DDS_Security_CryptoTokenSeq_freebuf
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:561,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - instance
    - tokens
    - ex
    argTypes:
    - dds_security_crypto_key_exchange*
    - DDS_Security_CryptoTokenSeq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 567
    functionName: return_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 3
    functionsReached:
    - check_crypto_tokens
    - DDS_Security_CryptoTokenSeq_freebuf
    - memset
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_crypto_tokens(\n    dds_security_crypto_key_exchange
      *instance,\n    DDS_Security_CryptoTokenSeq *tokens,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: dds_security_crypto_key_exchange__alloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_security_crypto_key_exchange
    signature: "dds_security_crypto_key_exchange *\ndds_security_crypto_key_exchange__alloc(\n
      \   const dds_security_cryptography *crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - dds_security_crypto_key_exchange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: dds_security_crypto_key_exchange__dealloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_crypto_key_exchange__dealloc(\n    dds_security_crypto_key_exchange
      *instance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: compare_participant_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_participant_handle(const void *va, const void *vb)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: compare_endpoint_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_endpoint_relation (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: compare_relation_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_relation_key (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - kind
    argTypes:
    - CryptoObject*
    - CryptoObjectKind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto_object_valid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool crypto_object_valid(CryptoObject *obj, CryptoObjectKind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto_object_hash
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crypto_object_hash(const void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ha
    - hb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: crypto_object_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool crypto_object_equal(const void *ha, const void *hb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:95,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - kind
    - destructor
    argTypes:
    - CryptoObject*
    - CryptoObjectKind_t
    - CryptoObjectDestructor
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: crypto_object_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void crypto_object_init(CryptoObject *obj, CryptoObjectKind_t kind,
      CryptoObjectDestructor destructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: crypto_object_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void crypto_object_deinit(CryptoObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptoObject*::destructor
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: crypto_object_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CryptoObject*::destructor
    linkageType: ''
    returnType: void
    signature: void crypto_object_free(CryptoObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: crypto_object_keep
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void * crypto_object_keep(CryptoObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:126,1
    - Dst: crypto_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: crypto_object_release
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_dec32_nv
    - crypto_object_free
    linkageType: ''
    returnType: void
    signature: void crypto_object_release(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct CryptoObjectTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: crypto_object_table_find_by_template
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: CryptoObject
    signature: CryptoObject * crypto_object_table_find_by_template(const struct CryptoObjectTable
      *table, const void *template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find_by_template
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - arg
    argTypes:
    - struct CryptoObjectTable*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: default_crypto_table_find
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_object_table_find_by_template
    linkageType: ''
    returnType: CryptoObject
    signature: CryptoObject * default_crypto_table_find(const struct CryptoObjectTable
      *table, const void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:149,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:150,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - hashfnc
    - equalfnc
    - findfnc
    argTypes:
    - CryptoObjectHashFunction
    - CryptoObjectEqualFunction
    - CryptoObjectFindFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: crypto_object_table_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_hh_new
    linkageType: ''
    returnType: struct CryptoObjectTable
    signature: struct CryptoObjectTable * crypto_object_table_new(CryptoObjectHashFunction
      hashfnc, CryptoObjectEqualFunction equalfnc, CryptoObjectFindFunction findfnc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:164,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:165,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:165,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:167,1
    - Dst: crypto_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:168,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:170,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:171,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:172,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct CryptoObjectTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: crypto_object_table_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_hh_remove
    - ddsrt_mutex_lock
    - crypto_object_release
    - ddsrt_hh_free
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void crypto_object_table_free(struct CryptoObjectTable *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:180,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:181,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:183,1
    - Dst: crypto_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:184,1
    - Dst: struct CryptoObjectTable*::findfnc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:184,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:185,1
    - Dst: crypto_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:185,1
    - Dst: crypto_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:187,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - table
    - object
    argTypes:
    - struct CryptoObjectTable*
    - CryptoObject*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    - condition: (object)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: crypto_object_table_insert
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_add
    - crypto_object_keep
    - ddsrt_mutex_lock
    - assert
    - struct CryptoObjectTable*::findfnc
    - crypto_object_release
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: CryptoObject
    signature: CryptoObject * crypto_object_table_insert(struct CryptoObjectTable
      *table, CryptoObject *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:195,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:196,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:198,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:199,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:200,1
    - Dst: crypto_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - table
    - object
    argTypes:
    - struct CryptoObjectTable*
    - CryptoObject*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    - condition: (object)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: crypto_object_table_remove_object
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_remove
    - ddsrt_mutex_lock
    - assert
    - crypto_object_release
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void crypto_object_table_remove_object(struct CryptoObjectTable *table,
      CryptoObject *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:208,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:209,1
    - Dst: crypto_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:210,1
    - Dst: struct CryptoObjectTable*::findfnc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:210,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:212,1
    - Dst: crypto_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:213,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - table
    - handle
    argTypes:
    - struct CryptoObjectTable*
    - int64_t
    assertStmts:
    - condition: (table)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: crypto_object_table_remove
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_remove
    - crypto_object_keep
    - ddsrt_mutex_lock
    - assert
    - struct CryptoObjectTable*::findfnc
    - crypto_object_release
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: CryptoObject
    signature: CryptoObject * crypto_object_table_remove(struct CryptoObjectTable
      *table, int64_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:223,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:224,1
    - Dst: crypto_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:225,1
    - Dst: struct CryptoObjectTable*::findfnc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:225,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - table
    - handle
    argTypes:
    - struct CryptoObjectTable*
    - int64_t
    assertStmts:
    - condition: (table)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: crypto_object_table_find
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_object_keep
    - ddsrt_mutex_lock
    - assert
    - struct CryptoObjectTable*::findfnc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: CryptoObject
    signature: CryptoObject * crypto_object_table_find(struct CryptoObjectTable *table,
      int64_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:237,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:238,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:239,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:240,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:240,1
    - Dst: callback
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:241,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - callback
    - arg
    argTypes:
    - struct CryptoObjectTable*
    - CryptoObjectTableCallback
    - void*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    - condition: (callback)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: crypto_object_table_walk
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - callback
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void crypto_object_table_walk(struct CryptoObjectTable *table, CryptoObjectTableCallback
      callback, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:250,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:251,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:253,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:254,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:255,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:257,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:258,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: master_key_material__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_TRANSFORM_HAS_KEYS
    - ddsrt_free
    - memset
    - crypto_object_deinit
    linkageType: ''
    returnType: void
    signature: void master_key_material__free(CryptoObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:265,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:266,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:268,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:270,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:271,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:272,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - transform_kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: crypto_master_key_material_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_object_init
    - CRYPTO_KEY_SIZE_BYTES
    - CRYPTO_TRANSFORM_HAS_KEYS
    - ddsrt_calloc
    linkageType: ''
    returnType: master_key_material
    signature: master_key_material * crypto_master_key_material_new(DDS_Security_CryptoTransformKind_Enum
      transform_kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:280,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:280,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:282,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:283,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:284,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:286,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:288,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:289,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:291,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:292,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:293,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:295,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - master_key_material*
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: crypto_master_key_material_set
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_TRANSFORM_HAS_KEYS
    - ddsrt_calloc
    - ddsrt_free
    - memcpy
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: void
    signature: void crypto_master_key_material_set(master_key_material *dst, const
      master_key_material *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_calculate_session_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - ex
    argTypes:
    - session_key_material*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: generate_session_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_calculate_session_key
    linkageType: ''
    returnType: bool
    signature: bool generate_session_key(session_key_material *session, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:316,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:317,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:318,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:319,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: session_key_material__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_free
    - memset
    - crypto_object_deinit
    linkageType: ''
    returnType: void
    signature: void session_key_material__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:326,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:327,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:328,1
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:330,1
    - Dst: crypto_get_random_uint32
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:331,1
    - Dst: crypto_get_random_uint64
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:332,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - master_key
    argTypes:
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: crypto_session_key_material_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_get_key_size
    - crypto_object_init
    - crypto_get_random_uint32
    - memset
    - CRYPTO_OBJECT_KEEP
    - crypto_get_random_uint64
    - ddsrt_malloc
    linkageType: ''
    returnType: session_key_material
    signature: session_key_material * crypto_session_key_material_new(master_key_material
      *master_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_session_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - size
    - ex
    argTypes:
    - session_key_material*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: crypto_session_key_material_update
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - generate_session_key
    linkageType: ''
    returnType: bool
    signature: bool crypto_session_key_material_update(session_key_material *session,
      uint32_t size, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:352,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:353,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:354,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:355,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:356,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:357,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: local_participant_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_avl_cfree
    - ddsrt_free
    - ddsrt_mutex_init
    - crypto_object_deinit
    linkageType: ''
    returnType: void
    signature: void local_participant_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:364,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:365,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:366,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:368,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:369,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - participant_identity
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts:
    - condition: (participant_identity)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    - condition: (sizeof(DDS_Security_ParticipantCryptoHandle) == 8)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: crypto_local_participant_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - crypto_object_init
    - assert
    - ddsrt_avl_cinit
    - ddsrt_mutex_init
    linkageType: ''
    returnType: local_participant_crypto
    signature: local_participant_crypto * crypto_local_participant_crypto__new(DDS_Security_IdentityHandle
      participant_identity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:379,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:382,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:383,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:384,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:385,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:386,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:387,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: remote_participant_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_avl_cfree
    - ddsrt_free
    - ddsrt_avl_free
    - ddsrt_mutex_destroy
    - crypto_object_deinit
    linkageType: ''
    returnType: void
    signature: void remote_participant_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:394,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:395,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:396,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:398,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:399,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:400,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - participant_identity
    argTypes:
    - DDS_Security_IdentityHandle
    assertStmts:
    - condition: (participant_identity)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 404
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 404
    functionName: crypto_remote_participant_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - crypto_object_init
    - assert
    - ddsrt_avl_init
    - ddsrt_avl_cinit
    - ddsrt_mutex_init
    linkageType: ''
    returnType: remote_participant_crypto
    signature: remote_participant_crypto * crypto_remote_participant_crypto__new(DDS_Security_IdentityHandle
      participant_identity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:410,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:413,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:414,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:415,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:416,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:417,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:418,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: participant_key_material_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void participant_key_material_free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:425,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:426,1
    - Dst: PARTICIPANT_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:427,1
    - Dst: PARTICIPANT_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:428,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:429,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - loc_pp_crypto
    - rmt_pp_crypto
    argTypes:
    - local_participant_crypto*
    - remote_participant_crypto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: crypto_participant_key_material_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_object_init
    - PARTICIPANT_CRYPTO_HANDLE
    - ddsrt_calloc
    - crypto_master_key_material_new
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_participant_key_material_new(const
      local_participant_crypto *loc_pp_crypto, const remote_participant_crypto *rmt_pp_crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:437,1
    - Dst: ddsrt_avl_cinsert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:438,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:438,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loc_pp_crypto
    - keymat
    argTypes:
    - local_participant_crypto*
    - participant_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: crypto_local_participant_add_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_avl_cinsert
    linkageType: ''
    returnType: void
    signature: void crypto_local_participant_add_keymat(local_participant_crypto *loc_pp_crypto,
      participant_key_material *keymat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:447,1
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:448,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:450,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - loc_pp_crypto
    - rmt_pp_handle
    argTypes:
    - local_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: crypto_local_participant_remove_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cdelete_dpath
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_avl_clookup_dpath
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_local_participant_remove_keymat(local_participant_crypto
      *loc_pp_crypto, DDS_Security_ParticipantCryptoHandle rmt_pp_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:460,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:461,1
    - Dst: ddsrt_avl_clookup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:461,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - loc_pp_crypto
    - rmt_pp_handle
    argTypes:
    - local_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 465
    functionName: crypto_local_participant_lookup_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - ddsrt_avl_clookup
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_local_participant_lookup_keymat(local_participant_crypto
      *loc_pp_crypto, DDS_Security_ParticipantCryptoHandle rmt_pp_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:469,1
    - Dst: ddsrt_avl_cinsert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:470,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:470,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rmt_pp_crypto
    - keymat
    argTypes:
    - remote_participant_crypto*
    - participant_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: crypto_remote_participant_add_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_avl_cinsert
    linkageType: ''
    returnType: void
    signature: void crypto_remote_participant_add_keymat(remote_participant_crypto
      *rmt_pp_crypto, participant_key_material *keymat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:479,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rmt_pp_crypto
    - loc_pp_handle
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: crypto_remote_participant_remove_keymat_locked
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cdelete_dpath
    - ddsrt_avl_clookup_dpath
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_remote_participant_remove_keymat_locked(remote_participant_crypto
      *rmt_pp_crypto, DDS_Security_ParticipantCryptoHandle loc_pp_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:488,1
    - Dst: ddsrt_avl_clookup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rmt_pp_crypto
    - loc_pp_handle
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: crypto_remote_participant_lookup_keymat_locked
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - ddsrt_avl_clookup
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_remote_participant_lookup_keymat_locked(remote_participant_crypto
      *rmt_pp_crypto, DDS_Security_ParticipantCryptoHandle loc_pp_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:494,1
    - Dst: crypto_remote_participant_lookup_keymat_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:495,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rmt_pp_crypto
    - loc_pp_handle
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: crypto_remote_participant_lookup_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_remote_participant_lookup_keymat_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: participant_key_material
    signature: participant_key_material * crypto_remote_participant_lookup_keymat(remote_participant_crypto
      *rmt_pp_crypto, DDS_Security_ParticipantCryptoHandle loc_pp_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:506,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:507,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:510,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:511,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:511,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - loc_pp_crypto
    - handles
    argTypes:
    - local_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 516
    functionName: crypto_local_participnant_get_matching
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_ccount
    - ddsrt_mutex_lock
    - ddsrt_avl_citer_first
    - ddsrt_malloc
    - ddsrt_avl_citer_next
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_local_participnant_get_matching(local_participant_crypto
      *loc_pp_crypto, DDS_Security_ParticipantCryptoHandle **handles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:524,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:525,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:528,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:529,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:529,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rmt_pp_crypto
    - handles
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ParticipantCryptoHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: crypto_remote_participnant_get_matching
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_ccount
    - ddsrt_mutex_lock
    - ddsrt_avl_citer_first
    - ddsrt_malloc
    - ddsrt_avl_citer_next
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_remote_participnant_get_matching(remote_participant_crypto
      *rmt_pp_crypto, DDS_Security_ParticipantCryptoHandle **handles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:541,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:542,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:543,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:544,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: key_relation_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void key_relation_free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:552,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:553,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:557,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:558,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - kind
    - key_id
    - local_crypto
    - remote_crypto
    - keymat
    argTypes:
    - DDS_Security_SecureSubmessageCategory_t
    - uint32_t
    - CryptoObject*
    - CryptoObject*
    - master_key_material*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 562
    functionName: crypto_key_relation_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - crypto_object_init
    - ddsrt_malloc
    linkageType: ''
    returnType: key_relation
    signature: "key_relation * crypto_key_relation_new(DDS_Security_SecureSubmessageCategory_t
      kind,\n    uint32_t key_id, CryptoObject *local_crypto, CryptoObject *remote_crypto,
      master_key_material *keymat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:570,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:571,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:572,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:573,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:574,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:575,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:576,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: local_datawriter_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void local_datawriter_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:584,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:585,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - participant
    - meta_protection
    - data_protection
    argTypes:
    - local_participant_crypto*
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: crypto_local_datawriter_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - crypto_object_init
    - ddsrt_calloc
    linkageType: ''
    returnType: local_datawriter_crypto
    signature: "local_datawriter_crypto * crypto_local_datawriter_crypto__new(const
      local_participant_crypto *participant,\n    DDS_Security_ProtectionKind meta_protection,
      DDS_Security_BasicProtectionKind data_protection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:600,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:601,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:602,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:603,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:604,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:605,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:606,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:607,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 610
    functionName: remote_datawriter_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void remote_datawriter_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:615,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:616,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:617,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - participant
    - meta_protection
    - data_protection
    - local_reader
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    - local_datareader_crypto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 624
    functionName: crypto_remote_datawriter_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - crypto_object_init
    - ddsrt_calloc
    linkageType: ''
    returnType: remote_datawriter_crypto
    signature: "remote_datawriter_crypto * crypto_remote_datawriter_crypto__new(const
      remote_participant_crypto *participant,\n    DDS_Security_ProtectionKind meta_protection,
      DDS_Security_BasicProtectionKind data_protection, local_datareader_crypto *local_reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:632,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:633,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:634,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:635,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:636,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: local_datareader_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void local_datareader_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:644,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:645,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - participant
    - meta_protection
    - data_protection
    argTypes:
    - local_participant_crypto*
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: crypto_local_datareader_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - crypto_object_init
    - ddsrt_calloc
    linkageType: ''
    returnType: local_datareader_crypto
    signature: "local_datareader_crypto * crypto_local_datareader_crypto__new(const
      local_participant_crypto *participant,\n    DDS_Security_ProtectionKind meta_protection,
      DDS_Security_BasicProtectionKind data_protection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CRYPTO_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:660,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:661,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:662,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:663,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:664,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:665,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:666,1
    - Dst: crypto_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:667,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - CryptoObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: remote_datareader_crypto__free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CHECK_CRYPTO_OBJECT_KIND
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_deinit
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void remote_datareader_crypto__free(CryptoObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:675,1
    - Dst: crypto_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:676,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:677,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - participant
    - metadata_protectionKind
    - data_protectionKind
    - local_writer
    argTypes:
    - remote_participant_crypto*
    - DDS_Security_ProtectionKind
    - DDS_Security_BasicProtectionKind
    - local_datawriter_crypto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 684
    functionName: crypto_remote_datareader_crypto__new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - crypto_object_init
    - ddsrt_calloc
    linkageType: ''
    returnType: remote_datareader_crypto
    signature: "remote_datareader_crypto *crypto_remote_datareader_crypto__new(const
      remote_participant_crypto *participant, DDS_Security_ProtectionKind metadata_protectionKind,\n
      \   DDS_Security_BasicProtectionKind data_protectionKind, local_datawriter_crypto
      *local_writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:690,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:691,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:692,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:692,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rpc
    - relation
    argTypes:
    - remote_participant_crypto*
    - key_relation*
    assertStmts:
    - condition: (relation->local_crypto != NULL && relation->remote_crypto != NULL)
      pos:
        line_end: 689
        line_start: 689
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: crypto_insert_endpoint_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_mutex_lock
    - assert
    - CRYPTO_OBJECT_KEEP
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void crypto_insert_endpoint_relation(\n    remote_participant_crypto
      *rpc,\n    key_relation *relation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:734,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rpc
    - relation
    argTypes:
    - remote_participant_crypto*
    - key_relation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: crypto_insert_specific_key_relation_locked
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: void
    signature: "void crypto_insert_specific_key_relation_locked(\n    remote_participant_crypto
      *rpc,\n    key_relation *relation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:741,1
    - Dst: crypto_insert_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:742,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rpc
    - relation
    argTypes:
    - remote_participant_crypto*
    - key_relation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: crypto_insert_specific_key_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - crypto_insert_specific_key_relation_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void crypto_insert_specific_key_relation(\n    remote_participant_crypto
      *rpc,\n    key_relation *relation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:752,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:755,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rpc
    - key_id
    argTypes:
    - remote_participant_crypto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 758
    functionName: crypto_remove_specific_key_relation_locked
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    linkageType: ''
    returnType: void
    signature: "void crypto_remove_specific_key_relation_locked(\n    remote_participant_crypto
      *rpc,\n    uint32_t key_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:764,1
    - Dst: crypto_remove_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:765,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rpc
    - key_id
    argTypes:
    - remote_participant_crypto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: crypto_remove_specific_key_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - crypto_remove_specific_key_relation_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void crypto_remove_specific_key_relation(\n    remote_participant_crypto
      *rpc,\n    uint32_t key_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:773,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rpc
    - key_id
    argTypes:
    - remote_participant_crypto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: crypto_find_specific_key_relation_locked
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: key_relation
    signature: "key_relation * crypto_find_specific_key_relation_locked(\n    remote_participant_crypto
      *rpc,\n    uint32_t key_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:782,1
    - Dst: crypto_find_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:783,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rpc
    - key_id
    argTypes:
    - remote_participant_crypto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 787
    functionName: crypto_find_specific_key_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - crypto_find_specific_key_relation_locked
    linkageType: ''
    returnType: key_relation
    signature: "key_relation * crypto_find_specific_key_relation(\n    remote_participant_crypto
      *rpc,\n    uint32_t key_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: CHECK_CRYPTO_OBJECT_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CRYPTO_OBJECT_KIND(o, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CRYPTO_OBJECT
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_OBJECT(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: CRYPTO_OBJECT_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_OBJECT_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: PARTICIPANT_CRYPTO_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARTICIPANT_CRYPTO_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DATAWRITER_CRYPTO_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATAWRITER_CRYPTO_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: DATAREADER_CRYPTO_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATAREADER_CRYPTO_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CRYPTO_OBJECT_KEEP
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_OBJECT_KEEP(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: CRYPTO_OBJECT_RELEASE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_OBJECT_RELEASE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CRYPTO_OBJECT_VALID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_OBJECT_VALID(o, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CRYPTO_TRANSFORM_HAS_KEYS
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_TRANSFORM_HAS_KEYS(k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:27,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:27,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:33,1
    - Dst: ERR_print_errors
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:35,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:36,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:37,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:38,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:39,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: crypto_openssl_error_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - ERR_print_errors
    - memcpy
    - BIO_new
    - memset
    - ddsrt_strdup
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *crypto_openssl_error_message(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:54,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:55,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:56,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:57,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:60,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:60,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:61,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:61,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:62,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:62,1
    - Dst: HMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:64,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:64,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:66,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:67,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:70,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - prefix
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    - ex
    argTypes:
    - char*
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: crypto_calculate_key_impl
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - ddsrt_free
    - memcpy
    - HMAC
    - strlen
    - ddsrt_toBE4u
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: bool
    signature: "bool crypto_calculate_key_impl(\n    const char *prefix,\n    crypto_session_key_t
      *session_key,\n    uint32_t session_id,\n    const unsigned char *master_salt,\n
      \   const unsigned char *master_key,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_calculate_key_impl
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    - ex
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: crypto_calculate_session_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 1
    functionsReached:
    - crypto_calculate_key_impl
    linkageType: ''
    returnType: bool
    signature: "bool crypto_calculate_session_key(\n    crypto_session_key_t *session_key,\n
      \   uint32_t session_id,\n    const unsigned char *master_salt,\n    const unsigned
      char *master_key,\n    DDS_Security_CryptoTransformKind_Enum transformation_kind,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_calculate_key_impl
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session_key
    - session_id
    - master_salt
    - master_key
    - transformation_kind
    - ex
    argTypes:
    - crypto_session_key_t*
    - uint32_t
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: crypto_calculate_receiver_specific_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 0
    functionsReached:
    - crypto_calculate_key_impl
    linkageType: ''
    returnType: bool
    signature: "bool crypto_calculate_receiver_specific_key(\n    crypto_session_key_t
      *session_key,\n    uint32_t session_id,\n    const unsigned char *master_salt,\n
      \   const unsigned char *master_key,\n    DDS_Security_CryptoTransformKind_Enum
      transformation_kind,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kind
    argTypes:
    - DDS_Security_CryptoTransformKind_Enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: crypto_get_key_size
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t crypto_get_key_size(\n    DDS_Security_CryptoTransformKind_Enum
      kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: crypto_get_random_uint32
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 1
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crypto_get_random_uint32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: crypto_get_random_uint64
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 1
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t crypto_get_random_uint64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:143,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:144,1
    - Dst: HMAC
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:145,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:145,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:147,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:150,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - key
    - key_size
    - data
    - data_size
    - ex
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_size <= EVP_MAX_MD_SIZE)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: crypto_hmac256
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - memcpy
    - assert
    - DDSRT_STATIC_ASSERT
    - HMAC
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\ncrypto_hmac256(\n    const unsigned char *key,\n
      \   uint32_t key_size,\n    const unsigned char *data,\n    uint32_t data_size,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - transform_kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: is_encryption_required
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_encryption_required(uint32_t transform_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - transform_kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: is_authentication_required
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_authentication_required(uint32_t transform_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - protection_kind
    argTypes:
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: is_encryption_expected
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_encryption_expected(DDS_Security_ProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - protection_kind
    argTypes:
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: is_authentication_expected
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_authentication_expected(DDS_Security_ProtectionKind protection_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - kind
    argTypes:
    - DDS_Security_ProtectionKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: has_origin_authentication
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_origin_authentication(DDS_Security_ProtectionKind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: trusted_crypto_buffer_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void trusted_crypto_buffer_init (trusted_crypto_buffer_t *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - seq
    argTypes:
    - trusted_crypto_buffer_t*
    - DDS_Security_OctetSeq*
    assertStmts:
    - condition: (seq->_length <= seq->_maximum)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: trusted_crypto_buffer_from_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void trusted_crypto_buffer_from_seq (trusted_crypto_buffer_t *buffer,
      const DDS_Security_OctetSeq *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - seq
    argTypes:
    - trusted_crypto_buffer_t*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: trusted_crypto_buffer_to_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trusted_crypto_buffer_to_seq (const trusted_crypto_buffer_t *buffer,
      DDS_Security_OctetSeq *seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:163,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - size_t
    assertStmts:
    - condition: (offset <= buffer->length)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: trusted_crypto_buffer_expand
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    linkageType: ''
    returnType: void
    signature: void *trusted_crypto_buffer_expand (trusted_crypto_buffer_t *buffer,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_expand
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: trusted_crypto_buffer_append
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_expand
    linkageType: ''
    returnType: void
    signature: void *trusted_crypto_buffer_append (trusted_crypto_buffer_t *buffer,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:183,1
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - submessageId
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - uint8_t
    - size_t
    assertStmts:
    - condition: (size <= UINT16_MAX)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: add_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - assert
    - trusted_crypto_buffer_append
    linkageType: ''
    returnType: void
    signature: void *add_submessage (trusted_crypto_buffer_t *buffer, uint8_t submessageId,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE8u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:201,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:202,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:203,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:204,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - prefix
    - transform_kind
    - transform_id
    - session_id
    - init_vector_suffix
    argTypes:
    - struct trusted_crypto_prefix*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 208
    functionName: set_crypto_prefix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE4u
    - ddsrt_toBE8u
    - memcpy
    linkageType: ''
    returnType: void
    signature: void set_crypto_prefix (struct trusted_crypto_prefix *prefix, uint32_t
      transform_kind, uint32_t transform_id, uint32_t session_id, uint64_t init_vector_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:212,1
    - Dst: set_crypto_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - buffer
    - transform_kind
    - transform_id
    - session_id
    - init_vector_suffix
    argTypes:
    - trusted_crypto_buffer_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: add_crypto_prefix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_append
    - set_crypto_prefix
    linkageType: ''
    returnType: struct trusted_crypto_prefix
    signature: struct trusted_crypto_prefix *add_crypto_prefix (trusted_crypto_buffer_t
      *buffer, uint32_t transform_kind, uint32_t transform_id, uint32_t session_id,
      uint64_t init_vector_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: add_crypto_content
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_append
    linkageType: ''
    returnType: struct trusted_crypto_content
    signature: struct trusted_crypto_content *add_crypto_content (trusted_crypto_buffer_t
      *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - trusted_crypto_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: add_crypto_postfix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_append
    linkageType: ''
    returnType: struct trusted_crypto_postfix
    signature: struct trusted_crypto_postfix *add_crypto_postfix (trusted_crypto_buffer_t
      *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:231,1
    - Dst: set_crypto_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - buffer
    - submessageId
    - transform_kind
    - transform_id
    - session_id
    - init_vector_suffix
    argTypes:
    - trusted_crypto_buffer_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: add_crypto_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - set_crypto_prefix
    - add_submessage
    linkageType: ''
    returnType: struct trusted_crypto_header
    signature: struct trusted_crypto_header *add_crypto_header (trusted_crypto_buffer_t
      *buffer, uint8_t submessageId, uint32_t transform_kind, uint32_t transform_id,
      uint32_t session_id, uint64_t init_vector_suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - trusted_crypto_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: add_crypto_body
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - add_submessage
    linkageType: ''
    returnType: struct trusted_crypto_body
    signature: struct trusted_crypto_body *add_crypto_body (trusted_crypto_buffer_t
      *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - submessageId
    argTypes:
    - trusted_crypto_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: add_crypto_footer
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - add_submessage
    linkageType: ''
    returnType: struct trusted_crypto_footer
    signature: struct trusted_crypto_footer *add_crypto_footer (trusted_crypto_buffer_t
      *buffer, uint8_t submessageId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - src
    argTypes:
    - trusted_crypto_buffer_t*
    - ddsi_rtps_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: add_rtps_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_append
    linkageType: ''
    returnType: ddsi_rtps_header_t
    signature: ddsi_rtps_header_t *add_rtps_header (trusted_crypto_buffer_t *buffer,
      const ddsi_rtps_header_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: tainted_input_buffer_from_OctetSeq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tainted_input_buffer_t
    signature: tainted_input_buffer_t tainted_input_buffer_from_OctetSeq (const DDS_Security_OctetSeq
      *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:294,1
    - Dst: crypto_calculate_session_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - info
    - prefix
    - master_salt
    - master_key
    - transformation_kind
    - ex
    argTypes:
    - remote_session_info*
    - struct const_tainted_secure_prefix*
    - unsigned char*
    - unsigned char*
    - DDS_Security_CryptoTransformKind_Enum
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: initialize_remote_session_info
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - crypto_get_key_size
    - crypto_calculate_session_key
    linkageType: ''
    returnType: bool
    signature: bool initialize_remote_session_info (remote_session_info *info, const
      struct const_tainted_secure_prefix *prefix, const unsigned char *master_salt,
      const unsigned char *master_key, DDS_Security_CryptoTransformKind_Enum transformation_kind,
      DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:301,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:314,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:319,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:322,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - input
    - smid
    - hdr
    - bswap
    - submsg_view
    argTypes:
    - tainted_input_buffer_t*
    - uint8_t
    - ddsi_rtps_submessage_header_t*
    - bool*
    - tainted_input_buffer_t*
    assertStmts:
    - condition: (input->ptr <= input->endp)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 342
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 342
    functionName: read_submsg_header
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - assert
    - ddsrt_bswap2u
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: bool
    signature: bool read_submsg_header (tainted_input_buffer_t *input, uint8_t smid,
      ddsi_rtps_submessage_header_t *hdr, bool *bswap, tainted_input_buffer_t *submsg_view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: transform_kind_valid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transform_kind_valid (uint32_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:359,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:360,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - input
    - v
    argTypes:
    - tainted_input_buffer_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: tainted_input_buffer_read_BE4u
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DDSRT_STATIC_ASSERT
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool tainted_input_buffer_read_BE4u (tainted_input_buffer_t *input,
      uint32_t *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tainted_input_buffer_read_BE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:368,1
    - Dst: tainted_input_buffer_read_BE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:369,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:374,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:378,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:379,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:381,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:382,1
    - Dst: transform_kind_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - input
    - prefix
    argTypes:
    - tainted_input_buffer_t*
    - struct const_tainted_secure_prefix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: read_secure_prefix_content
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - ddsrt_fromBE4u
    - memcpy
    - DDSRT_STATIC_ASSERT
    - transform_kind_valid
    - tainted_input_buffer_read_BE4u
    linkageType: ''
    returnType: bool
    signature: bool read_secure_prefix_content (tainted_input_buffer_t *input, struct
      const_tainted_secure_prefix *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_submsg_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:392,1
    - Dst: read_secure_prefix_content
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - input
    - smid
    - prefix
    argTypes:
    - tainted_input_buffer_t*
    - uint8_t
    - struct const_tainted_secure_prefix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: read_secure_prefix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_submsg_header
    - read_secure_prefix_content
    linkageType: ''
    returnType: bool
    signature: bool read_secure_prefix (tainted_input_buffer_t *input, uint8_t smid,
      struct const_tainted_secure_prefix *prefix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_submsg_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:433,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - input
    - smid
    - body
    argTypes:
    - tainted_input_buffer_t*
    - uint8_t
    - struct const_tainted_secure_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 455
    functionName: read_secure_body
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_submsg_header
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool read_secure_body (tainted_input_buffer_t *input, uint8_t smid,
      struct const_tainted_secure_body *body)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_submsg_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:464,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - input
    - smid
    - postfix
    argTypes:
    - tainted_input_buffer_t*
    - uint8_t
    - struct const_tainted_secure_postfix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 481
    functionName: read_secure_postfix
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_submsg_header
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool read_secure_postfix (tainted_input_buffer_t *input, uint8_t smid,
      struct const_tainted_secure_postfix *postfix)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_secure_prefix_content
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:495,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:498,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:505,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - payload
    - estate
    argTypes:
    - tainted_input_buffer_t*
    - struct const_tainted_encrypted_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 523
    functionName: split_encoded_serialized_payload
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_secure_prefix_content
    - is_encryption_required
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: bool
    signature: bool split_encoded_serialized_payload (tainted_input_buffer_t *payload,
      struct const_tainted_encrypted_state *estate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_secure_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:528,1
    - Dst: read_secure_body
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:530,1
    - Dst: read_secure_postfix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - input
    - estate
    argTypes:
    - tainted_input_buffer_t*
    - struct const_tainted_encrypted_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: split_encoded_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_secure_postfix
    - read_secure_body
    - read_secure_prefix
    linkageType: ''
    returnType: bool
    signature: bool split_encoded_submessage (const tainted_input_buffer_t *input,
      struct const_tainted_encrypted_state *estate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:537,1
    - Dst: read_secure_body
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:538,1
    - Dst: read_submsg_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:547,1
    - Dst: read_submsg_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - input
    - transformation_kind
    - body
    argTypes:
    - tainted_input_buffer_t*
    - DDS_Security_CryptoTransformKind_Enum
    - struct const_tainted_secure_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 4
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: read_secure_rtps_body
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_submsg_header
    - is_encryption_required
    - read_secure_body
    linkageType: ''
    returnType: bool
    signature: bool read_secure_rtps_body (tainted_input_buffer_t *input, DDS_Security_CryptoTransformKind_Enum
      transformation_kind, struct const_tainted_secure_body *body)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_secure_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:577,1
    - Dst: read_secure_rtps_body
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:579,1
    - Dst: read_secure_postfix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - estate
    argTypes:
    - tainted_crypto_data_t*
    - struct const_tainted_encrypted_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 582
    functionName: split_encoded_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - read_secure_rtps_body
    - read_secure_postfix
    - read_secure_prefix
    linkageType: ''
    returnType: bool
    signature: bool split_encoded_rtps_message(const tainted_crypto_data_t *data,
      struct const_tainted_encrypted_state *estate)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:600,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:611,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:613,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:614,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:615,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:616,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:617,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:621,1
    - Dst: crypto_factory_get_writer_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:626,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:631,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:641,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:641,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:643,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:644,1
    - Dst: crypto_session_key_material_update
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:649,1
    - Dst: trusted_crypto_buffer_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:669,1
    - Dst: add_crypto_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:671,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:674,1
    - Dst: add_crypto_content
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:678,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:683,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:685,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:687,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:690,1
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:692,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:693,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:697,1
    - Dst: add_crypto_postfix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:702,1
    - Dst: trusted_crypto_buffer_to_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:705,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:706,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:710,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:712,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 6
    argNames:
    - instance
    - encoded_buffer
    - extra_inline_qos
    - plain_buffer
    - writer_id
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (plain_buffer)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (plain_buffer->_length)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (encoded_buffer)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: ((plain_buffer->_length % 4) == 0)
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (writer_id != 0)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 715
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 715
    functionName: encode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 3
    functionsReached:
    - is_authentication_required
    - is_encryption_required
    - cryptography_get_crypto_key_factory
    - crypto_cipher_encrypt_data
    - add_crypto_content
    - trusted_crypto_buffer_append
    - DDS_Security_Exception_set
    - add_crypto_prefix
    - memcpy
    - trusted_crypto_buffer_to_seq
    - trusted_crypto_buffer_init
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_free
    - assert
    - crypto_session_key_material_update
    - crypto_factory_get_writer_key_material
    - DDS_Security_OctetSeq_copy
    - add_crypto_postfix
    - DDSRT_UNUSED_ARG
    - ddsrt_toBE4u
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_serialized_payload(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_buffer,\n    DDS_Security_OctetSeq
      *extra_inline_qos,\n    const DDS_Security_OctetSeq *plain_buffer,\n    const
      DDS_Security_DatawriterCryptoHandle writer_id,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:719,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - submessageId
    - offset
    argTypes:
    - trusted_crypto_buffer_t*
    - enum ddsi_rtps_submessage_kind
    - size_t*
    assertStmts:
    - condition: (*offset <= buffer->length)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: ((size_t) (endp - ptr) >= sizeof (ddsi_rtps_submessage_header_t)
        + smhdr->octetsToNextHeader)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 734
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 734
    functionName: trusted_crypto_buffer_find_submessage_offset
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool trusted_crypto_buffer_find_submessage_offset (const trusted_crypto_buffer_t
      *buffer, enum ddsi_rtps_submessage_kind submessageId, size_t *offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trusted_crypto_buffer_find_submessage_offset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:739,1
    - Dst: trusted_crypto_buffer_find_submessage_offset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:742,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - is_rtps
    - header_offset
    - footer_offset
    argTypes:
    - trusted_crypto_buffer_t*
    - bool
    - size_t*
    - size_t*
    assertStmts:
    - condition: (*header_offset < *footer_offset && *footer_offset < buffer->length)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: add_specific_mac_find_offsets
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - assert
    - trusted_crypto_buffer_find_submessage_offset
    linkageType: ''
    returnType: bool
    signature: bool add_specific_mac_find_offsets (trusted_crypto_buffer_t *buffer,
      bool is_rtps, size_t *header_offset, size_t *footer_offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_specific_mac_find_offsets
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:757,1
    - Dst: crypto_calculate_receiver_specific_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:769,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:770,1
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:775,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:777,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:786,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:787,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:790,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:793,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - buffer
    - keymat
    - session
    - is_rtps
    - ex
    argTypes:
    - trusted_crypto_buffer_t*
    - master_key_material*
    - session_key_material*
    - bool
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (buffer->length - footer_offset >= sizeof (ddsi_rtps_submessage_header_t)
        + footer->header.octetsToNextHeader + sizeof (struct receiver_specific_mac))
      pos:
        line_end: 785
        line_start: 785
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 796
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 796
    functionName: add_specific_mac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - trusted_crypto_buffer_append
    - crypto_calculate_receiver_specific_key
    - ddsrt_fromBE4u
    - memcpy
    - assert
    - DDSRT_STATIC_ASSERT
    - add_specific_mac_find_offsets
    - ddsrt_toBE4u
    - crypto_cipher_encrypt_data
    linkageType: ''
    returnType: bool
    signature: "bool add_specific_mac(\n    trusted_crypto_buffer_t *buffer,\n    master_key_material
      *keymat,\n    session_key_material *session,\n    bool is_rtps,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_factory_get_remote_reader_sign_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:809,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:813,1
    - Dst: add_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:816,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:817,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - factory
    - buffer
    - reader_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - trusted_crypto_buffer_t*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 820
    functionName: add_reader_specific_mac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - add_specific_mac
    - crypto_factory_get_remote_reader_sign_key_material
    - CRYPTO_OBJECT_RELEASE
    - has_origin_authentication
    linkageType: ''
    returnType: bool
    signature: "bool add_reader_specific_mac(\n    dds_security_crypto_key_factory
      *factory,\n    trusted_crypto_buffer_t *buffer,\n    DDS_Security_DatareaderCryptoHandle
      reader_crypto,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_factory_get_remote_writer_sign_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:833,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:837,1
    - Dst: add_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:840,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:841,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - factory
    - buffer
    - writer_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - trusted_crypto_buffer_t*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 844
    functionName: add_writer_specific_mac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - crypto_factory_get_remote_writer_sign_key_material
    - CRYPTO_OBJECT_RELEASE
    - has_origin_authentication
    - add_specific_mac
    linkageType: ''
    returnType: bool
    signature: "bool add_writer_specific_mac(\n    dds_security_crypto_key_factory
      *factory,\n    trusted_crypto_buffer_t *buffer,\n    DDS_Security_DatawriterCryptoHandle
      writer_crypto,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_factory_get_local_participant_data_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:860,1
    - Dst: crypto_factory_get_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:864,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:866,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:871,1
    - Dst: add_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:874,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:875,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - factory
    - buffer
    - sending_participant_crypto
    - receiving_participant_crypto
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - trusted_crypto_buffer_t*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 846
    functionDepth: 5
    functionLinenumber: 846
    functionLinenumberEnd: 878
    functionName: add_receiver_specific_mac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_factory_get_local_participant_data_key_material
    - crypto_factory_get_participant_crypto_tokens
    - add_specific_mac
    - has_origin_authentication
    linkageType: ''
    returnType: bool
    signature: "bool add_receiver_specific_mac(\n    dds_security_crypto_key_factory
      *factory,\n    trusted_crypto_buffer_t *buffer,\n    DDS_Security_DatareaderCryptoHandle
      sending_participant_crypto,\n    DDS_Security_DatareaderCryptoHandle receiving_participant_crypto,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:900,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:904,1
    - Dst: crypto_session_key_material_update
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:909,1
    - Dst: ALIGN4
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:928,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:931,1
    - Dst: trusted_crypto_buffer_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:941,1
    - Dst: add_crypto_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:943,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:948,1
    - Dst: add_crypto_body
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:950,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:954,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:958,1
    - Dst: trusted_crypto_buffer_expand
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:963,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:966,1
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:968,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:970,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:974,1
    - Dst: add_crypto_footer
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:984,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:990,1
    - Dst: add_reader_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:996,1
    - Dst: add_writer_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1005,1
    - Dst: trusted_crypto_buffer_to_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1010,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1014,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 9
    argNames:
    - factory
    - encoded_submsg
    - plain_submsg
    - session
    - protection_kind
    - crypto_list
    - index
    - is_writer
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - session_key_material*
    - DDS_Security_ProtectionKind
    - DDS_Security_CryptoHandleSeq*
    - int32_t*
    - bool
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (!is_writer || index != NULL)
      pos:
        line_end: 899
        line_start: 899
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1019
      start: 880
    functionDepth: 6
    functionLinenumber: 880
    functionLinenumberEnd: 1019
    functionName: encode_submmessage_encrypt
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - add_writer_specific_mac
    - is_authentication_required
    - trusted_crypto_buffer_expand
    - is_encryption_required
    - crypto_cipher_encrypt_data
    - trusted_crypto_buffer_append
    - add_crypto_body
    - DDS_Security_Exception_set
    - memcpy
    - ALIGN4
    - trusted_crypto_buffer_to_seq
    - trusted_crypto_buffer_init
    - ddsrt_free
    - assert
    - crypto_session_key_material_update
    - add_crypto_footer
    - add_crypto_header
    - ddsrt_toBE4u
    - add_reader_specific_mac
    - has_origin_authentication
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_submmessage_encrypt(\n    dds_security_crypto_key_factory
      *factory,\n    DDS_Security_OctetSeq *encoded_submsg,\n    const DDS_Security_OctetSeq
      *plain_submsg,\n    session_key_material *session,\n    DDS_Security_ProtectionKind
      protection_kind,\n    const DDS_Security_CryptoHandleSeq *crypto_list,\n    int32_t
      *index,\n    bool is_writer,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_factory_get_writer_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1039,1
    - Dst: encode_submmessage_encrypt
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1042,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - factory
    - encoded_submsg
    - plain_submsg
    - writer_crypto
    - reader_crypto_list
    - index
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandleSeq*
    - int32_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1021
    functionDepth: 7
    functionLinenumber: 1021
    functionLinenumberEnd: 1045
    functionName: encode_datawriter_submessage_encrypt
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - encode_submmessage_encrypt
    - crypto_factory_get_writer_key_material
    - CRYPTO_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_datawriter_submessage_encrypt (\n    dds_security_crypto_key_factory
      *factory,\n    DDS_Security_OctetSeq *encoded_submsg,\n    const DDS_Security_OctetSeq
      *plain_submsg,\n    const DDS_Security_DatawriterCryptoHandle writer_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandleSeq *reader_crypto_list,\n    int32_t
      *index,\n    DDS_Security_SecurityException *ex\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1058,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1060,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1061,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1062,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1063,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1064,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1065,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1066,1
    - Dst: encode_datawriter_submessage_encrypt
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1071,1
    - Dst: trusted_crypto_buffer_from_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1079,1
    - Dst: add_reader_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1081,1
    - Dst: trusted_crypto_buffer_to_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - instance
    - encoded_submsg
    - plain_submsg
    - writer_crypto
    - reader_crypto_list
    - index
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandleSeq*
    - int32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (reader_crypto_list && reader_crypto_list->_length > 0)
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (encoded_submsg)
      pos:
        line_end: 1059
        line_start: 1059
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (writer_crypto != 0)
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (index)
      pos:
        line_end: 1062
        line_start: 1062
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (*index < (int32_t)reader_crypto_list->_length)
      pos:
        line_end: 1063
        line_start: 1063
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: ((plain_submsg && plain_submsg->_length > 0) || *index > 0)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (encoded_submsg->_length > 0 || *index == 0)
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1087
      start: 1047
    functionDepth: 8
    functionLinenumber: 1047
    functionLinenumberEnd: 1087
    functionName: encode_datawriter_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 5
    functionsReached:
    - assert
    - encode_datawriter_submessage_encrypt
    - cryptography_get_crypto_key_factory
    - add_reader_specific_mac
    - trusted_crypto_buffer_to_seq
    - trusted_crypto_buffer_from_seq
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_datawriter_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_submsg,\n    const DDS_Security_OctetSeq
      *plain_submsg,\n    const DDS_Security_DatawriterCryptoHandle writer_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandleSeq *reader_crypto_list,\n    int32_t
      *index,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1099,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1104,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1105,1
    - Dst: crypto_factory_get_reader_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1110,1
    - Dst: encode_submmessage_encrypt
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1113,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - encoded_submsg
    - plain_submsg
    - reader_crypto
    - writer_crypto_list
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandleSeq*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (encoded_submsg)
      pos:
        line_end: 1103
        line_start: 1103
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (plain_submsg && plain_submsg->_length > 0 && plain_submsg->_buffer)
      pos:
        line_end: 1104
        line_start: 1104
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1116
      start: 1089
    functionDepth: 7
    functionLinenumber: 1089
    functionLinenumberEnd: 1116
    functionName: encode_datareader_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 5
    functionsReached:
    - encode_submmessage_encrypt
    - CRYPTO_OBJECT_RELEASE
    - assert
    - cryptography_get_crypto_key_factory
    - crypto_factory_get_reader_key_material
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_datareader_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *encoded_submsg,\n    const DDS_Security_OctetSeq
      *plain_submsg,\n    const DDS_Security_DatareaderCryptoHandle reader_crypto,\n
      \   const DDS_Security_DatawriterCryptoHandleSeq *writer_crypto_list,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1137,1
    - Dst: crypto_factory_get_specific_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1142,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1144,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1153,1
    - Dst: crypto_calculate_receiver_specific_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1158,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1160,1
    - Dst: crypto_cipher_calc_hmac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1165,1
    - Dst: crypto_get_key_size
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1165,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1167,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1172,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1174,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1178,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 7
    argNames:
    - factory
    - prefix
    - postfix
    - kind
    - rmt_handle
    - context
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - struct const_tainted_secure_prefix*
    - struct const_tainted_secure_postfix*
    - CryptoObjectKind_t
    - DDS_Security_Handle
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1118
    functionDepth: 4
    functionLinenumber: 1118
    functionLinenumberEnd: 1184
    functionName: check_reader_specific_mac
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_calculate_receiver_specific_key
    - crypto_get_key_size
    - DDS_Security_Exception_set
    - memcmp
    - crypto_factory_get_specific_keymat
    - crypto_cipher_calc_hmac
    linkageType: ''
    returnType: bool
    signature: "bool check_reader_specific_mac(\n    dds_security_crypto_key_factory
      *factory,\n    struct const_tainted_secure_prefix *prefix,\n    struct const_tainted_secure_postfix
      *postfix,\n    CryptoObjectKind_t kind,\n    DDS_Security_Handle rmt_handle,\n
      \   const char *context,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - info_src
    - rtps_hdr
    argTypes:
    - ddsi_rtps_info_src_t*
    - ddsi_rtps_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1195
    functionName: init_info_src
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_info_src (ddsi_rtps_info_src_t *info_src, ddsi_rtps_header_t
      *rtps_hdr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1212,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1227,1
    - Dst: crypto_factory_get_local_participant_data_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1232,1
    - Dst: init_info_src
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1237,1
    - Dst: crypto_session_key_material_update
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1240,1
    - Dst: ALIGN4
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1264,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1268,1
    - Dst: trusted_crypto_buffer_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1272,1
    - Dst: add_rtps_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1286,1
    - Dst: add_crypto_header
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1288,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1290,1
    - Dst: add_crypto_body
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1292,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1298,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1301,1
    - Dst: trusted_crypto_buffer_expand
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1306,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1309,1
    - Dst: trusted_crypto_buffer_append
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1311,1
    - Dst: crypto_cipher_encrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1313,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1317,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1318,1
    - Dst: add_crypto_footer
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1325,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1331,1
    - Dst: add_receiver_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1335,1
    - Dst: trusted_crypto_buffer_to_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1345,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1346,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1350,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1354,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 8
    argNames:
    - factory
    - encoded_rtps_message
    - plain_rtps_message
    - sending_participant_crypto
    - receiving_participant_crypto_list
    - receiving_participant_crypto_list_index
    - remote_id
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandleSeq*
    - int32_t*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1197
    functionDepth: 6
    functionLinenumber: 1197
    functionLinenumberEnd: 1357
    functionName: encode_rtps_message_encrypt
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - add_receiver_specific_mac
    - is_authentication_required
    - init_info_src
    - trusted_crypto_buffer_expand
    - is_encryption_required
    - crypto_cipher_encrypt_data
    - trusted_crypto_buffer_append
    - add_crypto_body
    - DDS_Security_Exception_set
    - memcpy
    - crypto_factory_get_local_participant_data_key_material
    - ALIGN4
    - trusted_crypto_buffer_to_seq
    - trusted_crypto_buffer_init
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_free
    - crypto_session_key_material_update
    - add_crypto_footer
    - add_rtps_header
    - add_crypto_header
    - DDSRT_STATIC_ASSERT
    - ddsrt_toBE4u
    - has_origin_authentication
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_rtps_message_encrypt (\n    dds_security_crypto_key_factory
      *factory,\n    DDS_Security_OctetSeq *encoded_rtps_message,\n    const DDS_Security_OctetSeq
      *plain_rtps_message,\n    const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
      \   const DDS_Security_ParticipantCryptoHandleSeq *receiving_participant_crypto_list,\n
      \   int32_t *receiving_participant_crypto_list_index,\n    DDS_Security_ParticipantCryptoHandle
      remote_id,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1369,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1373,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1374,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1375,1
    - Dst: encode_rtps_message_encrypt
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1383,1
    - Dst: trusted_crypto_buffer_from_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1388,1
    - Dst: add_receiver_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1390,1
    - Dst: trusted_crypto_buffer_to_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - instance
    - encoded_message
    - plain_message
    - remote_crypto
    - local_crypto_list
    - index
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandleSeq*
    - int32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (encoded_message)
      pos:
        line_end: 1372
        line_start: 1372
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (encoded_message->_length > 0 || *index == 0)
      pos:
        line_end: 1374
        line_start: 1374
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: ((plain_message && plain_message->_length > 0 && plain_message->_buffer)
        || *index > 0)
      pos:
        line_end: 1373
        line_start: 1373
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1399
      start: 1359
    functionDepth: 7
    functionLinenumber: 1359
    functionLinenumberEnd: 1399
    functionName: encode_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 5
    functionsReached:
    - encode_rtps_message_encrypt
    - add_receiver_specific_mac
    - assert
    - cryptography_get_crypto_key_factory
    - trusted_crypto_buffer_to_seq
    - trusted_crypto_buffer_from_seq
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean encode_rtps_message(dds_security_crypto_transform
      *instance,\n                    DDS_Security_OctetSeq *encoded_message,\n                    const
      DDS_Security_OctetSeq *plain_message,\n                    const DDS_Security_ParticipantCryptoHandle
      remote_crypto,\n                    const DDS_Security_ParticipantCryptoHandleSeq
      *local_crypto_list,\n                    int32_t *index,\n                    DDS_Security_SecurityException
      *ex)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1410,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1422,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1423,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1427,1
    - Dst: split_encoded_rtps_message
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1432,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1434,1
    - Dst: crypto_factory_get_participant_crypto_tokens
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1440,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1444,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1448,1
    - Dst: check_reader_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1450,1
    - Dst: initialize_remote_session_info
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1455,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1457,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1463,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1464,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1469,1
    - Dst: is_encryption_expected
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1471,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1473,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1482,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1487,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1490,1
    - Dst: is_authentication_expected
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1492,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1494,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1499,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1501,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1505,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1512,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1516,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1518,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 6
    argNames:
    - instance
    - plain_buffer
    - encoded_buffer
    - receiving_crypto
    - sending_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (encoded_buffer->_length > 0)
      pos:
        line_end: 1421
        line_start: 1421
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (plain_buffer)
      pos:
        line_end: 1422
        line_start: 1422
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1520
      start: 1401
    functionDepth: 6
    functionLinenumber: 1401
    functionLinenumberEnd: 1520
    functionName: ddsi_security_decode_rtps_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - crypto_cipher_decrypt_data
    - CRYPTO_OBJECT_RELEASE
    - is_authentication_expected
    - ddsrt_free
    - DDS_Security_Exception_set
    - split_encoded_rtps_message
    - assert
    - memcpy
    - is_encryption_expected
    - is_authentication_required
    - crypto_factory_get_participant_crypto_tokens
    - initialize_remote_session_info
    - is_encryption_required
    - cryptography_get_crypto_key_factory
    - check_reader_specific_mac
    - has_origin_authentication
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean ddsi_security_decode_rtps_message (dds_security_crypto_transform
      *instance,\n                    DDS_Security_OctetSeq *plain_buffer,\n                    const
      DDS_Security_OctetSeq *encoded_buffer,\n                    const DDS_Security_ParticipantCryptoHandle
      receiving_crypto,\n                    const DDS_Security_ParticipantCryptoHandle
      sending_crypto,\n                    DDS_Security_SecurityException *ex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1534,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1538,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1539,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1540,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1541,1
    - Dst: tainted_input_buffer_from_OctetSeq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1543,1
    - Dst: read_secure_prefix
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1544,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1546,1
    - Dst: crypto_factory_get_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 8
    argNames:
    - instance
    - writer_crypto
    - reader_crypto
    - category
    - encoded_submessage
    - receiving_crypto
    - sending_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_DatawriterCryptoHandle*
    - DDS_Security_DatareaderCryptoHandle*
    - DDS_Security_SecureSubmessageCategory_t*
    - DDS_Security_OctetSeq*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (encoded_submessage && encoded_submessage->_length > 0)
      pos:
        line_end: 1540
        line_start: 1540
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (writer_crypto)
      pos:
        line_end: 1537
        line_start: 1537
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (category)
      pos:
        line_end: 1539
        line_start: 1539
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (reader_crypto)
      pos:
        line_end: 1538
        line_start: 1538
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1570
      start: 1522
    functionDepth: 5
    functionLinenumber: 1522
    functionLinenumberEnd: 1570
    functionName: preprocess_secure_submsg
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 1
    functionsReached:
    - crypto_factory_get_endpoint_relation
    - DDS_Security_Exception_set
    - tainted_input_buffer_from_OctetSeq
    - assert
    - read_secure_prefix
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean preprocess_secure_submsg(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_DatawriterCryptoHandle *writer_crypto,\n    DDS_Security_DatareaderCryptoHandle
      *reader_crypto,\n    DDS_Security_SecureSubmessageCategory_t *category,\n    const
      DDS_Security_OctetSeq *encoded_submessage,\n    const DDS_Security_ParticipantCryptoHandle
      receiving_crypto,\n    const DDS_Security_ParticipantCryptoHandle sending_crypto,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1589,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1590,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1594,1
    - Dst: split_encoded_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1599,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1601,1
    - Dst: crypto_factory_get_remote_writer_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1609,1
    - Dst: crypto_factory_get_remote_reader_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1615,1
    - Dst: has_origin_authentication
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1619,1
    - Dst: check_reader_specific_mac
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1619,1
    - Dst: initialize_remote_session_info
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1623,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1626,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1629,1
    - Dst: is_encryption_expected
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1631,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1633,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1642,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1647,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1650,1
    - Dst: is_authentication_expected
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1652,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1654,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1658,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1660,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1663,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1667,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1674,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1678,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1680,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 8
    argNames:
    - factory
    - plain_submsg
    - encoded_submsg
    - local_crypto
    - remote_crypto
    - kind
    - context
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_OctetSeq*
    - tainted_input_buffer_t*
    - DDS_Security_CryptoHandle
    - DDS_Security_CryptoHandle
    - CryptoObjectKind_t
    - char*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (encoded_submsg && encoded_submsg->endp > encoded_submsg->ptr &&
        encoded_submsg->ptr)
      pos:
        line_end: 1588
        line_start: 1588
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (est.prefix.transform_id != 0)
      pos:
        line_end: 1657
        line_start: 1657
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (plain_submsg)
      pos:
        line_end: 1589
        line_start: 1589
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1682
      start: 1572
    functionDepth: 6
    functionLinenumber: 1572
    functionLinenumberEnd: 1682
    functionName: decode_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - crypto_cipher_decrypt_data
    - split_encoded_submessage
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_free
    - DDS_Security_Exception_set
    - memcpy
    - assert
    - is_encryption_expected
    - crypto_factory_get_remote_writer_key_material
    - is_authentication_required
    - has_origin_authentication
    - initialize_remote_session_info
    - is_encryption_required
    - is_authentication_expected
    - check_reader_specific_mac
    - crypto_factory_get_remote_reader_key_material
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_submessage(\n    dds_security_crypto_key_factory
      *factory,\n    DDS_Security_OctetSeq *plain_submsg,\n    tainted_input_buffer_t
      *encoded_submsg,\n    const DDS_Security_CryptoHandle local_crypto,\n    const
      DDS_Security_CryptoHandle remote_crypto,\n    CryptoObjectKind_t kind,\n    const
      char *context,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1694,1
    - Dst: tainted_input_buffer_from_OctetSeq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1695,1
    - Dst: decode_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - instance
    - plain_submsg
    - encoded_submsg
    - reader_crypto
    - writer_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1684
    functionDepth: 7
    functionLinenumber: 1684
    functionLinenumberEnd: 1697
    functionName: decode_datawriter_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 3
    functionsReached:
    - tainted_input_buffer_from_OctetSeq
    - decode_submessage
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_datawriter_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_submsg,\n    const DDS_Security_OctetSeq
      *encoded_submsg,\n    const DDS_Security_DatareaderCryptoHandle reader_crypto,\n
      \   const DDS_Security_DatawriterCryptoHandle writer_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1709,1
    - Dst: tainted_input_buffer_from_OctetSeq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1710,1
    - Dst: decode_submessage
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - instance
    - plain_submsg
    - encoded_submsg
    - writer_crypto
    - reader_crypto
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1699
    functionDepth: 7
    functionLinenumber: 1699
    functionLinenumberEnd: 1712
    functionName: decode_datareader_submessage
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 3
    functionsReached:
    - tainted_input_buffer_from_OctetSeq
    - decode_submessage
    - cryptography_get_crypto_key_factory
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_datareader_submessage(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_submsg,\n    const DDS_Security_OctetSeq
      *encoded_submsg,\n    const DDS_Security_DatawriterCryptoHandle writer_crypto,\n
      \   const DDS_Security_DatareaderCryptoHandle reader_crypto,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cryptography_get_crypto_key_factory
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1725,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1732,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1734,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1735,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1739,1
    - Dst: tainted_input_buffer_from_OctetSeq
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1744,1
    - Dst: split_encoded_serialized_payload
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1745,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1747,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1754,1
    - Dst: crypto_factory_get_remote_writer_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1760,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1763,1
    - Dst: initialize_remote_session_info
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1767,1
    - Dst: is_encryption_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1775,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1780,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1785,1
    - Dst: is_authentication_required
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1788,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1793,1
    - Dst: crypto_cipher_decrypt_data
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1798,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1800,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1804,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1811,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1815,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1816,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - instance
    - plain_buffer
    - encoded_buffer
    - inline_qos
    - reader_id
    - writer_id
    - ex
    argTypes:
    - dds_security_crypto_transform*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_OctetSeq*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (plain_buffer)
      pos:
        line_end: 1734
        line_start: 1734
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - condition: (encoded_buffer && encoded_buffer->_buffer && encoded_buffer->_length
        > 0)
      pos:
        line_end: 1733
        line_start: 1733
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    constantsTouched: []
    func_position:
      end: 1818
      start: 1714
    functionDepth: 5
    functionLinenumber: 1714
    functionLinenumberEnd: 1818
    functionName: decode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 2
    functionsReached:
    - crypto_cipher_decrypt_data
    - CRYPTO_OBJECT_RELEASE
    - ddsrt_free
    - DDS_Security_Exception_set
    - tainted_input_buffer_from_OctetSeq
    - split_encoded_serialized_payload
    - assert
    - memcpy
    - DDSRT_UNUSED_ARG
    - crypto_factory_get_remote_writer_key_material
    - is_authentication_required
    - initialize_remote_session_info
    - is_encryption_required
    - cryptography_get_crypto_key_factory
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean decode_serialized_payload(\n    dds_security_crypto_transform
      *instance,\n    DDS_Security_OctetSeq *plain_buffer,\n    const DDS_Security_OctetSeq
      *encoded_buffer,\n    const DDS_Security_OctetSeq *inline_qos,\n    const DDS_Security_DatareaderCryptoHandle
      reader_id,\n    const DDS_Security_DatawriterCryptoHandle writer_id,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1825,1
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1841
    functionName: dds_security_crypto_transform__alloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - dds_openssl_init
    linkageType: ''
    returnType: dds_security_crypto_transform
    signature: "dds_security_crypto_transform *\ndds_security_crypto_transform__alloc(\n
      \   const dds_security_cryptography *crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - dds_security_crypto_transform*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1847
    functionName: dds_security_crypto_transform__dealloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void dds_security_crypto_transform__dealloc(\n    dds_security_crypto_transform
      *instance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - struct dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: cryptography_get_crypto_key_factory
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: dds_security_crypto_key_factory
    signature: dds_security_crypto_key_factory *cryptography_get_crypto_key_factory
      (const struct dds_security_cryptography *crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - struct dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: cryptography_get_crypto_key_exchange
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_security_crypto_key_exchange
    signature: dds_security_crypto_key_exchange *cryptography_get_crypto_key_exchange
      (const struct dds_security_cryptography *crypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - struct dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: cryptography_get_crypto_transform
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_security_crypto_transform
    signature: dds_security_crypto_transform *cryptography_get_crypto_transform (const
      struct dds_security_cryptography *crypto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:56,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:59,1
    - Dst: dds_security_crypto_key_exchange__alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:63,1
    - Dst: dds_security_crypto_key_factory__alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:66,1
    - Dst: dds_security_crypto_transform__alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:69,1
    - Dst: dds_security_crypto_key_factory__dealloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:81,1
    - Dst: dds_security_crypto_key_exchange__dealloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:83,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: init_crypto
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - dds_security_crypto_key_exchange__alloc
    - dds_security_crypto_transform__alloc
    - DDSRT_UNUSED_ARG
    - dds_security_crypto_key_factory__dealloc
    - ddsrt_malloc
    - dds_security_crypto_key_exchange__dealloc
    - dds_security_crypto_key_factory__alloc
    linkageType: ''
    returnType: int
    signature: int init_crypto (const char *argument, void **context, struct ddsi_domaingv
      *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_crypto_key_exchange__dealloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:94,1
    - Dst: dds_security_crypto_key_factory__dealloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:95,1
    - Dst: dds_security_crypto_transform__dealloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:96,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: finalize_crypto
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    functionUses: 1
    functionsReached:
    - dds_security_crypto_key_exchange__dealloc
    - dds_security_crypto_transform__dealloc
    - dds_security_crypto_key_factory__dealloc
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int finalize_crypto (void *instance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_TRANSFORM_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:54,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:56,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:58,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:59,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:60,1
    - Dst: CRYPTO_TRANSFORM_HAS_KEYS
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:62,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:64,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:65,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:66,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:67,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:68,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:69,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:70,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:71,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - master_key_material*
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: crypto_token_copy
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - CRYPTO_TRANSFORM_ID
    - CRYPTO_TRANSFORM_KIND
    - ddsrt_calloc
    - ddsrt_free
    - CRYPTO_TRANSFORM_HAS_KEYS
    - memcpy
    - CRYPTO_KEY_SIZE_BYTES
    linkageType: ''
    returnType: void
    signature: "void crypto_token_copy(\n    master_key_material *dst,\n    const
      DDS_Security_KeyMaterial_AES_GCM_GMAC *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_get_secret_size_from_secret_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:88,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:94,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:98,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:101,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:102,1
    - Dst: DDS_Security_get_challenge1_from_secret_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:103,1
    - Dst: DDS_Security_get_challenge2_from_secret_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:104,1
    - Dst: DDS_Security_get_secret_from_secret_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:105,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:108,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:109,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:110,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:112,1
    - Dst: crypto_hmac256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:113,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:117,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:118,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:119,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:121,1
    - Dst: crypto_hmac256
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:125,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:126,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:128,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:131,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:132,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:136,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:137,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:139,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 3
    argNames:
    - shared_secret
    - kx_key_material
    - ex
    argTypes:
    - DDS_Security_SharedSecretHandle
    - master_key_material*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (kx_key_material->transformation_kind == CRYPTO_TRANSFORMATION_KIND_AES256_GCM)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 143
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 143
    functionName: calculate_kx_keys
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - DDS_Security_get_challenge1_from_secret_handle
    - ddsrt_free
    - DDS_Security_Exception_set
    - DDS_Security_get_secret_size_from_secret_handle
    - memcpy
    - assert
    - DDS_Security_get_secret_from_secret_handle
    - SHA256
    - memset
    - DDS_Security_get_challenge2_from_secret_handle
    - crypto_hmac256
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: "bool calculate_kx_keys(\n    const DDS_Security_SharedSecretHandle
      shared_secret,\n    master_key_material *kx_key_material,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:151,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:152,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:152,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:154,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:158,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:158,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:160,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - implementation
    - key_material
    - ex
    argTypes:
    - dds_security_crypto_key_factory_impl*
    - master_key_material*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_material->transformation_kind != CRYPTO_TRANSFORMATION_KIND_NONE)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: generate_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - assert
    - CRYPTO_KEY_SIZE_BYTES
    - RAND_bytes
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t generate_key(\n    dds_security_crypto_key_factory_impl *implementation,\n
      \   master_key_material *key_material,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts:
    - condition: (attributes)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: attribute_to_rtps_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_Security_ProtectionKind
    signature: "DDS_Security_ProtectionKind attribute_to_rtps_protection_kind(\n    const
      DDS_Security_ParticipantSecurityAttributes *attributes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts:
    - condition: (attributes)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: attribute_to_meta_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_Security_ProtectionKind
    signature: "DDS_Security_ProtectionKind attribute_to_meta_protection_kind(\n    const
      DDS_Security_EndpointSecurityAttributes *attributes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    assertStmts:
    - condition: (attributes)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: attribute_to_data_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_Security_BasicProtectionKind
    signature: "DDS_Security_BasicProtectionKind attribute_to_data_protection_kind(\n
      \   const DDS_Security_EndpointSecurityAttributes *attributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:245,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:247,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:249,1
    - Dst: crypto_remove_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - implementation
    - rmt_wr
    argTypes:
    - dds_security_crypto_key_factory_impl*
    - remote_datawriter_crypto*
    assertStmts:
    - condition: (rmt_wr)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (rmt_pp)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 253
    functionName: remove_remote_writer_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - crypto_remove_endpoint_relation
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void remove_remote_writer_relation(\n    dds_security_crypto_key_factory_impl
      *implementation,\n    remote_datawriter_crypto *rmt_wr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:262,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:264,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:266,1
    - Dst: crypto_remove_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - implementation
    - rmt_rd
    argTypes:
    - dds_security_crypto_key_factory_impl*
    - remote_datareader_crypto*
    assertStmts:
    - condition: (rmt_rd)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (rmt_pp)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: remove_remote_reader_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - crypto_remove_endpoint_relation
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void remove_remote_reader_relation(\n    dds_security_crypto_key_factory_impl
      *implementation,\n    remote_datareader_crypto *rmt_rd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:291,1
    - Dst: crypto_local_participant_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:297,1
    - Dst: attribute_to_rtps_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:298,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:299,1
    - Dst: DDS_Security_protectionkind2transformationkind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:300,1
    - Dst: generate_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:305,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:307,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:310,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:311,1
    - Dst: PARTICIPANT_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:313,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - instance
    - participant_identity
    - participant_permissions
    - participant_properties
    - participant_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 320
    functionName: register_local_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 40
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - attribute_to_rtps_protection_kind
    - crypto_object_table_insert
    - PARTICIPANT_CRYPTO_HANDLE
    - crypto_session_key_material_new
    - crypto_local_participant_crypto__new
    - generate_key
    - DDS_Security_protectionkind2transformationkind
    - crypto_master_key_material_new
    linkageType: ''
    returnType: DDS_Security_ParticipantCryptoHandle
    signature: "DDS_Security_ParticipantCryptoHandle register_local_participant(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_IdentityHandle
      participant_identity,\n    const DDS_Security_PermissionsHandle participant_permissions,\n
      \   const DDS_Security_PropertySeq *participant_properties,\n    const DDS_Security_ParticipantSecurityAttributes
      *participant_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - CryptoObject*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 347
    functionName: resolve_remote_participant_by_id
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: int
    signature: "int resolve_remote_participant_by_id(\n    CryptoObject *obj,\n    void
      *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:367,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:373,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:379,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:386,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:389,1
    - Dst: crypto_object_table_walk
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:397,1
    - Dst: crypto_remote_participant_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:404,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:405,1
    - Dst: crypto_remote_participant_lookup_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:409,1
    - Dst: PARTICIPANT_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:409,1
    - Dst: crypto_participant_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:412,1
    - Dst: crypto_master_key_material_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:415,1
    - Dst: calculate_kx_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:417,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:420,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:421,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:427,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:427,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:429,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:433,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:435,1
    - Dst: crypto_local_participant_add_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:437,1
    - Dst: crypto_remote_participant_add_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:438,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:443,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:444,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:445,1
    - Dst: PARTICIPANT_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:447,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:452,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:453,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 6
    argNames:
    - instance
    - local_participant_crypto_handle
    - remote_participant_identity
    - remote_participant_permissions
    - shared_secret
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 457
    functionName: register_matched_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 21
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remote_participant_lookup_keymat
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - crypto_object_table_insert
    - PARTICIPANT_CRYPTO_HANDLE
    - crypto_master_key_material_set
    - crypto_local_participant_add_keymat
    - crypto_session_key_material_new
    - crypto_object_table_walk
    - calculate_kx_keys
    - crypto_participant_key_material_new
    - CRYPTO_OBJECT_KEEP
    - crypto_remote_participant_add_keymat
    - crypto_remote_participant_crypto__new
    - CRYPTO_KEY_SIZE_BYTES
    - RAND_bytes
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: DDS_Security_ParticipantCryptoHandle
    signature: "DDS_Security_ParticipantCryptoHandle register_matched_remote_participant(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_ParticipantCryptoHandle
      local_participant_crypto_handle,\n    const DDS_Security_IdentityHandle remote_participant_identity,\n
      \   const DDS_Security_PermissionsHandle remote_participant_permissions,\n    const
      DDS_Security_SharedSecretHandle shared_secret,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:476,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:481,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:484,1
    - Dst: DDS_Security_PropertySeq_find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:491,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:493,1
    - Dst: attribute_to_data_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:497,1
    - Dst: attribute_to_meta_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:498,1
    - Dst: crypto_local_datawriter_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:500,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:507,1
    - Dst: DDS_Security_protectionkind2transformationkind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:508,1
    - Dst: generate_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:509,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:511,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:516,1
    - Dst: DDS_Security_basicprotectionkind2transformationkind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:517,1
    - Dst: generate_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:518,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:520,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:524,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:525,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:526,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:531,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:532,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - instance
    - participant_crypto_handle
    - datawriter_properties
    - datawriter_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 535
    functionName: register_local_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 21
    functionsReached:
    - DDS_Security_basicprotectionkind2transformationkind
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - attribute_to_meta_protection_kind
    - crypto_local_datawriter_crypto__new
    - strcmp
    - DDS_Security_protectionkind2transformationkind
    - crypto_object_table_insert
    - crypto_session_key_material_new
    - generate_key
    - DDS_Security_PropertySeq_find_property
    - attribute_to_data_protection_kind
    - crypto_master_key_material_new
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: "DDS_Security_DatawriterCryptoHandle register_local_datawriter(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
      \   const DDS_Security_PropertySeq *datawriter_properties,\n    const DDS_Security_EndpointSecurityAttributes
      *datawriter_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:552,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:553,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:558,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:563,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:566,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:571,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:574,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:575,1
    - Dst: crypto_remote_datareader_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:583,1
    - Dst: crypto_remote_participant_lookup_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:588,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:588,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:589,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:591,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:592,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:593,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:595,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:601,1
    - Dst: crypto_master_key_material_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:602,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:606,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:607,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:609,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:613,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:615,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:620,1
    - Dst: crypto_master_key_material_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:621,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:625,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:626,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:627,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:628,1
    - Dst: DATAREADER_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:630,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:633,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:634,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:635,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 6
    argNames:
    - instance
    - local_datawriter_crypto_handle
    - remote_participant_crypto_handle
    - shared_secret
    - relay_only
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_boolean
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_material)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 638
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 638
    functionName: register_matched_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 9
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remote_participant_lookup_keymat
    - CRYPTO_OBJECT_HANDLE
    - crypto_remote_datareader_crypto__new
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - crypto_object_table_insert
    - assert
    - DDSRT_UNUSED_ARG
    - DATAREADER_CRYPTO_HANDLE
    - CRYPTO_OBJECT_KEEP
    - crypto_master_key_material_set
    - CRYPTO_KEY_SIZE_BYTES
    - RAND_bytes
    - crypto_master_key_material_new
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: "DDS_Security_DatareaderCryptoHandle register_matched_remote_datareader(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatawriterCryptoHandle
      local_datawriter_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
      remote_participant_crypto_handle,\n    const DDS_Security_SharedSecretHandle
      shared_secret,\n    const DDS_Security_boolean relay_only, DDS_Security_SecurityException
      *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:657,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:662,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:665,1
    - Dst: DDS_Security_PropertySeq_find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:672,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:674,1
    - Dst: attribute_to_data_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:678,1
    - Dst: attribute_to_meta_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:679,1
    - Dst: crypto_local_datareader_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:681,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:688,1
    - Dst: DDS_Security_protectionkind2transformationkind
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:689,1
    - Dst: generate_key
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:690,1
    - Dst: crypto_session_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:692,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:701,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:702,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:703,1
    - Dst: DATAREADER_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:705,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:708,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - instance
    - participant_crypto_handle
    - datareader_properties
    - datareader_security_attributes
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_PropertySeq*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 712
    functionName: register_local_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 19
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - attribute_to_meta_protection_kind
    - DDS_Security_protectionkind2transformationkind
    - strcmp
    - crypto_object_table_insert
    - DATAREADER_CRYPTO_HANDLE
    - crypto_session_key_material_new
    - generate_key
    - DDS_Security_PropertySeq_find_property
    - attribute_to_data_protection_kind
    - crypto_local_datareader_crypto__new
    - crypto_master_key_material_new
    linkageType: ''
    returnType: DDS_Security_DatareaderCryptoHandle
    signature: "DDS_Security_DatareaderCryptoHandle register_local_datareader(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
      \   const DDS_Security_PropertySeq *datareader_properties,\n    const DDS_Security_EndpointSecurityAttributes
      *datareader_security_attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:728,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:733,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:738,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:741,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:746,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:749,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:750,1
    - Dst: crypto_remote_datawriter_crypto__new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:755,1
    - Dst: crypto_remote_participant_lookup_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:760,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:760,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:761,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:763,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:764,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:765,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:766,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:769,1
    - Dst: crypto_insert_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:771,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:772,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:773,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:777,1
    - Dst: crypto_master_key_material_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:778,1
    - Dst: CRYPTO_KEY_SIZE_BYTES
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:783,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:784,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:786,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:791,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:792,1
    - Dst: crypto_object_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:795,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:796,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:797,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:798,1
    - Dst: DATAREADER_CRYPTO_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:800,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:803,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:804,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:805,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - instance
    - local_datareader_crypto_handle
    - remote_participant_crypto_handle
    - shared_secret
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_material)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 808
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 808
    functionName: register_matched_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 8
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remote_datawriter_crypto__new
    - crypto_remote_participant_lookup_keymat
    - CRYPTO_OBJECT_HANDLE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - crypto_key_relation_new
    - assert
    - crypto_object_table_insert
    - DDSRT_UNUSED_ARG
    - DATAREADER_CRYPTO_HANDLE
    - CRYPTO_OBJECT_KEEP
    - crypto_insert_endpoint_relation
    - crypto_master_key_material_set
    - CRYPTO_KEY_SIZE_BYTES
    - RAND_bytes
    - crypto_master_key_material_new
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: DDS_Security_DatawriterCryptoHandle
    signature: "DDS_Security_DatawriterCryptoHandle register_matched_remote_datawriter(\n
      \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatareaderCryptoHandle
      local_datareader_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
      remote_participant_crypto_handle,\n    const DDS_Security_SharedSecretHandle
      shared_secret,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:825,1
    - Dst: crypto_local_participnant_get_matching
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:833,1
    - Dst: crypto_local_participant_remove_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:836,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:837,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:839,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:841,1
    - Dst: crypto_remote_participant_remove_keymat_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:842,1
    - Dst: crypto_remove_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:845,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:846,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:848,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:849,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:852,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:853,1
    - Dst: crypto_remote_participnant_get_matching
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:861,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:864,1
    - Dst: crypto_remote_participant_remove_keymat_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:865,1
    - Dst: crypto_remove_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:868,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:869,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:871,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:873,1
    - Dst: crypto_local_participant_remove_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:875,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:876,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:877,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:880,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:881,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:887,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:891,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:894,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - instance
    - participant_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 897
    functionName: unregister_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 29
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remove_specific_key_relation_locked
    - ddsrt_free
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - ddsrt_mutex_lock
    - crypto_local_participant_remove_keymat
    - crypto_object_table_remove_object
    - crypto_remote_participant_remove_keymat_locked
    - crypto_remote_participnant_get_matching
    - crypto_local_participnant_get_matching
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_participant(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:910,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:915,1
    - Dst: remove_remote_writer_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:921,1
    - Dst: crypto_remove_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:923,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:924,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:929,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:932,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - instance
    - datawriter_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 938
    functionName: unregister_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 21
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remove_specific_key_relation
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - crypto_object_table_remove_object
    - remove_remote_writer_relation
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_datawriter(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_DatawriterCryptoHandle datawriter_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:951,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:956,1
    - Dst: remove_remote_reader_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:962,1
    - Dst: crypto_remove_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:964,1
    - Dst: crypto_object_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:965,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:970,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:973,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - instance
    - datareader_crypto_handle
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 979
    functionName: unregister_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 21
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - crypto_remove_specific_key_relation
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - crypto_object_table_remove_object
    - remove_remote_reader_relation
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean unregister_datareader(\n    dds_security_crypto_key_factory
      *instance,\n    const DDS_Security_DatareaderCryptoHandle datareader_crypto_handle,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:985,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:987,1
    - Dst: crypto_object_table_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1001,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - crypto
    argTypes:
    - dds_security_cryptography*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1006
    functionName: dds_security_crypto_key_factory__alloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - crypto_object_table_new
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: dds_security_crypto_key_factory
    signature: "dds_security_crypto_key_factory *\ndds_security_crypto_key_factory__alloc(\n
      \   const dds_security_cryptography *crypto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1011,1
    - Dst: crypto_object_table_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1012,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - dds_security_crypto_key_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: dds_security_crypto_key_factory__dealloc
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_destroy
    - crypto_object_table_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_security_crypto_key_factory__dealloc(dds_security_crypto_key_factory
      *instance)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1027,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1057,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - factory
    - handle
    - kind
    argTypes:
    - dds_security_crypto_key_factory*
    - int64_t
    - DDS_Security_ProtectionKind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: crypto_factory_get_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 2
    functionsReached:
    - crypto_object_table_find
    - CRYPTO_OBJECT_RELEASE
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_protection_kind(\n    const dds_security_crypto_key_factory
      *factory,\n    int64_t handle,\n    DDS_Security_ProtectionKind *kind)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1071,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1073,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1078,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1082,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1084,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1089,1
    - Dst: crypto_remote_participant_lookup_keymat_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1090,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1092,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1094,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1101,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 7
    argNames:
    - factory
    - local_id
    - remote_id
    - pp_key_material
    - remote_key_matarial
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - participant_key_material**
    - master_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (pp_key_material != NULL)
      pos:
        line_end: 1070
        line_start: 1070
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1108
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1108
    functionName: crypto_factory_get_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 3
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - ddsrt_mutex_lock
    - crypto_remote_participant_lookup_keymat_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_participant_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    DDS_Security_ParticipantCryptoHandle local_id,\n    DDS_Security_ParticipantCryptoHandle
      remote_id,\n    participant_key_material **pp_key_material,\n    master_key_material
      **remote_key_matarial,\n    DDS_Security_ProtectionKind *protection_kind,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1112,1
    - Dst: ddsi_gcreq_get_arg
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1112,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: gc_remote_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_free
    - CRYPTO_OBJECT_RELEASE
    - ddsi_gcreq_get_arg
    linkageType: ''
    returnType: void
    signature: void gc_remote_key_material (struct ddsi_gcreq *gcreq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1129,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1132,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1136,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1138,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1143,1
    - Dst: crypto_remote_participant_lookup_keymat_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1144,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1154,1
    - Dst: crypto_token_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1155,1
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1160,1
    - Dst: ddsi_gcreq_set_arg
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1161,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1162,1
    - Dst: crypto_find_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1168,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1171,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1172,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1172,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1172,1
    - Dst: crypto_insert_specific_key_relation_locked
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1173,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1174,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1176,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1178,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1179,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1183,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1184,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - factory
    - local_id
    - remote_id
    - remote_key_mat
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1194
    functionName: crypto_factory_set_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - ddsrt_mutex_lock
    - ddsi_gcreq_enqueue
    - crypto_key_relation_new
    - crypto_insert_specific_key_relation_locked
    - ddsi_gcreq_set_arg
    - crypto_remote_participant_lookup_keymat_locked
    - CRYPTO_OBJECT
    - crypto_token_copy
    - ddsi_gcreq_new
    - crypto_master_key_material_new
    - crypto_find_specific_key_relation_locked
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_set_participant_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_ParticipantCryptoHandle local_id,\n    const
      DDS_Security_ParticipantCryptoHandle remote_id,\n    const DDS_Security_KeyMaterial_AES_GCM_GMAC
      *remote_key_mat,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1210,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1211,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1212,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1213,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1214,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1215,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1217,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1220,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1224,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1226,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1231,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1233,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1239,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1242,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 6
    argNames:
    - factory
    - local_writer_handle
    - remote_reader_handle
    - key_mat
    - num_key_mat
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - master_key_material**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (factory)
      pos:
        line_end: 1209
        line_start: 1209
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (key_mat)
      pos:
        line_end: 1212
        line_start: 1212
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (remote_reader_handle != DDS_SECURITY_HANDLE_NIL)
      pos:
        line_end: 1211
        line_start: 1211
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (local_writer_handle != DDS_SECURITY_HANDLE_NIL)
      pos:
        line_end: 1210
        line_start: 1210
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (num_key_mat)
      pos:
        line_end: 1213
        line_start: 1213
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: ((*num_key_mat) == 2)
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1251
      start: 1196
    functionDepth: 3
    functionLinenumber: 1196
    functionLinenumberEnd: 1251
    functionName: crypto_factory_get_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_datawriter_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    DDS_Security_DatawriterCryptoHandle local_writer_handle,\n    DDS_Security_DatareaderCryptoHandle
      remote_reader_handle,\n    master_key_material **key_mat,\n    uint32_t *num_key_mat,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1270,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1272,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1275,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1279,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1281,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1286,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1289,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1293,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1295,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1300,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1302,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1309,1
    - Dst: crypto_token_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1310,1
    - Dst: remove_remote_writer_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1313,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1314,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1315,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1317,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1322,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1326,1
    - Dst: crypto_insert_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1327,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1328,1
    - Dst: crypto_find_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1333,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1336,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1336,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1336,1
    - Dst: crypto_insert_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1337,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1339,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1345,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1347,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 6
    argNames:
    - factory
    - local_reader_handle
    - remote_writer_handle
    - key_mat
    - num_key_mat
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (num_key_mat > 0)
      pos:
        line_end: 1269
        line_start: 1269
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (writer_master_key[0])
      pos:
        line_end: 1316
        line_start: 1316
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1350
      start: 1253
    functionDepth: 3
    functionLinenumber: 1253
    functionLinenumberEnd: 1350
    functionName: crypto_factory_set_datawriter_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - crypto_key_relation_new
    - crypto_insert_specific_key_relation
    - CRYPTO_OBJECT_KEEP
    - remove_remote_writer_relation
    - crypto_insert_endpoint_relation
    - CRYPTO_OBJECT
    - crypto_find_specific_key_relation
    - crypto_token_copy
    - crypto_master_key_material_new
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_set_datawriter_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatawriterCryptoHandle local_reader_handle,\n
      \   const DDS_Security_DatareaderCryptoHandle remote_writer_handle,\n    const
      DDS_Security_KeyMaterial_AES_GCM_GMAC *key_mat,\n    const uint32_t num_key_mat,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1364,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1365,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1366,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1367,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1369,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1372,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1376,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1378,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1383,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1385,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1391,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - factory
    - local_reader_handle
    - remote_writer_handle
    - key_mat
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - master_key_material**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (factory)
      pos:
        line_end: 1363
        line_start: 1363
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (local_reader_handle != DDS_SECURITY_HANDLE_NIL)
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (key_mat)
      pos:
        line_end: 1366
        line_start: 1366
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (remote_writer_handle != DDS_SECURITY_HANDLE_NIL)
      pos:
        line_end: 1365
        line_start: 1365
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1400
      start: 1352
    functionDepth: 3
    functionLinenumber: 1352
    functionLinenumberEnd: 1400
    functionName: crypto_factory_get_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_datareader_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    DDS_Security_DatawriterCryptoHandle local_reader_handle,\n    DDS_Security_DatareaderCryptoHandle
      remote_writer_handle,\n    master_key_material **key_mat,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1417,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1420,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1424,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1426,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1431,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1434,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1438,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1440,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1445,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1447,1
    - Dst: remove_remote_reader_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1452,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1453,1
    - Dst: crypto_master_key_material_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1455,1
    - Dst: crypto_token_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1456,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1460,1
    - Dst: crypto_insert_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1461,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1462,1
    - Dst: crypto_find_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1467,1
    - Dst: crypto_key_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1470,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1470,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1470,1
    - Dst: crypto_insert_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1471,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1473,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1479,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 5
    argNames:
    - factory
    - local_writer_handle
    - remote_reader_handle
    - key_mat
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_KeyMaterial_AES_GCM_GMAC*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1483
    functionName: crypto_factory_set_datareader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - crypto_key_relation_new
    - crypto_insert_specific_key_relation
    - crypto_insert_endpoint_relation
    - CRYPTO_OBJECT
    - crypto_find_specific_key_relation
    - crypto_token_copy
    - crypto_master_key_material_new
    - remove_remote_reader_relation
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_set_datareader_crypto_tokens(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatawriterCryptoHandle local_writer_handle,\n
      \   const DDS_Security_DatareaderCryptoHandle remote_reader_handle,\n    const
      DDS_Security_KeyMaterial_AES_GCM_GMAC *key_mat,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1496,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1499,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1503,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1505,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1510,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - factory
    - reader_id
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory_impl*
    - DDS_Security_DatareaderCryptoHandle
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1485
    functionDepth: 3
    functionLinenumber: 1485
    functionLinenumberEnd: 1518
    functionName: get_local_volatile_sec_writer_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool get_local_volatile_sec_writer_key_material(\n    dds_security_crypto_key_factory_impl
      *factory,\n    const DDS_Security_DatareaderCryptoHandle reader_id,\n    session_key_material
      **session_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1531,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1534,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1538,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1540,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1545,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - factory
    - writer_id
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory_impl*
    - DDS_Security_DatawriterCryptoHandle
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1520
    functionDepth: 3
    functionLinenumber: 1520
    functionLinenumberEnd: 1553
    functionName: get_local_volatile_sec_reader_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 0
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool get_local_volatile_sec_reader_key_material(\n    dds_security_crypto_key_factory_impl
      *factory,\n    const DDS_Security_DatawriterCryptoHandle writer_id,\n    session_key_material
      **session_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1567,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1570,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1574,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1576,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1581,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - factory
    - local_id
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1555
    functionDepth: 3
    functionLinenumber: 1555
    functionLinenumberEnd: 1589
    functionName: crypto_factory_get_local_participant_data_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 2
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_local_participant_data_key_material(\n    const
      dds_security_crypto_key_factory *factory,\n    const DDS_Security_ParticipantCryptoHandle
      local_id,\n    session_key_material **session_key,\n    DDS_Security_ProtectionKind
      *protection_kind,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1605,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1608,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1612,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1614,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1621,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1623,1
    - Dst: get_local_volatile_sec_writer_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1631,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1635,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 7
    argNames:
    - factory
    - writer_id
    - reader_id
    - payload
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - bool
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1591
    functionDepth: 4
    functionLinenumber: 1591
    functionLinenumberEnd: 1643
    functionName: crypto_factory_get_writer_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 2
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    - get_local_volatile_sec_writer_key_material
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_writer_key_material(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatawriterCryptoHandle writer_id,\n    const
      DDS_Security_DatareaderCryptoHandle reader_id,\n    bool payload,\n    session_key_material
      **session_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1658,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1661,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1665,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1667,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1673,1
    - Dst: get_local_volatile_sec_reader_key_material
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1679,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - factory
    - reader_id
    - writer_id
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1645
    functionDepth: 4
    functionLinenumber: 1645
    functionLinenumberEnd: 1685
    functionName: crypto_factory_get_reader_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    - get_local_volatile_sec_reader_key_material
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_reader_key_material(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatareaderCryptoHandle reader_id,\n    const
      DDS_Security_DatawriterCryptoHandle writer_id,\n    session_key_material **session_key,\n
      \   DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1702,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1705,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1709,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1711,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1715,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1717,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1724,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1728,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1732,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1744,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 8
    argNames:
    - factory
    - reader_id
    - writer_id
    - key_id
    - master_key
    - protection_kind
    - basic_protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    - uint32_t
    - master_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_BasicProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1687
    functionDepth: 3
    functionLinenumber: 1687
    functionLinenumberEnd: 1748
    functionName: crypto_factory_get_remote_writer_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 2
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_remote_writer_key_material(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatareaderCryptoHandle reader_id,\n    const
      DDS_Security_DatawriterCryptoHandle writer_id,\n    uint32_t key_id,\n    master_key_material
      **master_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_BasicProtectionKind
      *basic_protection_kind,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1764,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1767,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1772,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1774,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1775,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1780,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1782,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1789,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1793,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 7
    argNames:
    - factory
    - writer_id
    - reader_id
    - key_id
    - master_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    - uint32_t
    - master_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1750
    functionDepth: 3
    functionLinenumber: 1750
    functionLinenumberEnd: 1806
    functionName: crypto_factory_get_remote_reader_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - CRYPTO_OBJECT_HANDLE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_remote_reader_key_material(\n    const dds_security_crypto_key_factory
      *factory,\n    const DDS_Security_DatawriterCryptoHandle writer_id,\n    const
      DDS_Security_DatareaderCryptoHandle reader_id,\n    uint32_t key_id,\n    master_key_material
      **master_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1821,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1822,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1823,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1825,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1828,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1833,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1835,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1841,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1842,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - factory
    - writer_id
    - key_material
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - master_key_material**
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_material)
      pos:
        line_end: 1820
        line_start: 1820
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (protection_kind)
      pos:
        line_end: 1822
        line_start: 1822
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (session_key)
      pos:
        line_end: 1821
        line_start: 1821
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1850
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1850
    functionName: crypto_factory_get_remote_writer_sign_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_remote_writer_sign_key_material(\n    const
      dds_security_crypto_key_factory *factory,\n    const DDS_Security_DatareaderCryptoHandle
      writer_id,\n    master_key_material **key_material,\n    session_key_material
      **session_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1865,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1866,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1867,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1869,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1872,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1877,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1879,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1885,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1886,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - factory
    - reader_id
    - key_material
    - session_key
    - protection_kind
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_DatareaderCryptoHandle
    - master_key_material**
    - session_key_material**
    - DDS_Security_ProtectionKind*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_material)
      pos:
        line_end: 1864
        line_start: 1864
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (session_key)
      pos:
        line_end: 1865
        line_start: 1865
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - condition: (protection_kind)
      pos:
        line_end: 1866
        line_start: 1866
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1894
      start: 1852
    functionDepth: 3
    functionLinenumber: 1852
    functionLinenumberEnd: 1894
    functionName: crypto_factory_get_remote_reader_sign_key_material
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - CRYPTO_OBJECT_KEEP
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_remote_reader_sign_key_material(\n    const
      dds_security_crypto_key_factory *factory,\n    const DDS_Security_DatareaderCryptoHandle
      reader_id,\n    master_key_material **key_material,\n    session_key_material
      **session_key,\n    DDS_Security_ProtectionKind *protection_kind,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1914,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1917,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1922,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1924,1
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1932,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1935,1
    - Dst: CRYPTO_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1940,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1942,1
    - Dst: crypto_find_endpoint_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1950,1
    - Dst: CRYPTO_OBJECT
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1950,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1953,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1959,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1962,1
    - Dst: CRYPTO_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1963,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1967,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1968,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 8
    argNames:
    - factory
    - local_participant_handle
    - remote_participant_handle
    - key_id
    - remote_handle
    - local_handle
    - category
    - ex
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    - uint32_t
    - DDS_Security_Handle*
    - DDS_Security_Handle*
    - DDS_Security_SecureSubmessageCategory_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key_id == relation->key_id)
      pos:
        line_end: 1958
        line_start: 1958
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    constantsTouched: []
    func_position:
      end: 1971
      start: 1896
    functionDepth: 3
    functionLinenumber: 1896
    functionLinenumberEnd: 1971
    functionName: crypto_factory_get_endpoint_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_OBJECT_HANDLE
    - CRYPTO_OBJECT_RELEASE
    - DDS_Security_Exception_set
    - crypto_object_table_find
    - CRYPTO_OBJECT_VALID
    - assert
    - CRYPTO_OBJECT
    - crypto_find_endpoint_relation
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_endpoint_relation(\n    const dds_security_crypto_key_factory
      *factory,\n    DDS_Security_ParticipantCryptoHandle local_participant_handle,\n
      \   DDS_Security_ParticipantCryptoHandle remote_participant_handle,\n    uint32_t
      key_id,\n    DDS_Security_Handle *remote_handle,\n    DDS_Security_Handle *local_handle,\n
      \   DDS_Security_SecureSubmessageCategory_t *category,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:1991,1
    - Dst: CRYPTO_TRANSFORM_ID
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2015,1
    - Dst: crypto_find_specific_key_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2016,1
    - Dst: CRYPTO_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2020,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2027,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2028,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 7
    argNames:
    - factory
    - kind
    - rmt_handle
    - mac_list
    - num_mac
    - index
    - key_mat
    argTypes:
    - dds_security_crypto_key_factory*
    - CryptoObjectKind_t
    - DDS_Security_Handle
    - struct receiver_specific_mac*
    - uint32_t
    - uint32_t*
    - master_key_material**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1973
    functionDepth: 3
    functionLinenumber: 1973
    functionLinenumberEnd: 2030
    functionName: crypto_factory_get_specific_keymat
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - CRYPTO_TRANSFORM_ID
    - CRYPTO_OBJECT_RELEASE
    - crypto_object_table_find
    - CRYPTO_OBJECT_KEEP
    - crypto_find_specific_key_relation
    linkageType: ''
    returnType: bool
    signature: "bool crypto_factory_get_specific_keymat(\n    const dds_security_crypto_key_factory
      *factory,\n    CryptoObjectKind_t kind,\n    DDS_Security_Handle rmt_handle,\n
      \   const struct receiver_specific_mac * const mac_list,\n    uint32_t num_mac,\n
      \   uint32_t *index,\n    master_key_material **key_mat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_object_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2039,1
    - Dst: crypto_remote_participant_lookup_keymat
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2045,1
    - Dst: CRYPTO_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c:2049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - factory
    - local_id
    - remote_id
    argTypes:
    - dds_security_crypto_key_factory*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2032
    functionDepth: 3
    functionLinenumber: 2032
    functionLinenumberEnd: 2054
    functionName: crypto_factory_get_master_key_material_for_test
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    functionUses: 1
    functionsReached:
    - crypto_object_table_find
    - CRYPTO_OBJECT_RELEASE
    - crypto_remote_participant_lookup_keymat
    linkageType: ''
    returnType: master_key_material
    signature: "master_key_material *\ncrypto_factory_get_master_key_material_for_test(\n
      \   const dds_security_crypto_key_factory *factory,\n    DDS_Security_ParticipantCryptoHandle
      local_id,\n    DDS_Security_ParticipantCryptoHandle remote_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:46,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:46,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:48,1
    - Dst: ERR_print_errors
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:50,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:51,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:52,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:53,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: get_openssl_error_message
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - ERR_print_errors
    - memcpy
    - BIO_new
    - ddsrt_strdup
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *get_openssl_error_message(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:62,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:63,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:65,1
    - Dst: X509_NAME_oneline
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:68,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:69,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cert
    - ex
    argTypes:
    - X509*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: get_certificate_subject_name
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - OPENSSL_free
    - X509_NAME_oneline
    - X509_get_subject_name
    - ddsrt_strdup
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: char
    signature: char *get_certificate_subject_name(X509 *cert, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:76,1
    - Dst: X509_get0_notAfter
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:77,1
    - Dst: ASN1_TIME_diff
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:81,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: get_certificate_expiry
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 1
    functionsReached:
    - assert
    - ASN1_TIME_diff
    - X509_get0_notAfter
    - dds_time
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t get_certificate_expiry(const X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:103,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:104,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:105,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:108,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:110,1
    - Dst: i2d_X509_NAME
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:113,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:115,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:120,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:121,1
    - Dst: OPENSSL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - cert
    - buffer
    - size
    - ex
    argTypes:
    - X509*
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (buffer)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (size)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: get_subject_name_DER_encoded
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - i2d_X509_NAME
    - OPENSSL_free
    - X509_get_subject_name
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_subject_name_DER_encoded(const
      X509 *cert, unsigned char **buffer, size_t *size, DDS_Security_SecurityException
      *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:130,1
    - Dst: EVP_PKEY_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:132,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:136,1
    - Dst: RSA_check_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:141,1
    - Dst: RSA_get0_p
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:141,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:144,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:151,1
    - Dst: EVP_PKEY_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:151,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:152,1
    - Dst: EC_KEY_check_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:153,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:154,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - key
    - key_type
    - isPrivate
    - ex
    argTypes:
    - EVP_PKEY*
    - char*
    - bool
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (EVP_PKEY_id(key) == EVP_PKEY_EC)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: check_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 1
    functionsReached:
    - EC_KEY_free
    - DDS_Security_Exception_set
    - assert
    - DDSRT_UNUSED_ARG
    - EVP_PKEY_get1_EC_KEY
    - EVP_PKEY_get0_RSA
    - RSA_check_key
    - EVP_PKEY_id
    - RSA_get0_p
    - DDS_Security_Exception_set_with_openssl_error
    - EC_KEY_check_key
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t check_key(EVP_PKEY *key, const char
      *key_type, bool isPrivate, DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:171,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:173,1
    - Dst: EVP_PKEY_private_check
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:178,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:180,1
    - Dst: EVP_PKEY_public_check
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:186,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:188,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - key
    - key_type
    - isPrivate
    - ex
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: check_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_private_check
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - DDS_Security_Exception_set
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t check_key(EVP_PKEY *key, const char
      *key_type, int isPrivate, DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:201,1
    - Dst: EVP_PKEY_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:202,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:205,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:207,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:207,1
    - Dst: check_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:210,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:213,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:215,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:215,1
    - Dst: check_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:218,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - key
    - isPrivate
    - ex
    argTypes:
    - EVP_PKEY*
    - int
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (key)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: check_key_type_and_size
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - check_key
    - assert
    - EVP_PKEY_id
    - EVP_PKEY_bits
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t check_key_type_and_size(EVP_PKEY *key,
      int isPrivate, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:228,1
    - Dst: X509_get_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:229,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:232,1
    - Dst: check_key_type_and_size
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:235,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cert
    - ex
    argTypes:
    - X509*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: check_certificate_type_and_size
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - X509_get_pubkey
    - check_key_type_and_size
    - DDS_Security_Exception_set
    - assert
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t check_certificate_type_and_size(X509
      *cert, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:242,1
    - Dst: X509_cmp_current_time
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:243,1
    - Dst: X509_get0_notBefore
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:243,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:245,1
    - Dst: X509_cmp_current_time
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:248,1
    - Dst: X509_get0_notAfter
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:248,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cert
    - ex
    argTypes:
    - X509*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: check_certificate_expiry
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - X509_cmp_current_time
    - DDS_Security_Exception_set
    - assert
    - X509_get0_notAfter
    - X509_get0_notBefore
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t check_certificate_expiry(const X509
      *cert, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:258,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:260,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:262,1
    - Dst: get_authentication_algo_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:266,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:268,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bio
    - x509Cert
    - ex
    argTypes:
    - BIO*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (x509Cert)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: load_X509_certificate_from_bio
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - X509_free
    - DDS_Security_Exception_set
    - assert
    - DDS_Security_Exception_set_with_openssl_error
    - PEM_read_bio_X509
    - get_authentication_algo_kind
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate_from_bio (BIO
      *bio, X509 **x509Cert, DDS_Security_SecurityException *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:287,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:287,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:289,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:293,1
    - Dst: fopen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:294,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:296,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:299,1
    - Dst: fseek
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:304,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:306,1
    - Dst: ftell
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:310,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:311,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:314,1
    - Dst: fseek
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:318,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:320,1
    - Dst: feof
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:327,1
    - Dst: ferror
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:327,1
    - Dst: fread
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:327,1
    - Dst: BIO_write
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:329,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:331,1
    - Dst: feof
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:337,1
    - Dst: ferror
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:337,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:339,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:342,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:348,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:350,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - filename
    - ex
    argTypes:
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 353
    functionName: load_file_into_BIO
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ftell
    - fclose
    - BIO_s_mem
    - DDS_Security_Exception_set
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_STATIC_ASSERT
    - BIO_new
    - BIO_write
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - BIO_free
    - fread
    - fseek
    - ferror
    - feof
    linkageType: ''
    returnType: BIO
    signature: BIO *load_file_into_BIO (const char *filename, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:358,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:359,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:360,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:361,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:363,1
    - Dst: load_X509_certificate_from_bio
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:368,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - len
    - x509Cert
    - ex
    argTypes:
    - char*
    - int
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (len >= 0)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: load_X509_certificate_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - DDS_Security_Exception_set
    - assert
    - load_X509_certificate_from_bio
    - BIO_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate_from_data(const
      char *data, int len, X509 **x509Cert, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:376,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:377,1
    - Dst: load_file_into_BIO
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:380,1
    - Dst: load_X509_certificate_from_bio
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:384,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - filename
    - x509Cert
    - ex
    argTypes:
    - char*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (filename)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: load_X509_certificate_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - load_X509_certificate_from_bio
    - BIO_free
    - load_file_into_BIO
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate_from_file(const
      char *filename, X509 **x509Cert, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:393,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:394,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:396,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:398,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:401,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:403,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:404,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - password
    - privateKey
    - ex
    argTypes:
    - char*
    - char*
    - EVP_PKEY**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (privateKey)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: load_private_key_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - PEM_read_bio_PrivateKey
    - DDS_Security_Exception_set
    - assert
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_private_key_from_data(const char
      *data, const char *password, EVP_PKEY **privateKey, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:414,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:415,1
    - Dst: load_file_into_BIO
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:418,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:420,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:422,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:423,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - filepath
    - password
    - privateKey
    - ex
    argTypes:
    - char*
    - char*
    - EVP_PKEY**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (filepath)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (privateKey)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: load_private_key_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_PrivateKey
    - assert
    - load_file_into_BIO
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_private_key_from_file(const char
      *filepath, const char *password, EVP_PKEY **privateKey, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:442,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:444,1
    - Dst: ENGINE_by_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:448,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:449,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:455,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:457,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - uri
    - x509Cert
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: load_X509_certificate_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - DDS_Security_Exception_set
    - ENGINE_by_id
    - ENGINE_ctrl_cmd
    - pkcs11_loader
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate_from_pkcs11(const
      char *uri, X509 **x509Cert, load_callback_func pkcs11_loader, void *cb_arg,
      DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:472,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:474,1
    - Dst: ENGINE_by_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:478,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:480,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:492,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:492,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:492,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:493,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:494,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:497,1
    - Dst: ENGINE_load_private_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:500,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:502,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:503,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:504,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:507,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - uri
    - password
    - privateKey
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - char*
    - EVP_PKEY**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 510
    functionName: load_private_key_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ENGINE_free
    - ddsrt_free
    - DDS_Security_Exception_set
    - ENGINE_by_id
    - DDSRT_UNUSED_ARG
    - ENGINE_load_private_key
    - strlen
    - pkcs11_loader
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_private_key_from_pkcs11(const
      char *uri, const char *password, EVP_PKEY **privateKey, load_callback_func pkcs11_loader,
      void *cb_arg, DDS_Security_SecurityException *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:520,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:522,1
    - Dst: ENGINE_by_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:526,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:527,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:533,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:535,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - uri
    - x509CRL
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509_CRL**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 543
    functionName: load_X509_crl_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - DDS_Security_Exception_set
    - ENGINE_by_id
    - ENGINE_ctrl_cmd
    - pkcs11_loader
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_crl_from_pkcs11(const char
      *uri, X509_CRL **x509CRL, load_callback_func pkcs11_loader, void *cb_arg, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:550,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:551,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:552,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:553,1
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:555,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:557,1
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:561,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:563,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:569,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:571,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:572,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:573,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:575,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:577,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:582,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - uri
    - x509Cert
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (uri)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (pkcs11_loader)
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (cb_arg)
      pos:
        line_end: 552
        line_start: 552
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 589
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 589
    functionName: load_X509_certificate_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - OSSL_STORE_close
    - assert
    - OSSL_STORE_error
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get1_CERT
    - pkcs11_loader
    - DDS_Security_Exception_set_with_openssl_error
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate_from_pkcs11(const
      char *uri, X509 **x509Cert, load_callback_func pkcs11_loader, void *cb_arg,
      DDS_Security_SecurityException *ex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:597,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:598,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:599,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:600,1
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:602,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:604,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:616,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:616,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:616,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:617,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:618,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:621,1
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:623,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:625,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:626,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:629,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:633,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:635,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:636,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:637,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:639,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:641,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:646,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - uri
    - password
    - privateKey
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - char*
    - EVP_PKEY**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cb_arg)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (uri)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (privateKey)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (pkcs11_loader)
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 653
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 653
    functionName: load_private_key_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - OSSL_STORE_INFO_get1_PKEY
    - ddsrt_free
    - DDS_Security_Exception_set
    - OSSL_STORE_close
    - assert
    - DDSRT_UNUSED_ARG
    - OSSL_STORE_error
    - strlen
    - OSSL_STORE_load
    - pkcs11_loader
    - DDS_Security_Exception_set_with_openssl_error
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - ddsrt_malloc
    - OSSL_STORE_open
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_private_key_from_pkcs11(const
      char *uri, const char *password, EVP_PKEY **privateKey, load_callback_func pkcs11_loader,
      void *cb_arg, DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:660,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:661,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:662,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:663,1
    - Dst: pkcs11_loader
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:665,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:667,1
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:671,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:673,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:679,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:681,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:682,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:683,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:685,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:687,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:692,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - uri
    - x509CRL
    - pkcs11_loader
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509_CRL**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (uri)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (cb_arg)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (pkcs11_loader)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (crl)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 699
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 699
    functionName: load_X509_crl_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - OSSL_STORE_close
    - assert
    - OSSL_STORE_error
    - OSSL_STORE_load
    - pkcs11_loader
    - OSSL_STORE_INFO_get1_CRL
    - DDS_Security_Exception_set_with_openssl_error
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_crl_from_pkcs11(const char
      *uri, X509_CRL **x509CRL, load_callback_func pkcs11_loader, void *cb_arg, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:711,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:711,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:711,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:713,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:714,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:719,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:721,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:722,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:725,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:727,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:730,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (data)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (str)
      pos:
        line_end: 712
        line_start: 712
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 737
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 737
    functionName: get_conf_item_type
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - ddsrt_strdup
    - strlen
    linkageType: ''
    returnType: AuthConfItemPrefix_t
    signature: AuthConfItemPrefix_t get_conf_item_type(const char *str, char **data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:743,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:744,1
    - Dst: get_conf_item_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:746,1
    - Dst: load_X509_certificate_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:749,1
    - Dst: load_X509_certificate_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:752,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:752,1
    - Dst: load_X509_certificate_from_pkcs11
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:755,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:759,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:762,1
    - Dst: check_certificate_type_and_size
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:766,1
    - Dst: check_certificate_expiry
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:767,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:770,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - data
    - x509Cert
    - cb
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 742
        line_start: 742
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 774
      start: 739
    functionDepth: 6
    functionLinenumber: 739
    functionLinenumberEnd: 774
    functionName: load_X509_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - load_X509_certificate_from_file
    - get_conf_item_type
    - X509_free
    - ddsrt_free
    - DDS_Security_Exception_set
    - assert
    - strlen
    - load_X509_certificate_from_pkcs11
    - check_certificate_type_and_size
    - load_X509_certificate_from_data
    - check_certificate_expiry
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_certificate(const char *data,
      X509 **x509Cert, load_callback_func cb, void *cb_arg, DDS_Security_SecurityException
      *ex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:780,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:781,1
    - Dst: get_conf_item_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:783,1
    - Dst: load_private_key_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:786,1
    - Dst: load_private_key_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:789,1
    - Dst: load_private_key_from_pkcs11
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:792,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:796,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:799,1
    - Dst: check_key_type_and_size
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:803,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - data
    - password
    - privateKey
    - cb
    - cb_arg
    - ex
    argTypes:
    - char*
    - char*
    - EVP_PKEY**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (privateKey)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 811
      start: 776
    functionDepth: 5
    functionLinenumber: 776
    functionLinenumberEnd: 811
    functionName: load_X509_private_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - get_conf_item_type
    - ddsrt_free
    - DDS_Security_Exception_set
    - check_key_type_and_size
    - assert
    - load_private_key_from_data
    - load_private_key_from_pkcs11
    - load_private_key_from_file
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_private_key(const char *data,
      const char *password, EVP_PKEY **privateKey, load_callback_func cb, void *cb_arg,
      DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:816,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:817,1
    - Dst: load_file_into_BIO
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:819,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:824,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:825,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - filepath
    - crl
    - ex
    argTypes:
    - char*
    - X509_CRL**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (filepath)
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (crl)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: load_CRL_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - PEM_read_bio_X509_CRL
    - load_file_into_BIO
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_CRL_from_file(const char *filepath,
      X509_CRL **crl, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:838,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:839,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:841,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:843,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:847,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:848,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - data
    - crl
    - ex
    argTypes:
    - char*
    - X509_CRL**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (crl)
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 856
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 856
    functionName: load_CRL_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - DDS_Security_Exception_set
    - assert
    - PEM_read_bio_X509_CRL
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_CRL_from_data(const char *data,
      X509_CRL **crl, DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:862,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:863,1
    - Dst: get_conf_item_type
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:865,1
    - Dst: load_CRL_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:868,1
    - Dst: load_CRL_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:871,1
    - Dst: load_X509_crl_from_pkcs11
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:874,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:878,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - data
    - crl
    - cb
    - cb_arg
    - ex
    argTypes:
    - char*
    - X509_CRL**
    - load_callback_func
    - void*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 861
        line_start: 861
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (crl)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 884
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 884
    functionName: load_X509_CRL
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - get_conf_item_type
    - ddsrt_free
    - DDS_Security_Exception_set
    - load_CRL_from_data
    - assert
    - load_X509_crl_from_pkcs11
    - load_CRL_from_file
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t load_X509_CRL(const char *data, X509_CRL
      **crl, load_callback_func cb, void *cb_arg, DDS_Security_SecurityException *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:891,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:892,1
    - Dst: X509_STORE_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:896,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:898,1
    - Dst: X509_STORE_add_cert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:901,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:903,1
    - Dst: X509_STORE_add_crl
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:909,1
    - Dst: X509_STORE_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:916,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:918,1
    - Dst: X509_STORE_CTX_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:921,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:923,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:927,1
    - Dst: X509_verify_cert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:928,1
    - Dst: X509_verify_cert_error_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:930,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:930,1
    - Dst: get_certificate_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:931,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:932,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:933,1
    - Dst: X509_STORE_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:936,1
    - Dst: X509_STORE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:937,1
    - Dst: X509_STORE_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:941,1
    - Dst: X509_STORE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:944,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - identityCert
    - identityCa
    - crl
    - ex
    argTypes:
    - X509*
    - X509*
    - X509_CRL*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (identityCert)
      pos:
        line_end: 890
        line_start: 890
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (identityCa)
      pos:
        line_end: 891
        line_start: 891
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 947
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 947
    functionName: verify_certificate
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_new
    - X509_STORE_CTX_init
    - DDS_Security_Exception_set
    - ddsrt_free
    - assert
    - X509_STORE_CTX_set_flags
    - X509_STORE_add_cert
    - X509_STORE_new
    - X509_STORE_add_crl
    - X509_STORE_free
    - get_certificate_subject_name
    - X509_verify_cert
    - DDS_Security_Exception_set_with_openssl_error
    - X509_verify_cert_error_string
    - X509_STORE_CTX_free
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t verify_certificate(X509 *identityCert,
      X509 *identityCa, X509_CRL *crl, DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:952,1
    - Dst: X509_get_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:953,1
    - Dst: EVP_PKEY_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:956,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:959,1
    - Dst: EVP_PKEY_bits
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:963,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:967,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 951
        line_start: 951
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 970
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 970
    functionName: get_authentication_algo_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 1
    functionsReached:
    - X509_get_pubkey
    - EVP_PKEY_bits
    - assert
    - EVP_PKEY_id
    - EVP_PKEY_free
    linkageType: ''
    returnType: AuthenticationAlgoKind_t
    signature: AuthenticationAlgoKind_t get_authentication_algo_kind(X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:974,1
    - Dst: RAND_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:975,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:977,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ex
    argTypes:
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 982
    functionName: generate_challenge
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - RAND_bytes
    - ddsrt_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: AuthenticationChallenge
    signature: AuthenticationChallenge * generate_challenge(DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:988,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:988,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:990,1
    - Dst: PEM_write_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:993,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:995,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:996,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1000,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1001,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1002,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - cert
    - data
    - size
    - ex
    argTypes:
    - X509*
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 1007
    functionName: get_certificate_contents
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - DDS_Security_Exception_set
    - memcpy
    - BIO_new
    - PEM_write_bio_X509
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_certificate_contents(X509 *cert,
      unsigned char **data, uint32_t *size, DDS_Security_SecurityException *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1015,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1017,1
    - Dst: DH_get_2048_256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1020,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1022,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1023,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1026,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1028,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1029,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1030,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - params
    - ex
    argTypes:
    - EVP_PKEY**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1036
    functionName: get_rsa_dh_parameters
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DH
    - DH_free
    - DH_get_2048_256
    - DDS_Security_Exception_set
    - EVP_PKEY_new
    - DDS_Security_Exception_set_with_openssl_error
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_rsa_dh_parameters(EVP_PKEY **params,
      DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1049,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1050,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1052,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1054,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1057,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1059,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1062,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1064,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1067,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1069,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - params
    - ex
    argTypes:
    - EVP_PKEY**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1075
    functionName: get_rsa_dh_parameters
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    - DDS_Security_Exception_set_with_openssl_error
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_rsa_dh_parameters(EVP_PKEY **params,
      DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1083,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1085,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1088,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1090,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1091,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1094,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1096,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1097,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1100,1
    - Dst: get_openssl_error_message
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1102,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1103,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1104,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1105,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - params
    - ex
    argTypes:
    - EVP_PKEY**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1111
    functionName: get_ec_dh_parameters
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - EVP_PKEY_CTX_free
    - get_openssl_error_message
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - DDS_Security_Exception_set_with_openssl_error
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_new_id
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_ec_dh_parameters(EVP_PKEY **params,
      DDS_Security_SecurityException *ex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_rsa_dh_parameters
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1121,1
    - Dst: get_ec_dh_parameters
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1125,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1129,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1133,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1135,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1138,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1140,1
    - Dst: EVP_PKEY_keygen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1143,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1145,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1148,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1149,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1153,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - dhkey
    - authKind
    - ex
    argTypes:
    - EVP_PKEY**
    - AuthenticationAlgoKind_t
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1128
        line_start: 1128
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 1158
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1158
    functionName: generate_dh_keys
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - get_ec_dh_parameters
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - assert
    - get_rsa_dh_parameters
    - EVP_PKEY_keygen_init
    - DDS_Security_Exception_set_with_openssl_error
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t generate_dh_keys(EVP_PKEY **dhkey,
      AuthenticationAlgoKind_t authKind, DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhkey
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: dh_get_public_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 2
    functionsReached:
    - DH_get0_key
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *dh_get_public_key(DH *dhkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1176,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1178,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1181,1
    - Dst: dh_get_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1181,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1183,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1187,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1190,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1195,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1197,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1202,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1206,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pkey
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1210
    functionName: dh_public_key_to_oct_modp
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_free
    - DDS_Security_Exception_set
    - DH_free
    - BN_to_ASN1_INTEGER
    - dh_get_public_key
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    - EVP_PKEY_get1_DH
    - i2d_ASN1_INTEGER
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_public_key_to_oct_modp(EVP_PKEY
      *pkey, unsigned char **buffer, uint32_t *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1219,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1221,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1224,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1226,1
    - Dst: EC_KEY_get0_group
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1229,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1231,1
    - Dst: EC_POINT_point2oct
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1234,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1236,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1239,1
    - Dst: EC_POINT_point2oct
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1240,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1243,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1246,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - pkey
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1253
    functionName: dh_public_key_to_oct_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    - ddsrt_free
    - EC_POINT_point2oct
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - EVP_PKEY_get1_EC_KEY
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_public_key_to_oct_ecdh(EVP_PKEY
      *pkey, unsigned char **buffer, uint32_t *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1261,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1263,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1266,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1268,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1271,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1273,1
    - Dst: DH_get_2048_256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1277,1
    - Dst: DH_set0_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1278,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1280,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1283,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1285,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1286,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1289,1
    - Dst: DH_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1290,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1294,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - pkey
    - keystr
    - size
    - ex
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1299
    functionName: dh_oct_to_public_key_modp
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DH
    - DH_free
    - DH_get_2048_256
    - EVP_PKEY_new
    - DH_set0_key
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - DDS_Security_Exception_set_with_openssl_error
    - ASN1_INTEGER_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_oct_to_public_key_modp(EVP_PKEY
      **pkey, const unsigned char *keystr, uint32_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1307,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1309,1
    - Dst: EC_POINT_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1312,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1314,1
    - Dst: EC_POINT_oct2point
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1317,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1319,1
    - Dst: EC_KEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1322,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1324,1
    - Dst: EC_KEY_set_group
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1327,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1329,1
    - Dst: EC_KEY_set_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1332,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1334,1
    - Dst: EVP_PKEY_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1337,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1339,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1342,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1344,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1347,1
    - Dst: EC_POINT_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1348,1
    - Dst: EC_GROUP_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1349,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1353,1
    - Dst: EC_KEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1356,1
    - Dst: EC_POINT_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1359,1
    - Dst: EC_GROUP_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 4
    argNames:
    - pkey
    - keystr
    - size
    - ex
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1364
    functionName: dh_oct_to_public_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    - EC_POINT_new
    - EVP_PKEY_new
    - EC_KEY_set_public_key
    - EC_KEY_new
    - EVP_PKEY_set1_EC_KEY
    - EC_POINT_free
    - EC_GROUP_free
    - DDS_Security_Exception_set_with_openssl_error
    - EC_GROUP_new_by_curve_name
    - EVP_PKEY_free
    - EC_POINT_oct2point
    - EC_KEY_set_group
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_oct_to_public_key_ecdh(EVP_PKEY
      **pkey, const unsigned char *keystr, uint32_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1377,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1378,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1381,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1382,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1385,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1386,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1389,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1390,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1396,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1397,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1400,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1405,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - pkey
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (tmp - *buffer == len)
      pos:
        line_end: 1399
        line_start: 1399
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 1410
      start: 1368
    functionDepth: 3
    functionLinenumber: 1368
    functionLinenumberEnd: 1410
    functionName: dh_public_key_to_oct_modp
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_free
    - DDS_Security_Exception_set
    - assert
    - BN_free
    - BN_to_ASN1_INTEGER
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    - EVP_PKEY_get_bn_param
    - i2d_ASN1_INTEGER
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_public_key_to_oct_modp(EVP_PKEY
      *pkey, unsigned char **buffer, uint32_t *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1415,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1417,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1420,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1421,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1423,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pkey
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1412
    functionDepth: 3
    functionLinenumber: 1412
    functionLinenumberEnd: 1429
    functionName: dh_public_key_to_oct_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - DDS_Security_Exception_set
    - ddsrt_free
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_public_key_to_oct_ecdh(EVP_PKEY
      *pkey, unsigned char **buffer, uint32_t *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_INTEGER
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1443,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1445,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1448,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1450,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1451,1
    - Dst: BN_num_bytes
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1455,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1456,1
    - Dst: BN_bn2nativepad
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1457,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1459,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1460,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1461,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1463,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1465,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1468,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1470,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1473,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1475,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1479,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1480,1
    - Dst: BN_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1481,1
    - Dst: ASN1_INTEGER_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - pkey
    - keystr
    - size
    - ex
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1431
    functionDepth: 3
    functionLinenumber: 1431
    functionLinenumberEnd: 1485
    functionName: dh_oct_to_public_key_modp
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ddsrt_free
    - DDS_Security_Exception_set
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - BN_free
    - BN_num_bytes
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - EVP_PKEY_fromdata
    - BN_bn2nativepad
    - ASN1_INTEGER_free
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_oct_to_public_key_modp(EVP_PKEY
      **pkey, const unsigned char *keystr, uint32_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1492,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1493,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1494,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1496,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1498,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1501,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1503,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1507,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1509,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pkey
    - keystr
    - size
    - ex
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1517
    functionName: dh_oct_to_public_key_ecdh
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - DDS_Security_Exception_set
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_oct_to_public_key_ecdh(EVP_PKEY
      **pkey, const unsigned char *keystr, uint32_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1523,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1524,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1525,1
    - Dst: dh_public_key_to_oct_modp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1529,1
    - Dst: dh_public_key_to_oct_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1531,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1533,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - pkey
    - algo
    - buffer
    - length
    - ex
    argTypes:
    - EVP_PKEY*
    - AuthenticationAlgoKind_t
    - unsigned char**
    - uint32_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (pkey)
      pos:
        line_end: 1522
        line_start: 1522
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (length)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (buffer)
      pos:
        line_end: 1523
        line_start: 1523
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (0)
      pos:
        line_end: 1532
        line_start: 1532
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 1537
      start: 1521
    functionDepth: 4
    functionLinenumber: 1521
    functionLinenumberEnd: 1537
    functionName: dh_public_key_to_oct
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - dh_public_key_to_oct_modp
    - assert
    - dh_public_key_to_oct_ecdh
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_public_key_to_oct(EVP_PKEY *pkey,
      AuthenticationAlgoKind_t algo, unsigned char **buffer, uint32_t *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1541,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1542,1
    - Dst: dh_oct_to_public_key_modp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1546,1
    - Dst: dh_oct_to_public_key_ecdh
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1548,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1550,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - data
    - algo
    - str
    - size
    - ex
    argTypes:
    - EVP_PKEY**
    - AuthenticationAlgoKind_t
    - unsigned char*
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 1540
        line_start: 1540
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (str)
      pos:
        line_end: 1541
        line_start: 1541
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - condition: (0)
      pos:
        line_end: 1549
        line_start: 1549
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    constantsTouched: []
    func_position:
      end: 1554
      start: 1539
    functionDepth: 3
    functionLinenumber: 1539
    functionLinenumberEnd: 1554
    functionName: dh_oct_to_public_key
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - dh_oct_to_public_key_modp
    - assert
    - dh_oct_to_public_key_ecdh
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t dh_oct_to_public_key(EVP_PKEY **data,
      AuthenticationAlgoKind_t algo, const unsigned char *str, uint32_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1561,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1556
    functionDepth: 2
    functionLinenumber: 1556
    functionLinenumberEnd: 1566
    functionName: string_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *string_from_data(const unsigned char *data, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1574,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ca_list
    argTypes:
    - X509Seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1579
    functionName: free_ca_list_contents
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - X509_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_ca_list_contents(X509Seq *ca_list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_file_normalize
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1588,1
    - Dst: ddsrt_opendir
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1589,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1590,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1593,1
    - Dst: ddsrt_readdir
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1600,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1602,1
    - Dst: ddsrt_file_sep
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1602,1
    - Dst: ddsrt_stat
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1603,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1604,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1604,1
    - Dst: ddsrt_file_normalize
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1605,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1609,1
    - Dst: load_X509_certificate_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1612,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1615,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1616,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1618,1
    - Dst: ddsrt_closedir
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1620,1
    - Dst: free_ca_list_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1624,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - trusted_ca_dir
    - ca_list
    - ex
    argTypes:
    - char*
    - X509Seq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1581
    functionDepth: 3
    functionLinenumber: 1581
    functionLinenumberEnd: 1634
    functionName: get_trusted_ca_list
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_opendir
    - load_X509_certificate_from_file
    - ddsrt_free
    - DDS_Security_Exception_set
    - ddsrt_readdir
    - ddsrt_stat
    - ddsrt_closedir
    - strcmp
    - ddsrt_file_sep
    - ddsrt_asprintf
    - DDS_Security_Exception_reset
    - ddsrt_file_normalize
    - ddsrt_malloc
    - free_ca_list_contents
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_trusted_ca_list(const char *trusted_ca_dir,
      X509Seq *ca_list, DDS_Security_SecurityException *ex)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1641,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1643,1
    - Dst: EVP_DigestSignInit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1646,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1646,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1646,1
    - Dst: EVP_sha256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1646,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1648,1
    - Dst: EVP_PKEY_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1651,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1653,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1655,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1659,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1659,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1661,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1666,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1668,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1671,1
    - Dst: EVP_DigestSignFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1673,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1673,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1675,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1677,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1680,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c:1684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 7
    argNames:
    - create
    - pkey
    - data
    - dataLen
    - signature
    - signatureLen
    - ex
    argTypes:
    - bool
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1686
    functionName: create_validate_asymmetrical_signature
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - ddsrt_free
    - EVP_MD_CTX_create
    - EVP_DigestSignInit
    - EVP_DigestVerifyFinal
    - EVP_DigestVerifyUpdate
    - EVP_DigestSignFinal
    - EVP_DigestVerifyInit
    - EVP_PKEY_id
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    - EVP_MD_CTX_destroy
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t create_validate_asymmetrical_signature(bool
      create, EVP_PKEY *pkey, const unsigned char *data, const size_t dataLen,\n    unsigned
      char **signature, size_t *signatureLen, DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: EVP_PKEY_id
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_id(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CHECK_OBJECT_KIND
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJECT_KIND(o, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: SECURITY_OBJECT
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_OBJECT(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: SECURITY_OBJECT_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_OBJECT_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: IDENTITY_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENTITY_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: HANDSHAKE_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDSHAKE_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: SECURITY_OBJECT_VALID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_OBJECT_VALID(o, k)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - kind
    argTypes:
    - SecurityObject*
    - SecurityObjectKind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: security_object_valid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool security_object_valid(SecurityObject *obj, SecurityObjectKind_t
      kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: security_object_hash
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t security_object_hash(const void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ha
    - hb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: security_object_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool security_object_equal(const void *ha, const void *hb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hh
    - handle
    argTypes:
    - struct ddsrt_hh*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: security_object_find
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: SecurityObject
    signature: SecurityObject *security_object_find(const struct ddsrt_hh *hh, int64_t
      handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - kind
    - destructor
    argTypes:
    - SecurityObject*
    - SecurityObjectKind_t
    - SecurityObjectDestructor
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: security_object_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void security_object_init(SecurityObject *obj, SecurityObjectKind_t
      kind, SecurityObjectDestructor destructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: security_object_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void security_object_deinit(SecurityObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:223,1
    - Dst: SecurityObject*::destructor
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: security_object_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - SecurityObject*::destructor
    - assert
    linkageType: ''
    returnType: void
    signature: void security_object_free(SecurityObject *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:231,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:235,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:237,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:239,1
    - Dst: X509_CRL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:241,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:243,1
    - Dst: security_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:244,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 247
    functionName: local_identity_info_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - X509_free
    - ddsrt_free
    - X509_CRL_free
    - CHECK_OBJECT_KIND
    - security_object_deinit
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void local_identity_info_free(SecurityObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:252,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:253,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:254,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:255,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:256,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:257,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:259,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:260,1
    - Dst: security_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:262,1
    - Dst: get_authentication_algo_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:270,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:273,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 7
    argNames:
    - domainId
    - identityCert
    - identityCa
    - privateKey
    - crl
    - candidate_participant_guid
    - adjusted_participant_guid
    argTypes:
    - DDS_Security_DomainId
    - X509*
    - X509*
    - EVP_PKEY*
    - X509_CRL*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    assertStmts:
    - condition: (identityCert)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (identityCa)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (candidate_participant_guid)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (adjusted_participant_guid)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (privateKey)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (sizeof(DDS_Security_IdentityHandle) == 8)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 277
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 277
    functionName: local_identity_info_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - security_object_init
    - memset
    - ddsrt_malloc
    - get_authentication_algo_kind
    linkageType: ''
    returnType: LocalIdentityInfo
    signature: LocalIdentityInfo *local_identity_info_new(DDS_Security_DomainId domainId,
      X509 *identityCert, X509 *identityCa, EVP_PKEY *privateKey, X509_CRL *crl, const
      DDS_Security_GUID_t *candidate_participant_guid, const DDS_Security_GUID_t *adjusted_participant_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: remote_guid_hash
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t remote_guid_hash(const void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ha
    - hb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: remote_guid_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool remote_guid_equal(const void *ha, const void *hb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hh
    - guid
    argTypes:
    - struct ddsrt_hh*
    - DDS_Security_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: find_remote_identity_by_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: RemoteIdentityInfo
    signature: RemoteIdentityInfo *find_remote_identity_by_guid(const struct ddsrt_hh
      *hh, const DDS_Security_GUID_t *guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:304,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:308,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:309,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:310,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:311,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:312,1
    - Dst: security_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:313,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: remote_identity_info_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - X509_free
    - ddsrt_free
    - ddsrt_hh_free
    - CHECK_OBJECT_KIND
    - DDS_Security_DataHolder_free
    - security_object_deinit
    linkageType: ''
    returnType: void
    signature: void remote_identity_info_free(SecurityObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:320,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:321,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:323,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:324,1
    - Dst: security_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:325,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:326,1
    - Dst: DDS_Security_DataHolder_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:327,1
    - Dst: DDS_Security_DataHolder_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:328,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:332,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - guid
    - remote_identity_token
    argTypes:
    - DDS_Security_GUID_t*
    - DDS_Security_IdentityToken*
    assertStmts:
    - condition: (guid)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (remote_identity_token)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: remote_identity_info_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - security_object_init
    - DDS_Security_DataHolder_alloc
    - memset
    - DDS_Security_DataHolder_copy
    - ddsrt_strdup
    - ddsrt_hh_new
    - ddsrt_malloc
    linkageType: ''
    returnType: RemoteIdentityInfo
    signature: RemoteIdentityInfo *remote_identity_info_new(const DDS_Security_GUID_t
      *guid, const DDS_Security_IdentityToken *remote_identity_token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:340,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:343,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:344,1
    - Dst: security_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:345,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: identity_relation_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - security_object_deinit
    - CHECK_OBJECT_KIND
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void identity_relation_free(SecurityObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:361,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:362,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:363,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:364,1
    - Dst: security_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:365,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - localIdentity
    - remoteIdentity
    - lchallenge
    - rchallenge
    argTypes:
    - LocalIdentityInfo*
    - RemoteIdentityInfo*
    - AuthenticationChallenge*
    - AuthenticationChallenge*
    assertStmts:
    - condition: (localIdentity)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (remoteIdentity)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 372
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 372
    functionName: identity_relation_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - SECURITY_OBJECT_HANDLE
    - assert
    - security_object_init
    - memset
    - ddsrt_malloc
    linkageType: ''
    returnType: IdentityRelation
    signature: IdentityRelation *identity_relation_new(LocalIdentityInfo *localIdentity,
      RemoteIdentityInfo *remoteIdentity, AuthenticationChallenge *lchallenge, AuthenticationChallenge
      *rchallenge)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJECT_KIND
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:376,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:381,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:383,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:386,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:387,1
    - Dst: security_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:389,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SecurityObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: handshake_info_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - security_object_deinit
    - CHECK_OBJECT_KIND
    - EVP_PKEY_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void handshake_info_free(SecurityObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:397,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:398,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:399,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:400,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:401,1
    - Dst: security_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - localIdentity
    - remoteIdentity
    - relation
    argTypes:
    - LocalIdentityInfo*
    - RemoteIdentityInfo*
    - IdentityRelation*
    assertStmts:
    - condition: (localIdentity)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (remoteIdentity)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: handshake_info_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    - security_object_init
    - DDSRT_UNUSED_ARG
    - memset
    - ddsrt_malloc
    linkageType: ''
    returnType: HandshakeInfo
    signature: HandshakeInfo *handshake_info_new(LocalIdentityInfo *localIdentity,
      RemoteIdentityInfo *remoteIdentity, IdentityRelation *relation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - remote
    - lid
    argTypes:
    - RemoteIdentityInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: find_identity_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - security_object_find
    linkageType: ''
    returnType: IdentityRelation
    signature: IdentityRelation *find_identity_relation(const RemoteIdentityInfo *remote,
      int64_t lid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:415,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - remote
    - relation
    argTypes:
    - RemoteIdentityInfo*
    - IdentityRelation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: remove_identity_relation
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_remove
    - security_object_free
    linkageType: ''
    returnType: void
    signature: void remove_identity_relation(RemoteIdentityInfo *remote, IdentityRelation
      *relation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:423,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:423,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:428,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:429,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - auth
    - localId
    - remoteId
    argTypes:
    - dds_security_authentication_impl*
    - int64_t
    - int64_t
    assertStmts:
    - condition: (relation)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: find_handshake
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - ddsrt_hh_iter_next
    - SECURITY_OBJECT_HANDLE
    - assert
    - ddsrt_hh_iter_first
    linkageType: ''
    returnType: HandshakeInfo
    signature: HandshakeInfo *find_handshake(const dds_security_authentication_impl
      *auth, int64_t localId, int64_t remoteId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - kind
    argTypes:
    - AuthenticationAlgoKind_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: get_authentication_algo
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *get_authentication_algo(AuthenticationAlgoKind_t kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - kind
    argTypes:
    - AuthenticationAlgoKind_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: get_dsign_algo
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *get_dsign_algo(AuthenticationAlgoKind_t kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - kind
    argTypes:
    - AuthenticationAlgoKind_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 476
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 476
    functionName: get_kagree_algo
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *get_kagree_algo(AuthenticationAlgoKind_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - str
    - binstr
    argTypes:
    - char*
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: str_octseq_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_octseq_equal (const char *str, const DDS_Security_OctetSeq
      *binstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_octseq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:492,1
    - Dst: str_octseq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: get_dsign_algo_from_octseq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - str_octseq_equal
    linkageType: ''
    returnType: AuthenticationAlgoKind_t
    signature: AuthenticationAlgoKind_t get_dsign_algo_from_octseq(const DDS_Security_OctetSeq
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_octseq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:501,1
    - Dst: str_octseq_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: get_kagree_algo_from_octseq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - str_octseq_equal
    linkageType: ''
    returnType: AuthenticationAlgoKind_t
    signature: AuthenticationAlgoKind_t get_kagree_algo_from_octseq(const DDS_Security_OctetSeq
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:510,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:513,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:514,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - length
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - uint32_t
    assertStmts:
    - condition: (seq)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    functionName: free_binary_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_binary_properties(DDS_Security_BinaryProperty_t *seq, uint32_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:523,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:524,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:525,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:526,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:527,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seq
    - hash
    argTypes:
    - DDS_Security_BinaryPropertySeq*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 6
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: get_hash_binary_property_seq
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - SHA256
    - DDS_Security_Serializer_new
    - DDS_Security_Serialize_BinaryPropertySeq
    linkageType: ''
    returnType: void
    signature: void get_hash_binary_property_seq(const DDS_Security_BinaryPropertySeq
      *seq, unsigned char hash[SHA256_DIGEST_LENGTH])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:537,1
    - Dst: DDS_Security_Serialize_BinaryPropertyArray
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:538,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:539,1
    - Dst: create_validate_asymmetrical_signature
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:540,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:541,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - create
    - pkey
    - bprops
    - n_bprops
    - signature
    - signature_len
    - ex
    argTypes:
    - bool
    - EVP_PKEY*
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 6
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: create_validate_signature_impl
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_BinaryPropertyArray
    - ddsrt_free
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - create_validate_asymmetrical_signature
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t create_validate_signature_impl(bool
      create, EVP_PKEY *pkey, const DDS_Security_BinaryProperty_t **bprops,\n    const
      uint32_t n_bprops, unsigned char **signature, size_t *signature_len, DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_validate_signature_impl
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pkey
    - bprops
    - n_bprops
    - signature
    - signature_len
    - ex
    argTypes:
    - EVP_PKEY*
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - unsigned char**
    - size_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 7
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: create_signature
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - create_validate_signature_impl
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t create_signature(EVP_PKEY *pkey, const
      DDS_Security_BinaryProperty_t **bprops,\n    const uint32_t n_bprops, unsigned
      char **signature, size_t *signature_len, DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_validate_signature_impl
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pkey
    - bprops
    - n_bprops
    - signature
    - signature_len
    - ex
    argTypes:
    - EVP_PKEY*
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - unsigned char*
    - size_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: validate_signature
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - create_validate_signature_impl
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_signature(EVP_PKEY *pkey,
      const DDS_Security_BinaryProperty_t **bprops,\n    const uint32_t n_bprops,
      const unsigned char *signature, size_t signature_len, DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:563,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:566,1
    - Dst: DDS_Security_Serialize_BinaryPropertyArray
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:567,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:568,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:569,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:570,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - value
    - properties
    - properties_length
    - ex
    argTypes:
    - HashValue_t
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: compute_hash_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Serialize_BinaryPropertyArray
    - ddsrt_free
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - DDSRT_UNUSED_ARG
    - SHA256
    - DDS_Security_Serializer_new
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t compute_hash_value(HashValue_t value,
      const DDS_Security_BinaryProperty_t **properties,\n    const uint32_t properties_length,
      DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryProperty_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:577,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - hash
    argTypes:
    - char*
    - HashValue_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: hash_value_to_binary_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryProperty_set_by_value
    - DDS_Security_BinaryProperty_alloc
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: DDS_Security_BinaryProperty_t *hash_value_to_binary_property(const
      char *name, HashValue_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:586,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:587,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - auth
    - handle
    argTypes:
    - dds_security_authentication_impl*
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 594
    functionName: get_identity_info
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - security_object_find
    linkageType: ''
    returnType: SecurityObject
    signature: SecurityObject *get_identity_info(dds_security_authentication_impl
      *auth, DDS_Security_IdentityHandle handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:598,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:599,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:601,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:605,1
    - Dst: get_identity_info
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:606,1
    - Dst: dds_security_authentication_listener*::on_revoke_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:611,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - timer
    - trigger_time
    - kind
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_time_t
    - dds_security_timed_cb_kind_t
    - void*
    assertStmts:
    - condition: (arg)
      pos:
        line_end: 600
        line_start: 600
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (info->auth->listener)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 619
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 619
    functionName: validity_callback
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - dds_security_authentication_listener*::on_revoke_identity
    - ddsrt_free
    - get_identity_info
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void validity_callback(dds_security_time_event_handle_t timer, dds_time_t
      trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:623,1
    - Dst: dds_security_timed_dispatcher_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - auth
    - identity_handle
    - end
    argTypes:
    - dds_security_authentication_impl*
    - DDS_Security_IdentityHandle
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: add_validity_end_trigger
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - dds_security_timed_dispatcher_add
    linkageType: ''
    returnType: dds_security_time_event_handle_t
    signature: dds_security_time_event_handle_t add_validity_end_trigger(dds_security_authentication_impl
      *auth, const DDS_Security_IdentityHandle identity_handle, dds_time_t end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:635,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:636,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:637,1
    - Dst: get_subject_name_DER_encoded
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:639,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:643,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:644,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cert
    - candidate
    - adjusted
    - ex
    argTypes:
    - X509*
    - DDS_Security_GUID_t*
    - DDS_Security_GUID_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (candidate)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (adjusted)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 655
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 655
    functionName: get_adjusted_participant_guid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 4
    functionsReached:
    - assert
    - get_subject_name_DER_encoded
    - SHA256
    - ddsrt_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t get_adjusted_participant_guid(X509
      *cert, const DDS_Security_GUID_t *candidate, DDS_Security_GUID_t *adjusted,
      DDS_Security_SecurityException *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:666,1
    - Dst: ENGINE_by_id
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:669,1
    - Dst: ENGINE_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:671,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:673,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 680
    functionName: load_pkcs11_provider
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - ddsrt_mutex_lock
    - ENGINE_by_id
    - ENGINE_init
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool load_pkcs11_provider(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:688,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:691,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:692,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 696
    functionName: load_pkcs11_provider
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - OSSL_PROVIDER_try_load
    - ddsrt_mutex_unlock
    - OSSL_PROVIDER_available
    linkageType: ''
    returnType: bool
    signature: bool load_pkcs11_provider(void *arg)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:705,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:717,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:719,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:723,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:725,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:729,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:731,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:735,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:737,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:738,1
    - Dst: get_trusted_ca_list
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:740,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:744,1
    - Dst: load_X509_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:746,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:752,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:757,1
    - Dst: EVP_get_digestbyname
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:760,1
    - Dst: X509_digest
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:766,1
    - Dst: X509_digest
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:770,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:771,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:780,1
    - Dst: load_X509_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:784,1
    - Dst: load_X509_private_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:787,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:790,1
    - Dst: load_X509_CRL
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:792,1
    - Dst: verify_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:798,1
    - Dst: get_certificate_expiry
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:801,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:803,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:807,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:810,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:811,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:812,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:813,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:814,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:815,1
    - Dst: local_identity_info_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:817,1
    - Dst: IDENTITY_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:818,1
    - Dst: add_validity_end_trigger
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:821,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:823,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:824,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:825,1
    - Dst: X509_CRL_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:832,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:835,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:837,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:840,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:842,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:844,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:845,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:846,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:848,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:850,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 124
    argCount: 7
    argNames:
    - instance
    - local_identity_handle
    - adjusted_participant_guid
    - domain_id
    - participant_qos
    - candidate_participant_guid
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle*
    - DDS_Security_GUID_t*
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_GUID_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 699
    functionDepth: 7
    functionLinenumber: 699
    functionLinenumberEnd: 853
    functionName: validate_local_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 43
    functionsReached:
    - memcmp
    - X509_CRL_free
    - IDENTITY_HANDLE
    - ddsrt_hh_add
    - DDS_Security_Exception_set
    - get_certificate_expiry
    - ddsrt_mutex_lock
    - DDS_Security_Property_get_value
    - get_adjusted_participant_guid
    - load_X509_private_key
    - EVP_get_digestbyname
    - ddsrt_free
    - verify_certificate
    - strlen
    - local_identity_info_new
    - load_X509_CRL
    - EVP_PKEY_free
    - X509_free
    - add_validity_end_trigger
    - get_trusted_ca_list
    - load_X509_certificate
    - X509_digest
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_local_identity(dds_security_authentication
      *instance, DDS_Security_IdentityHandle *local_identity_handle,\n    DDS_Security_GUID_t
      *adjusted_participant_guid, const DDS_Security_DomainId domain_id, const DDS_Security_Qos
      *participant_qos,\n    const DDS_Security_GUID_t *candidate_participant_guid,
      DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:859,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:867,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:869,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:871,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:872,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:874,1
    - Dst: get_certificate_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:878,1
    - Dst: get_certificate_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:880,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:883,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:885,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:886,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:888,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:889,1
    - Dst: get_authentication_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:889,1
    - Dst: get_authentication_algo_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:889,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:890,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:892,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:893,1
    - Dst: get_authentication_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:893,1
    - Dst: get_authentication_algo_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:893,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:895,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:899,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:902,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - instance
    - identity_token
    - handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 904
    functionName: get_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - security_object_find
    - security_object_valid
    - memset
    - get_certificate_subject_name
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - get_authentication_algo
    - get_authentication_algo_kind
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean get_identity_token(dds_security_authentication
      *instance, DDS_Security_IdentityToken *identity_token, const DDS_Security_IdentityHandle
      handle, DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:908,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:909,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:910,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - instance
    - identity_status_token
    - handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityStatusToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 913
    functionName: get_identity_status_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean get_identity_status_token(dds_security_authentication
      *instance, DDS_Security_IdentityStatusToken *identity_status_token, const DDS_Security_IdentityHandle
      handle, DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:920,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:923,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:925,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:929,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:931,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:938,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:939,1
    - Dst: SECURITY_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:940,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:942,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:943,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:946,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:947,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - instance
    - handle
    - permissions_credential
    - permissions_token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_PermissionsToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 949
    functionName: set_permissions_credential_and_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - strcmp
    - security_object_find
    - ddsrt_strdup
    - SECURITY_OBJECT_VALID
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_permissions_credential_and_token(dds_security_authentication
      *instance, const DDS_Security_IdentityHandle handle,\n    const DDS_Security_PermissionsCredentialToken
      *permissions_credential, const DDS_Security_PermissionsToken *permissions_token,
      DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:953,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:956,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:960,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:961,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:963,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:970,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:971,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:974,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:977,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - localIdent
    - token
    - ex
    argTypes:
    - LocalIdentityInfo*
    - DDS_Security_IdentityToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 985
    functionName: validate_remote_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDS_Security_Exception_set
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_UNUSED_ARG
    - strlen
    - DDSRT_WARNING_MSVC_ON
    - strncmp
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t validate_remote_identity_token(const
      LocalIdentityInfo *localIdent, const DDS_Security_IdentityToken *token, DDS_Security_SecurityException
      *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:991,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:994,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:997,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:997,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:999,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1004,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1010,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1011,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1019,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1026,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1032,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1033,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - token
    - challenge
    - ex
    argTypes:
    - DDS_Security_IdentityToken*
    - AuthenticationChallenge**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (token)
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 1037
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 1037
    functionName: validate_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - memcpy
    - assert
    - strlen
    - strncmp
    - ddsrt_malloc
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t validate_auth_request_token(const DDS_Security_IdentityToken
      *token, AuthenticationChallenge **challenge, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1042,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1043,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1045,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1046,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1048,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - token
    - challenge
    argTypes:
    - DDS_Security_AuthRequestMessageToken*
    - AuthenticationChallenge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1051
    functionName: fill_auth_request_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 12
    functionsReached:
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memcpy
    - DDS_Security_DataHolder_deinit
    - ddsrt_strdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void fill_auth_request_token(DDS_Security_AuthRequestMessageToken *token,
      AuthenticationChallenge *challenge)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1059,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1070,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1071,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1072,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1074,1
    - Dst: validate_remote_identity_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1079,1
    - Dst: validate_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1085,1
    - Dst: generate_challenge
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1089,1
    - Dst: find_remote_identity_by_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1096,1
    - Dst: remote_identity_info_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1098,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1099,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1100,1
    - Dst: identity_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1101,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1102,1
    - Dst: DDS_Security_DataHolder_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1107,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1109,1
    - Dst: find_identity_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1113,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1113,1
    - Dst: identity_relation_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1115,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1116,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1117,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1124,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1125,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1128,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1131,1
    - Dst: fill_auth_request_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1134,1
    - Dst: DDS_Security_set_token_nil
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1136,1
    - Dst: IDENTITY_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1138,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1139,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1143,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1145,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1149,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 8
    argNames:
    - instance
    - remote_identity_handle
    - local_auth_request_token
    - remote_auth_request_token
    - local_identity_handle
    - remote_identity_token
    - remote_participant_guid
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle*
    - DDS_Security_AuthRequestMessageToken*
    - DDS_Security_AuthRequestMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityToken*
    - DDS_Security_GUID_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (r)
      pos:
        line_end: 1116
        line_start: 1116
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (rchallenge)
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 1151
      start: 1053
    functionDepth: 5
    functionLinenumber: 1053
    functionLinenumberEnd: 1151
    functionName: validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 17
    functionsReached:
    - find_identity_relation
    - identity_relation_new
    - memcmp
    - find_remote_identity_by_guid
    - security_object_valid
    - fill_auth_request_token
    - IDENTITY_HANDLE
    - ddsrt_hh_add
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - validate_remote_identity_token
    - DDS_Security_set_token_nil
    - remote_identity_info_new
    - generate_challenge
    - SECURITY_OBJECT_HANDLE
    - ddsrt_free
    - security_object_find
    - assert
    - validate_auth_request_token
    - DDS_Security_DataHolder_equal
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_remote_identity(dds_security_authentication
      *instance, DDS_Security_IdentityHandle *remote_identity_handle,\n    DDS_Security_AuthRequestMessageToken
      *local_auth_request_token, const DDS_Security_AuthRequestMessageToken *remote_auth_request_token,
      const DDS_Security_IdentityHandle local_identity_handle,\n    const DDS_Security_IdentityToken
      *remote_identity_token, const DDS_Security_GUID_t *remote_participant_guid,
      DDS_Security_SecurityException *ex)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1159,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1175,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1177,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1178,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1180,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1185,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1186,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1188,1
    - Dst: get_certificate_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1193,1
    - Dst: find_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1196,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1196,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1196,1
    - Dst: find_identity_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1198,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1198,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1199,1
    - Dst: handshake_info_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1200,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1202,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1208,1
    - Dst: generate_dh_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1213,1
    - Dst: dh_public_key_to_oct
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1218,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1222,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1224,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1227,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1228,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1229,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1230,1
    - Dst: get_dsign_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1230,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1231,1
    - Dst: get_kagree_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1231,1
    - Dst: get_hash_binary_property_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1236,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1238,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1242,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1243,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1244,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1247,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1249,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1251,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1253,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1255,1
    - Dst: HANDSHAKE_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1260,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1268,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1269,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1272,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1274,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 7
    argNames:
    - instance
    - handshake_handle
    - handshake_message
    - initiator_identity_handle
    - replier_identity_handle
    - serialized_local_participant_data
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_OctetSeq*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (relation)
      pos:
        line_end: 1198
        line_start: 1198
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dhPubKeyData)
      pos:
        line_end: 1241
        line_start: 1241
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation)
      pos:
        line_end: 1207
        line_start: 1207
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dhPubKeyDataSize < 1200)
      pos:
        line_end: 1242
        line_start: 1242
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (tokcount == tokidx)
      pos:
        line_end: 1252
        line_start: 1252
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 1276
      start: 1153
    functionDepth: 7
    functionLinenumber: 1153
    functionLinenumberEnd: 1276
    functionName: begin_handshake_request
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 15
    functionsReached:
    - find_identity_relation
    - ddsrt_hh_remove
    - find_handshake
    - security_object_valid
    - security_object_free
    - handshake_info_new
    - ddsrt_hh_add
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - get_dsign_algo
    - DDS_Security_BinaryProperty_set_by_value
    - ddsrt_strdup
    - get_certificate_contents
    - generate_dh_keys
    - get_kagree_algo
    - SECURITY_OBJECT_HANDLE
    - DDS_Security_BinaryProperty_set_by_ref
    - ddsrt_free
    - dh_public_key_to_oct
    - security_object_find
    - assert
    - HANDSHAKE_HANDLE
    - DDS_Security_OctetSeq_copy
    - DDS_Security_BinaryProperty_set_by_string
    - get_hash_binary_property_seq
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t begin_handshake_request(dds_security_authentication
      *instance, DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
      *handshake_message, const DDS_Security_IdentityHandle initiator_identity_handle,
      const DDS_Security_IdentityHandle replier_identity_handle,\n    const DDS_Security_OctetSeq
      *serialized_local_participant_data, DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1282,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1285,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1289,1
    - Dst: DDS_Security_Deserialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1290,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1293,1
    - Dst: get_adjusted_participant_guid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1294,1
    - Dst: DDS_Security_BuiltinTopicKeyBE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1298,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1299,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1301,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1304,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1305,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1309,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - seq
    - cert
    - ex
    argTypes:
    - DDS_Security_OctetSeq*
    - X509*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1278
    functionDepth: 8
    functionLinenumber: 1278
    functionLinenumberEnd: 1313
    functionName: validate_pdata
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - memcmp
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - memset
    - get_adjusted_participant_guid
    - DDS_Security_BuiltinTopicKeyBE
    - DDS_Security_Deserialize_ParticipantBuiltinTopicData
    - DDS_Security_Deserializer_new
    - DDS_Security_ParticipantBuiltinTopicData_free
    - DDS_Security_Deserializer_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t validate_pdata(const DDS_Security_OctetSeq
      *seq, X509 *cert, DDS_Security_SecurityException *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1328,1
    - Dst: DDS_Security_Exception_vset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1329,1
    - Dst: va_end
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ex
    - fmt
    argTypes:
    - DDS_Security_SecurityException*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1332
    functionName: set_exception
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 134
    functionsReached:
    - va_start
    - DDS_Security_Exception_vset
    - va_end
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t set_exception (DDS_Security_SecurityException
      *ex, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1337,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1340,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - token
    - name
    - ex
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1334
    functionDepth: 3
    functionLinenumber: 1334
    functionLinenumberEnd: 1351
    functionName: find_required_binprop
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_DataHolder_find_binary_property
    - set_exception
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: DDS_Security_BinaryProperty_t *find_required_binprop (const DDS_Security_HandshakeMessageToken
      *token, const char *name, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_required_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1356,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - token
    - name
    - ex
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1353
    functionDepth: 4
    functionLinenumber: 1353
    functionLinenumberEnd: 1365
    functionName: find_required_nonempty_binprop
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - find_required_binprop
    - set_exception
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: DDS_Security_BinaryProperty_t *find_required_nonempty_binprop (const
      DDS_Security_HandshakeMessageToken *token, const char *name, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_required_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1370,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - token
    - name
    - size
    - ex
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - char*
    - size_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1367
    functionDepth: 4
    functionLinenumber: 1367
    functionLinenumberEnd: 1378
    functionName: find_required_binprop_exactsize
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - find_required_binprop
    - set_exception
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: DDS_Security_BinaryProperty_t *find_required_binprop_exactsize (const
      DDS_Security_HandshakeMessageToken *token, const char *name, size_t size, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1389,1
    - Dst: load_X509_certificate_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1394,1
    - Dst: verify_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1399,1
    - Dst: DDS_Security_Exception_clean
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1402,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1405,1
    - Dst: verify_certificate
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1406,1
    - Dst: check_certificate_expiry
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1410,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - prop
    - own_ca
    - own_crl
    - trusted_ca_list
    - ex
    argTypes:
    - DDS_Security_BinaryProperty_t*
    - X509*
    - X509_CRL*
    - X509Seq*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1380
    functionDepth: 4
    functionLinenumber: 1380
    functionLinenumberEnd: 1416
    functionName: load_X509_certificate_from_binprop
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - X509_free
    - verify_certificate
    - DDS_Security_Exception_clean
    - DDS_Security_Exception_reset
    - set_exception
    - load_X509_certificate_from_data
    - check_certificate_expiry
    linkageType: ''
    returnType: X509
    signature: X509 *load_X509_certificate_from_binprop (const DDS_Security_BinaryProperty_t
      *prop, X509 *own_ca, X509_CRL *own_crl, const X509Seq *trusted_ca_list, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_public_key_to_oct
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1425,1
    - Dst: DDS_Security_BinaryProperty_alloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1428,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - pkey
    - kagreeAlgoKind
    - ex
    argTypes:
    - char*
    - EVP_PKEY*
    - AuthenticationAlgoKind_t
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1418
    functionDepth: 5
    functionLinenumber: 1418
    functionLinenumberEnd: 1431
    functionName: create_dhkey_property
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryProperty_set_by_ref
    - DDS_Security_BinaryProperty_alloc
    - dh_public_key_to_oct
    linkageType: ''
    returnType: DDS_Security_BinaryProperty_t
    signature: 'DDS_Security_BinaryProperty_t *

      create_dhkey_property(const char *name, EVP_PKEY *pkey, AuthenticationAlgoKind_t
      kagreeAlgoKind,  DDS_Security_SecurityException *ex)'
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1446,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1447,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1448,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1456,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1458,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1458,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1459,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1465,1
    - Dst: load_X509_certificate_from_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1467,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1472,1
    - Dst: find_required_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1475,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1479,1
    - Dst: string_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1480,1
    - Dst: find_required_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1483,1
    - Dst: validate_pdata
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1485,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1488,1
    - Dst: get_dsign_algo_from_octseq
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1490,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1491,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1493,1
    - Dst: get_kagree_algo_from_octseq
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1495,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1496,1
    - Dst: compute_hash_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1500,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1507,1
    - Dst: dh_oct_to_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1509,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1512,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1517,1
    - Dst: DDS_Security_BinaryProperty_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1518,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1519,1
    - Dst: find_required_binprop_exactsize
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1523,1
    - Dst: find_required_binprop_exactsize
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1528,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1530,1
    - Dst: find_required_nonempty_binprop
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1537,1
    - Dst: dh_oct_to_public_key
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1539,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1542,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1547,1
    - Dst: DDS_Security_BinaryProperty_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1548,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1549,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1560,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1561,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1565,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1570,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1573,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1574,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1575,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1581,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1585,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1587,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1588,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1591,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1593,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1594,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1599,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1600,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1601,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1605,1
    - Dst: X509_get_pubkey
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1611,1
    - Dst: set_exception
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1612,1
    - Dst: validate_signature
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1622,1
    - Dst: validate_signature
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1625,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1627,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 124
    argCount: 7
    argNames:
    - token
    - token_type
    - handshake
    - trusted_ca_list
    - dh1_ref
    - dh2_ref
    - ex
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - enum handshake_token_type
    - HandshakeInfo*
    - X509Seq*
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (relation)
      pos:
        line_end: 1445
        line_start: 1445
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dsignAlgoKind != AUTH_ALGO_KIND_UNKNOWN)
      pos:
        line_end: 1598
        line_start: 1598
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (c_pdata != NULL)
      pos:
        line_end: 1600
        line_start: 1600
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (kagreeAlgoKind != AUTH_ALGO_KIND_UNKNOWN)
      pos:
        line_end: 1599
        line_start: 1599
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dh2_ref != NULL || token_type == HS_TOKEN_REQ || token_type == HS_TOKEN_REPLY)
      pos:
        line_end: 1447
        line_start: 1447
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (token_class_id)
      pos:
        line_end: 1455
        line_start: 1455
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (handshake->hash_c2 != NULL)
      pos:
        line_end: 1580
        line_start: 1580
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dh1_ref != NULL || token_type == HS_TOKEN_REQ)
      pos:
        line_end: 1446
        line_start: 1446
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (handshake->hash_c1 != NULL)
      pos:
        line_end: 1572
        line_start: 1572
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 1634
      start: 1433
    functionDepth: 9
    functionLinenumber: 1433
    functionLinenumberEnd: 1634
    functionName: validate_handshake_token_impl
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - X509_get_pubkey
    - find_required_binprop_exactsize
    - load_X509_certificate_from_binprop
    - memcmp
    - compute_hash_value
    - string_from_data
    - set_exception
    - find_required_nonempty_binprop
    - strncmp
    - validate_signature
    - ddsrt_free
    - assert
    - strlen
    - validate_pdata
    - get_kagree_algo_from_octseq
    - X509_free
    - DDS_Security_OctetSeq_copy
    - ddsrt_memdup
    - DDS_Security_BinaryProperty_equal
    - find_required_binprop
    - dh_oct_to_public_key
    - DDS_Security_DataHolder_find_binary_property
    - get_dsign_algo_from_octseq
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_handshake_token_impl (const
      DDS_Security_HandshakeMessageToken *token, enum handshake_token_type token_type,\n
      \   HandshakeInfo *handshake, X509Seq *trusted_ca_list, const DDS_Security_BinaryProperty_t
      *dh1_ref, const DDS_Security_BinaryProperty_t *dh2_ref, DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake_token_impl
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1639,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1649,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - token
    - token_type
    - handshake
    - trusted_ca_list
    - dh1_ref
    - dh2_ref
    - ex
    argTypes:
    - DDS_Security_HandshakeMessageToken*
    - enum handshake_token_type
    - HandshakeInfo*
    - X509Seq*
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_BinaryProperty_t*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1636
    functionDepth: 10
    functionLinenumber: 1636
    functionLinenumberEnd: 1662
    functionName: validate_handshake_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 6
    functionsReached:
    - validate_handshake_token_impl
    - X509_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_handshake_token(const DDS_Security_HandshakeMessageToken
      *token, enum handshake_token_type token_type, HandshakeInfo *handshake,\n    X509Seq
      *trusted_ca_list, const DDS_Security_BinaryProperty_t *dh1_ref, const DDS_Security_BinaryProperty_t
      *dh2_ref, DDS_Security_SecurityException *ex)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1671,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1676,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1692,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1694,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1695,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1697,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1702,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1703,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1705,1
    - Dst: find_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1709,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1709,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1709,1
    - Dst: find_identity_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1711,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1711,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1712,1
    - Dst: handshake_info_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1713,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1715,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1721,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1724,1
    - Dst: get_certificate_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1726,1
    - Dst: generate_dh_keys
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1731,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1735,1
    - Dst: dh_public_key_to_oct
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1738,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1742,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1744,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1748,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1750,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1751,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1752,1
    - Dst: get_dsign_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1752,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1753,1
    - Dst: get_kagree_algo
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1753,1
    - Dst: get_hash_binary_property_seq
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1757,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1761,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1764,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1765,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1767,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1769,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1770,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1772,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1777,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1778,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1779,1
    - Dst: hash_value_to_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1786,1
    - Dst: hash_value_to_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1787,1
    - Dst: create_signature
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1789,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1790,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1791,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1794,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1797,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1799,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1800,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1804,1
    - Dst: HANDSHAKE_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1806,1
    - Dst: free_binary_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1810,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1813,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1818,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1819,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1822,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 106
    argCount: 8
    argNames:
    - instance
    - handshake_handle
    - handshake_message_out
    - handshake_message_in
    - initiator_identity_handle
    - replier_identity_handle
    - serialized_local_participant_data
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_OctetSeq*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (relation->rchallenge)
      pos:
        line_end: 1766
        line_start: 1766
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation)
      pos:
        line_end: 1711
        line_start: 1711
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation)
      pos:
        line_end: 1720
        line_start: 1720
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (dh1)
      pos:
        line_end: 1764
        line_start: 1764
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation->lchallenge)
      pos:
        line_end: 1769
        line_start: 1769
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (tokidx == tokcount)
      pos:
        line_end: 1796
        line_start: 1796
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 1824
      start: 1664
    functionDepth: 7
    functionLinenumber: 1664
    functionLinenumberEnd: 1824
    functionName: begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 7
    functionsReached:
    - find_identity_relation
    - validate_handshake_token
    - ddsrt_hh_remove
    - find_handshake
    - security_object_valid
    - hash_value_to_binary_property
    - security_object_free
    - free_binary_properties
    - handshake_info_new
    - ddsrt_hh_add
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - get_dsign_algo
    - DDS_Security_BinaryProperty_set_by_value
    - ddsrt_strdup
    - get_certificate_contents
    - generate_dh_keys
    - get_kagree_algo
    - EVP_PKEY_copy_parameters
    - SECURITY_OBJECT_HANDLE
    - DDS_Security_BinaryProperty_set_by_ref
    - ddsrt_free
    - dh_public_key_to_oct
    - security_object_find
    - assert
    - HANDSHAKE_HANDLE
    - DDS_Security_BinaryProperty_free
    - DDS_Security_OctetSeq_copy
    - DDS_Security_BinaryProperty_set_by_string
    - get_hash_binary_property_seq
    - DDS_Security_DataHolder_find_binary_property
    - create_signature
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t begin_handshake_reply(dds_security_authentication
      *instance, DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
      *handshake_message_out, const DDS_Security_HandshakeMessageToken *handshake_message_in,\n
      \   const DDS_Security_IdentityHandle initiator_identity_handle, const DDS_Security_IdentityHandle
      replier_identity_handle,\n    const DDS_Security_OctetSeq *serialized_local_participant_data,
      DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1833,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1835,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1839,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1841,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1844,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1846,1
    - Dst: EVP_PKEY_derive
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1851,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1853,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1857,1
    - Dst: EVP_PKEY_derive
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1858,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1860,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1864,1
    - Dst: SHA256
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1866,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1867,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1868,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1872,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - handshake
    - shared_secret
    - length
    - ex
    argTypes:
    - HandshakeInfo*
    - unsigned char**
    - DDS_Security_long*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1876
    functionName: generate_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new
    - ddsrt_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_set_peer
    - SHA256
    - EVP_PKEY_derive_init
    - DDS_Security_Exception_set_with_openssl_error
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool generate_shared_secret(const HandshakeInfo *handshake, unsigned
      char **shared_secret, DDS_Security_long *length, DDS_Security_SecurityException
      *ex)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1883,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1896,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1898,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1899,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1900,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1902,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1907,1
    - Dst: create_dhkey_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1913,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1918,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1921,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1924,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1925,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1927,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1930,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1932,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1933,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1935,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1939,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1940,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1941,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1942,1
    - Dst: hash_value_to_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1949,1
    - Dst: hash_value_to_binary_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1950,1
    - Dst: create_signature
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1952,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1953,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1954,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1957,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1960,1
    - Dst: create_dhkey_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1969,1
    - Dst: create_dhkey_property
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1971,1
    - Dst: validate_handshake_token
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1976,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1984,1
    - Dst: generate_shared_secret
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1991,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1993,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1996,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:1997,1
    - Dst: get_certificate_expiry
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2003,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2006,1
    - Dst: add_validity_end_trigger
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2010,1
    - Dst: IDENTITY_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2010,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2012,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2014,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2015,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2020,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2021,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2026,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2028,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2029,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2031,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 5
    argNames:
    - instance
    - handshake_message_out
    - handshake_message_in
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeMessageToken*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (dh2)
      pos:
        line_end: 1924
        line_start: 1924
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation)
      pos:
        line_end: 1906
        line_start: 1906
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation->rchallenge)
      pos:
        line_end: 1932
        line_start: 1932
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - condition: (relation->lchallenge)
      pos:
        line_end: 1929
        line_start: 1929
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 2034
      start: 1878
    functionDepth: 6
    functionLinenumber: 1878
    functionLinenumberEnd: 2034
    functionName: process_handshake
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 13
    functionsReached:
    - validate_handshake_token
    - security_object_valid
    - hash_value_to_binary_property
    - generate_shared_secret
    - ddsrt_malloc
    - IDENTITY_HANDLE
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Exception_set
    - get_certificate_expiry
    - memcpy
    - ddsrt_mutex_lock
    - create_dhkey_property
    - DDS_Security_BinaryProperty_set_by_value
    - ddsrt_strdup
    - DDS_Security_DataHolder_deinit
    - EVP_PKEY_copy_parameters
    - DDS_Security_BinaryProperty_set_by_ref
    - ddsrt_free
    - security_object_find
    - assert
    - DDS_Security_BinaryProperty_free
    - add_validity_end_trigger
    - memset
    - DDS_Security_DataHolder_find_binary_property
    - create_signature
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t process_handshake(dds_security_authentication
      *instance, DDS_Security_HandshakeMessageToken *handshake_message_out,\n    const
      DDS_Security_HandshakeMessageToken *handshake_message_in, const DDS_Security_HandshakeHandle
      handshake_handle, DDS_Security_SecurityException *ex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2040,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2046,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2047,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2048,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2050,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2053,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - instance
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2036
    functionDepth: 3
    functionLinenumber: 2036
    functionLinenumberEnd: 2059
    functionName: get_shared_secret
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 3
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - security_object_find
    - security_object_valid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_SharedSecretHandle
    signature: DDS_Security_SharedSecretHandle get_shared_secret(dds_security_authentication
      *instance, const DDS_Security_HandshakeHandle handshake_handle, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2066,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2077,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2079,1
    - Dst: SECURITY_OBJECT_VALID
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2080,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2082,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2088,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2094,1
    - Dst: get_certificate_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2098,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2101,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2102,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2104,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2105,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2108,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2109,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2111,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - instance
    - peer_credential_token
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2061
    functionDepth: 4
    functionLinenumber: 2061
    functionLinenumberEnd: 2119
    functionName: get_authenticated_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 4
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - security_object_find
    - memset
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - get_certificate_contents
    - SECURITY_OBJECT_VALID
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_authenticated_peer_credential_token(dds_security_authentication
      *instance, DDS_Security_AuthenticatedPeerCredentialToken *peer_credential_token,\n
      \   const DDS_Security_HandshakeHandle handshake_handle, DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2123,1
    - Dst: dds_security_timed_dispatcher_enable
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2127,1
    - Dst: dds_security_timed_dispatcher_disable
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - listener
    - ex
    argTypes:
    - dds_security_authentication*
    - dds_security_authentication_listener*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2121
    functionDepth: 2
    functionLinenumber: 2121
    functionLinenumberEnd: 2131
    functionName: set_listener
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 6
    functionsReached:
    - dds_security_timed_dispatcher_disable
    - DDSRT_UNUSED_ARG
    - dds_security_timed_dispatcher_enable
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean set_listener(dds_security_authentication *instance,
      const dds_security_authentication_listener *listener, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2135,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2136,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: return_identity_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_identity_token(dds_security_authentication
      *instance, const DDS_Security_IdentityToken *token, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2143,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2144,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityStatusToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2147
    functionName: return_identity_status_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_identity_status_token(dds_security_authentication
      *instance, const DDS_Security_IdentityStatusToken *token, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2153,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - peer_credential_token
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2149
    functionDepth: 3
    functionLinenumber: 2149
    functionLinenumberEnd: 2158
    functionName: return_authenticated_peer_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 4
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_authenticated_peer_credential_token(dds_security_authentication
      *instance, const DDS_Security_AuthenticatedPeerCredentialToken *peer_credential_token,
      DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2164,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2169,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2170,1
    - Dst: security_object_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2171,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2173,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2177,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2178,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2179,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2180,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - instance
    - handshake_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_HandshakeHandle
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (handshake->relation)
      pos:
        line_end: 2176
        line_start: 2176
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    constantsTouched: []
    func_position:
      end: 2186
      start: 2160
    functionDepth: 3
    functionLinenumber: 2160
    functionLinenumberEnd: 2186
    functionName: return_handshake_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 13
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_hh_remove
    - assert
    - ddsrt_mutex_lock
    - security_object_valid
    - security_object_find
    - security_object_free
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_handshake_handle(dds_security_authentication
      *instance, const DDS_Security_HandshakeHandle handshake_handle, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2193,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2193,1
    - Dst: find_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2198,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2198,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2198,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2201,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2202,1
    - Dst: find_identity_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2204,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2204,1
    - Dst: remove_identity_relation
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - impl
    - localIdent
    argTypes:
    - dds_security_authentication_impl*
    - LocalIdentityInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2188
    functionDepth: 3
    functionLinenumber: 2188
    functionLinenumberEnd: 2209
    functionName: invalidate_local_related_objects
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - SECURITY_OBJECT_HANDLE
    - find_identity_relation
    - ddsrt_hh_remove
    - find_handshake
    - security_object_free
    - ddsrt_hh_iter_next
    - remove_identity_relation
    - ddsrt_hh_iter_first
    linkageType: ''
    returnType: void
    signature: void invalidate_local_related_objects(dds_security_authentication_impl
      *impl, LocalIdentityInfo *localIdent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2214,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2214,1
    - Dst: find_handshake
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2216,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2216,1
    - Dst: SECURITY_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2216,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2219,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2220,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2222,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - impl
    - remoteIdentity
    argTypes:
    - dds_security_authentication_impl*
    - RemoteIdentityInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2225
    functionName: invalidate_remote_related_objects
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 0
    functionsReached:
    - SECURITY_OBJECT_HANDLE
    - ddsrt_hh_remove
    - find_handshake
    - security_object_free
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    linkageType: ''
    returnType: void
    signature: void invalidate_remote_related_objects(dds_security_authentication_impl
      *impl, RemoteIdentityInfo *remoteIdentity)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2231,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2241,1
    - Dst: security_object_find
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2242,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2244,1
    - Dst: dds_security_timed_dispatcher_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2252,1
    - Dst: invalidate_local_related_objects
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2253,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2254,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2255,1
    - Dst: dds_security_timed_dispatcher_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2260,1
    - Dst: invalidate_remote_related_objects
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2261,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2262,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2263,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2264,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2267,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2270,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - instance
    - identity_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2227
    functionDepth: 4
    functionLinenumber: 2227
    functionLinenumberEnd: 2276
    functionName: return_identity_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 26
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_hh_remove
    - invalidate_local_related_objects
    - ddsrt_mutex_lock
    - security_object_find
    - security_object_free
    - dds_security_timed_dispatcher_remove
    - invalidate_remote_related_objects
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_identity_handle(dds_security_authentication
      *instance, const DDS_Security_IdentityHandle identity_handle, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2280,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2281,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - sharedsecret_handle
    - ex
    argTypes:
    - dds_security_authentication*
    - DDS_Security_SharedSecretHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2284
    functionName: return_sharedsecret_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean return_sharedsecret_handle(dds_security_authentication
      *instance, const DDS_Security_SharedSecretHandle sharedsecret_handle, DDS_Security_SecurityException
      *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2288,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2291,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2292,1
    - Dst: dds_security_timed_dispatcher_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2295,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2313,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2314,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2315,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2316,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2319,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2320,1
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2328
    functionName: init_authentication
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - ENGINE_load_builtin_engines
    - DDSRT_UNUSED_ARG
    - memset
    - dds_security_timed_dispatcher_new
    - ddsrt_hh_new
    - OpenSSL_add_all_algorithms
    - ddsrt_malloc
    - ddsrt_mutex_init
    - dds_openssl_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t init_authentication(const char *argument, void **context, struct
      ddsi_domaingv *gv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2335,1
    - Dst: dds_security_timed_dispatcher_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2336,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2338,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2342,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2342,1
    - Dst: security_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2343,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2344,1
    - Dst: free_ca_list_contents
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2346,1
    - Dst: ENGINE_finish
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2351,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2352,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2356,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2358,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2359,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c:2360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2330
    functionDepth: 3
    functionLinenumber: 2330
    functionLinenumberEnd: 2363
    functionName: finalize_authentication
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    functionUses: 1
    functionsReached:
    - dds_security_timed_dispatcher_free
    - ENGINE_free
    - OSSL_PROVIDER_unload
    - ddsrt_mutex_unlock
    - ENGINE_finish
    - ddsrt_free
    - ddsrt_mutex_lock
    - security_object_free
    - ddsrt_hh_free
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_destroy
    - free_ca_list_contents
    linkageType: ''
    returnType: int32_t
    signature: int32_t finalize_authentication(void *instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - spaces
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: print_tab
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_tab(int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:39,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:40,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:42,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - info
    - spaces
    argTypes:
    - struct string_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: print_string_value
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - printf
    linkageType: ''
    returnType: void
    signature: void print_string_value(struct string_value *val, const char *info,
      int spaces)
  - 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: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: PRINT_VALUE_BASIC
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_VALUE_BASIC(name_, type_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:63,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:64,1
    - Dst: print_int_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:72,1
    - Dst: print_int_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:76,1
    - Dst: print_int_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:77,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:84,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:86,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - domains
    - spaces
    argTypes:
    - struct domains*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: print_domains
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_int_value
    - printf
    linkageType: ''
    returnType: void
    signature: void print_domains(struct domains *domains, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:92,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:93,1
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:96,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:97,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:98,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:99,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:100,1
    - Dst: print_protection_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:101,1
    - Dst: print_basic_protection_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:102,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:106,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:108,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - rule
    - spaces
    argTypes:
    - struct topic_rule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: print_topic_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_bool_value
    - print_string_value
    - printf
    - print_tab
    - print_protection_value
    - print_basic_protection_value
    linkageType: ''
    returnType: void
    signature: void print_topic_rule(struct topic_rule *rule, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:114,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:115,1
    - Dst: print_topic_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:121,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:127,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:129,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tar
    - spaces
    argTypes:
    - struct topic_access_rules*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: print_topic_access_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_topic_rule
    - printf
    linkageType: ''
    returnType: void
    signature: void print_topic_access_rules(struct topic_access_rules *tar, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:136,1
    - Dst: print_domains
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:139,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:140,1
    - Dst: print_bool_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:141,1
    - Dst: print_protection_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:142,1
    - Dst: print_protection_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:143,1
    - Dst: print_protection_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:144,1
    - Dst: print_topic_access_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:145,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:149,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:151,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - rule
    - spaces
    argTypes:
    - struct domain_rule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: print_domain_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_bool_value
    - print_domains
    - printf
    - print_tab
    - print_protection_value
    - print_topic_access_rules
    linkageType: ''
    returnType: void
    signature: void print_domain_rule(struct domain_rule *rule, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:157,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:158,1
    - Dst: print_domain_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:164,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:170,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:172,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dar
    - spaces
    argTypes:
    - struct domain_access_rules*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: print_domain_access_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_domain_rule
    - printf
    linkageType: ''
    returnType: void
    signature: void print_domain_access_rules(struct domain_access_rules *dar, int
      spaces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:178,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:179,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:180,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:181,1
    - Dst: print_domain_access_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:182,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct governance_parser*
    assertStmts:
    - condition: (parser)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    - condition: (parser->dds)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    - condition: (parser->dds->domain_access_rules)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: print_governance_parser_result
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_domain_access_rules
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void print_governance_parser_result(struct governance_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:190,1
    - Dst: print_topic
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - topic
    - spaces
    argTypes:
    - struct string_value*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: print_topic
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - print_topic
    - print_string_value
    linkageType: ''
    returnType: void
    signature: void print_topic(struct string_value *topic, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:199,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:200,1
    - Dst: print_topic
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:201,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:202,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - topics
    - spaces
    argTypes:
    - struct topics*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: print_topics
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_topic
    - printf
    linkageType: ''
    returnType: void
    signature: void print_topics(struct topics *topics, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:211,1
    - Dst: print_partition
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - partition
    - spaces
    argTypes:
    - struct string_value*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: print_partition
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - print_partition
    - print_string_value
    linkageType: ''
    returnType: void
    signature: void print_partition(struct string_value *partition, int spaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:220,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:221,1
    - Dst: print_partition
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:222,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:223,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - partitions
    - spaces
    argTypes:
    - struct partitions*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: print_partitions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_partition
    - printf
    linkageType: ''
    returnType: void
    signature: void print_partitions(struct partitions *partitions, int spaces)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:235,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:237,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:239,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:241,1
    - Dst: print_topics
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:242,1
    - Dst: print_partitions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:243,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:244,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - criteria
    - spaces
    argTypes:
    - struct criteria*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: print_criteria
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - print_partitions
    - printf
    - print_topics
    - print_tab
    linkageType: ''
    returnType: void
    signature: void print_criteria(struct criteria *criteria, int spaces)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:258,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:260,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:262,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:264,1
    - Dst: print_domains
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:265,1
    - Dst: print_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:266,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:267,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - allow_deny_rule
    - spaces
    argTypes:
    - struct allow_deny_rule*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    constantsTouched: []
    func_position:
      end: 272
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 272
    functionName: print_allow_deny_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_criteria
    - print_domains
    - assert
    - printf
    - print_tab
    linkageType: ''
    returnType: void
    signature: void print_allow_deny_rule(struct allow_deny_rule *allow_deny_rule,
      int spaces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:277,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:278,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:281,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:282,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:283,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:284,1
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:285,1
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:286,1
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:287,1
    - Dst: print_allow_deny_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:288,1
    - Dst: print_string_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:289,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:291,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:292,1
    - Dst: print_tab
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:294,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - permissions
    - spaces
    argTypes:
    - struct permissions*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: print_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_tab
    - print_string_value
    - print_allow_deny_rule
    - printf
    linkageType: ''
    returnType: void
    signature: void print_permissions(struct permissions *permissions, int spaces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:300,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:301,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:302,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:303,1
    - Dst: print_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:304,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct permissions_parser*
    assertStmts:
    - condition: (parser)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    - condition: (parser->dds)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    - condition: (parser->dds->permissions)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: print_permissions_parser_result
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - print_permissions
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void print_permissions_parser_result(struct permissions_parser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:312,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - kind
    - parent
    - size
    argTypes:
    - element_kind
    - struct element*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: new_element
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct element
    signature: struct element *new_element(element_kind kind, struct element *parent,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - element_type
    - ','
    - element_kind
    - ','
    - element_name
    - ','
    - parent_type
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: PREPARE_NODE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREPARE_NODE(element_type, element_kind, element_name, parent_type,
      parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - element_type
    - ','
    - element_kind
    - ','
    - element_name
    - ','
    - parent_type
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 355
    functionName: PREPARE_NODE_WITH_LIST
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREPARE_NODE_WITH_LIST(element_type, element_kind, element_name, parent_type,
      parent_kind, current)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:361,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:367,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - domains_set
    - ex
    argTypes:
    - struct domain_id_set*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: validate_domains
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: void
    signature: void validate_domains(const struct domain_id_set *domains_set, DDS_Security_SecurityException
      *ex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:381,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:383,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:385,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:387,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:389,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - topic_rule
    - ex
    argTypes:
    - struct topic_rule*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: validate_topic_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: void
    signature: void validate_topic_rules(const struct topic_rule *topic_rule, DDS_Security_SecurityException
      *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:402,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:404,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:406,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:408,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:410,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:412,1
    - Dst: validate_domains
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:416,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:418,1
    - Dst: validate_topic_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - rule
    - ex
    argTypes:
    - struct domain_rule*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 427
    functionName: validate_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - validate_domains
    - validate_topic_rules
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean validate_rules(const struct domain_rule *rule,
      DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:435,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:437,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:439,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:441,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:456,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:457,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:459,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:460,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - grant
    - ex
    argTypes:
    - struct grant*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (criteria->partitions)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    - condition: (criteria->partitions->partition)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    constantsTouched: []
    func_position:
      end: 471
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 471
    functionName: validate_permissions_tree
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - assert
    - PREPARE_NODE_WITH_LIST
    - ddsrt_strdup
    - PREPARE_NODE
    linkageType: ''
    returnType: int
    signature: int validate_permissions_tree(const struct grant *grant, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:475,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:477,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:479,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:481,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - kindStr
    - kindEnum
    argTypes:
    - char*
    - DDS_Security_ProtectionKind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: to_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int to_protection_kind(const char *kindStr, DDS_Security_ProtectionKind
      *kindEnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:492,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:494,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - kindStr
    - kindEnum
    argTypes:
    - char*
    - DDS_Security_BasicProtectionKind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: to_basic_protection_kind
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int to_basic_protection_kind(const char *kindStr, DDS_Security_BasicProtectionKind
      *kindEnum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:506,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:507,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:508,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:509,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:514,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:517,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:518,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:519,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:520,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:521,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:522,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:523,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:530,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:533,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:540,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:546,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:547,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:548,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:549,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:550,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:551,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:552,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:553,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:554,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:555,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:556,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:557,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:558,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:559,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:560,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:561,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:562,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:563,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:564,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:565,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:566,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:567,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:568,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:569,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:570,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:571,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:572,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:573,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:574,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:575,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:576,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:577,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:578,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:584,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - varg
    - parentinfo
    - eleminfo
    - name
    - line
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 591
    functionName: governance_element_open_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - new_element
    - DDSRT_UNUSED_ARG
    - PREPARE_NODE_WITH_LIST
    - printf
    - ddsrt_strcasecmp
    - PREPARE_NODE
    linkageType: ''
    returnType: int
    signature: int governance_element_open_cb(void *varg, uintptr_t parentinfo, uintptr_t
      *eleminfo, const char *name, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:603,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:604,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:605,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:606,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:608,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - varg
    - eleminfo
    - name
    - value
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 611
    functionName: governance_element_attr_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int governance_element_attr_cb(void *varg, uintptr_t eleminfo, const
      char *name, const char *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - image
    - value
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: str_to_intvalue
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_intvalue(const char *image, int32_t *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:631,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:632,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:638,1
    - Dst: str_to_intvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:643,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:656,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:656,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:658,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:658,1
    - Dst: to_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:666,1
    - Dst: to_basic_protection_kind
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:672,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - varg
    - eleminfo
    - data
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 681
    functionName: governance_element_data_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - to_basic_protection_kind
    - strcmp
    - DDSRT_UNUSED_ARG
    - ddsrt_strcasecmp
    - ddsrt_strdup
    - to_protection_kind
    - str_to_intvalue
    linkageType: ''
    returnType: int
    signature: int governance_element_data_cb(void *varg, uintptr_t eleminfo, const
      char *data, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:686,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - varg
    - eleminfo
    - line
    argTypes:
    - void*
    - uintptr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: governance_element_close_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int governance_element_close_cb(void *varg, uintptr_t eleminfo, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:696,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: governance_error_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - printf
    linkageType: ''
    returnType: void
    signature: void governance_error_cb(void *varg, const char *msg, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:704,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct string_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: free_stringvalue
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_stringvalue(struct string_value *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_domainid_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:715,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:717,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:718,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dis
    argTypes:
    - struct domain_id_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: free_domainid_set
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_domainid_set
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_domainid_set(struct domain_id_set *dis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_domainid_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:727,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - domains
    argTypes:
    - struct domains*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: free_domains
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - free_domainid_set
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_domains(struct domains *domains)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_topic_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:737,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:738,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:739,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:740,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:741,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:742,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:743,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:744,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct topic_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 747
    functionName: free_topic_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_topic_rule
    - ddsrt_free
    - free_stringvalue
    linkageType: ''
    returnType: void
    signature: void free_topic_rule(struct topic_rule *rule)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_topic_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:754,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tar
    argTypes:
    - struct topic_access_rules*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: free_topic_access_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - free_topic_rule
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_topic_access_rules(struct topic_access_rules *tar)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_domain_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:764,1
    - Dst: free_domains
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:765,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:766,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:767,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:768,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:769,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:770,1
    - Dst: free_topic_access_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:771,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct domain_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: free_domain_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_topic_access_rules
    - free_domains
    - free_domain_rule
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_domain_rule(struct domain_rule *rule)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_domain_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:780,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dar
    argTypes:
    - struct domain_access_rules*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 4
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: free_domain_access_rules
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - free_domain_rule
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_domain_access_rules(struct domain_access_rules *dar)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:797,1
    - Dst: ddsrt_xmlp_new_string
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:800,1
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:801,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:803,1
    - Dst: print_governance_parser_result
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:807,1
    - Dst: validate_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:811,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:816,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:823,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:826,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:832,1
    - Dst: ac_return_governance_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:833,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - xml
    - governance_tree
    - ex
    argTypes:
    - char*
    - struct governance_parser**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 785
    functionDepth: 7
    functionLinenumber: 785
    functionLinenumberEnd: 836
    functionName: ac_parse_governance_xml
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - ddsrt_xmlp_parse
    - ddsrt_xmlp_free
    - print_governance_parser_result
    - ddsrt_xmlp_new_string
    - ddsrt_malloc
    - ac_return_governance_tree
    - validate_rules
    linkageType: ''
    returnType: bool
    signature: bool ac_parse_governance_xml(const char *xml, struct governance_parser
      **governance_tree, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_domain_access_rules
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:844,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:845,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct governance_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 5
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: ac_return_governance_tree
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_domain_access_rules
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ac_return_governance_tree(struct governance_parser *parser)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:856,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:857,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:858,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:862,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:863,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:868,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:871,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:872,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:873,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:874,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:875,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:876,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:877,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:884,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:887,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:894,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:900,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:901,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:902,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:903,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:904,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:905,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:906,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:907,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:908,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:909,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:910,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:911,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:912,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:913,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:914,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:916,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:919,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:921,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:924,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:926,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:929,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:931,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:934,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:935,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:936,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:937,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:938,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:939,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:940,1
    - Dst: PREPARE_NODE_WITH_LIST
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:941,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:942,1
    - Dst: PREPARE_NODE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:943,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:944,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:945,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:946,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:947,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:948,1
    - Dst: new_element
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:950,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:954,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:959,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 5
    argNames:
    - varg
    - parentinfo
    - eleminfo
    - name
    - line
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 961
    functionName: permissions_element_open_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - new_element
    - DDSRT_UNUSED_ARG
    - PREPARE_NODE_WITH_LIST
    - printf
    - ddsrt_strcasecmp
    - PREPARE_NODE
    linkageType: ''
    returnType: int
    signature: int permissions_element_open_cb(void *varg, uintptr_t parentinfo, uintptr_t
      *eleminfo, const char *name, int line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:973,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:974,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:975,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:975,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:977,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - varg
    - eleminfo
    - name
    - value
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 987
    functionName: permissions_element_attr_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - ddsrt_strdup
    - strcmp
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int permissions_element_attr_cb(void *varg, uintptr_t eleminfo, const
      char *name, const char *value, int line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:994,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:995,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1001,1
    - Dst: str_to_intvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - varg
    - eleminfo
    - data
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1020
    functionName: permissions_element_data_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - str_to_intvalue
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int permissions_element_data_cb(void *varg, uintptr_t eleminfo, const
      char *data, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1026,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1027,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - varg
    - eleminfo
    - line
    argTypes:
    - void*
    - uintptr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1036
    functionName: permissions_element_close_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int permissions_element_close_cb(void *varg, uintptr_t eleminfo, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1040,1
    - Dst: printf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: permissions_error_cb
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - printf
    linkageType: ''
    returnType: void
    signature: void permissions_error_cb(void *varg, const char *msg, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1057,1
    - Dst: ddsrt_xmlp_new_string
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1060,1
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1061,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1063,1
    - Dst: print_permissions_parser_result
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1067,1
    - Dst: validate_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1071,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1076,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1083,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1086,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1091,1
    - Dst: ac_return_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - xml
    - permissions_tree
    - ex
    argTypes:
    - char*
    - struct permissions_parser**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1044
    functionDepth: 8
    functionLinenumber: 1044
    functionLinenumberEnd: 1095
    functionName: ac_parse_permissions_xml
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - ac_return_permissions_tree
    - ddsrt_xmlp_parse
    - print_permissions_parser_result
    - validate_permissions_tree
    - ddsrt_xmlp_new_string
    - ddsrt_malloc
    - ddsrt_xmlp_free
    linkageType: ''
    returnType: bool
    signature: bool ac_parse_permissions_xml(const char *xml, struct permissions_parser
      **permissions_tree, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_topic
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1102,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - topic
    argTypes:
    - struct string_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1105
    functionName: free_topic
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_stringvalue
    - free_topic
    linkageType: ''
    returnType: void
    signature: void free_topic(struct string_value *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_topic
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1111,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - topics
    argTypes:
    - struct topics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1114
    functionName: free_topics
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - free_topic
    linkageType: ''
    returnType: void
    signature: void free_topics(struct topics *topics)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_partition
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1121,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - partition
    argTypes:
    - struct string_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1124
    functionName: free_partition
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_partition
    - free_stringvalue
    linkageType: ''
    returnType: void
    signature: void free_partition(struct string_value *partition)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_partition
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1130,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - struct partitions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1133
    functionName: free_partitions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - free_partition
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_partitions(struct partitions *partitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1139,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1140,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - validity
    argTypes:
    - struct validity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: free_validity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - free_stringvalue
    linkageType: ''
    returnType: void
    signature: void free_validity(struct validity *validity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1150,1
    - Dst: free_partitions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1151,1
    - Dst: free_topics
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1152,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - criteria
    argTypes:
    - struct criteria*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1155
    functionName: free_criteria
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_criteria
    - free_partitions
    - ddsrt_free
    - free_topics
    linkageType: ''
    returnType: void
    signature: void free_criteria(struct criteria *criteria)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_allow_deny_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1161,1
    - Dst: free_domains
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1162,1
    - Dst: free_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1163,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct allow_deny_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1166
    functionName: free_allow_deny_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - free_criteria
    - free_allow_deny_rule
    - free_domains
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_allow_deny_rule(struct allow_deny_rule *rule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_grant
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1173,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1174,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1175,1
    - Dst: free_stringvalue
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1176,1
    - Dst: free_validity
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1177,1
    - Dst: free_allow_deny_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1178,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - grant
    argTypes:
    - struct grant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1181
    functionName: free_grant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - free_validity
    - free_allow_deny_rule
    - free_grant
    - free_stringvalue
    linkageType: ''
    returnType: void
    signature: void free_grant(struct grant *grant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_grant
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1187,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - permissions
    argTypes:
    - struct permissions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1183
    functionDepth: 5
    functionLinenumber: 1183
    functionLinenumberEnd: 1190
    functionName: free_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 0
    functionsReached:
    - free_grant
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_permissions(struct permissions *permissions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1198,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1199,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c:1201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct permissions_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1192
    functionDepth: 6
    functionLinenumber: 1192
    functionLinenumberEnd: 1203
    functionName: ac_return_permissions_tree
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - free_permissions
    linkageType: ''
    returnType: void
    signature: void ac_return_permissions_tree(struct permissions_parser *parser)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - kind
    argTypes:
    - AccessControlObject*
    - AccessControlObjectKind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: access_control_object_valid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool access_control_object_valid(const AccessControlObject *obj, const
      AccessControlObjectKind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: access_control_object_hash
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t access_control_object_hash(const void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ha
    - hb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: access_control_object_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool access_control_object_equal(const void *ha, const void *hb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:58,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - kind
    - destructor
    argTypes:
    - AccessControlObject*
    - AccessControlObjectKind_t
    - AccessControlObjectDestructor
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: access_control_object_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void access_control_object_init(AccessControlObject *obj, AccessControlObjectKind_t
      kind, AccessControlObjectDestructor destructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: access_control_object_deinit
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void access_control_object_deinit(AccessControlObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AccessControlObject*::destructor
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: access_control_object_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - AccessControlObject*::destructor
    linkageType: ''
    returnType: void
    signature: void access_control_object_free(AccessControlObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: access_control_object_keep
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: AccessControlObject
    signature: AccessControlObject *access_control_object_keep(AccessControlObject
      *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:90,1
    - Dst: access_control_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: access_control_object_release
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - access_control_object_free
    - ddsrt_atomic_dec32_nv
    linkageType: ''
    returnType: void
    signature: void access_control_object_release(AccessControlObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:99,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:100,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: access_control_table_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_hh_new
    linkageType: ''
    returnType: struct AccessControlTable
    signature: struct AccessControlTable *access_control_table_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:112,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:112,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:114,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:115,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:117,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:118,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct AccessControlTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: access_control_table_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_hh_remove
    - access_control_object_release
    - ddsrt_hh_free
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void access_control_table_free(struct AccessControlTable *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:126,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:127,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:129,1
    - Dst: access_control_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:130,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:130,1
    - Dst: access_control_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:132,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:133,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - table
    - object
    argTypes:
    - struct AccessControlTable*
    - AccessControlObject*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    - condition: (object)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: access_control_table_insert
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_add
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_lookup
    - access_control_object_keep
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: AccessControlObject
    signature: AccessControlObject *access_control_table_insert(struct AccessControlTable
      *table, AccessControlObject *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:141,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:142,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:143,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:144,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:145,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - table
    - object
    argTypes:
    - struct AccessControlTable*
    - AccessControlObject*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    - condition: (object)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: access_control_table_remove_object
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_remove
    - ddsrt_mutex_lock
    - assert
    - access_control_object_release
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void access_control_table_remove_object(struct AccessControlTable *table,
      AccessControlObject *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:153,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:155,1
    - Dst: access_control_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:156,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:156,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:158,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:159,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - table
    - handle
    argTypes:
    - struct AccessControlTable*
    - int64_t
    assertStmts:
    - condition: (table)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: access_control_table_remove
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_remove
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_lookup
    - access_control_object_release
    - access_control_object_keep
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: AccessControlObject
    signature: AccessControlObject *access_control_table_remove(struct AccessControlTable
      *table, int64_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:169,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:171,1
    - Dst: access_control_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:172,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:172,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - table
    - handle
    argTypes:
    - struct AccessControlTable*
    - int64_t
    assertStmts:
    - condition: (table)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: access_control_table_find
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_lookup
    - access_control_object_keep
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: AccessControlObject
    signature: AccessControlObject *access_control_table_find(struct AccessControlTable
      *table, int64_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:183,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:184,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:185,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:185,1
    - Dst: callback
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:186,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - callback
    - arg
    argTypes:
    - struct AccessControlTable*
    - AccessControlTableCallback
    - void*
    assertStmts:
    - condition: (table)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    - condition: (callback)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: access_control_table_walk
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - callback
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void access_control_table_walk(struct AccessControlTable *table, AccessControlTableCallback
      callback, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:195,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:197,1
    - Dst: access_control_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:198,1
    - Dst: ac_return_governance_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:200,1
    - Dst: ac_return_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:202,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:203,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 7
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: local_participant_access_rights_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - X509_free
    - ddsrt_free
    - ac_return_permissions_tree
    - access_control_object_deinit
    - ac_return_governance_tree
    linkageType: ''
    returnType: void
    signature: void local_participant_access_rights_free(AccessControlObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:217,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:218,1
    - Dst: access_control_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:219,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - local_identity
    - domain_id
    - permissions_document
    - permissions_ca
    - identity_subject_name
    - governance_tree
    - permissions_tree
    argTypes:
    - DDS_Security_IdentityHandle
    - int
    - char*
    - X509*
    - char*
    - struct governance_parser*
    - struct permissions_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: ac_local_participant_access_rights_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - access_control_object_init
    - memset
    linkageType: ''
    returnType: local_participant_access_rights
    signature: "local_participant_access_rights *ac_local_participant_access_rights_new(\n
      \   DDS_Security_IdentityHandle local_identity,\n    int domain_id,\n    char
      *permissions_document,\n    X509 *permissions_ca,\n    const char *identity_subject_name,\n
      \   struct governance_parser *governance_tree,\n    struct permissions_parser
      *permissions_tree)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:238,1
    - Dst: ac_return_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:243,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:244,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:247,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:248,1
    - Dst: access_control_object_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:249,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - AccessControlObject*
    assertStmts:
    - condition: (rights->permissions->ref_cnt > 0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 252
      start: 231
    functionDepth: 7
    functionLinenumber: 231
    functionLinenumberEnd: 252
    functionName: remote_participant_access_rights_free
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ac_return_permissions_tree
    - assert
    - ACCESS_CONTROL_OBJECT_RELEASE
    - access_control_object_deinit
    linkageType: ''
    returnType: void
    signature: void remote_participant_access_rights_free(AccessControlObject *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:263,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:264,1
    - Dst: access_control_object_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:265,1
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:269,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:274,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:276,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:276,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:277,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - remote_identity
    - local_rights
    - permissions
    - permission_expiry
    - remote_permissions_token
    - identity_subject
    argTypes:
    - DDS_Security_IdentityHandle
    - local_participant_access_rights*
    - remote_permissions*
    - dds_time_t
    - DDS_Security_PermissionsToken*
    - char*
    assertStmts:
    - condition: (strcmp (rights->permissions->remote_permissions_token_class_id,
        remote_permissions_token->class_id) == 0)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    - condition: (identity_subject == NULL)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    constantsTouched: []
    func_position:
      end: 285
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 285
    functionName: ac_remote_participant_access_rights_new
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    - memset
    - ddsrt_strdup
    - ddsrt_malloc
    - access_control_object_init
    - ACCESS_CONTROL_OBJECT_KEEP
    linkageType: ''
    returnType: remote_participant_access_rights
    signature: "remote_participant_access_rights *\nac_remote_participant_access_rights_new(\n
      \   DDS_Security_IdentityHandle remote_identity,\n    const local_participant_access_rights
      *local_rights,\n    remote_permissions *permissions,\n    dds_time_t permission_expiry,\n
      \   const DDS_Security_PermissionsToken *remote_permissions_token,\n    const
      char *identity_subject)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:34,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bio
    - x509Cert
    - ex
    argTypes:
    - BIO*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (x509Cert)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: load_X509_certificate_from_bio
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 2
    functionsReached:
    - assert
    - DDS_Security_Exception_set_with_openssl_error
    - PEM_read_bio_X509
    linkageType: ''
    returnType: bool
    signature: bool load_X509_certificate_from_bio (BIO *bio, X509 **x509Cert, DDS_Security_SecurityException
      *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ac_regular_file_size
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:56,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:58,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:62,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:62,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:64,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:68,1
    - Dst: fopen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:69,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:71,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:74,1
    - Dst: feof
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:78,1
    - Dst: ferror
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:78,1
    - Dst: fread
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:78,1
    - Dst: BIO_write
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:80,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:82,1
    - Dst: feof
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:88,1
    - Dst: ferror
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:88,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:90,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:93,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:98,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - filename
    - ex
    argTypes:
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 102
    functionName: load_file_into_BIO
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 3
    functionsReached:
    - fclose
    - BIO_s_mem
    - DDS_Security_Exception_set
    - DDSRT_WARNING_MSVC_OFF
    - BIO_new
    - BIO_write
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    - fread
    - ferror
    - ac_regular_file_size
    - feof
    linkageType: ''
    returnType: BIO
    signature: BIO *load_file_into_BIO (const char *filename, DDS_Security_SecurityException
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:107,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:109,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:110,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:112,1
    - Dst: load_X509_certificate_from_bio
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:117,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - len
    - x509Cert
    - ex
    argTypes:
    - char*
    - int
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (len >= 0)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: ac_X509_certificate_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - assert
    - load_X509_certificate_from_bio
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: bool
    signature: bool ac_X509_certificate_from_data(const char *data, int len, X509
      **x509Cert, DDS_Security_SecurityException *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:125,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:126,1
    - Dst: load_file_into_BIO
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:129,1
    - Dst: load_X509_certificate_from_bio
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:133,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - filename
    - x509Cert
    - ex
    argTypes:
    - char*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (filename)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: ac_X509_certificate_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - load_X509_certificate_from_bio
    - BIO_free
    - load_file_into_BIO
    linkageType: ''
    returnType: bool
    signature: bool ac_X509_certificate_from_file(const char *filename, X509 **x509Cert,
      DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:148,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:149,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:155,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:157,1
    - Dst: ENGINE_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - uri
    - x509Cert
    - ex
    argTypes:
    - char*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: ac_X509_certificate_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - DDS_Security_Exception_set
    - ENGINE_by_id
    - ENGINE_ctrl_cmd
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: bool
    signature: bool ac_X509_certificate_from_pkcs11(const char *uri, X509 **x509Cert,
      DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:172,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:173,1
    - Dst: OSSL_STORE_open
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:175,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:177,1
    - Dst: OSSL_STORE_load
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:183,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:185,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:186,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:187,1
    - Dst: OSSL_STORE_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:189,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:191,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:196,1
    - Dst: OSSL_STORE_close
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - uri
    - x509Cert
    - ex
    argTypes:
    - char*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (uri)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 203
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 203
    functionName: ac_X509_certificate_from_pkcs11
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - OSSL_STORE_close
    - assert
    - OSSL_STORE_error
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get1_CERT
    - OSSL_STORE_INFO_get_type
    - DDS_Security_Exception_set_with_openssl_error
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    linkageType: ''
    returnType: bool
    signature: bool ac_X509_certificate_from_pkcs11(const char *uri, X509 **x509Cert,
      DDS_Security_SecurityException *ex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:210,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:211,1
    - Dst: DDS_Security_get_conf_item_type
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:213,1
    - Dst: ac_X509_certificate_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:216,1
    - Dst: ac_X509_certificate_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:219,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:219,1
    - Dst: ac_X509_certificate_from_pkcs11
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:222,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:225,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - data
    - x509Cert
    - ex
    argTypes:
    - char*
    - X509**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (x509Cert)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: ac_X509_certificate_read
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_get_conf_item_type
    - ac_X509_certificate_from_pkcs11
    - ddsrt_free
    - DDS_Security_Exception_set
    - assert
    - strlen
    - ac_X509_certificate_from_data
    - ac_X509_certificate_from_file
    linkageType: ''
    returnType: bool
    signature: bool ac_X509_certificate_read(const char *data, X509 **x509Cert, DDS_Security_SecurityException
      *ex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:241,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:242,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:242,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:244,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:247,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:249,1
    - Dst: X509_NAME_print_ex
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:254,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:256,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:257,1
    - Dst: BIO_gets
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:259,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:261,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:262,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:265,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - cert
    - ex
    argTypes:
    - X509*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 272
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 272
    functionName: ac_get_certificate_subject_name
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - X509_NAME_print_ex
    - BIO_gets
    - ddsrt_free
    - assert
    - BIO_new
    - X509_get_subject_name
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *ac_get_certificate_subject_name(X509 *cert, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:277,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:278,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:279,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:282,1
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:283,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:285,1
    - Dst: SMIME_read_PKCS7
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:288,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:290,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:291,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - data
    - len
    - p7
    - bcont
    - ex
    argTypes:
    - char*
    - size_t
    - PKCS7**
    - BIO**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (p7)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (bcont)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (len < INT32_MAX)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: PKCS7_document_from_data
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - assert
    - SMIME_read_PKCS7
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    linkageType: ''
    returnType: bool
    signature: bool PKCS7_document_from_data(const char *data, size_t len, PKCS7 **p7,
      BIO **bcont, DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:301,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:303,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:304,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:305,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:306,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:308,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:308,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:309,1
    - Dst: sk_X509_new_null
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:310,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:311,1
    - Dst: sk_X509_push
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:314,1
    - Dst: PKCS7_verify
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:315,1
    - Dst: DDS_Security_Exception_set_with_openssl_error
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:316,1
    - Dst: sk_X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:321,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - p7
    - cert
    - inbio
    - outbio
    - ex
    argTypes:
    - PKCS7*
    - X509*
    - BIO*
    - BIO**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (cert)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (inbio)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (outbio)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (p7)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: PKCS7_document_verify
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - sk_X509_push
    - assert
    - BIO_new
    - STACK_OF
    - BIO_free
    - DDS_Security_Exception_set_with_openssl_error
    - PKCS7_verify
    - sk_X509_free
    - sk_X509_new_null
    linkageType: ''
    returnType: bool
    signature: bool PKCS7_document_verify(PKCS7 *p7, X509 *cert, BIO *inbio, BIO **outbio,
      DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:338,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:339,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:340,1
    - Dst: PKCS7_document_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:342,1
    - Dst: PKCS7_document_verify
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:345,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:348,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:349,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:350,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:353,1
    - Dst: PKCS7_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:356,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - data
    - len
    - cert
    - document
    - ex
    argTypes:
    - char*
    - size_t
    - X509*
    - char**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (document)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (cert)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 360
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 360
    functionName: ac_PKCS7_document_check
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - PKCS7_document_verify
    - memcpy
    - assert
    - PKCS7_document_from_data
    - PKCS7_free
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool ac_PKCS7_document_check(const char *data, size_t len, X509 *cert,
      char **document, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:364,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:365,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:367,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:369,1
    - Dst: ddsrt_str_trim_ord_space
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:370,1
    - Dst: ddsrt_str_trim_ord_space
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:371,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:374,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:377,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:378,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - str
    - properties
    argTypes:
    - char*
    - DDS_Security_PropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: string_to_properties
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_str_trim_ord_space
    - strlen
    - ddsrt_strdup
    - ddsrt_strsep
    linkageType: ''
    returnType: bool
    signature: bool string_to_properties(const char *str, DDS_Security_PropertySeq
      *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:388,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:392,1
    - Dst: string_to_properties
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:394,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:397,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:400,1
    - Dst: ddsrt_str_trim_ord_space
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:401,1
    - Dst: ddsrt_str_trim_ord_space
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:402,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:405,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:406,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:408,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:411,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:416,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - permissions_sn
    - identity_sn
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 419
    functionName: ac_check_subjects_are_equal
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached:
    - DDS_Security_PropertySeq_deinit
    - ddsrt_free
    - string_to_properties
    - strcmp
    - DDS_Security_Property_get_value
    - ddsrt_str_trim_ord_space
    - ddsrt_strdup
    - ddsrt_strsep
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool ac_check_subjects_are_equal(const char *permissions_sn, const
      char *identity_sn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _stat
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:427,1
    - Dst: stat
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:432,1
    - Dst: S_ISREG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 438
    functionName: ac_regular_file_size
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - stat
    - _stat
    linkageType: ''
    returnType: size_t
    signature: size_t ac_regular_file_size(const char *filename)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pat
    - c
    - new_pat
    argTypes:
    - char*
    - char
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 468
    functionName: sequencematch
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sequencematch(const char *pat, char c, char **new_pat)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:476,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:477,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:501,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:502,1
    - Dst: sequencematch
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c:512,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - pat
    - str
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (pat != NULL)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (*pat != '*')
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    - condition: (str != NULL)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    constantsTouched: []
    func_position:
      end: 530
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 530
    functionName: ac_fnmatch
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    functionUses: 2
    functionsReached:
    - assert
    - sequencematch
    - ac_fnmatch
    linkageType: ''
    returnType: bool
    signature: bool ac_fnmatch(const char* pat, const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: ACCESS_CONTROL_OBJECT
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_CONTROL_OBJECT(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ACCESS_CONTROL_OBJECT_HANDLE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_CONTROL_OBJECT_HANDLE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ACCESS_CONTROL_OBJECT_KEEP
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_CONTROL_OBJECT_KEEP(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: ACCESS_CONTROL_OBJECT_RELEASE
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_CONTROL_OBJECT_RELEASE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ACCESS_CONTROL_OBJECT_VALID
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_CONTROL_OBJECT_VALID(o,k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:110,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:115,1
    - Dst: check_and_create_local_participant_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:118,1
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:123,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:126,1
    - Dst: find_local_rights_by_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:129,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:132,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:133,1
    - Dst: check_and_create_local_participant_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:136,1
    - Dst: access_control_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:138,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:142,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:144,1
    - Dst: add_validity_end_trigger
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - instance
    - auth_plugin
    - identity_handle
    - domain_id
    - participant_qos
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (rights->_parent.permissions_expiry != DDS_TIME_INVALID)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 150
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 150
    functionName: validate_local_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 8
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - find_local_rights_by_identity
    - check_and_create_local_participant_rights
    - DDS_Security_Exception_set
    - add_validity_end_trigger
    - ddsrt_mutex_lock
    - assert
    - ACCESS_CONTROL_OBJECT_KEEP
    - access_control_table_insert
    - ACCESS_CONTROL_OBJECT_RELEASE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: DDS_Security_PermissionsHandle
    signature: "DDS_Security_PermissionsHandle validate_local_permissions(\n    dds_security_access_control
      *instance,\n    const dds_security_authentication *auth_plugin,\n    const DDS_Security_IdentityHandle
      identity_handle,\n    const DDS_Security_DomainId domain_id,\n    const DDS_Security_Qos
      *participant_qos,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:170,1
    - Dst: find_local_rights_by_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:174,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:176,1
    - Dst: find_remote_rights_by_identity
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:180,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:184,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:185,1
    - Dst: ac_remote_participant_access_rights_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:193,1
    - Dst: sanity_check_remote_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:194,1
    - Dst: check_and_create_remote_participant_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:199,1
    - Dst: check_and_create_remote_participant_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:202,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:205,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:207,1
    - Dst: add_validity_end_trigger
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:209,1
    - Dst: access_control_table_insert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:213,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:215,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:216,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:217,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 7
    argNames:
    - instance
    - auth_plugin
    - local_identity_handle
    - remote_identity_handle
    - remote_permissions_token
    - remote_credential_token
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    - DDS_Security_IdentityHandle
    - DDS_Security_PermissionsToken*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (remote_rights->_parent.permissions_expiry != DDS_TIME_INVALID)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 220
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 220
    functionName: validate_remote_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 3
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - find_local_rights_by_identity
    - check_and_create_remote_participant_rights
    - find_remote_rights_by_identity
    - DDS_Security_Exception_set
    - add_validity_end_trigger
    - assert
    - access_control_table_insert
    - ac_remote_participant_access_rights_new
    - ACCESS_CONTROL_OBJECT_RELEASE
    - sanity_check_remote_access_rights
    linkageType: ''
    returnType: DDS_Security_PermissionsHandle
    signature: "DDS_Security_PermissionsHandle validate_remote_permissions(\n    dds_security_access_control
      *instance,\n    const dds_security_authentication *auth_plugin,\n    const DDS_Security_IdentityHandle
      local_identity_handle,\n    const DDS_Security_IdentityHandle remote_identity_handle,\n
      \   const DDS_Security_PermissionsToken *remote_permissions_token,\n    const
      DDS_Security_AuthenticatedPeerCredentialToken *remote_credential_token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:238,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:243,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:245,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:250,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:253,1
    - Dst: get_participant_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:271,1
    - Dst: is_participant_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:281,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:284,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - participant_qos
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 286
    functionName: check_create_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - find_domain_rule_in_governance
    - DDS_Security_Exception_set
    - is_participant_allowed_by_permissions
    - find_local_access_rights
    - ACCESS_CONTROL_OBJECT_RELEASE
    - get_participant_sec_attributes
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_participant(dds_security_access_control
      *instance,\n                         const DDS_Security_PermissionsHandle permissions_handle,\n
      \                        const DDS_Security_DomainId domain_id,\n                         const
      DDS_Security_Qos *participant_qos,\n                         DDS_Security_SecurityException
      *ex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:300,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:304,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:309,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:314,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:319,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:324,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:327,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:329,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:334,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:340,1
    - Dst: is_readwrite_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:350,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 8
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - writer_qos
    - partition
    - data_tag
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTags*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: check_create_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Exception_set
    - DDSRT_UNUSED_ARG
    - dds_security_access_control*::get_topic_sec_attributes
    - find_local_access_rights
    - is_readwrite_allowed_by_permissions
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_datawriter(dds_security_access_control
      *instance,\n                        const DDS_Security_PermissionsHandle permissions_handle,\n
      \                       const DDS_Security_DomainId domain_id, const char *topic_name,\n
      \                       const DDS_Security_Qos *writer_qos,\n                        const
      DDS_Security_PartitionQosPolicy *partition,\n                        const DDS_Security_DataTags
      *data_tag,\n                        DDS_Security_SecurityException *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:371,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:375,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:378,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:380,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:385,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:391,1
    - Dst: is_readwrite_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:401,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 8
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - reader_qos
    - partition
    - data_tag
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTags*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 406
    functionName: check_create_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Exception_set
    - DDSRT_UNUSED_ARG
    - dds_security_access_control*::get_topic_sec_attributes
    - find_local_access_rights
    - is_readwrite_allowed_by_permissions
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_datareader(dds_security_access_control
      *instance,\n                        const DDS_Security_PermissionsHandle permissions_handle,\n
      \                       const DDS_Security_DomainId domain_id,\n                        const
      char *topic_name,\n                        const DDS_Security_Qos *reader_qos,\n
      \                       const DDS_Security_PartitionQosPolicy *partition,\n
      \                       const DDS_Security_DataTags *data_tag,\n                        DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:420,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:423,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:425,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:430,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:436,1
    - Dst: is_topic_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:446,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:451,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_name
    - qos
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - char*
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 456
    functionName: check_create_topic
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - is_topic_allowed_by_permissions
    - DDS_Security_Exception_set
    - dds_security_access_control*::get_topic_sec_attributes
    - find_local_access_rights
    - ACCESS_CONTROL_OBJECT_RELEASE
    - DDS_Security_Exception_reset
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_create_topic(dds_security_access_control
      *instance,\n                   const DDS_Security_PermissionsHandle permissions_handle,\n
      \                  const DDS_Security_DomainId domain_id, const char *topic_name,\n
      \                  const DDS_Security_Qos *qos, DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:465,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:466,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:467,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:468,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - writer
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_DynamicData*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: check_local_datawriter_register_instance
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_register_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *writer, const DDS_Security_DynamicData *key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:482,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:483,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:484,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:485,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - writer
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_DynamicData
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: check_local_datawriter_dispose_instance
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_dispose_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *writer, const DDS_Security_DynamicData key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:508,1
    - Dst: find_remote_permissions_by_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:513,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:515,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:520,1
    - Dst: get_participant_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:521,1
    - Dst: compare_class_id_plugin_classname
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:532,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:534,1
    - Dst: compare_class_id_major_ver
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:537,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:539,1
    - Dst: is_participant_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:546,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - participant_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_ParticipantBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 551
    functionName: check_remote_participant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - find_remote_permissions_by_permissions_handle
    - DDS_Security_Exception_set
    - is_participant_allowed_by_permissions
    - compare_class_id_major_ver
    - compare_class_id_plugin_classname
    - ACCESS_CONTROL_OBJECT_RELEASE
    - get_participant_sec_attributes
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_participant(dds_security_access_control
      *instance,\n                         const DDS_Security_PermissionsHandle permissions_handle,\n
      \                        const DDS_Security_DomainId domain_id,\n                         const
      DDS_Security_ParticipantBuiltinTopicDataSecure *participant_data,\n                         DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:568,1
    - Dst: find_remote_permissions_by_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:571,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:573,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:576,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:576,1
    - Dst: compare_class_id_plugin_classname
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:586,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:588,1
    - Dst: compare_class_id_major_ver
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:592,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:594,1
    - Dst: is_readwrite_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:600,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:604,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - publication_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 606
    functionName: check_remote_datawriter
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - find_remote_permissions_by_permissions_handle
    - DDS_Security_Exception_set
    - dds_security_access_control*::get_topic_sec_attributes
    - compare_class_id_major_ver
    - compare_class_id_plugin_classname
    - is_readwrite_allowed_by_permissions
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter(dds_security_access_control
      *instance,\n                        const DDS_Security_PermissionsHandle permissions_handle,\n
      \                       const DDS_Security_DomainId domain_id,\n                        const
      DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n                        DDS_Security_SecurityException
      *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:625,1
    - Dst: find_remote_permissions_by_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:630,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:632,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:635,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:635,1
    - Dst: compare_class_id_plugin_classname
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:645,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:647,1
    - Dst: compare_class_id_major_ver
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:651,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:653,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:655,1
    - Dst: is_readwrite_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:660,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:664,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - subscription_data
    - relay_only
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_boolean*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 666
    functionName: check_remote_datareader
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - find_remote_permissions_by_permissions_handle
    - DDS_Security_Exception_set
    - dds_security_access_control*::get_topic_sec_attributes
    - compare_class_id_major_ver
    - compare_class_id_plugin_classname
    - ACCESS_CONTROL_OBJECT_RELEASE
    - is_readwrite_allowed_by_permissions
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datareader(dds_security_access_control
      *instance,\n                        const DDS_Security_PermissionsHandle permissions_handle,\n
      \                       const DDS_Security_DomainId domain_id,\n                        const
      DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n                        DDS_Security_boolean
      *relay_only,\n                        DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:683,1
    - Dst: find_remote_permissions_by_permissions_handle
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:686,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:688,1
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:691,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:691,1
    - Dst: compare_class_id_plugin_classname
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:701,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:703,1
    - Dst: compare_class_id_major_ver
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:707,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:709,1
    - Dst: is_topic_allowed_by_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:714,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:717,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - domain_id
    - topic_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_DomainId
    - DDS_Security_TopicBuiltinTopicData*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 719
    functionName: check_remote_topic
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - is_topic_allowed_by_permissions
    - find_remote_permissions_by_permissions_handle
    - DDS_Security_Exception_set
    - dds_security_access_control*::get_topic_sec_attributes
    - compare_class_id_major_ver
    - compare_class_id_plugin_classname
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_topic(dds_security_access_control
      *instance,\n                   const DDS_Security_PermissionsHandle permissions_handle,\n
      \                  const DDS_Security_DomainId domain_id,\n                   const
      DDS_Security_TopicBuiltinTopicData *topic_data,\n                   DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:730,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:731,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:732,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:733,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:734,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - writer_permissions_handle
    - reader_permissions_handle
    - publication_data
    - subscription_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 740
    functionName: check_local_datawriter_match
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datawriter_match(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle writer_permissions_handle,\n
      \   const DDS_Security_PermissionsHandle reader_permissions_handle,\n    const
      DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    const
      DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:751,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:752,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:753,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:754,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:755,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - reader_permissions_handle
    - writer_permissions_handle
    - subscription_data
    - publication_data
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_PermissionsHandle
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 760
    functionName: check_local_datareader_match
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_local_datareader_match(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle reader_permissions_handle,\n
      \   const DDS_Security_PermissionsHandle writer_permissions_handle,\n    const
      DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    const
      DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:772,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:773,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:774,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:775,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:776,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:777,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - reader
    - publication_handle
    - key
    - instance_handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_InstanceHandle
    - DDS_Security_DynamicData
    - DDS_Security_InstanceHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 782
    functionName: check_remote_datawriter_register_instance
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter_register_instance(\n
      \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
      permissions_handle,\n    const DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle
      publication_handle,\n    const DDS_Security_DynamicData key,\n    const DDS_Security_InstanceHandle
      instance_handle,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:793,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:794,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:795,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:796,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:797,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - instance
    - permissions_handle
    - reader
    - publication_handle
    - key
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_Entity*
    - DDS_Security_InstanceHandle
    - DDS_Security_DynamicData
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 802
    functionName: check_remote_datawriter_dispose_instance
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean check_remote_datawriter_dispose_instance(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle publication_handle,\n
      \   const DDS_Security_DynamicData key,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:815,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:820,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:825,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:828,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:830,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:834,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:835,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - instance
    - permissions_token
    - handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsToken*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 804
    functionDepth: 3
    functionLinenumber: 804
    functionLinenumberEnd: 838
    functionName: get_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Exception_set
    - memset
    - find_local_access_rights
    - ddsrt_strdup
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_permissions_token(dds_security_access_control
      *instance,\n                      DDS_Security_PermissionsToken *permissions_token,\n
      \                     const DDS_Security_PermissionsHandle handle,\n                      DDS_Security_SecurityException
      *ex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:853,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:858,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:863,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:866,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:868,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:872,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:873,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:875,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:876,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:877,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - instance
    - permissions_credential_token
    - handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 880
    functionName: get_permissions_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_Exception_set
    - memset
    - find_local_access_rights
    - DDS_Security_PropertySeq_allocbuf
    - ddsrt_strdup
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_permissions_credential_token(\n    dds_security_access_control
      *instance,\n    DDS_Security_PermissionsCredentialToken *permissions_credential_token,\n
      \   const DDS_Security_PermissionsHandle handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:888,1
    - Dst: dds_security_timed_dispatcher_enable
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:893,1
    - Dst: dds_security_timed_dispatcher_disable
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - listener
    - ex
    argTypes:
    - dds_security_access_control*
    - dds_security_access_control_listener*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: set_listener
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 6
    functionsReached:
    - dds_security_timed_dispatcher_disable
    - DDSRT_UNUSED_ARG
    - dds_security_timed_dispatcher_enable
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean set_listener(dds_security_access_control *instance,\n
      \            const dds_security_access_control_listener *listener,\n             DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:908,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - token
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 913
    functionName: return_permissions_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_token(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsToken *token,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:923,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - instance
    - permissions_credential_token
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 928
    functionName: return_permissions_credential_token
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDS_Security_DataHolder_deinit
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_credential_token(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsCredentialToken *permissions_credential_token,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - kind
    - is_protected
    - mask
    - encryption_bit
    - authentication_bit
    argTypes:
    - DDS_Security_ProtectionKind
    - DDS_Security_boolean*
    - DDS_Security_ParticipantSecurityAttributesMask*
    - DDS_Security_ParticipantSecurityAttributesMask
    - DDS_Security_ParticipantSecurityAttributesMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 961
    functionName: protectionkind_to_participant_attribute
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void protectionkind_to_participant_attribute(\n    DDS_Security_ProtectionKind
      kind,\n    DDS_Security_boolean *is_protected,\n    DDS_Security_ParticipantSecurityAttributesMask
      *mask,\n    DDS_Security_ParticipantSecurityAttributesMask encryption_bit,\n
      \   DDS_Security_ParticipantSecurityAttributesMask authentication_bit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - is_payload_encrypted
    - is_submessage_encrypted
    - is_submessage_origin_authenticated
    argTypes:
    - DDS_Security_boolean
    - DDS_Security_boolean
    - DDS_Security_boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 977
    functionName: get_plugin_endpoint_security_attributes_mask
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_PluginEndpointSecurityAttributesMask
    signature: "DDS_Security_PluginEndpointSecurityAttributesMask get_plugin_endpoint_security_attributes_mask(\n
      \   DDS_Security_boolean is_payload_encrypted,\n    DDS_Security_boolean is_submessage_encrypted,\n
      \   DDS_Security_boolean is_submessage_origin_authenticated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:985,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:986,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:987,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:988,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:989,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:990,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:991,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:993,1
    - Dst: protectionkind_to_participant_attribute
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1000,1
    - Dst: protectionkind_to_participant_attribute
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1007,1
    - Dst: protectionkind_to_participant_attribute
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - rule
    - attributes
    argTypes:
    - struct domain_rule*
    - DDS_Security_ParticipantSecurityAttributes*
    assertStmts:
    - condition: (rule)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rule->discovery_protection_kind)
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rule->liveliness_protection_kind)
      pos:
        line_end: 987
        line_start: 987
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rule->enable_join_access_control)
      pos:
        line_end: 986
        line_start: 986
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rule->allow_unauthenticated_participants)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rule->rtps_protection_kind)
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (attributes)
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1020
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1020
    functionName: domain_rule_to_participant_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - assert
    - protectionkind_to_participant_attribute
    - memset
    linkageType: ''
    returnType: void
    signature: "void domain_rule_to_participant_attributes(\n    const struct domain_rule
      *rule,\n    DDS_Security_ParticipantSecurityAttributes *attributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - domain
    - domain_id
    argTypes:
    - struct domain_id_set*
    - int
    assertStmts:
    - condition: (domain->min)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1041
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1041
    functionName: domainid_within_sets
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean domainid_within_sets(\n    struct domain_id_set
      *domain,\n    int domain_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1049,1
    - Dst: domainid_within_sets
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rule
    - domain_id
    argTypes:
    - struct domain_rule*
    - int
    assertStmts:
    - condition: (rule->domains)
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1055
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1055
    functionName: find_domain_rule_in_governance
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - assert
    - domainid_within_sets
    linkageType: ''
    returnType: struct domain_rule
    signature: 'struct domain_rule *

      find_domain_rule_in_governance(struct domain_rule *rule, int domain_id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1071,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1076,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1078,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1081,1
    - Dst: domain_rule_to_participant_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1083,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1088,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - instance
    - permissions_handle
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1092
    functionName: get_participant_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - find_domain_rule_in_governance
    - DDS_Security_Exception_set
    - domain_rule_to_participant_attributes
    - find_local_access_rights
    - ACCESS_CONTROL_OBJECT_RELEASE
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_participant_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    DDS_Security_ParticipantSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1097,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1098,1
    - Dst: ddsrt_strncasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - classid1
    - classid2
    argTypes:
    - DDS_Security_string
    - DDS_Security_string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1103
    functionName: compare_class_id_plugin_classname
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - strrchr
    - ddsrt_strncasecmp
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean compare_class_id_plugin_classname(DDS_Security_string
      classid1, DDS_Security_string classid2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1108,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1109,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1112,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1113,1
    - Dst: ddsrt_strncasecmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - classid1
    - classid2
    argTypes:
    - DDS_Security_string
    - DDS_Security_string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1120
    functionName: compare_class_id_major_ver
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - strrchr
    - ddsrt_strncasecmp
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean compare_class_id_major_ver(DDS_Security_string
      classid1, DDS_Security_string classid2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_partition_in_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1136,1
    - Dst: is_partition_in_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1141,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - criteria
    - partitions
    - rule_type
    argTypes:
    - struct criteria*
    - DDS_Security_PartitionQosPolicy*
    - permission_rule_type
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1147
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1147
    functionName: is_partition_qos_in_criteria
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - assert
    - is_partition_in_criteria
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean is_partition_qos_in_criteria(\n    const struct
      criteria *criteria,\n    const DDS_Security_PartitionQosPolicy *partitions,\n
      \   permission_rule_type rule_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - criteria
    - partition_name
    argTypes:
    - struct criteria*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: is_partition_in_criteria
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ac_fnmatch
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean is_partition_in_criteria (\n    const struct
      criteria *criteria,\n    const char *partition_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - criteria
    - topic_name
    argTypes:
    - struct criteria*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1215
    functionName: is_topic_in_criteria
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - ac_fnmatch
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean is_topic_in_criteria(\n    const struct criteria
      *criteria,\n    const char *topic_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1231,1
    - Dst: ac_fnmatch
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - domain_rule
    - topic_name
    argTypes:
    - struct domain_rule*
    - char*
    assertStmts:
    - condition: (topic_rule->topic_expression)
      pos:
        line_end: 1230
        line_start: 1230
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1238
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1238
    functionName: find_topic_from_domain_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - assert
    - ac_fnmatch
    linkageType: ''
    returnType: struct topic_rule
    signature: "struct topic_rule *\nfind_topic_from_domain_rule(\n    struct domain_rule
      *domain_rule,\n    const char *topic_name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1255,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1260,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1263,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1265,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1270,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1273,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1276,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1280,1
    - Dst: get_topic_type
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1282,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1285,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1289,1
    - Dst: find_topic_from_domain_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1291,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1302,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1307,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_TopicSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1240
    functionDepth: 3
    functionLinenumber: 1240
    functionLinenumberEnd: 1312
    functionName: get_topic_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 7
    functionsReached:
    - find_domain_rule_in_governance
    - find_topic_from_domain_rule
    - DDS_Security_Exception_set
    - memset
    - strlen
    - find_local_access_rights
    - ACCESS_CONTROL_OBJECT_RELEASE
    - get_topic_type
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_topic_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    DDS_Security_TopicSecurityAttributes *attributes,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1324,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1325,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1328,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1330,1
    - Dst: get_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - partition
    - data_tag
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTagQosPolicy*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1334
    functionName: get_datawriter_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - get_sec_attributes
    - DDSRT_UNUSED_ARG
    - strlen
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_datawriter_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1346,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1347,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1350,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1352,1
    - Dst: get_sec_attributes
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - instance
    - permissions_handle
    - topic_name
    - partition
    - data_tag
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_PartitionQosPolicy*
    - DDS_Security_DataTagQosPolicy*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1356
    functionName: get_datareader_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - get_sec_attributes
    - DDSRT_UNUSED_ARG
    - strlen
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean get_datareader_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    const
      char *topic_name,\n    const DDS_Security_PartitionQosPolicy *partition,\n    const
      DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
      *attributes,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1364,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1365,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_ParticipantSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1369
    functionName: return_participant_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_participant_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_ParticipantSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1377,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1378,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_TopicSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1382
    functionName: return_topic_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_topic_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_TopicSecurityAttributes *attributes,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1390,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1391,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1395
    functionName: return_datawriter_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_datawriter_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1403,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1404,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - attributes
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1408
    functionName: return_datareader_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_datareader_sec_attributes(\n    dds_security_access_control
      *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1421,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1426,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1427,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1429,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1432,1
    - Dst: access_control_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1434,1
    - Dst: dds_security_timed_dispatcher_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1438,1
    - Dst: access_control_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1440,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1441,1
    - Dst: access_control_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1446,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1449,1
    - Dst: dds_security_timed_dispatcher_remove
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1454,1
    - Dst: access_control_table_remove_object
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1456,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - instance
    - permissions_handle
    - ex
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1410
    functionDepth: 3
    functionLinenumber: 1410
    functionLinenumberEnd: 1459
    functionName: return_permissions_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 9
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - DDS_Security_Exception_set
    - ddsrt_mutex_lock
    - access_control_table_remove_object
    - access_control_object_release
    - dds_security_timed_dispatcher_remove
    - ddsrt_mutex_unlock
    - access_control_table_find
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: "DDS_Security_boolean return_permissions_handle(\n    dds_security_access_control
      *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1463,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1465,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1466,1
    - Dst: dds_security_timed_dispatcher_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1469,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1500,1
    - Dst: access_control_table_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1505,1
    - Dst: access_control_table_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1507,1
    - Dst: dds_openssl_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 3
    argNames:
    - argument
    - context
    - gv
    argTypes:
    - char*
    - void**
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1461
    functionDepth: 2
    functionLinenumber: 1461
    functionLinenumberEnd: 1512
    functionName: init_access_control
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - DDSRT_UNUSED_ARG
    - memset
    - dds_security_timed_dispatcher_new
    - access_control_table_new
    - ddsrt_malloc
    - ddsrt_mutex_init
    - dds_openssl_init
    linkageType: ''
    returnType: int
    signature: int init_access_control(const char *argument, void **context, struct
      ddsi_domaingv *gv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1525,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1526,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1527,1
    - Dst: find_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1528,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1530,1
    - Dst: get_topic_type
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1534,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1542,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1552,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1565,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1578,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1619,1
    - Dst: find_topic_from_domain_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1622,1
    - Dst: get_plugin_endpoint_security_attributes_mask
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1634,1
    - Dst: memset
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1641,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1646,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1651,1
    - Dst: ACCESS_CONTROL_OBJECT_RELEASE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1654,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 5
    argNames:
    - ac
    - permissions_handle
    - topic_name
    - attributes
    - ex
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_PermissionsHandle
    - char*
    - DDS_Security_EndpointSecurityAttributes*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (topic_name)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (attributes)
      pos:
        line_end: 1525
        line_start: 1525
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1656
      start: 1514
    functionDepth: 3
    functionLinenumber: 1514
    functionLinenumberEnd: 1656
    functionName: get_sec_attributes
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - find_domain_rule_in_governance
    - find_topic_from_domain_rule
    - DDS_Security_Exception_set
    - get_plugin_endpoint_security_attributes_mask
    - assert
    - memset
    - find_local_access_rights
    - ACCESS_CONTROL_OBJECT_RELEASE
    - get_topic_type
    linkageType: ''
    returnType: bool
    signature: "bool get_sec_attributes(\n    dds_security_access_control_impl *ac,\n
      \   const DDS_Security_PermissionsHandle permissions_handle,\n    const char
      *topic_name,\n    DDS_Security_EndpointSecurityAttributes *attributes,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1665,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1666,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1667,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1668,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1669,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1670,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1671,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1672,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1673,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rights
    argTypes:
    - local_participant_access_rights*
    assertStmts:
    - condition: (rights->permissions_document)
      pos:
        line_end: 1664
        line_start: 1664
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->governance_tree->dds)
      pos:
        line_end: 1666
        line_start: 1666
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->governance_tree->dds->domain_access_rules->domain_rule)
      pos:
        line_end: 1668
        line_start: 1668
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->governance_tree->dds->domain_access_rules)
      pos:
        line_end: 1667
        line_start: 1667
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->governance_tree)
      pos:
        line_end: 1665
        line_start: 1665
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions_tree)
      pos:
        line_end: 1669
        line_start: 1669
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions_tree->dds)
      pos:
        line_end: 1670
        line_start: 1670
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions_tree->dds->permissions)
      pos:
        line_end: 1671
        line_start: 1671
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions_tree->dds->permissions->grant)
      pos:
        line_end: 1672
        line_start: 1672
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1678
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1678
    functionName: sanity_check_local_access_rights
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void sanity_check_local_access_rights(\n    local_participant_access_rights
      *rights)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1688,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1689,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1690,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1691,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1692,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1693,1
    - Dst: sanity_check_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1694,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rights
    argTypes:
    - remote_participant_access_rights*
    assertStmts:
    - condition: (rights->permissions)
      pos:
        line_end: 1687
        line_start: 1687
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions->permissions_tree->dds->permissions)
      pos:
        line_end: 1690
        line_start: 1690
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions->permissions_tree->dds)
      pos:
        line_end: 1689
        line_start: 1689
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions->permissions_tree)
      pos:
        line_end: 1688
        line_start: 1688
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->permissions->remote_permissions_token_class_id)
      pos:
        line_end: 1691
        line_start: 1691
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (rights->local_rights)
      pos:
        line_end: 1692
        line_start: 1692
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1699
      start: 1680
    functionDepth: 2
    functionLinenumber: 1680
    functionLinenumberEnd: 1699
    functionName: sanity_check_remote_access_rights
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - sanity_check_local_access_rights
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void sanity_check_remote_access_rights(\n    remote_participant_access_rights
      *rights)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1709,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1711,1
    - Dst: ACCESS_CONTROL_OBJECT_HANDLE
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1712,1
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1713,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1714,1
    - Dst: access_control_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1716,1
    - Dst: sanity_check_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ac
    - handle
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_PermissionsHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1701
    functionDepth: 2
    functionLinenumber: 1701
    functionLinenumberEnd: 1721
    functionName: find_local_access_rights
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 9
    functionsReached:
    - ACCESS_CONTROL_OBJECT_HANDLE
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - ACCESS_CONTROL_OBJECT_KEEP
    - sanity_check_local_access_rights
    - ddsrt_mutex_unlock
    - access_control_table_find
    linkageType: ''
    returnType: local_participant_access_rights
    signature: "local_participant_access_rights *\nfind_local_access_rights(\n    dds_security_access_control_impl
      *ac,\n    DDS_Security_PermissionsHandle handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - AccessControlObject*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1745
    functionName: local_identity_handle_match
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int local_identity_handle_match(\n    AccessControlObject *obj,\n
      \   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - AccessControlObject*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1763
    functionName: remote_identity_handle_match
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - ACCESS_CONTROL_OBJECT_KEEP
    linkageType: ''
    returnType: int
    signature: "int remote_identity_handle_match(\n    AccessControlObject *obj,\n
      \   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1773,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1775,1
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1776,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1777,1
    - Dst: access_control_table_walk
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1783,1
    - Dst: sanity_check_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ac
    - identity_handle
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1789
    functionName: find_local_rights_by_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - access_control_table_walk
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - ACCESS_CONTROL_OBJECT_KEEP
    - sanity_check_local_access_rights
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: local_participant_access_rights
    signature: "local_participant_access_rights *\nfind_local_rights_by_identity(\n
      \   dds_security_access_control_impl *ac,\n    DDS_Security_IdentityHandle identity_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_control_table_walk
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1799,1
    - Dst: sanity_check_remote_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ac
    - identity_handle
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1791
    functionDepth: 3
    functionLinenumber: 1791
    functionLinenumberEnd: 1802
    functionName: find_remote_rights_by_identity
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - access_control_table_walk
    - sanity_check_remote_access_rights
    linkageType: ''
    returnType: remote_participant_access_rights
    signature: "remote_participant_access_rights *\nfind_remote_rights_by_identity(\n
      \   dds_security_access_control_impl *ac,\n    DDS_Security_IdentityHandle identity_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ACCESS_CONTROL_OBJECT_KEEP
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - AccessControlObject*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1822
    functionName: remote_permissions_handle_match
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - ACCESS_CONTROL_OBJECT_KEEP
    linkageType: ''
    returnType: int
    signature: "int remote_permissions_handle_match(\n    AccessControlObject *obj,\n
      \   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_control_table_walk
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1832,1
    - Dst: sanity_check_remote_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ac
    - permissions_handle
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_PermissionsHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1824
    functionDepth: 3
    functionLinenumber: 1824
    functionLinenumberEnd: 1835
    functionName: find_remote_permissions_by_permissions_handle
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - access_control_table_walk
    - sanity_check_remote_access_rights
    linkageType: ''
    returnType: remote_participant_access_rights
    signature: "remote_participant_access_rights *\nfind_remote_permissions_by_permissions_handle(\n
      \   dds_security_access_control_impl *ac,\n    DDS_Security_PermissionsHandle
      permissions_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1849,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1850,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1852,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1858,1
    - Dst: access_control_object_keep
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1862,1
    - Dst: access_control_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1864,1
    - Dst: access_control_table_find
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1868,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1874,1
    - Dst: dds_security_access_control_listener*::on_revoke_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1877,1
    - Dst: access_control_object_release
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1878,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - timer
    - trigger_time
    - kind
    - arg
    argTypes:
    - dds_security_time_event_handle_t
    - dds_time_t
    - dds_security_timed_cb_kind_t
    - void*
    assertStmts:
    - condition: (info)
      pos:
        line_end: 1851
        line_start: 1851
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (info->ac->listener)
      pos:
        line_end: 1857
        line_start: 1857
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (object->timer == timer)
      pos:
        line_end: 1873
        line_start: 1873
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1882
      start: 1844
    functionDepth: 2
    functionLinenumber: 1844
    functionLinenumberEnd: 1882
    functionName: validity_callback
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - dds_security_access_control_listener*::on_revoke_permissions
    - assert
    - DDSRT_UNUSED_ARG
    - access_control_object_release
    - access_control_object_keep
    - access_control_table_find
    linkageType: ''
    returnType: void
    signature: void validity_callback(dds_security_time_event_handle_t timer, dds_time_t
      trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1889,1
    - Dst: dds_security_timed_dispatcher_add
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ac
    - permissions_handle
    - end
    argTypes:
    - dds_security_access_control_impl*
    - DDS_Security_PermissionsHandle
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1893
    functionName: add_validity_end_trigger
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - ddsrt_malloc
    - dds_security_timed_dispatcher_add
    linkageType: ''
    returnType: dds_security_time_event_handle_t
    signature: "dds_security_time_event_handle_t add_validity_end_trigger(dds_security_access_control_impl
      *ac,\n                         const DDS_Security_PermissionsHandle permissions_handle,\n
      \                        dds_time_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - permissions_grant
    - identity_subject_name
    argTypes:
    - struct grant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1900
    functionName: is_grant_applicable
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_grant_applicable (const struct grant *permissions_grant, const
      char *identity_subject_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1904,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1905,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1907,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1911,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - permissions_grant
    - ex
    argTypes:
    - struct grant*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1902
    functionDepth: 3
    functionLinenumber: 1902
    functionLinenumberEnd: 1918
    functionName: is_grant_valid
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - dds_time
    - DDS_Security_Exception_set
    - DDS_Security_parse_xml_date
    linkageType: ''
    returnType: bool
    signature: bool is_grant_valid (const struct grant *permissions_grant, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1922,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1923,1
    - Dst: is_grant_applicable
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1927,1
    - Dst: is_grant_valid
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1929,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - permissions
    - identity_subject_name
    - ex
    argTypes:
    - struct permissions_parser*
    - char*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (permissions->dds)
      pos:
        line_end: 1921
        line_start: 1921
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (permissions->dds->permissions)
      pos:
        line_end: 1922
        line_start: 1922
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 1937
      start: 1920
    functionDepth: 4
    functionLinenumber: 1920
    functionLinenumberEnd: 1937
    functionName: find_permissions_grant
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - is_grant_valid
    - assert
    - is_grant_applicable
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: struct grant
    signature: struct grant *find_permissions_grant (const struct permissions_parser
      *permissions, const char *identity_subject_name, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1946,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1949,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - permissions_grant
    - topic_name
    - ex
    argTypes:
    - struct grant*
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1942
    functionDepth: 3
    functionLinenumber: 1942
    functionLinenumberEnd: 1958
    functionName: is_allowed_by_default_rule
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: bool
    signature: bool is_allowed_by_default_rule (const struct grant *permissions_grant,
      const char *topic_name, DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - current_rule
    - topic_name
    - ex
    argTypes:
    - struct allow_deny_rule*
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1960
    functionDepth: 3
    functionLinenumber: 1960
    functionLinenumberEnd: 1972
    functionName: ddsrt_attribute_warn_unused_result
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: 'ddsrt_nonnull_all ddsrt_attribute_warn_unused_result

      static bool is_allowed_by_rule (const struct allow_deny_rule *current_rule,
      const char *topic_name, DDS_Security_SecurityException *ex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: domainid_within_sets
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - it
    argTypes:
    - rule_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 1990
    functionName: rule_iter_next
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - domainid_within_sets
    linkageType: ''
    returnType: struct allow_deny_rule
    signature: struct allow_deny_rule *rule_iter_next (rule_iter_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_permissions_grant
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1994,1
    - Dst: domainid_within_sets
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:1998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - it
    - permissions
    - domain_id
    - identity_subject_name
    - ex
    argTypes:
    - rule_iter_t*
    - struct permissions_parser*
    - int
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1992
    functionDepth: 5
    functionLinenumber: 1992
    functionLinenumberEnd: 2001
    functionName: rule_iter_init
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - find_permissions_grant
    - domainid_within_sets
    linkageType: ''
    returnType: bool
    signature: bool rule_iter_init (rule_iter_t *it, const struct permissions_parser
      *permissions, int domain_id, const char *identity_subject_name, DDS_Security_SecurityException
      *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rule_iter_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2007,1
    - Dst: rule_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2009,1
    - Dst: is_allowed_by_default_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - permissions
    - domain_id
    - identity_subject_name
    - ex
    argTypes:
    - struct permissions_parser*
    - int
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2003
    functionDepth: 6
    functionLinenumber: 2003
    functionLinenumberEnd: 2013
    functionName: is_participant_allowed_by_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - is_allowed_by_default_rule
    - rule_iter_init
    - rule_iter_next
    linkageType: ''
    returnType: bool
    signature: bool is_participant_allowed_by_permissions (const struct permissions_parser
      *permissions, int domain_id, const char *identity_subject_name, DDS_Security_SecurityException
      *ex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rule_iter_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2019,1
    - Dst: rule_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2028,1
    - Dst: is_topic_in_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2032,1
    - Dst: is_allowed_by_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2037,1
    - Dst: is_allowed_by_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2042,1
    - Dst: is_allowed_by_default_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2049,1
    - Dst: is_allowed_by_default_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - permissions
    - domain_id
    - topic_name
    - identity_subject_name
    - ex
    argTypes:
    - struct permissions_parser*
    - int
    - char*
    - char*
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2015
    functionDepth: 6
    functionLinenumber: 2015
    functionLinenumberEnd: 2054
    functionName: is_topic_allowed_by_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - is_allowed_by_default_rule
    - is_allowed_by_rule
    - is_topic_in_criteria
    - rule_iter_init
    - rule_iter_next
    linkageType: ''
    returnType: bool
    signature: bool is_topic_allowed_by_permissions (const struct permissions_parser
      *permissions, int domain_id, const char *topic_name, const char *identity_subject_name,
      DDS_Security_SecurityException *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rule_iter_init
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2060,1
    - Dst: rule_iter_next
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2062,1
    - Dst: is_topic_in_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2065,1
    - Dst: is_partition_qos_in_criteria
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2065,1
    - Dst: is_allowed_by_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2066,1
    - Dst: is_allowed_by_default_rule
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2068,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 7
    argNames:
    - permissions
    - domain_id
    - topic_name
    - partitions
    - identity_subject_name
    - criteria_type
    - ex
    argTypes:
    - struct permissions_parser*
    - int
    - char*
    - DDS_Security_PartitionQosPolicy*
    - char*
    - permission_criteria_type
    - DDS_Security_SecurityException*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2056
    functionDepth: 6
    functionLinenumber: 2056
    functionLinenumberEnd: 2069
    functionName: is_readwrite_allowed_by_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 4
    functionsReached:
    - is_allowed_by_default_rule
    - is_allowed_by_rule
    - is_topic_in_criteria
    - is_partition_qos_in_criteria
    - rule_iter_init
    - rule_iter_next
    linkageType: ''
    returnType: bool
    signature: bool is_readwrite_allowed_by_permissions (struct permissions_parser
      *permissions, int domain_id, const char *topic_name, const DDS_Security_PartitionQosPolicy
      *partitions, const char *identity_subject_name, permission_criteria_type criteria_type,
      DDS_Security_SecurityException *ex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2077,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2083,1
    - Dst: DDS_Security_normalize_file
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2086,1
    - Dst: ac_regular_file_size
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2090,1
    - Dst: fopen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2094,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2098,1
    - Dst: fread
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2099,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2102,1
    - Dst: fclose
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2109,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2112,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2117,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - filename
    - doc
    - ex
    argTypes:
    - char*
    - char**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (doc)
      pos:
        line_end: 2082
        line_start: 2082
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2122
      start: 2071
    functionDepth: 3
    functionLinenumber: 2071
    functionLinenumberEnd: 2122
    functionName: read_document_from_file
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - fclose
    - ddsrt_free
    - DDS_Security_Exception_set
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - DDS_Security_normalize_file
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - fread
    - ddsrt_malloc
    - ac_regular_file_size
    linkageType: ''
    returnType: bool
    signature: "bool read_document_from_file(\n    const char *filename,\n    char
      **doc,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_get_conf_item_type
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2131,1
    - Dst: read_document_from_file
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2138,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2139,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2145,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2146,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - doc_uri
    - doc
    - ex
    argTypes:
    - char*
    - char**
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2148
        line_start: 2148
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2151
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2151
    functionName: read_document
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - DDS_Security_get_conf_item_type
    - ddsrt_free
    - DDS_Security_Exception_set
    - assert
    - read_document_from_file
    linkageType: ''
    returnType: bool
    signature: "bool read_document(\n    const char *doc_uri,\n    char **doc,\n    DDS_Security_SecurityException
      *ex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2162,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2167,1
    - Dst: ac_check_subjects_are_equal
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2175,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2177,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2178,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2180,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2184,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2186,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2193,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2194,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - permissions_tree
    - identity_subject_name
    - permission_subject_name
    - permission_validity_not_after
    - ex
    argTypes:
    - struct permissions_parser*
    - char*
    - char**
    - dds_time_t*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (permission_subject_name)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2203
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2203
    functionName: validate_subject_name_in_permissions
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Exception_set
    - assert
    - dds_time
    - ac_check_subjects_are_equal
    - ddsrt_strdup
    - DDS_Security_parse_xml_date
    linkageType: ''
    returnType: bool
    signature: "bool validate_subject_name_in_permissions(struct permissions_parser
      *permissions_tree,\n                                     const char *identity_subject_name,\n
      \                                    char **permission_subject_name,\n                                     dds_time_t
      *permission_validity_not_after,\n                                     DDS_Security_SecurityException
      *ex)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2232,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2235,1
    - Dst: ac_X509_certificate_read
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2240,1
    - Dst: ac_get_certificate_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2243,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2246,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2248,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2253,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2255,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2260,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2262,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2267,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2267,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2267,1
    - Dst: ac_parse_governance_xml
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2271,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2272,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2273,1
    - Dst: ac_parse_permissions_xml
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2275,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2276,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2277,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2280,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2281,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2282,1
    - Dst: ac_local_participant_access_rights_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2284,1
    - Dst: sanity_check_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2285,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2287,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2287,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2287,1
    - Dst: ac_X509_certificate_read
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2290,1
    - Dst: read_document
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2294,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2297,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2299,1
    - Dst: read_document
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2305,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2308,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2310,1
    - Dst: ac_PKCS7_document_check
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2315,1
    - Dst: ac_PKCS7_document_check
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2318,1
    - Dst: ac_parse_governance_xml
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2321,1
    - Dst: ac_parse_permissions_xml
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2324,1
    - Dst: ac_return_governance_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2326,1
    - Dst: validate_subject_name_in_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2331,1
    - Dst: ac_return_governance_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2333,1
    - Dst: ac_return_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2334,1
    - Dst: ac_local_participant_access_rights_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2338,1
    - Dst: sanity_check_local_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2340,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2344,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2352,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2354,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2357,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2361,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2362,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2366,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2368,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2370,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2372,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2374,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2375,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2376,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 132
    argCount: 4
    argNames:
    - identity_handle
    - domain_id
    - participant_qos
    - ex
    argTypes:
    - DDS_Security_IdentityHandle
    - int
    - DDS_Security_Qos*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (result)
      pos:
        line_end: 2271
        line_start: 2271
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - condition: (result)
      pos:
        line_end: 2275
        line_start: 2275
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2379
      start: 2205
    functionDepth: 9
    functionLinenumber: 2205
    functionLinenumberEnd: 2379
    functionName: check_and_create_local_participant_rights
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - ac_PKCS7_document_check
    - validate_subject_name_in_permissions
    - ac_get_certificate_subject_name
    - DDS_Security_Exception_set
    - DDS_Security_Property_get_value
    - ddsrt_strdup
    - sanity_check_local_access_rights
    - ac_return_governance_tree
    - ac_parse_governance_xml
    - ddsrt_free
    - assert
    - strlen
    - ac_X509_certificate_read
    - read_document
    - X509_free
    - ac_local_participant_access_rights_new
    - ac_return_permissions_tree
    - DDSRT_UNUSED_ARG
    - ac_parse_permissions_xml
    linkageType: ''
    returnType: local_participant_access_rights
    signature: "local_participant_access_rights *\ncheck_and_create_local_participant_rights(\n
      \   DDS_Security_IdentityHandle identity_handle,\n    int domain_id,\n    const
      DDS_Security_Qos *participant_qos,\n    DDS_Security_SecurityException *ex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2401,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2404,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2409,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2410,1
    - Dst: ac_X509_certificate_from_data
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2411,1
    - Dst: ac_get_certificate_subject_name
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2414,1
    - Dst: DDS_Security_DataHolder_find_property
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2418,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2421,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2425,1
    - Dst: find_domain_rule_in_governance
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2429,1
    - Dst: ddsrt_str_replace
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2432,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2436,1
    - Dst: ac_PKCS7_document_check
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2442,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2442,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2446,1
    - Dst: ac_parse_permissions_xml
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2450,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2452,1
    - Dst: validate_subject_name_in_permissions
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2457,1
    - Dst: ac_return_permissions_tree
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2459,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2460,1
    - Dst: ac_remote_participant_access_rights_new
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2463,1
    - Dst: sanity_check_remote_access_rights
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2464,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2465,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2469,1
    - Dst: X509_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2471,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2473,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 5
    argNames:
    - remote_identity_handle
    - local_rights
    - remote_permissions_token
    - remote_credential_token
    - ex
    argTypes:
    - DDS_Security_IdentityHandle
    - local_participant_access_rights*
    - DDS_Security_PermissionsToken*
    - DDS_Security_AuthenticatedPeerCredentialToken*
    - DDS_Security_SecurityException*
    assertStmts:
    - condition: (len <= INT32_MAX)
      pos:
        line_end: 2409
        line_start: 2409
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2476
      start: 2381
    functionDepth: 9
    functionLinenumber: 2381
    functionLinenumberEnd: 2476
    functionName: check_and_create_remote_participant_rights
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - find_domain_rule_in_governance
    - X509_free
    - DDS_Security_DataHolder_find_property
    - ddsrt_free
    - DDS_Security_Exception_set
    - ac_return_permissions_tree
    - assert
    - strlen
    - ddsrt_str_replace
    - ac_remote_participant_access_rights_new
    - ac_PKCS7_document_check
    - validate_subject_name_in_permissions
    - sanity_check_remote_access_rights
    - ddsrt_malloc
    - ac_X509_certificate_from_data
    - ac_get_certificate_subject_name
    - ac_parse_permissions_xml
    linkageType: ''
    returnType: remote_participant_access_rights
    signature: "remote_participant_access_rights *\ncheck_and_create_remote_participant_rights(\n
      \   DDS_Security_IdentityHandle remote_identity_handle,\n    local_participant_access_rights
      *local_rights,\n    const DDS_Security_PermissionsToken *remote_permissions_token,\n
      \   const DDS_Security_AuthenticatedPeerCredentialToken *remote_credential_token,\n
      \   DDS_Security_SecurityException *ex)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2483,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2486,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2489,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2491,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2493,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2495,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2497,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2499,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2501,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2504,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2506,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2508,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2509,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2510,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2511,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2512,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 1
    argNames:
    - topic_name
    argTypes:
    - char*
    assertStmts:
    - condition: (topic_name)
      pos:
        line_end: 2482
        line_start: 2482
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    constantsTouched: []
    func_position:
      end: 2521
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2521
    functionName: get_topic_type
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 2
    functionsReached:
    - strncmp
    - assert
    - strcmp
    linkageType: ''
    returnType: TOPIC_TYPE
    signature: "TOPIC_TYPE get_topic_type(\n    const char *topic_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_timed_dispatcher_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2528,1
    - Dst: access_control_table_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2529,1
    - Dst: access_control_object_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2532,1
    - Dst: access_control_table_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2534,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2536,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c:2537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2523
    functionDepth: 3
    functionLinenumber: 2523
    functionLinenumberEnd: 2540
    functionName: finalize_access_control
    functionSourceFile: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    functionUses: 1
    functionsReached:
    - dds_security_timed_dispatcher_free
    - access_control_object_free
    - ddsrt_free
    - access_control_table_free
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: int
    signature: int finalize_access_control(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: dds_openssl_init
    functionSourceFile: /src/cyclonedds/src/security/openssl/src/openssl_support.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_openssl_init (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:29,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:30,1
    - Dst: assert
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:31,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:32,1
    - Dst: BIO_new
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:34,1
    - Dst: BIO_s_mem
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:34,1
    - Dst: ERR_print_errors
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:35,1
    - Dst: BIO_get_mem_data
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:37,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:38,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:39,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:40,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:42,1
    - Dst: strlen
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:42,1
    - Dst: BIO_free
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:48,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/security/openssl/src/openssl_support.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - ex
    - context
    - code
    - minor_code
    - error_area
    argTypes:
    - DDS_Security_SecurityException*
    - char*
    - int
    - int
    - char*
    assertStmts:
    - condition: (context)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/security/openssl/src/openssl_support.c
    - condition: (ex)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/security/openssl/src/openssl_support.c
    - condition: (error_area)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/security/openssl/src/openssl_support.c
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: DDS_Security_Exception_set_with_openssl_error
    functionSourceFile: /src/cyclonedds/src/security/openssl/src/openssl_support.c
    functionUses: 37
    functionsReached:
    - BIO_s_mem
    - DDS_Security_Exception_set
    - ERR_print_errors
    - assert
    - ddsrt_strlcpy
    - DDSRT_UNUSED_ARG
    - memcpy
    - BIO_new
    - strlen
    - BIO_free
    - BIO_get_mem_data
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void DDS_Security_Exception_set_with_openssl_error (DDS_Security_SecurityException
      *ex, const char *context, int code, int minor_code, const char *error_area)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:26,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:27,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:28,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: dynamic_type_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_GEQ_FATAL
    - dds_create_domain
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void dynamic_type_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:34,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: dynamic_type_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void dynamic_type_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_register
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:42,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:43,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:46,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:47,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:50,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:51,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:52,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:54,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:55,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: do_test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_free_typeinfo
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_dynamic_type_unref
    - create_unique_topic_name
    - dds_dynamic_type_register
    - dds_create_topic_descriptor
    - dds_delete_topic_descriptor
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void do_test (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:99,1
    - Dst: dds_dynamic_type_register
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:101,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:102,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:104,1
    - Dst: ddsi_type_lookup
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:105,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:106,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: get_ddsi_type
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_free_typeinfo
    - CU_ASSERT_EQ_FATAL
    - ddsi_typeinfo_complete_typeid
    - dds_dynamic_type_register
    - ddsi_type_lookup
    - get_domaingv
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * get_ddsi_type (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: TYPE_SPEC_PRIM_NC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_SPEC_PRIM_NC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: tcr_init_enum
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_dynamic_type_add_enum_literal
    linkageType: ''
    returnType: void
    signature: void tcr_init_enum (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: tcr_init_bitmask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_dynamic_type_add_bitmask_field
    linkageType: ''
    returnType: void
    signature: void tcr_init_bitmask (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:119,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tcr_init_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - DDS_DYNAMIC_MEMBER_PRIM
    - dds_dynamic_type_add_member
    linkageType: ''
    returnType: void
    signature: void tcr_init_struct (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:120,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER_PRIM
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtype
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: tcr_init_union
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - dds_dynamic_type_add_member
    - DDS_DYNAMIC_UNION_MEMBER_PRIM
    linkageType: ''
    returnType: void
    signature: void tcr_init_union (dds_dynamic_type_t *dtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:636,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:637,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:637,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:639,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:640,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:640,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:641,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:641,1
    - Dst: dds_dynamic_type_register
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:644,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:645,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:648,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:649,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:650,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:651,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:652,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:653,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:655,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:655,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:656,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:657,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pp
    - topic_name
    - type_id
    argTypes:
    - dds_entity_t
    - char*
    - ddsi_typeid_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 659
    functionName: create_type_topic_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    functionUses: 0
    functionsReached:
    - DDS_DYNAMIC_MEMBER
    - dds_free_typeinfo
    - dds_create_topic
    - DDS_DYNAMIC_MEMBER_PRIM
    - CU_ASSERT_EQ_FATAL
    - dds_dynamic_type_unref
    - ddsi_typeinfo_complete_typeid
    - dds_dynamic_type_create
    - dds_dynamic_type_add_member
    - dds_dynamic_type_register
    - dds_create_topic_descriptor
    - dds_delete_topic_descriptor
    - ddsi_typeid_dup
    - dds_create_writer
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void create_type_topic_wr (dds_entity_t pp, const char *topic_name,
      ddsi_typeid_t **type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ser
    - ti
    argTypes:
    - struct dds_type_meta_ser*
    - DDS_XTypes_TypeInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: typeinfo_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - xcdr2_ser
    linkageType: ''
    returnType: void
    signature: void typeinfo_ser (struct dds_type_meta_ser *ser, DDS_XTypes_TypeInformation
      *ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcdr2_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ti
    - ser
    argTypes:
    - DDS_XTypes_TypeInformation**
    - struct dds_type_meta_ser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: typeinfo_deser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - xcdr2_deser
    linkageType: ''
    returnType: void
    signature: void typeinfo_deser (DDS_XTypes_TypeInformation **ti, const struct
      dds_type_meta_ser *ser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ser
    - tmap
    argTypes:
    - struct dds_type_meta_ser*
    - DDS_XTypes_TypeMapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: typemap_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - xcdr2_ser
    linkageType: ''
    returnType: void
    signature: void typemap_ser (struct dds_type_meta_ser *ser, DDS_XTypes_TypeMapping
      *tmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcdr2_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tmap
    - ser
    argTypes:
    - DDS_XTypes_TypeMapping**
    - struct dds_type_meta_ser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: typemap_deser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - xcdr2_deser
    linkageType: ''
    returnType: void
    signature: void typemap_deser (DDS_XTypes_TypeMapping **tmap, const struct dds_type_meta_ser
      *ser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:58,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:60,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:61,1
    - Dst: ddsi_typeinfo_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:62,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:64,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:69,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:70,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:71,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:72,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:73,1
    - Dst: ddsi_new_proxy_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:75,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:75,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:76,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:78,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:81,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:81,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:83,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:83,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:85,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:86,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:87,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 6
    argNames:
    - gv
    - topic_name
    - ti
    - exp_ret
    - pp_guid
    - rd_guid
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - DDS_XTypes_TypeInformation*
    - dds_return_t
    - ddsi_guid_t*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: test_proxy_rd_create
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsrt_calloc
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - ddsi_new_proxy_participant
    - ddsi_add_locator_to_addrset
    - ddsi_plist_fini
    - ddsrt_strdup
    - ddsi_ref_addrset
    - CU_ASSERT_NEQ_FATAL
    - ddsi_new_proxy_reader
    - ddsi_typeinfo_dup
    - ddsi_thread_state_asleep
    - ddsrt_time_wallclock
    - ddsi_new_addrset
    - ddsi_xqos_mergein_missing
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void test_proxy_rd_create (struct ddsi_domaingv *gv, const char *topic_name,
      DDS_XTypes_TypeInformation *ti, dds_return_t exp_ret, const ddsi_guid_t *pp_guid,
      const ddsi_guid_t *rd_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:93,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:94,1
    - Dst: ddsi_delete_proxy_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:95,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:95,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:96,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:96,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - gv
    - pp_guid
    - rd_guid
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: test_proxy_rd_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_delete_proxy_participant_by_guid
    - ddsi_thread_state_asleep
    - ddsrt_time_wallclock
    - ddsi_delete_proxy_reader
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void test_proxy_rd_fini (struct ddsi_domaingv *gv, const ddsi_guid_t
      *pp_guid, const ddsi_guid_t *rd_guid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:103,1
    - Dst: typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:107,1
    - Dst: typemap_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:114,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:118,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:118,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:119,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:121,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:125,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:125,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:126,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:128,1
    - Dst: mod
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:134,1
    - Dst: mod
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:136,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:146,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:147,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:148,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:150,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:157,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:158,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:159,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:161,1
    - Dst: typeinfo_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:167,1
    - Dst: typemap_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:168,1
    - Dst: ddsi_typemap_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:171,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:172,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:176,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c:177,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 5
    argNames:
    - dst_desc
    - src_desc
    - mod
    - update_typeinfo
    - kind
    argTypes:
    - dds_topic_descriptor_t*
    - dds_topic_descriptor_t*
    - typeobj_modify
    - bool
    - uint32_t
    assertStmts:
    - condition: (ti)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    - condition: (!ddsi_typeid_compare_impl (&ti->minimal.typeid_with_size.type_id,
        &tmap->identifier_object_pair_minimal._buffer[0].type_identifier))
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    - condition: (!ddsi_typeid_compare_impl (&ti->complete.typeid_with_size.type_id,
        &tmap->identifier_object_pair_complete._buffer[0].type_identifier))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    constantsTouched: []
    func_position:
      end: 179
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 179
    functionName: xtypes_util_modify_type_meta
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsi_typeobj_get_hash_id
    - ddsi_typeid_fini
    - ddsrt_free
    - memcpy
    - assert
    - typemap_deser
    - ddsi_typeid_compare_impl
    - ddsi_typeid_fini_impl
    - ddsi_typemap_fini
    - mod
    - typeinfo_ser
    - typemap_ser
    - typeinfo_deser
    - ddsi_typeinfo_fini
    linkageType: ''
    returnType: void
    signature: void xtypes_util_modify_type_meta (dds_topic_descriptor_t *dst_desc,
      const dds_topic_descriptor_t *src_desc, typeobj_modify mod, bool update_typeinfo,
      uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:36,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:37,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:40,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:41,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:42,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:45,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:46,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:48,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:49,1
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:50,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:52,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:54,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:58,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:59,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:61,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:62,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:67,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:68,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:71,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - sep
    - dok
    argTypes:
    - dds_duration_t
    - dds_destination_order_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 2
    functionsReached:
    - dds_qset_history
    - dds_qset_destination_order
    - dds_create_topic
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_qset_time_based_filter
    - dds_create_participant
    - create_unique_topic_name
    - dds_get_status_changes
    - dds_set_status_mask
    - dds_sleepfor
    - dds_create_reader
    - dds_delete_qos
    - DDS_MSECS
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void setup(dds_duration_t sep, dds_destination_order_kind_t dok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 1
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:85,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:86,1
    - Dst: dds_get_sample_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:89,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:90,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:91,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - source_time
    - total_count
    - total_count_change
    argTypes:
    - dds_duration_t
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: test_write
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - dds_get_sample_lost_status
    - CU_ASSERT_EQ
    - CU_ASSERT_EQ_FATAL
    - dds_write_ts
    linkageType: ''
    returnType: void
    signature: void test_write(dds_duration_t source_time, uint32_t total_count, int32_t
      total_count_change)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:99,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:100,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: get_gv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin
    - abort
    - dds_entity_unpin
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *get_gv (dds_entity_t e)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:113,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:114,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:115,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:120,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:120,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:122,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:123,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:124,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:128,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:129,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:134,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:135,1
    - Dst: get_gv
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:150,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:151,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:155,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:156,1
    - Dst: dds_rhc_store
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:160,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:161,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:165,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:167,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:169,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:171,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:173,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 174
    functionName: test_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - ddsi_lookup_thread_state
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - dds_topic_pin
    - ddsi_serdata_unref
    - ddsi_sertype_unref
    - get_gv
    - ddsi_sertype_ref
    - ddsi_tkmap_lookup_instance_ref
    - dds_rhc_store
    - CU_ASSERT
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsi_serdata_from_sample
    - CU_ASSERT_NEQ_FATAL
    - dds_topic_unpin
    linkageType: ''
    returnType: void
    signature: void test_insert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:178,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:178,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:180,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:180,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:181,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:181,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:182,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:182,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_reception_no_separation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:189,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:189,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:191,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:191,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:192,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:192,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:193,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:193,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:194,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:194,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_reception_separation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:201,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:201,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:203,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:203,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:204,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:204,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:205,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:205,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_source_no_separation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:212,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:212,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:214,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:214,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:215,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:215,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:216,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:216,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:217,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:217,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_source_separation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:224,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:224,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:226,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:226,1
    - Dst: test_insert
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:227,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - test_insert
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_reception_invalid_timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:234,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:234,1
    - Dst: test_write
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:236,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:236,1
    - Dst: test_insert
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:237,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
    functionUses: 0
    functionsReached:
    - setup
    - test_insert
    - teardown
    - DDS_MSECS
    - test_write
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time_based_filter, filter_source_invalid_timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:38,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:39,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:41,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:42,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:43,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:45,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:47,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:49,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:51,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 8
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - create_unique_topic_name
    - memset
    - dds_create_publisher
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_alloc
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RoundTripModule_DataType_free
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:60,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:61,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:63,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:64,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:65,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 7
    functionsReached:
    - RoundTripModule_DataType_free
    - dds_delete
    - memset
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:153,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:154,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:156,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:157,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:158,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:159,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:160,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:162,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:163,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:165,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:166,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 168
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_write
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_write, simpletypes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:203,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:204,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:206,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:207,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:208,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:209,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:210,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:214,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:215,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:219,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:220,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:224,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:225,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 227
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_dispose
    - dds_create_participant
    - create_unique_topic_name
    - dds_write
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_write, invalid_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:247,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:247,1
    - Dst: test_oneliner_with_config
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:249,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 264
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 0
    functionsReached:
    - test_oneliner_with_config
    - CU_ASSERT_GT_FATAL
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_write, relwr_unrelrd_network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:283,1
    - Dst: test_oneliner_no_shm
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:320,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:321,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 324
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - CU_ASSERT_GT_FATAL
    - test_oneliner_no_shm
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_write, batch_flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:344,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:344,1
    - Dst: test_oneliner_with_config
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:345,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write.c
    functionUses: 0
    functionsReached:
    - test_oneliner_with_config
    - CU_ASSERT_GT_FATAL
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_write, async_one_unrel_sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:44,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - len
    - strings
    argTypes:
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: free_strings
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void free_strings(uint32_t len, char** strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dmock
    - str_out
    - str_capacity
    argTypes:
    - dummy_mockstats_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: dummy_mockstats_tostring
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dummy_mockstats_tostring(const dummy_mockstats_t* dmock, char*
      str_out, size_t str_capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:115,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:116,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:117,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:118,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:119,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:120,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:121,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - domainId
    - dummy
    argTypes:
    - dds_domainid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: create_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 16
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_asprintf
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_participant(dds_domainid_t domainId, const char
      *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:142,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:143,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:144,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:145,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:146,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:147,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:148,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - domainId
    - dummy
    argTypes:
    - dds_domainid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: create_participant_2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_asprintf
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_participant_2(dds_domainid_t domainId, const char
      *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:181,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:183,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:184,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:185,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 187
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_delete
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, config_multiple_psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:191,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:192,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:195,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:196,1
    - Dst: dds_qget_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:196,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:197,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:200,1
    - Dst: free_strings
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:202,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - endpt
    - names_expected
    - n_names
    argTypes:
    - dds_entity_t
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: assert_psmx_instance_names
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - CU_ASSERT_NEQ_FATAL
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - free_strings
    - dds_qget_psmx_instances
    linkageType: ''
    returnType: void
    signature: void assert_psmx_instance_names(dds_entity_t endpt, const char** names_expected,
      const size_t n_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:217,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:217,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:217,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:218,1
    - Dst: create_participant_2
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:224,1
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:226,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:229,1
    - Dst: dummy_v0_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:230,1
    - Dst: dummy_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:230,1
    - Dst: dummy_topics_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:235,1
    - Dst: dummy_endpoints_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:236,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:238,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:239,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:240,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:241,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:242,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:243,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:245,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:246,1
    - Dst: assert_psmx_instance_names
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:247,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:248,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:249,1
    - Dst: assert_psmx_instance_names
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:250,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:251,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:252,1
    - Dst: assert_psmx_instance_names
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:253,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:254,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:255,1
    - Dst: assert_psmx_instance_names
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:256,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - dummylib
    argTypes:
    - char*
    assertStmts:
    - condition: (strcmp (dummylib, "dummy") == 0 || strcmp (dummylib, "dummy_v0")
        == 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: do_psmxif_instance_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - create_participant
    - dummy_v0_mockstats_get_ptr
    - assert
    - strcmp
    - dummy_mockstats_get_ptr
    - dummy_endpoints_alloc
    - create_unique_topic_name
    - dds_delete
    - dummy_topics_alloc
    - dds_create_reader
    - assert_psmx_instance_names
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    - create_participant_2
    linkageType: ''
    returnType: void
    signature: void do_psmxif_instance_name (const char *dummylib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_psmxif_instance_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - do_psmxif_instance_name
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, instance_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_psmxif_instance_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - do_psmxif_instance_name
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, instance_name_v0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:295,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:295,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:295,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:296,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:302,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:303,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:304,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:305,1
    - Dst: create_participant_2
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:312,1
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:314,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:316,1
    - Dst: dummy_v0_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:317,1
    - Dst: dummy_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:317,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:318,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:322,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:322,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:322,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:323,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:324,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:333,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:339,1
    - Dst: dummy_topics_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:345,1
    - Dst: dummy_loans_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:346,1
    - Dst: dummy_endpoints_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:347,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:349,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:351,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:352,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:356,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:357,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:358,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:359,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:359,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:360,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:363,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:363,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:364,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:365,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:369,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:371,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:373,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:375,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:376,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:380,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:381,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:382,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:383,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:383,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:384,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:387,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:387,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:388,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:389,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:393,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:394,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:395,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:398,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:398,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:399,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:399,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:400,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:400,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:401,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:401,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:404,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:405,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:406,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:407,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:408,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:409,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:410,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:411,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:412,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:413,1
    - Dst: dummy_mockstats_tostring
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:416,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:417,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:419,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:421,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:422,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:423,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:424,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:425,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:426,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:428,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:429,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:431,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:432,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:433,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 89
    argCount: 1
    argNames:
    - dummylib
    argTypes:
    - char*
    assertStmts:
    - condition: (strcmp (dummylib, "dummy") == 0 || strcmp (dummylib, "dummy_v0")
        == 0)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    constantsTouched: []
    func_position:
      end: 436
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 436
    functionName: do_psmxif_shared_memory
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - create_participant
    - dummy_mockstats_get_ptr
    - dds_delete
    - dummy_topics_alloc
    - dummy_loans_alloc
    - dummy_mockstats_tostring
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - dummy_v0_mockstats_get_ptr
    - create_unique_topic_name
    - dds_entity_pin
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - dds_is_shared_memory_available
    - dds_write
    - assert
    - strcmp
    - tprintf
    - dds_create_writer
    - dds_stream_data_types
    - dds_request_loan
    - dummy_endpoints_alloc
    - dds_entity_kind
    - memset
    - dds_get_parent
    - create_participant_2
    linkageType: ''
    returnType: void
    signature: void do_psmxif_shared_memory (const char *dummylib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_psmxif_shared_memory
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - do_psmxif_shared_memory
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, shared_memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_psmxif_shared_memory
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - do_psmxif_shared_memory
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, shared_memory_v0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:450,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:451,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:452,1
    - Dst: dds_qget_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:455,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:456,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:457,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:462,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:463,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:466,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:467,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - e
    - nexp
    - vexp
    argTypes:
    - dds_entity_t
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: check_psmx_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_free
    - strcmp
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - dds_qget_psmx_instances
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void check_psmx_instances (dds_entity_t e, uint32_t nexp, const char
      **vexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:488,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:489,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:490,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:491,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:492,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:493,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:495,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:496,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:497,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:499,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:502,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:503,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:504,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:505,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:507,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:508,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:509,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:510,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:512,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:513,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:514,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:515,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:516,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:518,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:519,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:520,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:521,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:522,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:524,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:525,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:526,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:527,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:528,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:530,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:531,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:532,1
    - Dst: check_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:533,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:534,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:536,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:537,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:538,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:540,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:541,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:542,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:544,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:545,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:546,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:548,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 550
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_writer
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - check_psmx_instances
    - create_unique_topic_name
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - ddsrt_expand_envvars
    - dds_delete_qos
    - dds_qset_psmx_instances
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, reject_invalid_psmx_instances_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:564,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:565,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:566,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:567,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:568,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:569,1
    - Dst: dummy_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:571,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:575,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:576,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:577,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmxif.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 579
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - CU_ASSERT_LT_FATAL
    - create_unique_topic_name
    - dummy_mockstats_get_ptr
    - dds_delete
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmxif, create_topic_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - g
    argTypes:
    - struct guidstr*
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: guidstr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 3
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *guidstr (struct guidstr *dst, const dds_guid_t *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:44,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:44,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:45,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:46,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:48,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:50,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:51,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:52,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:53,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:54,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:55,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:56,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ldur2
    argTypes:
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: participant_lease_duration_make_doms
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - DDS_SECS
    - ddsrt_asprintf
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void participant_lease_duration_make_doms (dds_duration_t ldur2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:64,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:65,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:66,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qos
    - exp_ldur
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: check_lease_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - dds_qget_liveliness
    - CU_ASSERT_FATAL
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_lease_duration (const dds_qos_t *qos, dds_duration_t exp_ldur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:72,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:73,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:74,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:75,1
    - Dst: check_lease_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:76,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - exp_ldur
    argTypes:
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: check_lease_duration_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - check_lease_duration
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_lease_duration_pp (dds_entity_t pp, dds_duration_t exp_ldur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:82,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:83,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:85,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:87,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:88,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:89,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:90,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:91,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:93,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lease_duration, invalid_setting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: participant_lease_duration_make_doms
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:99,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:101,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:102,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:107,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:108,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:109,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:110,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:111,1
    - Dst: check_lease_duration_pp
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:112,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pp
    - ppg
    - ldur
    argTypes:
    - dds_entity_t[]
    - dds_guid_t[]
    - dds_duration_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: participant_lease_duration_make_pps
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - participant_lease_duration_make_doms
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_guid
    - dds_delete_qos
    - dds_create_qos
    - check_lease_duration_pp
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void participant_lease_duration_make_pps (dds_entity_t pp[3], dds_guid_t
      ppg[3], const dds_duration_t ldur[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: participant_lease_duration_make_pps
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:124,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:126,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:127,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:128,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:129,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:131,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:132,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:133,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:134,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:138,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:138,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:139,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:144,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:149,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:151,1
    - Dst: check_lease_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:157,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:158,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:159,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:161,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:163,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:164,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:165,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 167
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - dds_take
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_waitset_wait_until
    - memcmp
    - DDS_SECS
    - dds_time
    - CU_ASSERT_LT_FATAL
    - dds_set_status_mask
    - participant_lease_duration_make_pps
    - check_lease_duration
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - dds_create_reader
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lease_duration, builtin_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t_v
    - tref
    argTypes:
    - int64_t
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: sub_tref_et
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t sub_tref_et (int64_t t_v, ddsrt_etime_t tref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:176,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:181,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:182,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:183,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:183,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:186,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:188,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:189,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:190,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:196,1
    - Dst: sub_tref_et
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:198,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:198,1
    - Dst: sub_tref_et
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:199,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:200,1
    - Dst: sub_tref_et
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:201,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:201,1
    - Dst: sub_tref_et
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:202,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:204,1
    - Dst: guidstr
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:205,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:209,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:209,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:210,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:212,1
    - Dst: sub_tref_et
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:212,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:213,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pp
    - ppg
    - tref_et
    argTypes:
    - dds_entity_t[]
    - dds_guid_t[]
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 216
    functionName: make_pp0_deaf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - sub_tref_et
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsi_ntoh_guid
    - ddsi_lease_renew
    - memcpy
    - guidstr
    - DDSRT_STATIC_ASSERT
    - dds_domain_set_deafmute
    - tprintf
    - ddsrt_atomic_ld64
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool make_pp0_deaf (const dds_entity_t pp[3], const dds_guid_t ppg[3],
      const ddsrt_etime_t tref_et)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:221,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:222,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - rd
    - raw
    - si
    - maxn
    - n
    - reqistate
    argTypes:
    - dds_entity_t
    - void*[]
    - dds_sample_info_t[]
    - uint32_t
    - int32_t
    - dds_instance_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: read_with_timeout1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_GEQ_FATAL
    - dds_return_loan
    - dds_read_mask
    linkageType: ''
    returnType: int32_t
    signature: int32_t read_with_timeout1 (dds_entity_t rd, void *raw[], dds_sample_info_t
      si[], uint32_t maxn, int32_t n, dds_instance_state_t reqistate)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - si
    - n
    argTypes:
    - dds_sample_info_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: countinst
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t countinst (const dds_sample_info_t *si, int32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:69,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:70,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:71,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:72,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:73,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:74,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:76,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:77,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:78,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:79,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:81,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:82,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:83,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: xtypes_typeinfo_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void xtypes_typeinfo_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:89,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: xtypes_typeinfo_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void xtypes_typeinfo_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:154,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: mod_toplevel
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mod_toplevel (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:162,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:164,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:165,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: mod_inherit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsi_typeid_fini_impl
    - assert
    linkageType: ''
    returnType: void
    signature: void mod_inherit (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:172,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: mod_uniondisc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mod_uniondisc (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:180,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._u.union_type.member_seq._length
        == 2)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: mod_unionmembers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mod_unionmembers (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:189,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:191,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._u.struct_type.member_seq._buffer[0].common.member_type_id._d
        == DDS_XTypes_TI_PLAIN_ARRAY_SMALL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: mod_arraybound
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mod_arraybound (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:277,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:278,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:280,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wr
    - exp_match
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: test_proxy_rd_matches
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void test_proxy_rd_matches (dds_entity_t wr, bool exp_match)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:21,1
    - Dst: test_oneliner
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:34,1
    - Dst: fgets
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:52,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:55,1
    - Dst: feof
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:55,1
    - Dst: test_oneliner_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:58,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:59,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:65,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:70,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:71,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:72,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:79,1
    - Dst: test_oneliner_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:88,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:90,1
    - Dst: test_oneliner_message
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:90,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:93,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:95,1
    - Dst: test_oneliner_init
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:98,1
    - Dst: test_oneliner_step
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:101,1
    - Dst: test_oneliner_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:105,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:106,1
    - Dst: test_oneliner_message
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:106,1
    - Dst: ferror
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:107,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/oneliner.c:109,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/oneliner.c
    functionUses: 17
    functionsReached:
    - fprintf
    - test_oneliner_init
    - test_oneliner
    - test_oneliner_message
    - strcmp
    - fgets
    - test_oneliner_fini
    - strlen
    - isspace
    - printf
    - test_oneliner_step
    - strchr
    - strncmp
    - ferror
    - feof
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - libs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: DEF
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF(libs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lib_name
    - ','
    - profiles
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: LIB
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB(lib_name,profiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - profiles
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: N_LIB
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_LIB(profiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prof_name
    - ','
    - ents
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: PRO
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRO(prof_name,ents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ents
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: N_PRO
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_PRO(ents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qos
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ENT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENT(qos,kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - qos
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ENT_N
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENT_N(nm,qos,kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scp
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: SCOPE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCOPE(scp,exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:193,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vnode
    - vargs
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: inspect_qos_items
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached:
    - strstr
    - CU_ASSERT_NEQ
    linkageType: ''
    returnType: void
    signature: void inspect_qos_items(void *vnode, void *vargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: QOS_DURATION_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_DURATION_FMT(unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: QOS_DURATION_FMT_STR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_DURATION_FMT_STR(unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: QOS_POLICY_DEADLINE_PERIOD_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_DEADLINE_PERIOD_FMT(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: QOS_POLICY_DEADLINE_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_DEADLINE_FMT(unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: QOS_POLICY_DESTINATION_ORDER_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_DESTINATION_ORDER_FMT(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: QOS_POLICY_DURABILITY_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_DURABILITY_FMT(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: QOS_HISTORY_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_HISTORY_FMT(hk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: QOS_SERVICE_CLEANUP_DELAY_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_SERVICE_CLEANUP_DELAY_FMT(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms_f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: QOS_RESOURCE_LIMITS_MS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_RESOURCE_LIMITS_MS(ms_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mi_f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: QOS_RESOURCE_LIMITS_MI
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_RESOURCE_LIMITS_MI(mi_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mspi_f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: QOS_RESOURCE_LIMITS_MSPI
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_RESOURCE_LIMITS_MSPI(mspi_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: QOS_DURABILITY_SERVICE_HISTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_DURABILITY_SERVICE_HISTORY(hk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: QOS_POLICY_ENTITYFACTORY_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_ENTITYFACTORY_FMT(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: QOS_POLICY_HISTORY_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_HISTORY_FMT(hk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: QOS_POLICY_LATENCYBUDGET_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_LATENCYBUDGET_FMT(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: QOS_POLICY_LIFESPAN_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_LIFESPAN_FMT(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: QOS_LIVELINESS_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_LIVELINESS_KIND(lk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: QOS_LIVELINESS_DURATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_LIVELINESS_DURATION(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ok
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: QOS_POLICY_OWNERSHIP_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_OWNERSHIP_FMT(ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: QOS_ACCESS_SCOPE_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_ACCESS_SCOPE_KIND(ask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ca
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: QOS_COHERENT_ACCESS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_COHERENT_ACCESS(ca)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: QOS_ORDERED_ACCESS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_ORDERED_ACCESS(oa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: QOS_RELIABILITY_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_RELIABILITY_KIND(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: QOS_RELIABILITY_DURATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_RELIABILITY_DURATION(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: QOS_POLICY_TIMEBASEDFILTER_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_TIMEBASEDFILTER_FMT(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: QOS_NOWRITER_DELAY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_NOWRITER_DELAY(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - duration_fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: QOS_DISPOSED_DELAY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_DISPOSED_DELAY(duration_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - aui
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: QOS_POLICY_WRITERDATA_LIFECYCLE_FMT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_WRITERDATA_LIFECYCLE_FMT(aui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:397,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:398,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - text
    - sz
    - buff
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 413
    functionName: b64_encode
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t b64_encode (const unsigned char *text, const uint32_t sz,
      unsigned char **buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: CHECK_RET_OK
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RET_OK(ret)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:420,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:429,1
    - Dst: QOS_POLICY_DEADLINE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:429,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:429,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:432,1
    - Dst: QOS_POLICY_DEADLINE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:432,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:432,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:436,1
    - Dst: QOS_POLICY_DEADLINE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:436,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:436,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:439,1
    - Dst: QOS_POLICY_DEADLINE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:439,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:439,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:442,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:444,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:445,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:446,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:454,1
    - Dst: QOS_POLICY_DESTINATION_ORDER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:454,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:456,1
    - Dst: QOS_POLICY_DESTINATION_ORDER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:456,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:457,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:459,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:460,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:461,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:469,1
    - Dst: QOS_POLICY_DURABILITY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:469,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:471,1
    - Dst: QOS_POLICY_DURABILITY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:471,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:473,1
    - Dst: QOS_POLICY_DURABILITY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:473,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:475,1
    - Dst: QOS_POLICY_DURABILITY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:475,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:476,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:478,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:479,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:480,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:490,1
    - Dst: QOS_SERVICE_CLEANUP_DELAY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:490,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:490,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:493,1
    - Dst: QOS_SERVICE_CLEANUP_DELAY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:493,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:493,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:497,1
    - Dst: QOS_SERVICE_CLEANUP_DELAY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:497,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:497,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:500,1
    - Dst: QOS_SERVICE_CLEANUP_DELAY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:500,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:500,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:503,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:506,1
    - Dst: QOS_DURABILITY_SERVICE_HISTORY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:506,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:508,1
    - Dst: QOS_DURABILITY_SERVICE_HISTORY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:508,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:509,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:516,1
    - Dst: QOS_RESOURCE_LIMITS_MS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:516,1
    - Dst: QOS_RESOURCE_LIMITS_MS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:516,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:517,1
    - Dst: QOS_RESOURCE_LIMITS_MI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:517,1
    - Dst: QOS_RESOURCE_LIMITS_MI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:517,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:518,1
    - Dst: QOS_RESOURCE_LIMITS_MSPI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:518,1
    - Dst: QOS_RESOURCE_LIMITS_MSPI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:518,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:519,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:521,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:522,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:523,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:525,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:526,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:527,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:535,1
    - Dst: QOS_POLICY_ENTITYFACTORY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:535,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:537,1
    - Dst: QOS_POLICY_ENTITYFACTORY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:537,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:538,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:540,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:541,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:542,1
    - Dst: b64_encode
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:549,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:551,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:554,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:555,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:556,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:560,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:561,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:562,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:563,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:565,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:566,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:567,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:575,1
    - Dst: QOS_POLICY_HISTORY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:575,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:577,1
    - Dst: QOS_POLICY_HISTORY_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:577,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:578,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:580,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:581,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:582,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:592,1
    - Dst: QOS_POLICY_LATENCYBUDGET_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:592,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:592,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:595,1
    - Dst: QOS_POLICY_LATENCYBUDGET_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:595,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:595,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:599,1
    - Dst: QOS_POLICY_LATENCYBUDGET_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:599,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:599,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:602,1
    - Dst: QOS_POLICY_LATENCYBUDGET_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:602,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:602,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:605,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:607,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:608,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:609,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:619,1
    - Dst: QOS_POLICY_LIFESPAN_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:619,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:619,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:622,1
    - Dst: QOS_POLICY_LIFESPAN_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:622,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:622,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:626,1
    - Dst: QOS_POLICY_LIFESPAN_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:626,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:626,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:629,1
    - Dst: QOS_POLICY_LIFESPAN_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:629,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:629,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:632,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:634,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:635,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:636,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:646,1
    - Dst: QOS_LIVELINESS_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:646,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:646,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:649,1
    - Dst: QOS_LIVELINESS_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:649,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:649,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:653,1
    - Dst: QOS_LIVELINESS_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:653,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:653,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:656,1
    - Dst: QOS_LIVELINESS_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:656,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:656,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:659,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:662,1
    - Dst: QOS_LIVELINESS_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:662,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:664,1
    - Dst: QOS_LIVELINESS_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:664,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:666,1
    - Dst: QOS_LIVELINESS_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:666,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:667,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:669,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:670,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:671,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:672,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:674,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:675,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:676,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:684,1
    - Dst: QOS_POLICY_OWNERSHIP_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:684,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:686,1
    - Dst: QOS_POLICY_OWNERSHIP_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:686,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:687,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:689,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:690,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:691,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:698,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:699,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:701,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:702,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:703,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:711,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:714,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:715,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:716,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:718,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:720,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:721,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:722,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:724,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:725,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:726,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:735,1
    - Dst: QOS_ACCESS_SCOPE_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:735,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:737,1
    - Dst: QOS_ACCESS_SCOPE_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:737,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:739,1
    - Dst: QOS_ACCESS_SCOPE_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:739,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:740,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:743,1
    - Dst: QOS_COHERENT_ACCESS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:743,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:745,1
    - Dst: QOS_COHERENT_ACCESS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:745,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:746,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:749,1
    - Dst: QOS_ORDERED_ACCESS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:749,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:751,1
    - Dst: QOS_ORDERED_ACCESS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:751,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:752,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:754,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:755,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:756,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:757,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:758,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:760,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:761,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:762,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:772,1
    - Dst: QOS_RELIABILITY_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:772,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:772,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:775,1
    - Dst: QOS_RELIABILITY_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:775,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:775,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:779,1
    - Dst: QOS_RELIABILITY_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:779,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:779,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:782,1
    - Dst: QOS_RELIABILITY_DURATION
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:782,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:782,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:785,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:788,1
    - Dst: QOS_RELIABILITY_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:788,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:790,1
    - Dst: QOS_RELIABILITY_KIND
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:790,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:791,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:793,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:794,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:795,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:796,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:798,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:799,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:800,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:811,1
    - Dst: QOS_RESOURCE_LIMITS_MS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:811,1
    - Dst: QOS_RESOURCE_LIMITS_MS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:811,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:812,1
    - Dst: QOS_RESOURCE_LIMITS_MI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:812,1
    - Dst: QOS_RESOURCE_LIMITS_MI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:812,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:813,1
    - Dst: QOS_RESOURCE_LIMITS_MSPI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:813,1
    - Dst: QOS_RESOURCE_LIMITS_MSPI
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:813,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:815,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:816,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:816,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:816,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:817,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:819,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:820,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:821,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:831,1
    - Dst: QOS_POLICY_TIMEBASEDFILTER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:831,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:831,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:834,1
    - Dst: QOS_POLICY_TIMEBASEDFILTER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:834,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:834,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:838,1
    - Dst: QOS_POLICY_TIMEBASEDFILTER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:838,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:838,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:841,1
    - Dst: QOS_POLICY_TIMEBASEDFILTER_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:841,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:841,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:844,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:846,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:847,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:848,1
    - Dst: b64_encode
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:855,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:857,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:860,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:861,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:862,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:866,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:867,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:868,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:869,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:871,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:872,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:873,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:880,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:881,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:883,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:884,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:885,1
    - Dst: b64_encode
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:892,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:894,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:897,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:898,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:899,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:903,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:904,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:905,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:906,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:908,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:909,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:910,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:920,1
    - Dst: QOS_NOWRITER_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:920,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:920,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:923,1
    - Dst: QOS_NOWRITER_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:923,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:923,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:927,1
    - Dst: QOS_NOWRITER_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:927,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:927,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:930,1
    - Dst: QOS_NOWRITER_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:930,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:930,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:933,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:938,1
    - Dst: QOS_DISPOSED_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:938,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:938,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:941,1
    - Dst: QOS_DISPOSED_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:941,1
    - Dst: QOS_DURATION_FMT_STR
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:941,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:945,1
    - Dst: QOS_DISPOSED_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:945,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:945,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:948,1
    - Dst: QOS_DISPOSED_DELAY
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:948,1
    - Dst: QOS_DURATION_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:948,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:951,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:953,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:954,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:955,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:956,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:958,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:959,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:960,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:968,1
    - Dst: QOS_POLICY_WRITERDATA_LIFECYCLE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:968,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:970,1
    - Dst: QOS_POLICY_WRITERDATA_LIFECYCLE_FMT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:970,1
    - Dst: CHECK_RET_OK
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:971,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:973,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:974,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:975,1
    CyclomaticComplexity: 164
    EdgeCount: 164
    ICount: 366
    argCount: 6
    argNames:
    - qos
    - conf
    - out
    - kind
    - validate_mask
    - ignore_ent
    argTypes:
    - dds_qos_t*
    - sysdef_qos_conf_t*
    - char**
    - dds_qos_kind_t
    - uint64_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 982
    functionName: qos_to_conf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached:
    - b64_encode
    - QOS_LIVELINESS_DURATION
    - QOS_POLICY_DESTINATION_ORDER_FMT
    - QOS_POLICY_TIMEBASEDFILTER_FMT
    - QOS_DURATION_FMT
    - QOS_LIVELINESS_KIND
    - QOS_SERVICE_CLEANUP_DELAY_FMT
    - QOS_POLICY_ENTITYFACTORY_FMT
    - QOS_RESOURCE_LIMITS_MI
    - QOS_DURATION_FMT_STR
    - QOS_RESOURCE_LIMITS_MS
    - QOS_POLICY_HISTORY_FMT
    - QOS_ACCESS_SCOPE_KIND
    - ddsrt_strdup
    - QOS_POLICY_DURABILITY_FMT
    - CHECK_RET_OK
    - QOS_RELIABILITY_KIND
    - QOS_ORDERED_ACCESS
    - ddsrt_free
    - QOS_POLICY_LIFESPAN_FMT
    - QOS_COHERENT_ACCESS
    - QOS_DISPOSED_DELAY
    - QOS_RESOURCE_LIMITS_MSPI
    - QOS_POLICY_OWNERSHIP_FMT
    - ddsrt_asprintf
    - QOS_POLICY_LATENCYBUDGET_FMT
    - QOS_POLICY_DEADLINE_FMT
    - QOS_RELIABILITY_DURATION
    - QOS_NOWRITER_DELAY
    - QOS_POLICY_WRITERDATA_LIFECYCLE_FMT
    - QOS_DURABILITY_SERVICE_HISTORY
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t qos_to_conf(dds_qos_t *qos, const sysdef_qos_conf_t *conf,
      char **out, dds_qos_kind_t kind, uint64_t *validate_mask, const bool ignore_ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 987
    functionName: get_supported_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_supported_qos(qos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qos_to_conf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:992,1
    - Dst: CU_ASSERT_GEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:993,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:998,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:998,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:998,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:998,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1001,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1001,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1001,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1001,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1004,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1004,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1004,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1004,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1007,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1007,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1007,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1007,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1010,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1010,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1010,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1010,1
    - Dst: DEF
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1013,1
    - Dst: LIB
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1013,1
    - Dst: PRO
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1013,1
    - Dst: ENT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1013,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1016,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1017,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1019,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1020,1
    - Dst: CU_ASSERT_GEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1021,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - qos
    - conf
    - kind
    - out_conf
    - validate_mask
    argTypes:
    - dds_qos_t*
    - sysdef_qos_conf_t*
    - dds_qos_kind_t
    - char**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 988
    functionDepth: 4
    functionLinenumber: 988
    functionLinenumberEnd: 1024
    functionName: get_single_configuration
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - ENT
    - DEF
    - ddsrt_free
    - CU_ASSERT_GEQ
    - ddsrt_asprintf
    - LIB
    - qos_to_conf
    - PRO
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_single_configuration(dds_qos_t *qos, sysdef_qos_conf_t
      *conf, dds_qos_kind_t kind, char **out_conf, uint64_t *validate_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1099
    functionName: Q_DATA0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DATA0(kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1100
    functionName: Q_DATA3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DATA3(kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - knd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1101
    functionName: Q_DURABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DURABILITY(knd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1102
    functionName: Q_DEADLINE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DEADLINE(tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1103
    functionName: Q_LATENCYBUDGET
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_LATENCYBUDGET(tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - knd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1104
    functionName: Q_OWNERSHIP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_OWNERSHIP(knd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - knd
    - ','
    - dur
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1105
    functionName: Q_LIVELINESS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_LIVELINESS(knd,dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - knd
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1106
    functionName: Q_RELIABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_RELIABILITY(knd,tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1107
    functionName: Q_TRANSPORTPRIO
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_TRANSPORTPRIO(vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dur
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1108
    functionName: Q_LIFESPAN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_LIFESPAN(dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - knd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1109
    functionName: Q_DESTINATIONORDER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DESTINATIONORDER(knd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - knd
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1110
    functionName: Q_HISTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_HISTORY(knd,dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ms
    - ','
    - mi
    - ','
    - mspmi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1111
    functionName: Q_RESOURCELIMITS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_RESOURCELIMITS(ms,mi,mspmi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1112
    functionName: Q_DATA3x4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DATA3x4(kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ask
    - ','
    - oa
    - ','
    - ca
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1113
    functionName: Q_PRESENATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_PRESENATION(ask,oa,ca)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dur
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1114
    functionName: Q_TIMEBASEDFILTER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_TIMEBASEDFILTER(dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - adsd
    - ','
    - ansd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1115
    functionName: Q_READERLIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_READERLIFECYCLE(adsd,ansd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1116
    functionName: Q_OWNERSHIPSTRENGTH
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_OWNERSHIPSTRENGTH(vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - aui
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1117
    functionName: Q_WRITERLIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_WRITERLIFECYCLE(aui)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - dur
    - ','
    - hk
    - ','
    - hd
    - ','
    - ms
    - ','
    - mi
    - ','
    - mspi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    functionName: Q_DURABILITYSERVICE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_DURABILITYSERVICE(dur,hk,hd,ms,mi,mspi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - excl_msk
    - ','
    - knd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: QOS_TO_CONF_SNGL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_TO_CONF_SNGL(excl_msk,knd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos_provider
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1275,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1276,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1277,1
    - Dst: dds_delete_qos_provider
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1279,1
    - Dst: dds_create_qos_provider
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1283,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1284,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1285,1
    - Dst: dds_delete_qos_provider
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1288
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ
    - dds_delete_qos_provider
    - dds_create_qos_provider
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_provider, read_sysdef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:32,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: typebuilder_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_GT_FATAL
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void typebuilder_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.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: typebuilder_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void typebuilder_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:44,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:45,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:47,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:48,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:49,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:50,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - topic
    - type
    argTypes:
    - dds_entity_t
    - struct ddsi_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: topic_type_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsi_type_ref_local
    - CU_ASSERT_EQ_FATAL
    - dds_topic_pin
    - CU_ASSERT_NEQ_FATAL
    - dds_topic_unpin
    linkageType: ''
    returnType: void
    signature: void topic_type_ref (dds_entity_t topic, struct ddsi_type **type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:57,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:58,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:59,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - topic
    - type
    argTypes:
    - dds_entity_t
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: topic_type_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - dds_topic_unpin
    - ddsi_type_unref
    - CU_ASSERT_EQ_FATAL
    - dds_topic_pin
    linkageType: ''
    returnType: void
    signature: void topic_type_unref (dds_entity_t topic, struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:66,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:67,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - topic
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: gv_from_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - dds_topic_unpin
    - CU_ASSERT_EQ_FATAL
    - dds_topic_pin
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *gv_from_topic (dds_entity_t topic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:83,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:90,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:92,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:96,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:99,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 103
    functionName: ti_to_pairs_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - xcdr2_ser
    - ddsi_typeid_compare_impl
    - dds_ostreamLE_fini
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ti_to_pairs_equal (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *a, dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:114,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierPair*
    - dds_sequence_DDS_XTypes_TypeIdentifierPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: ti_pairs_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare_impl
    linkageType: ''
    returnType: bool
    signature: bool ti_pairs_equal (dds_sequence_DDS_XTypes_TypeIdentifierPair *a,
      dds_sequence_DDS_XTypes_TypeIdentifierPair *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ti_to_pairs_equal
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:129,1
    - Dst: ti_to_pairs_equal
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:130,1
    - Dst: ti_pairs_equal
      Src: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_typemap_t*
    - ddsi_typemap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: tmap_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 0
    functionsReached:
    - ti_pairs_equal
    - ti_to_pairs_equal
    linkageType: ''
    returnType: bool
    signature: bool tmap_equal (ddsi_typemap_t *a, ddsi_typemap_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: DEFINE_STATUS_CALLBACK
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_STATUS_CALLBACK(name, NAME, kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - subscriber
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: data_on_readers_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data_on_readers_cb (dds_entity_t subscriber, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: data_available_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data_available_cb (dds_entity_t reader, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: dummy_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void dummy_cb (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:72,1
    - Dst: dds_lset_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:73,1
    - Dst: dds_lset_inconsistent_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:74,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:75,1
    - Dst: dds_lset_liveliness_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:76,1
    - Dst: dds_lset_offered_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:77,1
    - Dst: dds_lset_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:78,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:79,1
    - Dst: dds_lset_requested_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:80,1
    - Dst: dds_lset_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:81,1
    - Dst: dds_lset_sample_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:82,1
    - Dst: dds_lset_sample_rejected
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:83,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - l
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: set_all_const
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_lset_subscription_matched
    - dds_lset_data_on_readers
    - dds_lset_inconsistent_topic
    - dds_lset_publication_matched
    - dds_lset_liveliness_lost
    - dds_lset_requested_deadline_missed
    - dds_lset_liveliness_changed
    - dds_lset_sample_lost
    - dds_lset_offered_incompatible_qos
    - dds_lset_requested_incompatible_qos
    - dds_lset_offered_deadline_missed
    - dds_lset_sample_rejected
    - dds_lset_data_available
    linkageType: ''
    returnType: void
    signature: void set_all_const (dds_listener_t *l, void (*c) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:89,1
    - Dst: dds_lset_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:90,1
    - Dst: dds_lset_inconsistent_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:91,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:92,1
    - Dst: dds_lset_liveliness_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:93,1
    - Dst: dds_lset_offered_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:94,1
    - Dst: dds_lset_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:95,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:96,1
    - Dst: dds_lset_requested_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:97,1
    - Dst: dds_lset_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:98,1
    - Dst: dds_lset_sample_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:99,1
    - Dst: dds_lset_sample_rejected
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:100,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - l
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: set_all
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_lset_subscription_matched
    - dds_lset_data_on_readers
    - dds_lset_inconsistent_topic
    - dds_lset_publication_matched
    - dds_lset_liveliness_lost
    - dds_lset_requested_deadline_missed
    - dds_lset_liveliness_changed
    - dds_lset_sample_lost
    - dds_lset_offered_incompatible_qos
    - dds_lset_requested_incompatible_qos
    - dds_lset_offered_deadline_missed
    - dds_lset_sample_rejected
    - dds_lset_data_available
    linkageType: ''
    returnType: void
    signature: void set_all (dds_listener_t *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fntype
    - ','
    - listener
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: ASSERT_CALLBACK_EQUAL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_CALLBACK_EQUAL(fntype, listener, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:113,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:114,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:115,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:116,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:117,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:118,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:119,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:120,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:121,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:122,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:123,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:124,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - l
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: check_all_const
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - ASSERT_CALLBACK_EQUAL
    linkageType: ''
    returnType: void
    signature: void check_all_const (const dds_listener_t *l, void (*c) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:130,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:131,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:132,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:133,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:134,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:135,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:136,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:137,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:138,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:139,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:140,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:141,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - l
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: check_all
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - ASSERT_CALLBACK_EQUAL
    linkageType: ''
    returnType: void
    signature: void check_all (const dds_listener_t *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:147,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:148,1
    - Dst: check_all_const
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:149,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:150,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - check_all_const
    - dds_delete_listener
    - CU_ASSERT_NEQ_FATAL
    - dds_create_listener
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, create_and_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:158,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:159,1
    - Dst: set_all
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:161,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:164,1
    - Dst: check_all_const
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:165,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:166,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_create_listener
    - check_all_const
    - set_all
    - dds_reset_listener
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, reset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:174,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:175,1
    - Dst: set_all
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:176,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:178,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:179,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:180,1
    - Dst: check_all
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:181,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:184,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:185,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:186,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:188,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - check_all
    - dds_create_listener
    - set_all
    - dds_copy_listener
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:194,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:195,1
    - Dst: set_all
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:196,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:199,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:200,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:201,1
    - Dst: check_all
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:202,1
    - Dst: set_all_const
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:205,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:206,1
    - Dst: check_all_const
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:207,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:210,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:211,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:212,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:214,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_merge_listener
    - dds_create_listener
    - check_all
    - check_all_const
    - set_all
    - set_all_const
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, merge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:221,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:222,1
    - Dst: ASSERT_CALLBACK_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:228,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:242,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:243,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:244,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:245,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:246,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:247,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:248,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:249,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:250,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:251,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:252,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:253,1
    - Dst: TEST_GET_SET
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:254,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - ASSERT_CALLBACK_EQUAL
    - dds_create_listener
    - TEST_GET_SET
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_listener, getters_setters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listener
    - ','
    - fntype
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: TEST_GET_SET
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_GET_SET(listener, fntype, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ops
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: dotest
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dotest(ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:273,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:275,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:276,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, propagation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:285,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:288,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:309,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:313,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:320,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:325,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:335,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 347
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, matched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:352,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:353,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:357,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:358,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:361,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:362,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:364,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:365,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:366,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, publication_matched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:373,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:374,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:378,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:379,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:382,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:383,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:385,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:386,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:387,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, subscription_matched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:394,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:395,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:396,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, incompatible_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:403,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:405,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:407,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, data_available)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:421,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:424,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:425,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:426,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:428,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:429,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:430,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:431,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:432,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:433,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:434,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:435,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:436,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:437,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:438,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, data_available_delete_writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:445,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:446,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:447,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:449,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:450,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:451,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:452,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:454,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:455,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:456,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, data_available_delete_writer_disposed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:463,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, data_on_readers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, sample_lost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:479,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:480,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:484,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, sample_rejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:491,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/listener.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/listener.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_listener, liveliness_changed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:48,1
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:49,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:50,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:55,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:56,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:56,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:57,1
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:58,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:58,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:59,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:60,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:60,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:67,1
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:68,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:69,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:74,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:75,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:75,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:76,1
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:77,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:77,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:78,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:79,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:79,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:87,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:88,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:89,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:90,1
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:92,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:92,1
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:94,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:97,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:97,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:99,1
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:101,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:101,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:102,1
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:103,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:104,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:104,1
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:105,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:105,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:107,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:109,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:112,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:116,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:117,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:119,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:121,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:122,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:124,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:124,1
    - Dst: dds_qset_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:125,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:126,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:127,1
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:128,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:128,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:128,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:129,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 4
    argNames:
    - q
    - i
    - isrd
    - create
    argTypes:
    - dds_qos_t*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 130
    functionName: setqos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_qset_userdata
    - dds_qset_ownership
    - dds_qset_presentation
    - dds_qset_deadline
    - dds_qset_reliability
    - dds_qset_resource_limits
    - ddsrt_malloc
    - dds_qset_history
    - snprintf
    - dds_qset_writer_data_lifecycle
    - dds_qset_latency_budget
    - dds_qset_destination_order
    - dds_qset_durability_service
    - dds_qset_time_based_filter
    - ddsrt_free
    - dds_qset_durability
    - strlen
    - INT64_C
    - dds_qset_ownership_strength
    - dds_qset_reader_data_lifecycle
    - dds_qset_partition
    - dds_qset_lifespan
    - dds_qset_partition1
    - dds_qset_groupdata
    - dds_qset_transport_priority
    - dds_qset_topicdata
    linkageType: ''
    returnType: void
    signature: void setqos (dds_qos_t *q, size_t i, bool isrd, bool create)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:134,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:137,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:138,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:140,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:146,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:149,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:150,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:150,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:151,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:151,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - a
    - ent
    argTypes:
    - dds_qos_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: pubsub_qos_eq_h
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_delta
    - ddsi_xqos_log
    - DDS_CLOG
    - dds_log_cfg_init
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    linkageType: ''
    returnType: bool
    signature: bool pubsub_qos_eq_h (const dds_qos_t *a, dds_entity_t ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: reader_qos_delta
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t reader_qos_delta (const dds_qos_t *a, const dds_qos_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:165,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:168,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:169,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:171,1
    - Dst: reader_qos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:175,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:178,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:179,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:179,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:180,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:180,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - a
    - ent
    argTypes:
    - dds_qos_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: reader_qos_eq_h
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_log
    - DDS_CLOG
    - dds_log_cfg_init
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - reader_qos_delta
    linkageType: ''
    returnType: bool
    signature: bool reader_qos_eq_h (const dds_qos_t *a, dds_entity_t ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: writer_qos_delta
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t writer_qos_delta (const dds_qos_t *a, const dds_qos_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:194,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:197,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:198,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:200,1
    - Dst: writer_qos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:204,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:207,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:208,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:208,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:209,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:209,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - a
    - ent
    argTypes:
    - dds_qos_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: writer_qos_eq_h
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_log
    - DDS_CLOG
    - writer_qos_delta
    - dds_log_cfg_init
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    linkageType: ''
    returnType: bool
    signature: bool writer_qos_eq_h (const dds_qos_t *a, dds_entity_t ent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:230,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:231,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:232,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:233,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:235,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:236,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:237,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:238,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:242,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:243,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:244,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:247,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:248,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:249,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:255,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:256,1
    - Dst: pubsub_qos_eq_h
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:256,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:259,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:260,1
    - Dst: writer_qos_eq_h
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:260,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:274,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:275,1
    - Dst: dds_get_matched_subscription_data
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:280,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:281,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:282,1
    - Dst: reader_qos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:283,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:287,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:288,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:289,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:289,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:290,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:290,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:292,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:293,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:299,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:299,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:302,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:303,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:304,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:307,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:308,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:316,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:317,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:329,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:330,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:331,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:332,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 334
    functionName: pub_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - setqos
    - dds_qset_userdata
    - DDS_CLOG
    - dds_delete
    - dds_create_qos
    - reader_qos_delta
    - fflush
    - dds_create_topic
    - pubsub_qos_eq_h
    - CU_ASSERT_EQ_FATAL
    - ddsi_xqos_log
    - dds_create_publisher
    - writer_qos_eq_h
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - tprintf
    - dds_create_writer
    - dds_builtintopic_free_endpoint
    - dds_get_matched_subscriptions
    - dds_get_publication_matched_status
    - dds_create_participant
    - dds_sleepfor
    - dds_log_cfg_init
    - dds_get_matched_subscription_data
    - dds_delete_qos
    - dds_set_qos
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pub_thread (void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:343,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:348,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:350,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:352,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:353,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:357,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - rd
    - userdata
    argTypes:
    - dds_entity_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 359
    functionName: wait_for_done
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_free
    - dds_qget_userdata
    - dds_return_loan
    - strcmp
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void wait_for_done (dds_entity_t rd, const char *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:372,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:373,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:374,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:375,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:377,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:378,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:379,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:380,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:384,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:385,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:386,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:389,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:390,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:391,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:397,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:398,1
    - Dst: pubsub_qos_eq_h
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:398,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:401,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:402,1
    - Dst: reader_qos_eq_h
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:402,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:416,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:417,1
    - Dst: dds_get_matched_publication_data
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:422,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:423,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:424,1
    - Dst: writer_qos_delta
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:425,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:429,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:430,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:431,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:431,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:432,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:432,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:434,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:435,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:441,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:441,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:444,1
    - Dst: wait_for_done
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:445,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:447,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:448,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 451
    functionName: sub_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - setqos
    - DDS_CLOG
    - writer_qos_delta
    - dds_delete
    - dds_create_subscriber
    - dds_create_qos
    - reader_qos_eq_h
    - dds_create_topic
    - pubsub_qos_eq_h
    - CU_ASSERT_EQ_FATAL
    - ddsi_xqos_log
    - dds_create_reader
    - DDS_MSECS
    - wait_for_done
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_get_matched_publication_data
    - tprintf
    - dds_builtintopic_free_endpoint
    - dds_create_participant
    - dds_sleepfor
    - dds_get_matched_publications
    - dds_log_cfg_init
    - dds_delete_qos
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sub_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:459,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:460,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:461,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:462,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:463,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:464,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:465,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:466,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:469,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:472,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:481,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:482,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:488,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:489,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:491,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:492,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:494,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:495,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:496,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 498
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - dds_create_domain
    - ddsrt_free
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - ddsrt_thread_create
    - dds_delete
    - ddsrt_expand_envvars
    - ddsrt_threadattr_init
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qosmatch, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wr
    - st
    - arg
    argTypes:
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: on_pub_matched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_pub_matched (dds_entity_t wr, const dds_publication_matched_status_t
      st, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rd
    - st
    - arg
    argTypes:
    - dds_entity_t
    - dds_subscription_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: on_sub_matched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_sub_matched (dds_entity_t rd, const dds_subscription_matched_status_t
      st, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:37,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:40,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: create_reader_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    functionUses: 0
    functionsReached:
    - dds_create_reader
    - dds_delete
    - dds_set_listener
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t create_reader_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:50,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:52,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:54,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:55,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:56,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:57,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:58,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:59,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:61,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:68,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:69,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:70,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:72,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:73,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:74,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:75,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:80,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:81,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:83,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:84,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: do_ddsc_match_stress_single_writer_many_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    functionUses: 0
    functionsReached:
    - dds_lset_subscription_matched
    - snprintf
    - dds_create_topic
    - dds_create_listener
    - CU_ASSERT_EQ_FATAL
    - dds_set_listener
    - dds_create_participant
    - ddsrt_thread_join
    - create_unique_topic_name
    - dds_lset_publication_matched
    - ddsrt_thread_create
    - dds_delete
    - ddsrt_threadattr_init
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_delete_listener
    linkageType: ''
    returnType: void
    signature: void do_ddsc_match_stress_single_writer_many_readers (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ddsc_match_stress_single_writer_many_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/matchstress.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    functionUses: 0
    functionsReached:
    - do_ddsc_match_stress_single_writer_many_readers
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_match_stress, single_writer_many_readers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: strfy
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strfy(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: DDSC_ARRAYTYPEKEY_TEST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSC_ARRAYTYPEKEY_TEST(type, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, long_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, longlong_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, unsignedshort_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, unsignedlong_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.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: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, unsignedlonglong_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: DDSC_ARRAYTYPEKEY_TEST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 6
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: 'void DDSC_ARRAYTYPEKEY_TEST(char, ''1'');

      }


      CU_Test(ddsc_types, boolean_arraytypekey)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSC_ARRAYTYPEKEY_TEST
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - DDSC_ARRAYTYPEKEY_TEST
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, octet_arraytypekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:108,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:109,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:110,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:111,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:112,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:113,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:115,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:116,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:118,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:119,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/types.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/types.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_write
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_types, alltypeskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:48,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:49,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:50,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:51,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:52,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:53,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:55,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:56,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:57,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:58,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:60,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:61,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:62,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: liveliness_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void liveliness_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:68,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: liveliness_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void liveliness_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:83,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:83,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:84,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:84,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:85,1
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:86,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:87,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:88,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:90,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:90,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - participant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: get_pmd_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsi_get_builtin_writer
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t get_pmd_seqno(dds_entity_t participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:103,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:103,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:104,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:104,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:105,1
    - Dst: ddsi_participant_get_pmd_interval
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:106,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:107,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:107,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - participant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: get_pmd_interval
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 1
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsi_participant_get_pmd_interval
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t get_pmd_interval(dds_entity_t participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:119,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:119,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - participant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: get_ldur_config
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t get_ldur_config(dds_entity_t participant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:155,1
    - Dst: get_pmd_seqno
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:159,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:160,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:160,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:163,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:164,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:164,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:166,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:166,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:169,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:169,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:170,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:171,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:171,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:172,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:173,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:173,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:176,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:176,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:177,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:177,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:180,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:180,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:181,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:181,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:182,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:182,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:183,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:186,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:186,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:187,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:187,1
    - Dst: get_pmd_seqno
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:190,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:191,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:191,1
    - Dst: get_pmd_seqno
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:192,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:194,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:199,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:201,1
    - Dst: get_pmd_seqno
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:201,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:205,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:205,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:206,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:206,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:207,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:207,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:208,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - kind
    - ldur
    - mult
    - remote_reader
    argTypes:
    - dds_liveliness_kind_t
    - uint32_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 209
    functionName: test_pmd_count
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - DDS_SECS
    - dds_delete
    - dds_create_waitset
    - dds_create_qos
    - CU_ASSERT_LT_FATAL
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_NEQ_FATAL
    - get_pmd_seqno
    - dds_take_status
    - tprintf
    - dds_create_writer
    - dds_sleepfor
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void test_pmd_count(dds_liveliness_kind_t kind, uint32_t ldur, double
      mult, bool remote_reader)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:247,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:248,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:252,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:253,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:253,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:255,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:255,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:258,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:258,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:259,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:260,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:260,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:261,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:262,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:262,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:265,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:265,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:266,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:266,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:267,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:267,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:268,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:268,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:269,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:269,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:270,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:270,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:272,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:272,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:273,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:273,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:275,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:280,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:280,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:281,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:281,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:281,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:282,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:282,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:284,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:285,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:286,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:288,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:289,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:292,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:297,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:298,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:299,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:301,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:305,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:306,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:306,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:307,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:307,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:309,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:310,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:314,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:314,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:315,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:323,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:328,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:328,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:329,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:329,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:332,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:332,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:335,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:335,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:336,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:336,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:337,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:337,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:343,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:344,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:350,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 6
    argNames:
    - ldur
    - mult
    - wr_cnt_auto
    - wr_cnt_man_pp
    - wr_cnt_man_tp
    - remote_reader
    argTypes:
    - uint32_t
    - double
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 354
    functionName: test_expire_liveliness_kinds
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - DDS_SECS
    - dds_delete
    - dds_create_waitset
    - dds_create_qos
    - dds_alloc
    - dds_get_liveliness_changed_status
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_NEQ_FATAL
    - dds_take_status
    - dds_free
    - tprintf
    - dds_create_writer
    - CU_FAIL_FATAL
    - dds_time
    - dds_delete_qos
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void test_expire_liveliness_kinds(uint32_t ldur, double mult, uint32_t
      wr_cnt_auto, uint32_t wr_cnt_man_pp, uint32_t wr_cnt_man_tp, bool remote_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:370,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:371,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:371,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:373,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:373,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:374,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:375,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:375,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:376,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:379,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:379,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:379,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:380,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:380,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:382,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:382,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:383,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - kind
    - ldur
    - writer
    - topic
    - reader
    - remote_reader
    argTypes:
    - dds_liveliness_kind_t
    - dds_duration_t
    - dds_entity_t*
    - dds_entity_t
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: add_and_check_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_take_status
    - dds_waitset_detach
    - dds_delete
    - dds_create_waitset
    - dds_delete_qos
    - DDS_MSECS
    - dds_create_qos
    - dds_waitset_wait
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void add_and_check_writer(dds_liveliness_kind_t kind, dds_duration_t
      ldur, dds_entity_t *writer, dds_entity_t topic, dds_entity_t reader, bool remote_reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:461,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:464,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:465,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:465,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:467,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:467,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:470,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:470,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:471,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:472,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:472,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:473,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:474,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:474,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:478,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:478,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:479,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:479,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:480,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:480,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:483,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:483,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:484,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:484,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:485,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:485,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:485,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:486,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:486,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:490,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:490,1
    - Dst: dds_get_matched_publication_data
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:492,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:493,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:494,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:494,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:495,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:498,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:499,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:499,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:500,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:500,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:501,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:501,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:503,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:503,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:504,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:504,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:505,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - remote_reader
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 506
    functionName: test_lease_duration_pwr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_delete
    - dds_create_waitset
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_NEQ_FATAL
    - dds_take_status
    - dds_get_matched_publication_data
    - tprintf
    - dds_create_writer
    - dds_builtintopic_free_endpoint
    - dds_get_matched_publications
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void test_lease_duration_pwr(bool remote_reader)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:539,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:542,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:543,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:543,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:545,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:545,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:548,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:548,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:549,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:550,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:550,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:551,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:552,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:552,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:553,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:553,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:554,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:554,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:557,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:557,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:558,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:558,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:559,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:559,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:560,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:560,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:560,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:566,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:566,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:567,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:567,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:568,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:568,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:570,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:576,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:577,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:582,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:582,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:583,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:584,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:584,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:588,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:589,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:589,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:590,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:590,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:591,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:592,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:598,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:598,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:603,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:603,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:604,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:605,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:605,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:607,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:607,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:608,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:608,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:609,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:609,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:611,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:611,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:612,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:612,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - remote_reader
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 613
    functionName: test_create_delete_writer_stress
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_delete
    - dds_create_waitset
    - dds_create_qos
    - dds_get_liveliness_changed_status
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_write
    - tprintf
    - dds_create_writer
    - dds_sleepfor
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void test_create_delete_writer_stress(bool remote_reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:639,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:642,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:645,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:646,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:646,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:648,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:648,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:651,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:651,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:652,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:653,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:653,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:654,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:655,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:655,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:656,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:656,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:657,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:657,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:660,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:660,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:661,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:662,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:662,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:663,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:664,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:664,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:667,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:667,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:667,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:670,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:671,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:672,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:673,1
    - Dst: dds_get_liveliness_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:674,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:675,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:678,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:678,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:679,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:679,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:679,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:681,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:682,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:683,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:684,1
    - Dst: dds_get_liveliness_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:685,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:686,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:687,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:690,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:690,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:691,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:691,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:691,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:693,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:694,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:695,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:696,1
    - Dst: dds_get_liveliness_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:697,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:698,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:701,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:701,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:702,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:702,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:703,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:703,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:704,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:704,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:706,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:706,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:707,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - remote_reader
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 708
    functionName: test_status_counts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - DDS_SECS
    - dds_delete
    - dds_create_waitset
    - dds_create_qos
    - dds_get_liveliness_changed_status
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_get_subscription_matched_status
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_NEQ_FATAL
    - dds_get_liveliness_lost_status
    - dds_write
    - tprintf
    - dds_create_writer
    - dds_sleepfor
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void test_status_counts(bool remote_reader)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:740,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:741,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:745,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:746,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:746,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:748,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:748,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:751,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:751,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:752,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:753,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:753,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:754,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:755,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:755,1
    - Dst: add_and_check_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:759,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:759,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:760,1
    - Dst: add_and_check_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:762,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:762,1
    - Dst: add_and_check_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:764,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:764,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:765,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:766,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:769,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:774,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:775,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:779,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:779,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:784,1
    - Dst: dds_assert_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:784,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:785,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:785,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:787,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:787,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:788,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:789,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:789,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:790,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:794,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:801,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:801,1
    - Dst: dds_assert_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:805,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:806,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:806,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:808,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:808,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:809,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:810,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:811,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:815,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:825,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:825,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:827,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:827,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:829,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:829,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:830,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:830,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:836,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:842,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 4
    argNames:
    - wr_cnt_auto
    - wr_cnt_man_pp
    - wr_cnt_man_tp
    - remote_reader
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts:
    - condition: (wr_cnt_auto + wr_cnt_man_pp + wr_cnt_man_tp < MAX_WRITERS)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    constantsTouched: []
    func_position:
      end: 846
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 846
    functionName: test_assert_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_delete
    - add_and_check_writer
    - dds_create_qos
    - dds_get_liveliness_changed_status
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_assert_liveliness
    - CU_ASSERT_NEQ_FATAL
    - assert
    - tprintf
    - CU_FAIL_FATAL
    - dds_time
    - dds_sleepfor
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void test_assert_liveliness(uint32_t wr_cnt_auto, uint32_t wr_cnt_man_pp,
      uint32_t wr_cnt_man_tp, bool remote_reader)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:870,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:875,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:880,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:896,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:901,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:914,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:919,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:925,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:928,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - rd
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_liveliness_changed_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 929
    functionName: liveliness_changed_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - tprintf
    linkageType: ''
    returnType: void
    signature: void liveliness_changed_listener (dds_entity_t rd, const dds_liveliness_changed_status_t
      status, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:942,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:943,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:944,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:945,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:946,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:947,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:948,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:949,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:950,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - writer_active
    argTypes:
    - dds_entity_t
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 957
    functionName: get_and_check_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_get_publication_matched_status
    - CU_ASSERT_EQ_FATAL
    - dds_take_status
    - dds_get_subscription_matched_status
    - tprintf
    - CU_ASSERT_LEQ_FATAL
    - dds_get_liveliness_changed_status
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_and_check_status (dds_entity_t reader, dds_entity_t writer_active)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:968,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:969,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:971,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:972,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:973,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:974,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:976,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:977,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:978,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:981,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:982,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:986,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:987,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:988,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:989,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:990,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:991,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:992,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:995,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:996,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:997,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:998,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:999,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1000,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1001,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1002,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1003,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1005,1
    - Dst: get_and_check_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1013,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1019,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1020,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1026,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1026,1
    - Dst: get_and_check_status
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1029,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1030,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1036,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1037,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1038,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1039,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/liveliness.c:1040,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 7
    argNames:
    - reader
    - writer_active
    - waitset
    - lkind
    - ldur
    - remote_reader
    - listener_state
    argTypes:
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_liveliness_kind_t
    - dds_duration_t
    - bool
    - struct liveliness_changed_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1041
    functionName: setup_reader_zero_or_one
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - DDS_SECS
    - dds_qset_reliability
    - dds_create_waitset
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - dds_lset_liveliness_changed
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_delete_listener
    - get_and_check_status
    - dds_write
    - dds_create_writer
    - dds_create_listener
    - dds_set_listener
    - dds_delete_qos
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void setup_reader_zero_or_one (dds_entity_t *reader, dds_entity_t *writer_active,
      dds_entity_t *waitset, dds_liveliness_kind_t lkind, dds_duration_t ldur, bool
      remote_reader, struct liveliness_changed_state *listener_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:49,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:53,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:59,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:62,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:63,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:65,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - message
    - multicast
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: check_destination_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strrchr
    - isspace
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_destination_addresses (const char *message, bool multicast)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:75,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:76,1
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:77,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:80,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:82,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:88,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:97,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:97,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:99,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:99,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:103,1
    - Dst: check_destination_addresses
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:105,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:108,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:115,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:115,1
    - Dst: check_destination_addresses
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:117,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:120,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:126,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts:
    - condition: (data->domid <= 1)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    constantsTouched: []
    func_position:
      end: 127
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 127
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    functionUses: 0
    functionsReached:
    - ddsi_patmatch
    - check_destination_addresses
    - assert
    - ddsrt_mutex_lock
    - tprintf
    - ddsrt_cond_mtime_broadcast
    - fputs
    - strchr
    - strncmp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void logger (void *ptr, const dds_log_data_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:140,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:141,1
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:142,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:143,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:144,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:150,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:151,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:152,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:153,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:159,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:160,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:161,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:162,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:163,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:164,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:165,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:169,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:183,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:184,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:188,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:189,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:190,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:191,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:192,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:193,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:194,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:195,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:196,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:212,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:213,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:214,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:215,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:217,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:218,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:219,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:220,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:221,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:222,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:224,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:225,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:226,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:229,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:230,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:230,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:235,1
    - Dst: ddsi_addrset_count_uc
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:235,1
    - Dst: ddsi_addrset_count_mc
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:235,1
    - Dst: ddsi_addrset_count_uc
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:236,1
    - Dst: ddsi_addrset_count_mc
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:236,1
    - Dst: ddsi_addrset_count_mc
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:237,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:239,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:239,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:240,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:242,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:246,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:248,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:249,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:250,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:251,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:255,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:255,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:255,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:256,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:258,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:259,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:261,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:262,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:263,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:264,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:266,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:268,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:269,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:270,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 272
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_entity_unpin
    - DDS_SECS
    - dds_delete
    - dds_set_log_mask
    - dds_qset_reliability
    - dds_create_qos
    - get_domaingv
    - snprintf
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_set_trace_sink
    - create_unique_topic_name
    - ddsrt_mutex_lock
    - dds_create_reader
    - dds_entity_pin
    - ddsrt_cond_mtime_init
    - ddsrt_mutex_destroy
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_wait_for_acks
    - ddsrt_cond_mtime_destroy
    - CU_PASS
    - ddsrt_free
    - dds_write
    - PGUID
    - ddsrt_asprintf
    - sync_reader_writer
    - dds_create_writer
    - ddsrt_mutex_init
    - ddsrt_time_monotonic
    - ddsi_addrset_count_uc
    - ddsrt_cond_mtime_waituntil
    - dds_set_log_sink
    - dds_create_participant
    - ddsi_addrset_count_mc
    - dds_entity_kind
    - ddsrt_mtime_add_duration
    - dds_delete_qos
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_redundant_networking, uc_data_on_all_intfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:33,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:39,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:40,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:41,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:45,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:47,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:50,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:51,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:52,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:53,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:59,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:60,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:64,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:65,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:69,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:71,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:78,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:82,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:83,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:87,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:90,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:91,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:92,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:95,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 97
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_write
    - dds_delete
    - dds_qset_durability
    - memset
    - dds_create_publisher
    - dds_qset_reliability
    - dds_create_subscriber
    - dds_create_reader
    - dds_read
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_transient_local, late_joiner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: filter
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:48,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:49,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:52,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:54,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:55,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:57,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:58,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:60,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:61,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:63,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:64,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:66,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:67,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:69,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:70,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:72,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:73,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:75,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:76,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:78,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:79,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:81,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:82,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c
    functionUses: 8
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_create_participant
    - dds_create_subscriber
    - dds_create_publisher
    - dds_create_querycondition
    - dds_create_waitset
    - dds_create_reader
    - memset
    - ddsrt_strdup
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RoundTripModule_Address_free
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:90,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c
    functionUses: 7
    functionsReached:
    - dds_delete
    - RoundTripModule_Address_free
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:46,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:48,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:49,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:50,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:52,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:53,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:54,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:55,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:56,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:57,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: topic_find_global_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void topic_find_global_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:65,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:66,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: topic_find_global_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void topic_find_global_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:72,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:73,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:75,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:76,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - topic_name_remote
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: create_remote_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - create_unique_topic_name
    - CU_ASSERT_GT_FATAL
    - dds_create_topic
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void create_remote_topic (char * topic_name_remote)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:83,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:84,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:84,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:91,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:93,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:95,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:97,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:97,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - topic_name_remote
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: wait_for_remote_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_time
    - strcmp
    - dds_return_loan
    - dds_sleepfor
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void wait_for_remote_topic (char * topic_name_remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:104,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: get_desc_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_deser
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: dds_typeinfo_t
    signature: dds_typeinfo_t *get_desc_typeinfo (const dds_topic_descriptor_t *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - size
    - prefix
    - index
    argTypes:
    - char*
    - size_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: set_topic_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void set_topic_name (char *name, size_t size, const char *prefix, uint32_t
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:158,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:161,1
    - Dst: set_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:164,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:165,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:166,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:168,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:169,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:172,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:173,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:173,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:178,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:179,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:180,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:180,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:182,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:183,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: topics_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - dds_delete
    - dds_sleepfor
    - tprintf
    - DDS_MSECS
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - CU_ASSERT_GT_FATAL
    - set_topic_name
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t topics_thread (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:190,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:191,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:191,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:192,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:192,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - desired_state
    - timeout
    argTypes:
    - struct create_topic_thread_arg*
    - uint32_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: topics_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_time
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t topics_thread_state (struct create_topic_thread_arg *arg,
      uint32_t desired_state, dds_duration_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:40,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:41,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:42,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:45,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:48,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:50,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:52,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:55,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: topic_find_local_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_get_typeinfo
    - CU_ASSERT_GT_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void topic_find_local_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:63,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: topic_find_local_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
    functionUses: 0
    functionsReached:
    - dds_free_typeinfo
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void topic_find_local_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:75,1
    - Dst: dds_find_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:78,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:79,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:80,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:81,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:81,1
    - Dst: dds_find_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:83,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:84,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:85,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:86,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:86,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:96,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:98,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:99,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - what
    - dir
    argTypes:
    - enum topic_find_local_domain_impl_delete_what
    - int
    assertStmts:
    - condition: (dir == -1 || dir == 1)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: topic_find_local_domain_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - assert
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_find_topic
    - CU_ASSERT_NEQ_FATAL
    - dds_get_participant
    linkageType: ''
    returnType: void
    signature: void topic_find_local_domain_impl (enum topic_find_local_domain_impl_delete_what
      what, int dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:27,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:28,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:29,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:30,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:31,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:32,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:33,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:34,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:36,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:37,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:38,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:39,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:40,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:41,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:42,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:43,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:44,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:45,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 47
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain, get_domainid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:57,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:58,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:59,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:61,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:63,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:64,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:65,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:66,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:69,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:70,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:71,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:73,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:74,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:82,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain, delete_domain0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:93,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:94,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:95,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:96,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:98,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:103,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:104,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:105,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:107,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:110,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:111,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:112,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:113,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:114,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:115,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:118,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:119,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain, delete_domainM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:131,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:132,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:133,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:134,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:136,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:141,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:142,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain, delete_cyclonedds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:152,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:153,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:155,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:157,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:159,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:160,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:161,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:172,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:173,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:175,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:176,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:177,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:179,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, mismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:190,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:191,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:193,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:194,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:195,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:197,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:208,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:209,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:211,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:212,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:213,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:215,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:224,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:225,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:227,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:228,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, after_domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:238,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:239,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:241,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:242,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_create_participant
    - dds_delete
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, after_participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:254,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:255,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:257,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:258,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:260,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:261,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:262,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:264,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:265,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:266,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:268,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:269,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:270,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:271,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:273,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:274,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:275,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 277
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_domain
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:282,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, domain_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:289,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, invalid_xml)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:304,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:309,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:311,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:312,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:317,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:318,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:320,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:320,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - varg
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 329
    functionName: logsink
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - strstr
    - ddsrt_realloc
    - strcmp
    - ddsrt_strdup
    - strchr
    - strncmp
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void logsink (void *varg, const dds_log_data_t *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:349,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:350,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:351,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:352,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:355,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:358,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:360,1
    - Dst: dds_create_domain_with_rawconfig
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:361,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:362,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:363,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:365,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:372,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:373,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:373,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:374,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:374,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:380,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:381,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:383,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:385,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:389,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:390,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:392,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/domain.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 394
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_domain_with_rawconfig
    - dds_set_trace_sink
    - ddsrt_free
    - dds_delete
    - strcmp
    - strlen
    - strncmp
    - printf
    - ddsi_config_init_default
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_domain_create, raw_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:36,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:37,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:39,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:40,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:41,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:42,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:43,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:44,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:45,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: ddsc_topic_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_listener
    - dds_create_participant
    - create_unique_topic_name
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void ddsc_topic_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:52,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:53,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:54,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:55,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: ddsc_topic_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_delete_qos
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void ddsc_topic_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:32,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:33,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:34,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:35,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:36,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:37,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:38,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - locstr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: get_localhost_address
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string_no_port
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - get_domaingv
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void get_localhost_address (locstr_t *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:45,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:47,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:48,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:49,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:54,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:59,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:60,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - locstr_t*
    assertStmts:
    - condition: (loc.kind == DDSI_LOCATOR_KIND_UDPv4)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: get_nonexist_address
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string_no_port
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - assert
    - dds_delete
    - get_domaingv
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void get_nonexist_address (locstr_t *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:68,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:73,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:84,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:92,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:118,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:123,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:126,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:127,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:128,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:129,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - domainid
    - base_port
    - allow_multicast
    - spdp_address
    - participant_index
    - add_localhost
    - peer_address
    argTypes:
    - uint32_t
    - int
    - enum ddsi_boolean_default
    - char*
    - char*
    - bool
    - locstr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 132
    functionName: make_domain_and_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - ddsrt_getpid
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_asprintf
    - ddsrt_strdup
    - CU_ASSERT_GT_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t make_domain_and_participant (uint32_t domainid, int base_port,
      enum ddsi_boolean_default allow_multicast, const char *spdp_address, const char
      *participant_index, bool add_localhost, const locstr_t *peer_address)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:147,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - varg
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - fputs
    - ddsi_patmatch
    linkageType: ''
    returnType: void
    signature: void logger (void *varg, const dds_log_data_t *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:181,1
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:183,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:184,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:185,1
    - Dst: make_domain_and_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:190,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:197,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:197,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:200,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:200,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:203,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:203,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:206,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:209,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:214,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:215,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:218,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:219,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:226,1
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:229,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:230,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:231,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:232,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:241,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:248,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - base_port
    - cfg
    - larg_in
    - nopers
    - opers
    argTypes:
    - int
    - struct cfg*
    - struct logger_arg*
    - size_t
    - enum oper[]
    assertStmts:
    - condition: (larg_in->found[0] == 0 && larg_in->found[1] == 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 249
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 249
    functionName: run_one
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - dds_set_log_sink
    - make_domain_and_participant
    - dds_set_trace_sink
    - DDS_SECS
    - assert
    - dds_delete
    - dds_sleepfor
    - dds_set_log_mask
    - dds_domain_set_deafmute
    - tprintf
    - CU_ASSERT_FATAL
    - fflush
    linkageType: ''
    returnType: void
    signature: void run_one (int base_port, const struct cfg *cfg, const struct logger_arg
      *larg_in, size_t nopers, const enum oper opers[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I1_mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:292,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I2_uc_lhost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I3_mc_spdp0_no_lhost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:320,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I4_mc_spdp0_lhost_in_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:335,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I5_mc_spdp0_lhost_one_addlhost_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:351,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I6_mc_one_uc_lhost_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I7_mc_autoidx_one_uc_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:376,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I8_uc_lhost_one_mc_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:390,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, I9_uc_lhost_one_mc_autoidx_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_nonexist_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:406,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:408,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:409,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prunemsglen < (int) sizeof (prunemsg))
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 425
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 425
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - assert
    - snprintf
    - get_nonexist_address
    - run_one
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II1_mc_nonexist_peer_in_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:431,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:433,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:434,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:436,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:437,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:438,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prunemsglen < (int) sizeof (prunemsg[0][0]))
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 456
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 456
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - snprintf
    - assert
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II2_uc_prune_only_existing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:462,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:464,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:465,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:467,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:468,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:469,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prunemsglen < (int) sizeof (prunemsg[0][0]))
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 487
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 487
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - snprintf
    - assert
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II3_uc_prune_only_existing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:497,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 513
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II4_uc_other_disc_address_of_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:523,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:525,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:526,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:528,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:529,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prunemsglen < (int) sizeof (prunemsg))
      pos:
        line_end: 525
        line_start: 525
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    - condition: (dropmsglen < (int) sizeof (dropmsg))
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 551
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 551
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - snprintf
    - assert
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II5_uc_one_init_address_of_other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_localhost_address
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:561,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:563,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:564,1
    - Dst: run_one
      Src: /src/cyclonedds/src/core/ddsc/tests/spdp.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prunemsglen < (int) sizeof (prunemsg))
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    constantsTouched: []
    func_position:
      end: 580
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 580
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    functionUses: 0
    functionsReached:
    - run_one
    - snprintf
    - assert
    - get_localhost_address
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_spdp, II6_pruning_lease_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: DEFINE_STATUS_CALLBACK
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_STATUS_CALLBACK(name, NAME, kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:77,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:80,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - subscriber
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: data_on_readers_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_mtime_broadcast
    linkageType: ''
    returnType: void
    signature: void data_on_readers_cb (dds_entity_t subscriber, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:87,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:90,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: data_available_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_mtime_broadcast
    linkageType: ''
    returnType: void
    signature: void data_available_cb (dds_entity_t reader, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - subscriber
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: dummy_data_on_readers_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_data_on_readers_cb (dds_entity_t subscriber, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: dummy_data_available_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_data_available_cb (dds_entity_t reader, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - reader
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_subscription_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: dummy_subscription_matched_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_subscription_matched_cb (dds_entity_t reader, const dds_subscription_matched_status_t
      status, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - reader
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_liveliness_changed_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: dummy_liveliness_changed_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_liveliness_changed_cb (dds_entity_t reader, const dds_liveliness_changed_status_t
      status, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: dummy_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void dummy_cb (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - abbrev
    - ','
    - name
    - ','
    - NAME
    - ','
    - desc
    - ','
    - entity
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: S
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(abbrev, name, NAME, desc, entity)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:173,1
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:176,1
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:179,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - status
    - 'off'
    - code
    argTypes:
    - void*
    - size_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: advance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - abort
    - dds_alignof
    linkageType: ''
    returnType: void
    signature: void *advance (const void *status, size_t *off, char code)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_inconsistent_topic_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:195,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:196,1
    - Dst: dds_get_liveliness_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:197,1
    - Dst: dds_get_offered_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:198,1
    - Dst: dds_get_offered_incompatible_qos_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:199,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:200,1
    - Dst: dds_get_requested_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:201,1
    - Dst: dds_get_requested_incompatible_qos_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:202,1
    - Dst: dds_get_sample_lost_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:203,1
    - Dst: dds_get_sample_rejected_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:204,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - ll
    - ent
    - status
    argTypes:
    - int
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: get_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_get_offered_incompatible_qos_status
    - dds_get_liveliness_lost_status
    - dds_get_publication_matched_status
    - dds_get_requested_deadline_missed_status
    - dds_get_subscription_matched_status
    - dds_get_inconsistent_topic_status
    - dds_get_requested_incompatible_qos_status
    - dds_get_sample_lost_status
    - dds_get_sample_rejected_status
    - dds_get_liveliness_changed_status
    - dds_get_offered_deadline_missed_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_status (int ll, dds_entity_t ent, void *status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:216,1
    - Dst: get_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:218,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:220,1
    - Dst: advance
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:226,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:229,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:234,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ll
    - ent
    argTypes:
    - int
    - dds_entity_t
    assertStmts:
    - condition: (off <= lldesc[ll].size)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 238
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 238
    functionName: check_status_change_fields_are_0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - get_status
    - advance
    - assert
    - malloc
    - free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t check_status_change_fields_are_0 (int ll, dds_entity_t
      ent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:265,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:270,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:271,1
    - Dst: vfprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:273,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - fp
    - msg
    - args
    argTypes:
    - struct oneliner_ctx*
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: mvfprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dds_time
    - vfprintf
    - strchr
    - fflush
    linkageType: ''
    returnType: int
    signature: int mvfprintf (struct oneliner_ctx *ctx, FILE *fp, const char *msg,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:281,1
    - Dst: mvfprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:282,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - fp
    - msg
    argTypes:
    - struct oneliner_ctx*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: mfprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - va_start
    - mvfprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int mfprintf (struct oneliner_ctx *ctx, FILE *fp, const char *msg,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:290,1
    - Dst: mvfprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:291,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: mprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - va_start
    - mvfprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int mprintf (struct oneliner_ctx *ctx, const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:298,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - result
    - msg
    - ap
    argTypes:
    - struct oneliner_ctx*
    - int
    - char*
    - va_list
    assertStmts:
    - condition: (result <= 0)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: vsetresult
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void vsetresult (struct oneliner_ctx *ctx, int result, const char *msg,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:306,1
    - Dst: vsetresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:307,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - result
    - msg
    argTypes:
    - struct oneliner_ctx*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: setresult
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - va_start
    - vsetresult
    - va_end
    linkageType: ''
    returnType: int
    signature: int setresult (struct oneliner_ctx *ctx, int result, const char *msg,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:315,1
    - Dst: vsetresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:316,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:317,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: error
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 88
    functionsReached:
    - longjmp
    - va_start
    - vsetresult
    - va_end
    linkageType: ''
    returnType: void
    signature: void error (struct oneliner_ctx *ctx, const char *msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:324,1
    - Dst: vsetresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:325,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:326,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:327,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:329,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:329,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - ret
    - msg
    argTypes:
    - struct oneliner_ctx*
    - dds_return_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: error_dds
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - snprintf
    - vsetresult
    - strlen
    - longjmp
    - va_start
    - dds_strretcode
    - va_end
    linkageType: ''
    returnType: void
    signature: void error_dds (struct oneliner_ctx *ctx, dds_return_t ret, const char
      *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:336,1
    - Dst: vsetresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:337,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:338,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: testfail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - longjmp
    - va_start
    - vsetresult
    - va_end
    linkageType: ''
    returnType: void
    signature: void testfail (struct oneliner_ctx *ctx, const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: advancetok
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: void
    signature: void advancetok (struct oneliner_lex *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: issymchar0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: int
    signature: int issymchar0 (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: issymchar
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: int issymchar (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: lookingatnum
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool lookingatnum (const struct oneliner_lex *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:365,1
    - Dst: issymchar
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: lookingatinf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - issymchar
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool lookingatinf (const struct oneliner_lex *l)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: advancetok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:370,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:375,1
    - Dst: lookingatnum
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:380,1
    - Dst: strtol
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:384,1
    - Dst: lookingatnum
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:389,1
    - Dst: lookingatinf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:389,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:394,1
    - Dst: issymchar
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:394,1
    - Dst: ddsrt_strtod
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:402,1
    - Dst: issymchar0
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:419,1
    - Dst: issymchar
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:422,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 3
    argNames:
    - l
    - v
    - expecting_duration
    argTypes:
    - struct oneliner_lex*
    - union oneliner_tokval*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 439
    functionName: nexttok_dur
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - strtol
    - issymchar0
    - lookingatinf
    - advancetok
    - issymchar
    - ddsrt_strtod
    - lookingatnum
    - strncmp
    linkageType: ''
    returnType: int
    signature: int nexttok_dur (struct oneliner_lex *l, union oneliner_tokval *v,
      bool expecting_duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_dur
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - v
    argTypes:
    - struct oneliner_lex*
    - union oneliner_tokval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: nexttok
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_dur
    linkageType: ''
    returnType: int
    signature: int nexttok (struct oneliner_lex *l, union oneliner_tokval *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - v
    argTypes:
    - struct oneliner_lex*
    - union oneliner_tokval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: peektok
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    linkageType: ''
    returnType: int
    signature: int peektok (const struct oneliner_lex *l, union oneliner_tokval *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:454,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - tok
    argTypes:
    - struct oneliner_lex*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 5
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: nexttok_if
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - peektok
    linkageType: ''
    returnType: bool
    signature: bool nexttok_if (struct oneliner_lex *l, int tok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:462,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - l
    - dst
    argTypes:
    - struct oneliner_lex*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: nexttok_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - peektok
    linkageType: ''
    returnType: bool
    signature: bool nexttok_int (struct oneliner_lex *l, int *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: def_kvarg_int0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void def_kvarg_int0 (void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: def_kvarg_int1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void def_kvarg_int1 (void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: def_kvarg_dur_inf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void def_kvarg_dur_inf (void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 480
    functionName: def_kvarg_dur_100ms
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void def_kvarg_dur_100ms (void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - dst
    argTypes:
    - struct oneliner_lex*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 6
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: read_kvarg_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_int
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg_int (struct oneliner_lex *l, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - l
    - dst
    argTypes:
    - struct oneliner_lex*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: read_kvarg_posint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_int
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg_posint (struct oneliner_lex *l, void *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_dur
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - l
    - dst
    argTypes:
    - struct oneliner_lex*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: read_kvarg_dur
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_dur
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg_dur (struct oneliner_lex *l, void *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:509,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - l
    - dst
    argTypes:
    - struct oneliner_lex*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: read_kvarg_3len
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_int
    - nexttok_if
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg_3len (struct oneliner_lex *l, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 5
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: read_kvarg_isterm
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - peektok
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg_isterm (struct oneliner_lex *l2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: advancetok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:527,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:530,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:530,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:534,1
    - Dst: struct kvarg*::arg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:536,1
    - Dst: read_kvarg_isterm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:536,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:542,1
    - Dst: read_kvarg_isterm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:551,1
    - Dst: struct kvarg*::def
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:555,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:560,1
    - Dst: struct kvarg*::arg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:562,1
    - Dst: read_kvarg_isterm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:562,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - ks
    - sizeof_ks
    - l
    - v
    - arg
    argTypes:
    - struct kvarg*
    - size_t
    - struct oneliner_lex*
    - int*
    - void*
    assertStmts:
    - condition: (strlen (k->k) == k->klen)
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - condition: (k->arg != 0 && k->def == 0)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 571
      start: 522
    functionDepth: 6
    functionLinenumber: 522
    functionLinenumberEnd: 571
    functionName: read_kvarg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - assert
    - struct kvarg*::def
    - strlen
    - advancetok
    - struct kvarg*::arg
    - strncmp
    - read_kvarg_isterm
    linkageType: ''
    returnType: bool
    signature: bool read_kvarg (const struct kvarg *ks, size_t sizeof_ks, struct oneliner_lex
      *l, int *v, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:582,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: qos_durability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_durability
    linkageType: ''
    returnType: bool
    signature: bool qos_durability (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:596,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: qos_history
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - read_kvarg
    linkageType: ''
    returnType: bool
    signature: bool qos_history (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:609,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 602
    functionDepth: 7
    functionLinenumber: 602
    functionLinenumberEnd: 613
    functionName: qos_destination_order
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_qset_destination_order
    - read_kvarg
    linkageType: ''
    returnType: bool
    signature: bool qos_destination_order (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:622,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:624,1
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 615
    functionDepth: 7
    functionLinenumber: 615
    functionLinenumberEnd: 627
    functionName: qos_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_ownership_strength
    - dds_qset_ownership
    linkageType: ''
    returnType: bool
    signature: bool qos_ownership (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:633,1
    - Dst: dds_qset_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 629
    functionDepth: 7
    functionLinenumber: 629
    functionLinenumberEnd: 637
    functionName: qos_transport_priority
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_transport_priority
    linkageType: ''
    returnType: bool
    signature: bool qos_transport_priority (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:647,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 7
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: qos_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_qset_reliability
    - read_kvarg
    linkageType: ''
    returnType: bool
    signature: bool qos_reliability (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:662,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 653
    functionDepth: 7
    functionLinenumber: 653
    functionLinenumberEnd: 666
    functionName: qos_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_liveliness
    linkageType: ''
    returnType: bool
    signature: bool qos_liveliness (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:673,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 7
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: qos_simple_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - set
    linkageType: ''
    returnType: bool
    signature: bool qos_simple_duration (struct oneliner_lex *l, dds_qos_t *q, void
      (*set) (dds_qos_t *q, dds_duration_t dur))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_simple_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 8
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: qos_latency_budget
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - qos_simple_duration
    linkageType: ''
    returnType: bool
    signature: bool qos_latency_budget (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_simple_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 8
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: qos_deadline
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - qos_simple_duration
    linkageType: ''
    returnType: bool
    signature: bool qos_deadline (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qos_simple_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 8
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: qos_lifespan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - qos_simple_duration
    linkageType: ''
    returnType: bool
    signature: bool qos_lifespan (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg_3len
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:697,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 694
    functionDepth: 7
    functionLinenumber: 694
    functionLinenumberEnd: 701
    functionName: qos_resource_limits
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_qset_resource_limits
    - read_kvarg_3len
    linkageType: ''
    returnType: bool
    signature: bool qos_resource_limits (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg_dur
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:708,1
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:710,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:712,1
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:713,1
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:716,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:720,1
    - Dst: read_kvarg_3len
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:721,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 7
    functionLinenumber: 703
    functionLinenumberEnd: 727
    functionName: qos_durability_service
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - dds_qset_durability_service
    - read_kvarg_dur
    - peektok
    - read_kvarg
    - read_kvarg_3len
    linkageType: ''
    returnType: bool
    signature: bool qos_durability_service (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:737,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 729
    functionDepth: 7
    functionLinenumber: 729
    functionLinenumberEnd: 741
    functionName: qos_presentation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_presentation
    linkageType: ''
    returnType: bool
    signature: bool qos_presentation (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:750,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 743
    functionDepth: 7
    functionLinenumber: 743
    functionLinenumberEnd: 754
    functionName: qos_autodispose_unregistered_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_writer_data_lifecycle
    linkageType: ''
    returnType: bool
    signature: bool qos_autodispose_unregistered_instances (struct oneliner_lex *l,
      dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_kvarg
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:763,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 756
    functionDepth: 7
    functionLinenumber: 756
    functionLinenumberEnd: 767
    functionName: qos_writer_batching
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - read_kvarg
    - dds_qset_writer_batching
    linkageType: ''
    returnType: bool
    signature: bool qos_writer_batching (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:778,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:779,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:780,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:787,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:789,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 792
    functionName: qos_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - ddsrt_realloc
    - ddsrt_malloc
    - dds_qset_partition
    linkageType: ''
    returnType: bool
    signature: bool qos_partition (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: qos_userdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_qset_userdata
    linkageType: ''
    returnType: bool
    signature: bool qos_userdata (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_reset_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:832,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:836,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:840,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:840,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:844,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:844,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:845,1
    - Dst: fn
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:850,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:852,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:853,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts:
    - condition: (strlen (qostab[i].abbrev) == qostab[i].n)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 857
      start: 829
    functionDepth: 6
    functionLinenumber: 829
    functionLinenumberEnd: 857
    functionName: setqos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 2
    functionsReached:
    - nexttok
    - nexttok_if
    - assert
    - dds_reset_qos
    - strcmp
    - strlen
    - fn
    linkageType: ''
    returnType: bool
    signature: bool setqos (struct oneliner_lex *l, dds_qos_t *q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:862,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:865,1
    - Dst: setqos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - l
    - qos
    argTypes:
    - struct oneliner_lex*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 879
    functionName: parse_entity1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - setqos
    - strchr
    linkageType: ''
    returnType: int
    signature: int parse_entity1 (struct oneliner_lex *l, dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: parse_entity
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity1
    linkageType: ''
    returnType: int
    signature: int parse_entity (struct oneliner_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:890,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 886
    functionDepth: 4
    functionLinenumber: 886
    functionLinenumberEnd: 899
    functionName: parse_listener1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - strcmp
    linkageType: ''
    returnType: int
    signature: int parse_listener1 (struct oneliner_lex *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_listener1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: parse_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_listener1
    linkageType: ''
    returnType: int
    signature: int parse_listener (struct oneliner_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:908,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - name
    - ent
    argTypes:
    - entname_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 922
    functionName: getentname
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: char
    signature: char *getentname (entname_t *name, int ent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:927,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:930,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:930,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:931,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:932,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:933,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:938,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:943,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:943,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:944,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:945,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:946,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:948,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:952,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:953,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:954,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:955,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:956,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:956,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:957,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:958,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:959,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:960,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:971,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:972,1
    - Dst: dds_lset_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:973,1
    - Dst: dds_lset_inconsistent_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:974,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:975,1
    - Dst: dds_lset_liveliness_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:976,1
    - Dst: dds_lset_offered_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:977,1
    - Dst: dds_lset_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:978,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:979,1
    - Dst: dds_lset_requested_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:980,1
    - Dst: dds_lset_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:981,1
    - Dst: dds_lset_sample_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:982,1
    - Dst: dds_lset_sample_rejected
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:983,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:984,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:985,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:986,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:987,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:988,1
    - Dst: dds_get_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:989,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:990,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:991,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - ctx
    - ent
    - qos
    - list
    argTypes:
    - struct oneliner_ctx*
    - int
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 994
    functionName: make_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_get_subscriber
    - dds_lset_data_on_readers
    - dds_create_domain
    - dds_lset_inconsistent_topic
    - error_dds
    - getentname
    - dds_lset_offered_incompatible_qos
    - ddsrt_malloc
    - dds_lset_offered_deadline_missed
    - dds_lset_sample_rejected
    - dds_lset_data_available
    - snprintf
    - dds_create_topic
    - dds_qget_userdata
    - dds_lset_liveliness_lost
    - dds_create_reader
    - dds_lset_liveliness_changed
    - dds_delete_listener
    - ddsrt_free
    - dds_free
    - dds_lset_requested_deadline_missed
    - strlen
    - ddsrt_expand_envvars
    - dds_lset_requested_incompatible_qos
    - dds_lset_subscription_matched
    - dds_create_listener
    - dds_set_listener
    - dds_create_participant
    - dds_lset_publication_matched
    - mprintf
    - dds_lset_sample_lost
    linkageType: ''
    returnType: void
    signature: void make_participant (struct oneliner_ctx *ctx, int ent, dds_qos_t
      *qos, dds_listener_t *list)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1002,1
    - Dst: make_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1006,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1011,1
    - Dst: make_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1012,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1013,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1015,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1016,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1021,1
    - Dst: make_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1022,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1023,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1025,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1026,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1031,1
    - Dst: make_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1032,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1033,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1035,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1036,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1041,1
    - Dst: make_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1042,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1043,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1045,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1046,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1049,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1051,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1053,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1054,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1055,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - ent
    - list
    argTypes:
    - struct oneliner_ctx*
    - int
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1057
    functionName: make_entity1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - dds_create_writer
    - dds_get_instance_handle
    - error_dds
    - dds_create_subscriber
    - mprintf
    - dds_create_publisher
    - dds_create_reader
    - getentname
    - make_entity1
    - abort
    - make_participant
    linkageType: ''
    returnType: void
    signature: void make_entity1 (struct oneliner_ctx *ctx, int ent, dds_listener_t
      *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1061,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - ent
    - list
    argTypes:
    - struct oneliner_ctx*
    - int
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 4
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: make_entity
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - make_entity1
    - mprintf
    linkageType: ''
    returnType: void
    signature: void make_entity (struct oneliner_ctx *ctx, int ent, dds_listener_t
      *list)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1067,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1071,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1073,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1076,1
    - Dst: dds_lset_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1077,1
    - Dst: dds_lset_inconsistent_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1078,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1079,1
    - Dst: dds_lset_liveliness_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1080,1
    - Dst: dds_lset_offered_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1081,1
    - Dst: dds_lset_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1082,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1083,1
    - Dst: dds_lset_requested_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1084,1
    - Dst: dds_lset_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1085,1
    - Dst: dds_lset_sample_lost
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1086,1
    - Dst: dds_lset_sample_rejected
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1087,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1088,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1089,1
    - Dst: parse_listener1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1091,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1094,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1095,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1100,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1101,1
    - Dst: dds_get_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1102,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1104,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1105,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1107,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1108,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1109,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1110,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1111,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - l
    - ll
    - ent
    argTypes:
    - struct oneliner_ctx*
    - struct oneliner_lex*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1065
    functionDepth: 5
    functionLinenumber: 1065
    functionLinenumberEnd: 1113
    functionName: setlistener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_lset_data_on_readers
    - dds_merge_listener
    - dds_lset_inconsistent_topic
    - error_dds
    - dds_reset_listener
    - getentname
    - dds_lset_offered_incompatible_qos
    - abort
    - dds_lset_offered_deadline_missed
    - dds_lset_sample_rejected
    - dds_lset_data_available
    - dds_lset_liveliness_lost
    - dds_lset_liveliness_changed
    - dds_get_listener
    - dds_delete_listener
    - parse_listener1
    - dds_lset_requested_deadline_missed
    - dds_lset_requested_incompatible_qos
    - dds_lset_subscription_matched
    - dds_create_listener
    - dds_set_listener
    - dds_lset_publication_matched
    - make_entity
    - mprintf
    - dds_lset_sample_lost
    linkageType: ''
    returnType: void
    signature: void setlistener (struct oneliner_ctx *ctx, struct oneliner_lex *l,
      int ll, int ent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_instance_get_key
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1134,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1140,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1142,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - ent
    - ent1
    argTypes:
    - struct oneliner_ctx*
    - int
    - int
    assertStmts:
    - condition: (keysample.qos == NULL)
      pos:
        line_end: 1139
        line_start: 1139
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - condition: (keysample.type_name == NULL)
      pos:
        line_end: 1141
        line_start: 1141
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - condition: (keysample.topic_name == NULL)
      pos:
        line_end: 1140
        line_start: 1140
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 1149
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1149
    functionName: lookup_insthandle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_instance_get_key
    - assert
    - dds_lookup_instance
    linkageType: ''
    returnType: dds_instance_handle_t
    signature: dds_instance_handle_t lookup_insthandle (const struct oneliner_ctx
      *ctx, int ent, int ent1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1155,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ts
    argTypes:
    - struct oneliner_ctx*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1167
    functionName: print_timestamp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - mprintf
    linkageType: ''
    returnType: void
    signature: void print_timestamp (struct oneliner_ctx *ctx, dds_time_t ts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1172,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1182,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1185,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1185,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1188,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1188,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - s
    - valid_data
    - def
    argTypes:
    - struct oneliner_ctx*
    - Space_Type1*
    - bool*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1198
    functionName: parse_sample_value
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    linkageType: ''
    returnType: bool
    signature: bool parse_sample_value (struct oneliner_ctx *ctx, Space_Type1 *s,
      bool *valid_data, int def)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_instance_get_key
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1215,1
    - Dst: dds_instance_get_key
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1223,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1225,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - ent
    - pubhandle
    - wrname
    argTypes:
    - struct oneliner_ctx*
    - int
    - dds_instance_handle_t
    - entname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1234
    functionName: wrname_from_pubhandle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - getentname
    - dds_instance_get_key
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool wrname_from_pubhandle (const struct oneliner_ctx *ctx, int ent,
      dds_instance_handle_t pubhandle, entname_t *wrname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: advancetok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1248,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1257,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1261,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1268,1
    - Dst: parse_sample_value
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1280,1
    - Dst: parse_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1282,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1283,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1285,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - struct oneliner_ctx*
    - struct doreadlike_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1236
    functionDepth: 6
    functionLinenumber: 1236
    functionLinenumberEnd: 1299
    functionName: doreadlike_parse_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - isdigit
    - nexttok_if
    - parse_entity1
    - advancetok
    - nexttok_int
    - parse_sample_value
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool doreadlike_parse_sample (struct oneliner_ctx *ctx, struct doreadlike_sample
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 3
    argNames:
    - si
    - s
    - exp
    argTypes:
    - dds_sample_info_t*
    - Space_Type1*
    - struct doreadlike_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1314
    functionName: doreadlike_ismatch
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool doreadlike_ismatch (const dds_sample_info_t *si, const Space_Type1
      *s, const struct doreadlike_sample *exp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: doreadlike_ismatch
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 9
    argNames:
    - si
    - s
    - exp
    - nexp
    - ellipsis
    - tomatch
    - cursor
    - lastih
    - matchidx
    argTypes:
    - dds_sample_info_t*
    - Space_Type1*
    - struct doreadlike_sample*
    - int
    - bool
    - unsigned*
    - int*
    - dds_instance_handle_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1353
    functionName: doreadlike_matchstep
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - doreadlike_ismatch
    linkageType: ''
    returnType: bool
    signature: bool doreadlike_matchstep (const dds_sample_info_t *si, const Space_Type1
      *s, const struct doreadlike_sample *exp, int nexp, bool ellipsis, unsigned *tomatch,
      int *cursor, dds_instance_handle_t *lastih, int *matchidx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1363,1
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1365,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1372,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1373,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1374,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1374,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1374,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1374,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1375,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1379,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1380,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1383,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1386,1
    - Dst: doreadlike_parse_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1387,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1388,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1390,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1391,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1392,1
    - Dst: parse_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1396,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1397,1
    - Dst: lookup_insthandle
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1401,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1402,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1406,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1407,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1414,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1420,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1420,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1422,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1422,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1423,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1424,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1425,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1427,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1428,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1430,1
    - Dst: fn
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1434,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1436,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1439,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1445,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1451,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1453,1
    - Dst: wrname_from_pubhandle
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1454,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1455,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1456,1
    - Dst: print_timestamp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1457,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1459,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1461,1
    - Dst: doreadlike_matchstep
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1462,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1464,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1468,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1471,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1477,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1478,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1479,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1480,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1484,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1491,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1494,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1499,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1504,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1507,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1509,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 109
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1355
    functionDepth: 7
    functionLinenumber: 1355
    functionLinenumberEnd: 1511
    functionName: doreadlike
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - error
    - dds_waitset_wait_until
    - parse_entity1
    - doreadlike_parse_sample
    - DDS_SECS
    - dds_delete
    - error_dds
    - doreadlike_matchstep
    - dds_create_waitset
    - fn
    - nexttok_int
    - testfail
    - getentname
    - dds_waitset_attach
    - dds_create_readcondition
    - lookup_insthandle
    - print_timestamp
    - nexttok_if
    - dds_time
    - DDSRT_STATIC_ASSERT
    - mprintf
    - peektok
    - wrname_from_pubhandle
    - dds_get_participant
    linkageType: ''
    returnType: void
    signature: void doreadlike (struct oneliner_ctx *ctx, const char *name, dds_return_t
      (*fn) (dds_entity_t, void **buf, dds_sample_info_t *, size_t, uint32_t))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doreadlike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1513
    functionDepth: 8
    functionLinenumber: 1513
    functionLinenumberEnd: 1513
    functionName: dotake
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - doreadlike
    linkageType: ''
    returnType: void
    signature: void dotake (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doreadlike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1514
    functionDepth: 8
    functionLinenumber: 1514
    functionLinenumberEnd: 1514
    functionName: doread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - doreadlike
    linkageType: ''
    returnType: void
    signature: void doread (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doreadlike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1515
    functionDepth: 8
    functionLinenumber: 1515
    functionLinenumberEnd: 1515
    functionName: dopeek
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - doreadlike
    linkageType: ''
    returnType: void
    signature: void dopeek (struct oneliner_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1520,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1524,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1525,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1526,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1528,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1529,1
    - Dst: parse_sample_value
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1530,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1531,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1532,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1535,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1536,1
    - Dst: print_timestamp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1537,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1538,1
    - Dst: fn
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1539,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1543,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1548,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - name
    - fail
    argTypes:
    - struct oneliner_ctx*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1517
    functionDepth: 6
    functionLinenumber: 1517
    functionLinenumberEnd: 1552
    functionName: dowritelike
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity
    - nexttok_if
    - error
    - DDSRT_WARNING_MSVC_OFF
    - dds_time
    - make_entity
    - mprintf
    - print_timestamp
    - error_dds
    - DDSRT_WARNING_MSVC_ON
    - fn
    - parse_sample_value
    - testfail
    - getentname
    linkageType: ''
    returnType: void
    signature: void dowritelike (struct oneliner_ctx *ctx, const char *name, bool
      fail, dds_return_t (*fn) (dds_entity_t wr, const void *sample, dds_time_t ts))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1554
    functionDepth: 7
    functionLinenumber: 1554
    functionLinenumberEnd: 1554
    functionName: dowr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dowr (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1555
    functionDepth: 7
    functionLinenumber: 1555
    functionLinenumberEnd: 1555
    functionName: dowrfail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dowrfail (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1556
    functionDepth: 7
    functionLinenumber: 1556
    functionLinenumberEnd: 1556
    functionName: dowrdisp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dowrdisp (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1557
    functionDepth: 7
    functionLinenumber: 1557
    functionLinenumberEnd: 1557
    functionName: dowrdispfail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dowrdispfail (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1558
    functionDepth: 7
    functionLinenumber: 1558
    functionLinenumberEnd: 1558
    functionName: dodisp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dodisp (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1559
    functionDepth: 7
    functionLinenumber: 1559
    functionLinenumberEnd: 1559
    functionName: dodispfail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dodispfail (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1560
    functionDepth: 7
    functionLinenumber: 1560
    functionLinenumberEnd: 1560
    functionName: dounreg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dounreg (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dowritelike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1561
    functionDepth: 7
    functionLinenumber: 1561
    functionLinenumberEnd: 1561
    functionName: dounregfail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dowritelike
    linkageType: ''
    returnType: void
    signature: void dounregfail (struct oneliner_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1567,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1568,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1569,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1571,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1572,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1574,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1575,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1576,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1578
    functionName: dowriteflush
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity
    - error
    - DDSRT_WARNING_MSVC_OFF
    - dds_write_flush
    - make_entity
    - mprintf
    - error_dds
    - DDSRT_WARNING_MSVC_ON
    - getentname
    linkageType: ''
    returnType: void
    signature: void dowriteflush (struct oneliner_ctx *ctx)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1582,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1587,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1588,1
    - Dst: advance
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1591,1
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1593,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1595,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1598,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1599,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1600,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1601,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1603,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1606,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1613,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1614,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1615,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1617,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1620,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1621,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1622,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1624,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1627,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1628,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1631,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1634,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1635,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1637,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1640,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1641,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1642,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1643,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1644,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1645,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1646,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1648,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1655,1
    - Dst: parse_entity1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1657,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1658,1
    - Dst: lookup_insthandle
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1659,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1660,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1661,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1663,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1674,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1675,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1677,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1678,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1679,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1680,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 101
    argCount: 5
    argNames:
    - ctx
    - ll
    - ent
    - argl
    - status
    argTypes:
    - struct oneliner_ctx*
    - int
    - int
    - struct oneliner_lex*
    - void*
    assertStmts:
    - condition: (lldesc[ll].desc != NULL)
      pos:
        line_end: 1581
        line_start: 1581
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - condition: (off <= lldesc[ll].size)
      pos:
        line_end: 1679
        line_start: 1679
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    constantsTouched: []
    func_position:
      end: 1682
      start: 1580
    functionDepth: 6
    functionLinenumber: 1580
    functionLinenumberEnd: 1682
    functionName: checkstatus
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - nexttok_if
    - setresult
    - parse_entity1
    - advance
    - assert
    - strcmp
    - mprintf
    - peektok
    - lookup_insthandle
    - nexttok_int
    - abort
    linkageType: ''
    returnType: int
    signature: int checkstatus (struct oneliner_ctx *ctx, int ll, int ent, struct
      oneliner_lex *argl, const void *status)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1692,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1693,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1698,1
    - Dst: nexttok_int
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1698,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1698,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1699,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1701,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1704,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1705,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1709,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1709,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1709,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1712,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1714,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1717,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1718,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1722,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1732,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1733,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1734,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1735,1
    - Dst: check_status_change_fields_are_0
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1742,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1744,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1746,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1748,1
    - Dst: checkstatus
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1754,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1756,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1757,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1760,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1762,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1763,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1764,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1766,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - ll
    - ent
    - argl
    argTypes:
    - struct oneliner_ctx*
    - int
    - int
    - struct oneliner_lex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1684
    functionDepth: 7
    functionLinenumber: 1684
    functionLinenumberEnd: 1767
    functionName: checklistener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - nexttok_if
    - error
    - ddsrt_cond_mtime_waituntil
    - DDS_SECS
    - ddsrt_mutex_lock
    - check_status_change_fields_are_0
    - dds_get_status_changes
    - error_dds
    - mprintf
    - checkstatus
    - ddsrt_mtime_add_duration
    - longjmp
    - nexttok_int
    - testfail
    - getentname
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void checklistener (struct oneliner_ctx *ctx, int ll, int ent, struct
      oneliner_lex *argl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1776,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1777,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1778,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1780,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1781,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1782,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1783,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1784,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1785,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1787,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1788,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1790,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1791,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1793,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1794,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1796,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1797,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1798,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1800,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1802,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1806,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1807,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1808,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1809,1
    - Dst: dds__ddsi_writer_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1811,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1811,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1811,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1811,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1812,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1816,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1818,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1769
    functionDepth: 6
    functionLinenumber: 1769
    functionLinenumberEnd: 1820
    functionName: dowaitforack
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - error
    - dds_entity_unpin
    - DDS_SECS
    - error_dds
    - testfail
    - getentname
    - dds__ddsi_writer_wait_for_acks
    - ddsi_ntoh_guid
    - dds_get_guid
    - DDSRT_WARNING_MSVC_ON
    - dds_entity_pin
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_time_monotonic
    - parse_entity
    - nexttok_if
    - dds_entity_kind
    - make_entity
    - mprintf
    - ddsrt_mtime_add_duration
    linkageType: ''
    returnType: void
    signature: void dowaitforack (struct oneliner_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1824,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1825,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1829,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1833,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1834,1
    - Dst: testfail
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - ll
    argTypes:
    - struct oneliner_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1822
    functionDepth: 2
    functionLinenumber: 1822
    functionLinenumberEnd: 1837
    functionName: dowaitfornolistener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - mprintf
    - testfail
    linkageType: ''
    returnType: void
    signature: void dowaitfornolistener (struct oneliner_ctx *ctx, int ll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1848,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1851,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1853,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1854,1
    - Dst: setlistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1856,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1857,1
    - Dst: checklistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - ll
    argTypes:
    - struct oneliner_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1839
    functionDepth: 8
    functionLinenumber: 1839
    functionLinenumberEnd: 1859
    functionName: dowaitforlistener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - parse_entity
    - error
    - DDSRT_WARNING_MSVC_OFF
    - checklistener
    - DDSRT_WARNING_MSVC_ON
    - setlistener
    linkageType: ''
    returnType: void
    signature: void dowaitforlistener (struct oneliner_ctx *ctx, int ll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1864,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1864,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1866,1
    - Dst: dowaitforack
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1867,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1871,1
    - Dst: parse_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1872,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1874,1
    - Dst: dowaitfornolistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1876,1
    - Dst: dowaitforlistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1861
    functionDepth: 9
    functionLinenumber: 1861
    functionLinenumberEnd: 1880
    functionName: dowait
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - nexttok_if
    - error
    - dowaitforlistener
    - strcmp
    - dowaitfornolistener
    - peektok
    - dowaitforack
    - parse_listener
    linkageType: ''
    returnType: void
    signature: void dowait (struct oneliner_ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1888,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1889,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1890,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1893,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1884
    functionDepth: 6
    functionLinenumber: 1884
    functionLinenumberEnd: 1908
    functionName: dodelete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity
    - error
    - dds_delete
    - error_dds
    - getentname
    linkageType: ''
    returnType: void
    signature: void dodelete (struct oneliner_ctx *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - mode
    - immediate
    argTypes:
    - enum dodeafmute_mode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1937
    functionName: dodeafmute_modestr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dodeafmute_modestr (enum dodeafmute_mode mode, bool immediate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1943,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1944,1
    - Dst: ddsi_is_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1946,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1947,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1947,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - recovering_participant_handle
    - guid
    argTypes:
    - struct oneliner_ctx*
    - dds_entity_t
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1939
    functionDepth: 2
    functionLinenumber: 1939
    functionLinenumberEnd: 1949
    functionName: wait_for_cleanup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_sleepfor
    - error_dds
    - dds_entity_pin
    - DDS_MSECS
    - ddsi_is_deleted_participant_guid
    linkageType: ''
    returnType: void
    signature: void wait_for_cleanup (struct oneliner_ctx *ctx, dds_entity_t recovering_participant_handle,
      const ddsi_guid_t *guid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dodeafmute_modestr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1953,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1958,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1959,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1961,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1962,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1963,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1964,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1965,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1966,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1970,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1971,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1979,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1981,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1983,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1984,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1986,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1986,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1987,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1987,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1988,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1988,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:1989,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2003,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2005,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2006,1
    - Dst: wait_for_cleanup
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2007,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2008,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2008,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2009,1
    - Dst: ddsi_spdp_force_republish
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2010,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2011,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2011,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2012,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2022,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2024,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2026,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2027,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2029,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2029,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2030,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2030,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2031,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2031,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2032,1
    - Dst: wait_for_cleanup
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2045,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2050,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2050,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2051,1
    - Dst: ddsi_spdp_force_republish
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2052,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2053,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2053,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2057,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 3
    argNames:
    - ctx
    - mode
    - immediate
    argTypes:
    - struct oneliner_ctx*
    - enum dodeafmute_mode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 1951
    functionDepth: 6
    functionLinenumber: 1951
    functionLinenumberEnd: 2059
    functionName: dodeafmute_maybe_imm
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - error
    - dds_entity_unpin
    - error_dds
    - dds_domain_set_deafmute
    - wait_for_cleanup
    - ddsi_delete_proxy_participant_by_guid
    - getentname
    - DDSRT_WARNING_MSVC_ON
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsrt_time_wallclock
    - ddsi_thread_state_awake
    - DDSRT_WARNING_MSVC_OFF
    - ddsi_spdp_force_republish
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    - parse_entity
    - mprintf
    - dodeafmute_modestr
    linkageType: ''
    returnType: void
    signature: void dodeafmute_maybe_imm (struct oneliner_ctx *ctx, enum dodeafmute_mode
      mode, bool immediate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2063,1
    - Dst: dodeafmute_maybe_imm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2061
    functionDepth: 7
    functionLinenumber: 2061
    functionLinenumberEnd: 2065
    functionName: donormal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_if
    - dodeafmute_maybe_imm
    linkageType: ''
    returnType: void
    signature: void donormal (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2069,1
    - Dst: dodeafmute_maybe_imm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2067
    functionDepth: 7
    functionLinenumber: 2067
    functionLinenumberEnd: 2071
    functionName: dodeaf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_if
    - dodeafmute_maybe_imm
    linkageType: ''
    returnType: void
    signature: void dodeaf (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2075,1
    - Dst: dodeafmute_maybe_imm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2073
    functionDepth: 7
    functionLinenumber: 2073
    functionLinenumberEnd: 2077
    functionName: domute
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_if
    - dodeafmute_maybe_imm
    linkageType: ''
    returnType: void
    signature: void domute (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2081,1
    - Dst: dodeafmute_maybe_imm
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 7
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: dodeafmute
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_if
    - dodeafmute_maybe_imm
    linkageType: ''
    returnType: void
    signature: void dodeafmute (struct oneliner_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nexttok_dur
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2087,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2088,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2089,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2093
    functionName: dosleep
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok_dur
    - dds_sleepfor
    - error
    - mprintf
    linkageType: ''
    returnType: void
    signature: void dosleep (struct oneliner_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2101,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2102,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2103,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2104,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2108,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2109,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2110,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2112,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2114,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2115,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2118,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2119,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2122,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2123,1
    - Dst: strspn
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2126,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2126,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2128,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2129,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2131,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2132,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2133,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2134,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2135,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2095
    functionDepth: 6
    functionLinenumber: 2095
    functionLinenumberEnd: 2137
    functionName: dosetflags
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - parse_entity
    - error
    - dds_entity_unpin
    - make_entity
    - mprintf
    - error_dds
    - strlen
    - dds_entity_pin
    - strchr
    - getentname
    - strspn
    linkageType: ''
    returnType: void
    signature: void dosetflags (struct oneliner_ctx *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2143,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2145,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2147,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2150,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2152,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2154,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2156,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2158,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2160,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2160,1
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2162,1
    - Dst: get_status
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2164,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2166,1
    - Dst: error_dds
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2167,1
    - Dst: checkstatus
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2169,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2171,1
    - Dst: longjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2172,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2174,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2141
    functionDepth: 7
    functionLinenumber: 2141
    functionLinenumberEnd: 2176
    functionName: docheckstatus
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - nexttok
    - parse_entity
    - error
    - get_status
    - make_entity
    - mprintf
    - error_dds
    - checkstatus
    - malloc
    - longjmp
    - free
    - getentname
    - parse_listener
    linkageType: ''
    returnType: void
    signature: void docheckstatus (struct oneliner_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2216,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2219,1
    - Dst: fn
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2221
    functionName: dispatchcmd
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - fn
    - strcmp
    - error
    linkageType: ''
    returnType: void
    signature: void dispatchcmd (struct oneliner_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_listener1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2229,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2231,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2232,1
    - Dst: setlistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ll
    argTypes:
    - struct oneliner_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2223
    functionDepth: 6
    functionLinenumber: 2223
    functionLinenumberEnd: 2234
    functionName: dosetlistener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity
    - setlistener
    - error
    - parse_listener1
    linkageType: ''
    returnType: void
    signature: void dosetlistener (struct oneliner_ctx *ctx, int ll)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: peektok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2238,1
    - Dst: nexttok_if
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2241,1
    - Dst: parse_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2243,1
    - Dst: make_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2244,1
    - Dst: parse_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2245,1
    - Dst: dosetlistener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2246,1
    - Dst: nexttok
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2247,1
    - Dst: dispatchcmd
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2248,1
    - Dst: error
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2236
    functionDepth: 7
    functionLinenumber: 2236
    functionLinenumberEnd: 2252
    functionName: test_oneliner_step1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 0
    functionsReached:
    - parse_entity
    - nexttok
    - nexttok_if
    - dispatchcmd
    - error
    - dosetlistener
    - make_entity
    - peektok
    - parse_listener
    linkageType: ''
    returnType: void
    signature: void test_oneliner_step1 (struct oneliner_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2256,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2257,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2257,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2258,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2259,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2262,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2264,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2268,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2269,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2270,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2275,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2276,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - config_override
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2279
    functionName: test_oneliner_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - dds_qset_history
    - dds_qset_destination_order
    - dds_create_listener
    - create_unique_topic_name
    - dds_time
    - dds_qset_reliability
    - DDS_MSECS
    - ddsrt_cond_mtime_init
    - dds_create_qos
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void test_oneliner_init (struct oneliner_ctx *ctx, const char *config_override)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2283,1
    - Dst: test_oneliner_step1
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ops
    argTypes:
    - struct oneliner_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2281
    functionDepth: 8
    functionLinenumber: 2281
    functionLinenumberEnd: 2289
    functionName: test_oneliner_step
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - setjmp
    - test_oneliner_step1
    linkageType: ''
    returnType: int
    signature: int test_oneliner_step (struct oneliner_ctx *ctx, const char *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: test_oneliner_message
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *test_oneliner_message (const struct oneliner_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2299,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2300,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2301,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2308,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2309,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2309,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2312,1
    - Dst: getentname
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2321,1
    - Dst: doreadlike
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2322,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2328,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2329,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2331,1
    - Dst: setresult
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct oneliner_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2296
    functionDepth: 8
    functionLinenumber: 2296
    functionLinenumberEnd: 2334
    functionName: test_oneliner_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_mtime_destroy
    - dds_delete_listener
    - dds_set_listener
    - setresult
    - dds_delete
    - mprintf
    - dds_delete_qos
    - doreadlike
    - getentname
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: int
    signature: int test_oneliner_fini (struct oneliner_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_oneliner_init
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2339,1
    - Dst: mprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2340,1
    - Dst: test_oneliner_step
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2341,1
    - Dst: test_oneliner_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2342,1
    - Dst: mfprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2343,1
    - Dst: test_oneliner_message
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ops
    - config_override
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2336
    functionDepth: 9
    functionLinenumber: 2336
    functionLinenumberEnd: 2345
    functionName: test_oneliner_with_config
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 2
    functionsReached:
    - test_oneliner_init
    - test_oneliner_message
    - test_oneliner_fini
    - mprintf
    - mfprintf
    - test_oneliner_step
    linkageType: ''
    returnType: int
    signature: int test_oneliner_with_config (const char *ops, const char *config_override)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_oneliner_with_config
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ops
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2347
    functionDepth: 10
    functionLinenumber: 2347
    functionLinenumberEnd: 2350
    functionName: test_oneliner
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - test_oneliner_with_config
    linkageType: ''
    returnType: int
    signature: int test_oneliner (const char *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_oneliner_with_config
      Src: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ops
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2352
    functionDepth: 10
    functionLinenumber: 2352
    functionLinenumberEnd: 2356
    functionName: test_oneliner_no_shm
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    functionUses: 1
    functionsReached:
    - test_oneliner_with_config
    linkageType: ''
    returnType: int
    signature: int test_oneliner_no_shm (const char *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - long_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(long_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - long_1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(long_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: filter_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_init(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: filter_mod2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_mod2(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:118,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:119,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:121,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:122,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:124,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:125,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:127,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:128,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:130,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:131,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:133,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:133,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:134,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:137,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:138,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:139,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:142,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:143,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:144,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:147,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:148,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:151,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:152,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:155,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:156,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:157,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:158,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:159,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:159,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:160,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:161,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:162,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:163,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:166,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:167,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:168,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:169,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:170,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:170,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:171,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:172,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:173,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:174,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:177,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:191,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:192,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:225,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:226,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:228,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:229,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:231,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:238,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:239,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:243,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:244,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 271
    functionName: reader_iterator_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_delete
    - dds_unregister_instance
    - dds_create_subscriber
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_publisher
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_create_readcondition
    - dds_dispose
    - dds_write
    - dds_create_querycondition
    - dds_create_writer
    - dds_create_participant
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void reader_iterator_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:276,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:277,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:278,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:279,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:280,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:281,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:282,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:283,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: reader_iterator_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void reader_iterator_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:291,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: samples_cnt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
    functionUses: 0
    functionsReached:
    - dds_read
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t samples_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DESC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESC(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:38,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:39,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:40,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:41,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:42,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:43,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:44,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:45,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:48,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: data_representation_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void data_representation_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:55,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: data_representation_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void data_representation_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:61,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:65,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: sample_init_type1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void *sample_init_type1 (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:78,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 10
    argCount: 2
    argNames:
    - a_ptr
    - b_ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: sample_equal_type1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_type1 (const void *a_ptr, const void *b_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:90,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:92,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:94,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sample_free_type1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_type1 (void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: sample_init_type2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void *sample_init_type2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a_ptr
    - b_ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: sample_equal_type2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_type2 (const void *a_ptr, const void *b_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: sample_free_type2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_type2 (void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:120,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: sample_init_type3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void *sample_init_type3 (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - a_ptr
    - b_ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: sample_equal_type3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_type3 (const void *a_ptr, const void *b_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:147,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: sample_free_type3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_type3 (void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:154,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:155,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:156,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:157,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:159,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:162,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:163,1
    - Dst: sample_equal
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:166,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:167,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:169,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - ws
    - wr
    - rd
    - sample
    - sample_equal
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - void*
    - sample_equal_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 171
    functionName: write_read_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - sample_equal
    - CU_ASSERT_EQ_FATAL
    - dds_get_status_changes
    - dds_write
    - DDS_SECS
    - dds_return_loan
    - dds_lookup_instance
    - dds_read
    - dds_waitset_wait
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: dds_instance_handle_t
    signature: dds_instance_handle_t write_read_sample (dds_entity_t ws, dds_entity_t
      wr, dds_entity_t rd, void *sample, sample_equal_fn sample_equal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:340,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - datarep_qos_exp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: get_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 8
    functionsReached:
    - dds_create_qos
    - dds_qset_data_representation
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t *get_qos (const datarep_qos_exp_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:350,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:351,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:352,1
    - Dst: dds_qget_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:353,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:354,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:355,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:357,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:358,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_representation.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ent
    - d
    argTypes:
    - dds_entity_t
    - datarep_qos_exp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: exp_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_free
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - dds_qget_data_representation
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void exp_qos (dds_entity_t ent, const datarep_qos_exp_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:36,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:37,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:38,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:39,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:41,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:42,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:43,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:44,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:45,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:46,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:48,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:50,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 8
    functionsReached:
    - dds_create_topic
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 7
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:93,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:94,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:96,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:97,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:100,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:101,1
    - Dst: dds_qget_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:102,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:103,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:104,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:105,1
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:106,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:107,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:108,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:109,1
    - Dst: dds_qget_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:110,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:111,1
    - Dst: dds_qget_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:112,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:113,1
    - Dst: dds_qget_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:114,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:115,1
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:116,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:117,1
    - Dst: dds_qget_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:118,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:119,1
    - Dst: dds_qget_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:120,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:121,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:122,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:127,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:128,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:130,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:132,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:133,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:135,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:136,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:137,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:138,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:143,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:144,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:145,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:146,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:147,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:154,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:159,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:161,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:163,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - entity
    - kind
    argTypes:
    - dds_entity_t
    - enum cdqobe_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 164
    functionName: check_default_qos_of_builtin_entity
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - dds_get_qos
    - dds_create_qos
    - dds_qget_durability
    - CU_ASSERT_EQ_FATAL
    - dds_qget_reader_data_lifecycle
    - CU_ASSERT_STREQ_FATAL
    - DDS_MSECS
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_qget_resource_limits
    - dds_free
    - dds_qget_deadline
    - dds_qget_destination_order
    - dds_qget_reliability
    - dds_qget_presentation
    - dds_qget_ownership
    - dds_delete_qos
    - dds_qget_partition
    - dds_qget_liveliness
    - dds_qget_time_based_filter
    - dds_qget_history
    linkageType: ''
    returnType: void
    signature: void check_default_qos_of_builtin_entity (dds_entity_t entity, enum
      cdqobe_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:183,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:184,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:185,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:187,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:188,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:189,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:190,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:191,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:193,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:194,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:195,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:196,1
    - Dst: ddsi_typeinfo_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:197,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:198,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:198,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:199,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:199,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:200,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:200,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:201,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - xqos
    - topic_desc
    argTypes:
    - struct dds_qos*
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: check_type_info
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_free
    - ddsi_typeid_get_equivalence_hash
    - ddsi_typeid_fini
    - ddsrt_free
    - ddsi_typeinfo_deser
    - CU_ASSERT_MEMEQ_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsi_typeinfo_typeid
    linkageType: ''
    returnType: void
    signature: void check_type_info (const struct dds_qos *xqos, const dds_topic_descriptor_t
      *topic_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:377,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:378,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:379,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:380,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:387,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:388,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:389,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:390,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:391,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:392,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:393,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:394,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:396,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - dds_take
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_return_loan
    - dds_delete
    - dds_create_reader
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, read_nothing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: querycond_true
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool querycond_true (const void *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:415,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:416,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:419,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:421,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:425,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:429,1
    - Dst: dds_get_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:435,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:436,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:440,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:441,1
    - Dst: dds_get_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:442,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:443,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:447,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:448,1
    - Dst: dds_get_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:449,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:450,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:453,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 455
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_querycondition
    - dds_get_topic
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_name
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:471,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:472,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:472,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 475
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ_FATAL
    - dds_get_name
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_type_name
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:491,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:492,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:492,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 495
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ_FATAL
    - dds_get_type_name
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_type_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:506,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:507,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:510,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:512,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:516,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:520,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:528,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:529,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:530,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 532
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_get_children
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:543,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:544,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:547,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:549,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:553,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:557,1
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:566,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:567,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:569,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:572,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:573,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:575,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:576,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:578,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 580
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - dds_reader_unlock
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_reader_lock
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, cant_use_real_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_default_qos_of_builtin_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - check_default_qos_of_builtin_entity
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:612,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:613,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:617,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:618,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:623,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:624,1
    - Dst: dds_get_matched_publication_data
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:625,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:626,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:627,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:628,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:629,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:630,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:631,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:633,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 635
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    functionUses: 0
    functionsReached:
    - dds_builtintopic_free_endpoint
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_matched_publication_data
    - dds_delete
    - dds_get_matched_publications
    - dds_create_reader
    - CU_ASSERT_MEMEQ_FATAL
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_builtin_topics, get_matched_publication)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:26,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:27,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:28,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:29,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:30,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/writer.c
    functionUses: 8
    functionsReached:
    - dds_create_publisher
    - CU_ASSERT_GT_FATAL
    - dds_create_topic
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:37,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:38,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:39,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/writer.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/writer.c
    functionUses: 7
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: dummy_mockstats_get_ptr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: dummy_mockstats_t
    signature: dummy_mockstats_t * dummy_mockstats_get_ptr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mockstats
    - topics_capacity
    argTypes:
    - dummy_mockstats_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: dummy_topics_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void dummy_topics_alloc(dummy_mockstats_t* mockstats, size_t topics_capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mockstats
    - endpoints_capacity
    argTypes:
    - dummy_mockstats_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: dummy_endpoints_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void dummy_endpoints_alloc(dummy_mockstats_t* mockstats, size_t endpoints_capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mockstats
    - loans_capacity
    argTypes:
    - dummy_mockstats_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: dummy_loans_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void dummy_loans_alloc(dummy_mockstats_t* mockstats, size_t loans_capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: dummy_psmx_loan_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dummy_psmx_loan_free(dds_loaned_sample_t* loan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:57,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:58,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:63,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - psmx_endpoint
    - size_requested
    argTypes:
    - dds_psmx_endpoint_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: dummy_psmx_ep_request_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_atomic_st32
    - memset
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * dummy_psmx_ep_request_loan(dds_psmx_endpoint_t*
      psmx_endpoint, uint32_t size_requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - psmx_endpoint
    - data
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: dummy_psmx_ep_write
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_ep_write(dds_psmx_endpoint_t* psmx_endpoint,
      dds_loaned_sample_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: dummy_psmx_ep_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * dummy_psmx_ep_take(dds_psmx_endpoint_t* psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: dummy_psmx_ep_on_data_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_ep_on_data_available(dds_psmx_endpoint_t* psmx_endpoint,
      dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - dds_psmx_topic_t*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: dummy_psmx_create_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: dds_psmx_endpoint_t
    signature: "dds_psmx_endpoint_t * dummy_psmx_create_endpoint(\n  dds_psmx_topic_t*
      psmx_topic,\n  const struct dds_qos* qos,\n  dds_psmx_endpoint_type_t endpoint_type\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: dummy_psmx_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_delete_endpoint(dds_psmx_endpoint_t* psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - dds_psmx_t*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: dummy_psmx_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dummy_psmx_type_qos_supported(\n  dds_psmx_t* psmx,\n  dds_psmx_endpoint_type_t
      forwhat,\n  dds_data_type_properties_t data_type_props,\n  const struct dds_qos*
      qos\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:151,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:153,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:157,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - dds_psmx_t*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts:
    - condition: (g_mockstats.topics._length < g_mockstats.topics._maximum)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: dummy_psmx_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    - memset
    linkageType: ''
    returnType: dds_psmx_topic_t
    signature: "dds_psmx_topic_t * dummy_psmx_create_topic(\n  dds_psmx_t* psmx,\n
      \ const char* topic_name,\n  const char* type_name,\n  dds_data_type_properties_t
      data_type_props\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_cleanup_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:165,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - dds_psmx_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: dummy_psmx_delete_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - memset
    - dds_psmx_topic_cleanup_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_delete_topic(dds_psmx_topic_t* psmx_topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:173,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:174,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:176,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:177,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:178,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:183,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: dummy_psmx_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_cleanup_generic
    - dds_free
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_deinit(dds_psmx_t* psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: dummy_psmx_get_node_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t dummy_psmx_get_node_id(const dds_psmx_t*
      psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: dummy_supported_features
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t dummy_supported_features(const dds_psmx_t* psmx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:208,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:209,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:212,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:213,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:214,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:216,1
    - Dst: dds_psmx_init_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:226,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - psmx_out
    - instance_id
    - config
    argTypes:
    - dds_psmx_t**
    - dds_psmx_instance_id_t
    - char*
    assertStmts:
    - condition: (psmx_out)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: dummy_create_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - dds_string_dup
    - dds_psmx_init_generic
    - assert
    - memset
    - ddsrt_strdup
    - dds_alloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_create_psmx(dds_psmx_t** psmx_out, dds_psmx_instance_id_t
      instance_id, const char* config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:33,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:35,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:38,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:38,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:39,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:43,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:46,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:46,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: create_participants_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - fprintf
    - dds_create_participant
    - dds_delete
    - ddsrt_atomic_st32
    - dds_strretcode
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t create_participants_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:60,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:65,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:66,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:70,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:73,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:78,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: participant_creation_torture
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - dds_sleepfor
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void participant_creation_torture(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:105,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:106,1
    - Dst: participant_creation_torture
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:110,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:113,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:114,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:115,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - participant_creation_torture
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_domain, torture_explicit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:30,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:31,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:32,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:33,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:34,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - domain_id
    argTypes:
    - dds_domainid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: create_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 1
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_expand_envvars
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_pp (dds_domainid_t domain_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_pp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:41,1
    - Dst: create_pp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:42,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:44,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:45,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:46,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:47,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:47,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:50,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:51,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:52,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:53,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:55,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:56,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:57,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:58,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:59,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:61,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:62,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:66,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:67,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:68,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:69,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:70,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:71,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:74,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:75,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:80,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:81,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:87,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:88,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:96,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:98,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:99,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:99,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:103,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:104,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:105,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:110,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:112,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:113,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:116,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:117,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:118,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:121,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:122,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:125,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:126,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:127,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:130,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:132,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:133,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:136,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 3
    argNames:
    - desc
    - sample_sz
    - data_repr
    argTypes:
    - dds_topic_descriptor_t*
    - size_t
    - dds_data_representation_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 138
    functionName: do_test_key_write_xcdrv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_return_loan
    - dds_delete
    - dds_qset_reliability
    - dds_create_waitset
    - dds_create_qos
    - dds_alloc
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_dispose
    - dds_write
    - dds_free
    - create_pp
    - sync_reader_writer
    - dds_create_writer
    - dds_sleepfor
    - memset
    - dds_delete_qos
    - dds_qset_data_representation
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void do_test_key_write_xcdrv (const dds_topic_descriptor_t *desc, size_t
      sample_sz, dds_data_representation_id_t data_repr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(t, x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:150,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:151,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:152,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:153,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:154,1
    - Dst: do_test_key_write_xcdrv
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - D
    - do_test_key_write_xcdrv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_serdata, key_write_xcdrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: T_INIT_SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_INIT_SIMPLE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: T_INIT_NESTED
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_INIT_NESTED(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:199,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:200,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:203,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: init_SerdataKeyOrderFinalNestedNonKeyAppendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyOrderFinalNestedNonKeyAppendable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:213,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:214,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: init_SerdataKeyString
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyString (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:222,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:223,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: init_SerdataKeyStringBounded
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyStringBounded (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:231,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:232,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: init_SerdataKeyStringAppendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyStringAppendable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:240,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:241,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: init_SerdataKeyStringBoundedAppendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyStringBoundedAppendable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:249,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: init_SerdataKeyArr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyArr (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:258,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:259,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: init_SerdataKeyArrStrBounded
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyArrStrBounded (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:267,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:268,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:271,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: init_SerdataKeySequence
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeySequence (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:280,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:281,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:284,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: init_SerdataKeySequenceStruct
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeySequenceStruct (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:295,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:296,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:299,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: init_SerdataKeySequenceStructAppendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeySequenceStructAppendable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:310,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:311,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:314,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:315,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:320,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 327
    functionName: init_SerdataKeySequenceNested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeySequenceNested (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:331,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: init_SerdataKeyNestedFinalImplicit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyNestedFinalImplicit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:341,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: init_SerdataKeyNestedFinalImplicit2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyNestedFinalImplicit2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:350,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: init_SerdataKeyNestedMutableImplicit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyNestedMutableImplicit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:360,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: init_SerdataKeyInheritMutable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *init_SerdataKeyInheritMutable (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dds_serdata_default*
    assertStmts:
    - condition: (d->key.buftype != KEYBUFTYPE_UNSET)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: serdata_default_keybuf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *serdata_default_keybuf (const struct dds_serdata_default
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - 'off'
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: alignN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t alignN(const size_t off, const size_t align)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:388,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:390,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:391,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:393,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:394,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:398,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:399,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - sd
    - exp_cdr
    - exp_cdr_sz
    argTypes:
    - struct dds_serdata_default*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: print_check_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - fflush
    - memcmp
    - printf
    linkageType: ''
    returnType: void
    signature: void print_check_cdr (const struct dds_serdata_default *sd, const unsigned
      char *exp_cdr, size_t exp_cdr_sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:409,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:410,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:410,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:412,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:413,1
    - Dst: ddsi_serdata_get_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:417,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:420,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:421,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:422,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:424,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:426,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - sd
    - expected_key_xcdrv2
    - expected_key_sz_xcdrv2
    - expected_key_keyhash
    - expected_key_sz_keyhash
    argTypes:
    - struct dds_serdata_default*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 428
    functionName: check_key_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - memcmp
    - ddsrt_md5_finish
    - serdata_default_keybuf
    - tprintf
    - ddsi_serdata_get_keyhash
    - ddsrt_md5_init
    - CU_ASSERT_EQ
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: "void check_key_keyhash (struct dds_serdata_default *sd,\n  const unsigned
      char *expected_key_xcdrv2, size_t expected_key_sz_xcdrv2,\n  const unsigned
      char *expected_key_keyhash, size_t expected_key_sz_keyhash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - what
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: MAKE_ENCHDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ENCHDR(what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - what
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: MAKE_ENCHDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ENCHDR(what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:454,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:456,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:459,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:462,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:465,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:467,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:470,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:473,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:479,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:481,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:484,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:487,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:491,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:493,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:496,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:499,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:506,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:508,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:511,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:514,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:518,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:520,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:523,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:526,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:533,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:535,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:538,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:541,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:545,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:547,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:548,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:551,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:552,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:555,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:562,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:564,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:565,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:566,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:566,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:567,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:570,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:571,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:571,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:572,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:575,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:579,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:581,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:582,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:583,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:584,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:584,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:587,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:588,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:589,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:589,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:592,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:599,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:602,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:603,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:604,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:604,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:605,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:609,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:610,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:610,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:611,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:614,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:619,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:622,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:623,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:624,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:625,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:625,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:629,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:630,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:631,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:631,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:634,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:642,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:645,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:646,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:647,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:647,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:648,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:659,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:662,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:663,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:664,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:665,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:665,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:679,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:682,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:686,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:697,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:702,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:705,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:719,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:722,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:723,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:724,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:724,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:725,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:729,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:730,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:730,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:731,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:734,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:739,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:741,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:742,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:743,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:744,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:745,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:745,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:748,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:749,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:750,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:751,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:751,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:754,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:762,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:764,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:765,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:766,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:767,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:768,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:769,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:769,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:770,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:771,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:774,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:775,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:776,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:777,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:777,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:778,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:779,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:782,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:787,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:789,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:790,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:791,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:792,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:792,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:793,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:794,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:795,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:796,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:796,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:799,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:800,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:801,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:801,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:802,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:803,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:804,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:804,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:807,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:817,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:819,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:820,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:821,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:822,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:822,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:823,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:824,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:827,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:828,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:829,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:829,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:830,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:831,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:834,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:842,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:844,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:845,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:846,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:849,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:850,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:853,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:854,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:857,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:858,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:863,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:868,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:870,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:871,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:872,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:873,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:873,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:875,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:878,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:879,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:880,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:880,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:882,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:885,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:893,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:896,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:901,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:906,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:910,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:913,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:918,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:923,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:930,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:933,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:938,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:943,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:947,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:950,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:955,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:960,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:967,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:970,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:975,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:979,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:983,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:985,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:987,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:991,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:993,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:997,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1004,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1007,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1011,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1015,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1018,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1020,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1022,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1025,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1027,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1031,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1037,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1048,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1062,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1064,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1066,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1070,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1072,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1076,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1078,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1082,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1084,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1085,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1087,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1091,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1092,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1094,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1098,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1099,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1101,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1108,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1112,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1115,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1117,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1122,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1124,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1127,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1129,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1135,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1139,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1142,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1144,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1149,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1151,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1154,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1156,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1165,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1185,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1208,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1211,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1212,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1213,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1216,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1217,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1219,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1220,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1221,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1224,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1225,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1227,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1231,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1232,1
    - Dst: SER_PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1233,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1236,1
    - Dst: SER_PHDR_END
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1237,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1239,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1242,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1244,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1250,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1252,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1254,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1255,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1256,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1257,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1257,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1259,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1261,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1265,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1266,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1267,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1267,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1269,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1271,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1274,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1276,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1277,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1278,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1279,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1279,1
    - Dst: SER64
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1281,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1282,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1285,1
    - Dst: SER64BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1287,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1298,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1300,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1302,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1303,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1305,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1306,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1306,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1307,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1309,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1309,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1311,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1311,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1314,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1315,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1317,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1318,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1318,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1319,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1321,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1321,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1323,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1323,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1327,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1329,1
    - Dst: SER_NEXTINT
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1330,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1332,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1333,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1333,1
    - Dst: SER_EMHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1334,1
    - Dst: SER16
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1334,1
    - Dst: SER16BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1338,1
    - Dst: SER16BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1339,1
    - Dst: SER16BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1340,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1347,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1349,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1349,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1349,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1352,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1352,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1352,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1355,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1355,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1355,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1358,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1360,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1360,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1360,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1363,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1363,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1363,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1366,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1366,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1366,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1372,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1374,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1374,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1374,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1374,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1374,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1377,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1377,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1377,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1380,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1380,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1380,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1383,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1385,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1388,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1388,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1388,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1388,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1391,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1391,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1391,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1391,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1399,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1401,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1404,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1407,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1413,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1415,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1418,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1421,1
    - Dst: MAKE_ENCHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1424,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1426,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER_DHEADER
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1429,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER_DHEADERBE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1432,1
    - Dst: create_pp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1442,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1446,1
    - Dst: dds_stream_minimum_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1447,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1450,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1454,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1455,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1458,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1459,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1460,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1463,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1464,1
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1466,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1470,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1471,1
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1473,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1474,1
    - Dst: print_check_cdr
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1475,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1476,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1477,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1478,1
    - Dst: check_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1480,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1482,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1487,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1488,1
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1492,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1493,1
    - Dst: print_check_cdr
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1494,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1495,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1496,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1497,1
    - Dst: check_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1499,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1501,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1509,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1510,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1511,1
    - Dst: ddsi_serdata_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1512,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1513,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1514,1
    - Dst: check_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1516,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1519,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1526,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1527,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1528,1
    - Dst: ddsi_serdata_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1529,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1530,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1531,1
    - Dst: check_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1533,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1536,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1539,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c:1542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 1544
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_from_ser_iov
    - memcmp
    - dds_delete
    - SER64BE
    - SER_PHDR_END
    - ddsi_serdata_from_sample
    - SER16
    - dds_create_qos
    - ddsrt_malloc
    - SER_PHDR_EXT
    - SER32
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - memcpy
    - init
    - SER64
    - SER_EMHEADER
    - print_check_cdr
    - dds_stream_minimum_xcdr_version
    - CU_ASSERT_NEQ_FATAL
    - SER_NEXTINT
    - ddsrt_free
    - ddsi_serdata_unref
    - check_key_keyhash
    - tprintf
    - MAKE_ENCHDR
    - create_pp
    - alignN
    - dds_sample_free
    - SER32BE
    - SER_DHEADERBE
    - dds_get_entity_sertype
    - SER16BE
    - dds_delete_qos
    - dds_qset_data_representation
    - SER_DHEADER
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_serdata, key_serialization)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:26,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_DURABILITY_VOLATILE <= v[0] && v[0] <= (int) DDS_DURABILITY_PERSISTENT)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: durability_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_durability
    linkageType: ''
    returnType: void
    signature: void durability_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:30,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:32,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:32,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_DURABILITY_VOLATILE <= v[0] && v[0] <= (int) DDS_DURABILITY_PERSISTENT)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: durability_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qget_durability
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void durability_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: durability_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_durability
    linkageType: ''
    returnType: void
    signature: void durability_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:45,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_RELIABILITY_BEST_EFFORT <= v[0] && v[0] <= (int) DDS_RELIABILITY_RELIABLE)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: reliability_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_reliability
    - assert
    linkageType: ''
    returnType: void
    signature: void reliability_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:49,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:52,1
    - Dst: dds_qget_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:52,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:54,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_RELIABILITY_BEST_EFFORT <= v[0] && v[0] <= (int) DDS_RELIABILITY_RELIABLE)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: reliability_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qget_reliability
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void reliability_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:60,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: reliability_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_reliability
    linkageType: ''
    returnType: void
    signature: void reliability_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: latency_budget_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_latency_budget
    linkageType: ''
    returnType: void
    signature: void latency_budget_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:71,1
    - Dst: dds_qget_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:71,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: latency_budget_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_latency_budget
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void latency_budget_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: latency_budget_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_latency_budget
    linkageType: ''
    returnType: void
    signature: void latency_budget_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: deadline_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_deadline
    linkageType: ''
    returnType: void
    signature: void deadline_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:89,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:89,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: deadline_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_deadline
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void deadline_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: deadline_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_deadline
    linkageType: ''
    returnType: void
    signature: void deadline_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: time_based_filter_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_time_based_filter
    linkageType: ''
    returnType: void
    signature: void time_based_filter_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:107,1
    - Dst: dds_qget_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:107,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: time_based_filter_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_qget_time_based_filter
    linkageType: ''
    returnType: void
    signature: void time_based_filter_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: time_based_filter_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_time_based_filter
    linkageType: ''
    returnType: void
    signature: void time_based_filter_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:118,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_OWNERSHIP_SHARED <= v[0] && v[0] <= (int) DDS_OWNERSHIP_EXCLUSIVE)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ownership_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_ownership
    linkageType: ''
    returnType: void
    signature: void ownership_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:122,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:124,1
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:124,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_OWNERSHIP_SHARED <= v[0] && v[0] <= (int) DDS_OWNERSHIP_EXCLUSIVE)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: ownership_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - CU_ASSERT_EQ_FATAL
    - dds_qget_ownership
    linkageType: ''
    returnType: void
    signature: void ownership_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: ownership_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_ownership
    linkageType: ''
    returnType: void
    signature: void ownership_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: ownership_strength_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_ownership_strength
    linkageType: ''
    returnType: void
    signature: void ownership_strength_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:139,1
    - Dst: dds_qget_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:139,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: ownership_strength_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_qget_ownership_strength
    linkageType: ''
    returnType: void
    signature: void ownership_strength_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:147,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_DESTINATIONORDER_BY_RECEPTION_TIMESTAMP <= v[0] && v[0]
        <= (int) DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: destination_order_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_destination_order
    - assert
    linkageType: ''
    returnType: void
    signature: void destination_order_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:151,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:153,1
    - Dst: dds_qget_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_DESTINATIONORDER_BY_RECEPTION_TIMESTAMP <= v[0] && v[0]
        <= (int) DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: destination_order_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_destination_order
    - assert
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void destination_order_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: destination_order_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_destination_order
    linkageType: ''
    returnType: void
    signature: void destination_order_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: lifespan_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_lifespan
    linkageType: ''
    returnType: void
    signature: void lifespan_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:169,1
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:169,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: lifespan_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_lifespan
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void lifespan_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: lifespan_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_lifespan
    linkageType: ''
    returnType: void
    signature: void lifespan_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: transport_priority_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_transport_priority
    linkageType: ''
    returnType: void
    signature: void transport_priority_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:186,1
    - Dst: dds_qget_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: transport_priority_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_transport_priority
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void transport_priority_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:195,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_HISTORY_KEEP_LAST <= v[0] && v[0] <= (int) DDS_HISTORY_KEEP_ALL)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: history_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - assert
    linkageType: ''
    returnType: void
    signature: void history_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:199,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:202,1
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:202,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:204,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_HISTORY_KEEP_LAST <= v[0] && v[0] <= (int) DDS_HISTORY_KEEP_ALL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: history_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - CU_ASSERT_EQ_FATAL
    - dds_qget_history
    linkageType: ''
    returnType: void
    signature: void history_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:210,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: history_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    linkageType: ''
    returnType: void
    signature: void history_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:216,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:217,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_LIVELINESS_AUTOMATIC <= v[0] && v[0] <= (int) DDS_LIVELINESS_MANUAL_BY_TOPIC
        && v[1] >= 0)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: liveliness_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - assert
    - dds_qset_liveliness
    linkageType: ''
    returnType: void
    signature: void liveliness_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:220,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:223,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:223,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:225,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:226,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_LIVELINESS_AUTOMATIC <= v[0] && v[0] <= (int) DDS_LIVELINESS_MANUAL_BY_TOPIC
        && v[1] >= 0)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: liveliness_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_liveliness
    - DDS_SECS
    - assert
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void liveliness_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:231,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:233,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: liveliness_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_qset_liveliness
    linkageType: ''
    returnType: void
    signature: void liveliness_invalid (dds_qos_t * const q, int const v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:238,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:239,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - v
    - f
    - o
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (0 <= v && v <= 7)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - condition: (0 <= f && f <= 2)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: resource_limits_cnv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - abort
    linkageType: ''
    returnType: int32_t
    signature: int32_t resource_limits_cnv (const int v, const int f, const int o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:252,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:252,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:252,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: resource_limits_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_resource_limits
    - resource_limits_cnv
    linkageType: ''
    returnType: void
    signature: void resource_limits_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:256,1
    - Dst: dds_qget_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:256,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:258,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:258,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:259,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:259,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:260,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: resource_limits_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_resource_limits
    - resource_limits_cnv
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void resource_limits_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:264,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:266,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:267,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts:
    - condition: (0 <= v && v <= 2)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: resource_limits_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_resource_limits
    linkageType: ''
    returnType: void
    signature: void resource_limits_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:273,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:274,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_PRESENTATION_INSTANCE <= v[0] && v[0] <= (int) DDS_PRESENTATION_GROUP)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - condition: ((v[1] == 0 || v[1] == 1) && (v[2] == 0 || v[2] == 1))
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: presentation_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_presentation
    linkageType: ''
    returnType: void
    signature: void presentation_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:278,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:279,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:282,1
    - Dst: dds_qget_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:282,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:284,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:285,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_PRESENTATION_INSTANCE <= v[0] && v[0] <= (int) DDS_PRESENTATION_GROUP)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - condition: ((v[1] == 0 || v[1] == 1) && (v[2] == 0 || v[2] == 1))
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: presentation_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - CU_ASSERT_EQ_FATAL
    - dds_qget_presentation
    linkageType: ''
    returnType: void
    signature: void presentation_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: presentation_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_presentation
    linkageType: ''
    returnType: void
    signature: void presentation_invalid (dds_qos_t * const q, int const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:295,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:297,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:301,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 2)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: partition_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - dds_qset_partition1
    linkageType: ''
    returnType: void
    signature: void partition_set (dds_qos_t * const q, int const * const v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:306,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:309,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:310,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:313,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:316,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:317,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:318,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:322,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 2)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: partition_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - snprintf
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - dds_free
    - assert
    - dds_qget_partition
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void partition_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:329,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_IGNORELOCAL_NONE <= v[0] && v[0] <= (int) DDS_IGNORELOCAL_PROCESS)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: ignorelocal_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_ignorelocal
    linkageType: ''
    returnType: void
    signature: void ignorelocal_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:335,1
    - Dst: dds_qget_ignorelocal
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:335,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_IGNORELOCAL_NONE <= v[0] && v[0] <= (int) DDS_IGNORELOCAL_PROCESS)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: ignorelocal_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qget_ignorelocal
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void ignorelocal_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: ignorelocal_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_ignorelocal
    linkageType: ''
    returnType: void
    signature: void ignorelocal_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:345,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 1)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: writer_batching_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_writer_batching
    linkageType: ''
    returnType: void
    signature: void writer_batching_set (dds_qos_t * const q, int const * const v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:349,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:351,1
    - Dst: dds_qget_writer_batching
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:351,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 1)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: writer_batching_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_writer_batching
    - assert
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void writer_batching_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:359,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 1)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: writer_data_lifecycle_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qset_writer_data_lifecycle
    linkageType: ''
    returnType: void
    signature: void writer_data_lifecycle_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:363,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:365,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:365,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 1)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: writer_data_lifecycle_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_qget_writer_data_lifecycle
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void writer_data_lifecycle_check (const enum check_mode check_mode,
      const dds_qos_t * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:373,1
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:374,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:374,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && 0 <= v[1])
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: reader_data_lifecycle_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_reader_data_lifecycle
    - assert
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void reader_data_lifecycle_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:377,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:379,1
    - Dst: dds_qget_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:379,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:381,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:381,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:382,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && 0 <= v[1])
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: reader_data_lifecycle_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - DDS_MSECS
    - CU_ASSERT_EQ_FATAL
    - dds_qget_reader_data_lifecycle
    linkageType: ''
    returnType: void
    signature: void reader_data_lifecycle_check (const enum check_mode check_mode,
      const dds_qos_t * const q, int const * const v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:386,1
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:388,1
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts:
    - condition: (0 <= v && v <= 1)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: reader_data_lifecycle_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_reader_data_lifecycle
    - assert
    linkageType: ''
    returnType: void
    signature: void reader_data_lifecycle_invalid (dds_qos_t * const q, int const
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:395,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:396,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:400,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:401,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_HISTORY_KEEP_LAST <= v[1] && v[1] <= (int) DDS_HISTORY_KEEP_ALL)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: durability_service_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - assert
    - resource_limits_cnv
    - dds_qset_durability_service
    linkageType: ''
    returnType: void
    signature: void durability_service_set (dds_qos_t * const q, int const * const
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:405,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:409,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:409,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:411,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:412,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:413,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:414,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:414,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:415,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:415,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:416,1
    - Dst: resource_limits_cnv
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: ((int) DDS_HISTORY_KEEP_LAST <= v[1] && v[1] <= (int) DDS_HISTORY_KEEP_ALL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: durability_service_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qget_durability_service
    - assert
    - resource_limits_cnv
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void durability_service_check (const enum check_mode check_mode, const
      dds_qos_t * const q, int const * const v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:421,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:422,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:423,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:424,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:425,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: durability_service_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_durability_service
    linkageType: ''
    returnType: void
    signature: void durability_service_invalid (dds_qos_t * const q, int const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:435,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:437,1
    - Dst: dds_qset_entity_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - q
    - v
    argTypes:
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 1)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: entity_name_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - dds_qset_entity_name
    linkageType: ''
    returnType: void
    signature: void entity_name_set (dds_qos_t * const q, int const * const v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:441,1
    - Dst: dds_qget_entity_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:443,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:446,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:449,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:450,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - check_mode
    - q
    - v
    argTypes:
    - enum check_mode
    - dds_qos_t*
    - int*
    assertStmts:
    - condition: (0 <= v[0] && v[0] <= 2)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: entity_name_check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - snprintf
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - dds_free
    - assert
    - dds_qget_entity_name
    linkageType: ''
    returnType: void
    signature: void entity_name_check (const enum check_mode check_mode, const dds_qos_t
      * const q, int const * const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: QI
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QI(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    functionName: Q0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q0(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: P
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:538,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:540,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_qos
    - check
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:547,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:558,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:559,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:561,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 567
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check
    - DDSRT_STATIC_ASSERT
    - dds_delete_qos
    - dds_create_qos
    - set
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, one)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:574,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:582,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:583,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:584,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:588,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:590,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:592,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check
    - DDSRT_STATIC_ASSERT
    - dds_delete_qos
    - dds_create_qos
    - set
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:602,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: create_topic_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - create_unique_topic_name
    - dds_create_topic
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_topic_wrapper (dds_entity_t base, const dds_qos_t
      *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:608,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: create_reader_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_reader
    - dds_get_parent
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_reader_wrapper (dds_entity_t base, const dds_qos_t
      *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:613,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: create_writer_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_writer
    - dds_get_parent
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_writer_wrapper (dds_entity_t base, const dds_qos_t
      *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: create_subscriber_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_subscriber
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_subscriber_wrapper (dds_entity_t base, const dds_qos_t
      *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: create_publisher_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_publisher
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_publisher_wrapper (dds_entity_t base, const dds_qos_t
      *qos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:629,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:630,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:631,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:635,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:637,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:639,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - check_mask
    - entity
    - i
    - v
    - sparse_qos
    argTypes:
    - uint32_t
    - dds_entity_t
    - size_t
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 642
    functionName: check_qos_entity_one
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check
    - CU_ASSERT_EQ_FATAL
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    linkageType: ''
    returnType: void
    signature: void check_qos_entity_one (uint32_t check_mask, const dds_entity_t
      entity, const size_t i, int const * const v, const bool sparse_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:656,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:664,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:665,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:666,1
    - Dst: create
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:667,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:668,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:669,1
    - Dst: check_qos_entity_one
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:670,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:671,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    - base
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 677
    functionName: do_entity_one
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check_qos_entity_one
    - CU_ASSERT_EQ_FATAL
    - DDSRT_STATIC_ASSERT
    - dds_delete
    - tprintf
    - create
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - set
    linkageType: ''
    returnType: void
    signature: void do_entity_one (const uint32_t appl_mask, const uint32_t check_mask,
      const bool sparse_qos, dds_entity_t base, dds_entity_t (* const create) (dds_entity_t
      base, const dds_qos_t *qos))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:682,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:683,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:684,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:688,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:690,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:692,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:694,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - check_mask
    - entity
    - i
    - j
    - sparse_qos
    argTypes:
    - uint32_t
    - dds_entity_t
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 697
    functionName: check_qos_entity_two
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check
    - CU_ASSERT_EQ_FATAL
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    linkageType: ''
    returnType: void
    signature: void check_qos_entity_two (uint32_t check_mask, const dds_entity_t
      entity, const size_t i, const size_t j, const bool sparse_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:719,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:720,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:721,1
    - Dst: create
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:722,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:723,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:724,1
    - Dst: check_qos_entity_two
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:725,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:726,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:727,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    - base
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 730
    functionName: do_entity_two
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - check_qos_entity_two
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - create
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - set
    linkageType: ''
    returnType: void
    signature: void do_entity_two (const uint32_t appl_mask, const uint32_t check_mask,
      const bool sparse_qos, dds_entity_t base, dds_entity_t (* const create) (dds_entity_t
      base, const dds_qos_t *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:735,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:736,1
    - Dst: do_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:737,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:738,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 740
    functionName: do_nonendpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - do_entity
    linkageType: ''
    returnType: void
    signature: void do_nonendpoint (const uint32_t appl_mask, const uint32_t check_mask,
      bool sparse_qos, void (* const do_entity) (const uint32_t appl_mask, const uint32_t
      check_mask, const bool sparse_qos, dds_entity_t base, dds_entity_t (* const
      create) (dds_entity_t base, const dds_qos_t *qos)), dds_entity_t (* const create)
      (dds_entity_t base, const dds_qos_t *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:745,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:746,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:748,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:749,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:750,1
    - Dst: do_entity
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:751,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:752,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 754
    functionName: do_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - do_entity
    linkageType: ''
    returnType: void
    signature: void do_endpoint (const uint32_t appl_mask, const uint32_t check_mask,
      bool sparse_qos, void (* const do_entity) (const uint32_t appl_mask, const uint32_t
      check_mask, const bool sparse_qos, dds_entity_t base, dds_entity_t (* const
      create) (dds_entity_t base, const dds_qos_t *qos)), dds_entity_t (* const create)
      (dds_entity_t base, const dds_qos_t *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, topic_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 764
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, subscriber_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, publisher_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, reader_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, writer_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, topic_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, subscriber_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, publisher_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, reader_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, writer_two)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:820,1
    - Dst: invalid
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:821,1
    - Dst: create
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:822,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:823,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    - base
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 827
    functionName: do_entity_one_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - invalid
    - create
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_LT_FATAL
    linkageType: ''
    returnType: void
    signature: void do_entity_one_invalid (uint32_t appl_mask, const uint32_t check_mask,
      const bool sparse_qos, dds_entity_t base, dds_entity_t (* const create) (dds_entity_t
      base, const dds_qos_t *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, topic_one_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, subscriber_one_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, publisher_one_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, reader_one_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, writer_one_invalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:856,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:858,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:859,1
    - Dst: struct qostable_elem*::check
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:860,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - is_appl
    - te
    - entity
    - v
    argTypes:
    - bool
    - struct qostable_elem*
    - dds_entity_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 862
    functionName: check_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete_qos
    - dds_get_qos
    - dds_create_qos
    - struct qostable_elem*::check
    linkageType: ''
    returnType: void
    signature: void check_qos (const bool is_appl, struct qostable_elem const * const
      te, dds_entity_t entity, int const * const v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:877,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:878,1
    - Dst: create
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:879,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:880,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:881,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:882,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:890,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:891,1
    - Dst: check_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:892,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:893,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - appl_mask
    - check_mask
    - sparse_qos
    - base
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 896
    functionName: do_entity_one_change
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - check_qos
    - dds_delete
    - create
    - dds_delete_qos
    - dds_set_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - set
    linkageType: ''
    returnType: void
    signature: void do_entity_one_change (uint32_t appl_mask, const uint32_t check_mask,
      const bool sparse_qos, dds_entity_t base, dds_entity_t (* const create) (dds_entity_t
      base, const dds_qos_t *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, topic_one_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, subscriber_one_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_nonendpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_nonendpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, publisher_one_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, reader_one_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - do_endpoint
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, writer_one_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:931,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:932,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:933,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:934,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:935,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:936,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:937,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:938,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:939,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:940,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:941,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:942,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:943,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:944,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:945,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:946,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:947,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:948,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:949,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:950,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:950,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:951,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:952,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:953,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:954,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:956,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:957,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:958,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:959,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:961,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:961,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:962,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:963,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:964,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:965,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:966,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:967,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:968,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:969,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:970,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:971,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:972,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:973,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:974,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:975,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - dprd
    - dpwr
    argTypes:
    - dds_entity_t
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 977
    functionName: sync_on_discovery
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_get_matched_subscriptions
    - dds_create_topic
    - dds_get_publication_matched_status
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_waitset_detach
    - create_unique_topic_name
    - dds_delete
    - dds_set_status_mask
    - dds_get_matched_publications
    - dds_waitset_wait
    - tprintf
    - dds_create_waitset
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void sync_on_discovery (const dds_entity_t dprd, const dds_entity_t
      dpwr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:993,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1000,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1004,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1005,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1024,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1025,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1026,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1027,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1028,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1031,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1033,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1034,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1035,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1036,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1037,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1038,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1039,1
    - Dst: check_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1041,1
    - Dst: check_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1044,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1046,1
    - Dst: set
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1047,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1048,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1049,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1050,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1051,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1052,1
    - Dst: check_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1053,1
    - Dst: check_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1056,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1063,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1063,1
    - Dst: sync_on_discovery
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1064,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1104,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1104,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1115,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1116,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1117,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1118,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1119,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1120,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1121,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1122,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1123,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1124,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1125,1
    - Dst: dds_get_offered_incompatible_qos_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1130,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1131,1
    - Dst: dds_get_requested_incompatible_qos_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1133,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1135,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1137,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1138,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1139,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1140,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1141,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1142,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1143,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1144,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1145,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1146,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 2
    argNames:
    - dprd
    - dpwr
    argTypes:
    - dds_entity_t
    - dds_entity_t
    assertStmts:
    - condition: ((qostable[i].appl & (QA_RD | QA_WR | QA_PUB | QA_SUB)) != 0)
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - condition: (!(one_wr && one_rd))
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - condition: ((is_rd || is_wr) != (is_sub || is_pub) || qostable[i].set == ignorelocal_set)
      pos:
        line_end: 999
        line_start: 999
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    constantsTouched: []
    func_position:
      end: 1154
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 1154
    functionName: do_ddsc_qos_set_endpoints_with_rxo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - dds_create_subscriber
    - dds_create_qos
    - set
    - fflush
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_get_requested_incompatible_qos_status
    - dds_create_publisher
    - dds_create_reader
    - sync_on_discovery
    - CU_ASSERT_GT_FATAL
    - dds_get_offered_incompatible_qos_status
    - assert
    - tprintf
    - printf
    - CU_ASSERT_EQ
    - dds_create_writer
    - dds_get_matched_subscriptions
    - check_qos
    - DDSRT_STATIC_ASSERT
    - dds_get_matched_publications
    - dds_delete_qos
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void do_ddsc_qos_set_endpoints_with_rxo (const dds_entity_t dprd, const
      dds_entity_t dpwr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1159,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1160,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1161,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1162,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1163,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1164,1
    - Dst: do_ddsc_qos_set_endpoints_with_rxo
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1166,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1167,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1169
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - do_ddsc_qos_set_endpoints_with_rxo
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, local_endpoints_with_rxo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1174,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1175,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1176,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1177,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1178,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1179,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1180,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1181,1
    - Dst: do_ddsc_qos_set_endpoints_with_rxo
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1182,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1183,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1185
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - do_ddsc_qos_set_endpoints_with_rxo
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, semilocal_endpoints_with_rxo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1218,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1219,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1220,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1221,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1222,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1223,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1227,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1228,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1229,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1231,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1232,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1233,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1234,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1236,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1236,1
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1237,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1237,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1238,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1239,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1239,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1240,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1241,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1242,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1243,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1245,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1246,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1247,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1249,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1249,1
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1250,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1250,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1251,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1252,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1252,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1253,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1254,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1255,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1256,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1257,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1260,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1261,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1262,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1263,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1265,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1266,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1268,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1270
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    - dds_create_domain
    - dds_qset_ownership
    - DDS_SECS
    - dds_delete
    - dds_qset_deadline
    - dds_qset_reliability
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_create_reader
    - dds_read_status
    - dds_qset_latency_budget
    - CU_ASSERT_GT_FATAL
    - dds_qset_destination_order
    - ddsrt_free
    - dds_qset_durability
    - ddsrt_expand_envvars
    - dds_create_writer
    - dds_create_participant
    - dds_qset_partition1
    - dds_delete_qos
    - dds_qset_data_representation
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_qos_set, partition_mismatch_no_incompat_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/basic.c:19,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/basic.c:20,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/basic.c:22,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/basic.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/basic.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_basic, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:41,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:42,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:45,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:48,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:50,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:51,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:54,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:56,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:57,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:59,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:60,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:61,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:62,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:63,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:64,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:65,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:68,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:69,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:70,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:71,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:72,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:72,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:73,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:74,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:75,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:76,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:80,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:81,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:82,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:83,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:83,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:84,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:85,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:87,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 90
    functionName: ddsi_lifespan_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/lifespan.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_create_subscriber
    - dds_qset_reliability
    - dds_create_waitset
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_publisher
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_qset_durability
    - dds_create_writer
    - dds_create_participant
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:94,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:95,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:96,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:97,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:98,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:99,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:100,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:101,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: ddsi_lifespan_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/lifespan.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:110,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:110,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:111,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:111,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:112,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:113,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:114,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:115,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:115,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:116,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:118,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/lifespan.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - writer
    - exp_min
    - exp_max
    argTypes:
    - dds_entity_t
    - ddsi_seqno_t
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: check_whc_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/lifespan.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsi_whc_get_state
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void check_whc_state(dds_entity_t writer, ddsi_seqno_t exp_min, ddsi_seqno_t
      exp_max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:34,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:36,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - si
    - st
    - sd
    argTypes:
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: getdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_untyped_to_sample
    - ddsi_serdata_to_sample
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: Space_Type1
    signature: Space_Type1 getdata (const dds_sample_info_t *si, const struct ddsi_sertype
      *st, struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:44,1
    - Dst: getdata
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:45,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - varg
    - si
    - st
    - sd
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: coll_fail_always
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - getdata
    - CU_ASSERT_FATAL
    - tprintf
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t coll_fail_always (void *varg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:57,1
    - Dst: getdata
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:59,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - varg
    - si
    - st
    - sd
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: coll_fail_after_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - getdata
    - CU_ASSERT_FATAL
    - tprintf
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t coll_fail_after_1 (void *varg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:67,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:68,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:70,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:71,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:72,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:73,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:74,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:75,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:76,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:77,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:78,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:79,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:80,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:87,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:88,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:94,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:98,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:99,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:100,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:104,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:105,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:107,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:110,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:111,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:113,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:123,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:125,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:128,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:131,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:133,1
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:135,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:137,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:143,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:144,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:145,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:147,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:149,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:155,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:157,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:160,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:161,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 1
    argNames:
    - op
    argTypes:
    - read_op
    assertStmts:
    - condition: (op == dds_peek_with_collector || op == dds_read_with_collector ||
        op == dds_take_with_collector)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    constantsTouched: []
    func_position:
      end: 162
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 162
    functionName: dotest
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 12
    functionsReached:
    - dds_take
    - dds_delete
    - dds_qset_reliability
    - dds_take_instance
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_register_instance
    - create_unique_topic_name
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - op
    - dds_write
    - assert
    - tprintf
    - dds_create_writer
    - dds_create_participant
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void dotest (read_op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_read_with_collector, peek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_read_with_collector, read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/readcollect.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_read_with_collector, take)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: stp_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stp_equal (const struct ddsi_sertype *acmn, const struct ddsi_sertype
      *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: stp_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t stp_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:62,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: stp_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - free
    - ddsi_sertype_fini
    linkageType: ''
    returnType: void
    signature: void stp_free (struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - samples
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: stpx_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void stpx_zero_samples (void *samples, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stpx_zero_samples
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dcmn
    - samples
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: stp_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - stpx_zero_samples
    linkageType: ''
    returnType: void
    signature: void stp_zero_samples (const struct ddsi_sertype *dcmn, void *samples,
      size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:80,1
    - Dst: count::count
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:81,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:82,1
    - Dst: size::size
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:82,1
    - Dst: i::i
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ptrs
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: stpx_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - count::count
    - memset
    - i::i
    - size::size
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void stpx_realloc_samples (void **ptrs, void *old, size_t oldcount,
      size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stpx_realloc_samples
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ptrs
    - dcmn
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: stp_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - stpx_realloc_samples
    linkageType: ''
    returnType: void
    signature: void stp_realloc_samples (void **ptrs, const struct ddsi_sertype *dcmn,
      void *old, size_t oldcount, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:105,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:106,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ptrs
    - count
    - op
    argTypes:
    - void**
    - size_t
    - dds_free_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: stpx_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void stpx_free_samples (void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stpx_free_samples
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dcmn
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: stp_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - stpx_free_samples
    linkageType: ''
    returnType: void
    signature: void stp_free_samples (const struct ddsi_sertype *dcmn, void **ptrs,
      size_t count, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - kind
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: sdx_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sdx_get_size (const struct sdx *d, enum ddsi_serdata_kind
      kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_get_size
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: sd_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_get_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sd_get_size (const struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sdx*
    - struct sdx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: sdx_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sdx_eqkey (const struct sdx *a, const struct sdx *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_eqkey
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: sd_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_eqkey
    linkageType: ''
    returnType: bool
    signature: bool sd_eqkey (const struct ddsi_serdata *acmn, const struct ddsi_serdata
      *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:169,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct sdx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: sdx_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sdx_free (struct sdx *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:176,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: sd_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_free
    - free
    linkageType: ''
    returnType: void
    signature: void sd_free (struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:183,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - l
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (y)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: strdup_with_len
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *strdup_with_len (const char *x, size_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:192,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:196,1
    - Dst: strdup_with_len
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:198,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:204,1
    - Dst: strdup_with_len
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:206,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - d
    - kind
    - niov
    - iov
    - basehash
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - uint32_t
    assertStmts:
    - condition: (niov == 1)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: sdx_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ddsrt_mh3
    - strdup_with_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sdx_from_ser_iov (struct sdx *d, enum ddsi_serdata_kind kind,
      ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t *iov, uint32_t basehash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:222,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:223,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:224,1
    - Dst: sdx_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts:
    - condition: (sd)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: sd_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_from_ser_iov
    - malloc
    - assert
    - ddsi_serdata_init
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_from_ser_iov (const struct ddsi_sertype *tpcmn,
      enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t *iov,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:232,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:234,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:234,1
    - Dst: ddsi_serdata_keyhash_from_fragchain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:237,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:238,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:239,1
    - Dst: sd_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts:
    - condition: (fragchain->nextfrag == NULL)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: sd_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_keyhash_from_fragchain
    - sd_from_ser_iov
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - DDSI_RDATA_PAYLOAD_OFF
    - tprintf
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_from_ser (const struct ddsi_sertype *tpcmn,
      enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tpcmn
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - ddsi_keyhash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: sd_from_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_from_keyhash (const struct ddsi_sertype *tpcmn,
      const ddsi_keyhash_t *keyhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:257,1
    - Dst: strdup_with_len
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:258,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:262,1
    - Dst: strdup_with_len
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:263,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - d
    - kind
    - s
    - basehash
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    - struct sampletype*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: sdx_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    - strdup_with_len
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sdx_from_sample (struct sdx *d, enum ddsi_serdata_kind kind,
      const struct sampletype *s, uint32_t basehash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:280,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:281,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:282,1
    - Dst: sdx_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts:
    - condition: (sd)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: sd_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - sdx_from_sample
    - ddsi_serdata_init
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_from_sample (const struct ddsi_sertype *tpcmn,
      enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup_with_len
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sd_tl
    - sd
    argTypes:
    - struct sdx*
    - struct sdx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: sdx_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - strdup_with_len
    linkageType: ''
    returnType: void
    signature: void sdx_to_untyped (struct sdx *sd_tl, const struct sdx *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:300,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:301,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:302,1
    - Dst: sdx_to_untyped
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (sd_tl)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: sd_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - sdx_to_untyped
    - ddsi_serdata_init
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_to_untyped (const struct ddsi_serdata *serdata_common)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:317,1
    - Dst: sdx_get_size
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:317,1
    - Dst: sdx_get_size
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:320,1
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:323,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:324,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:331,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:333,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:339,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:341,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - sd
    - kind
    - cdr_off
    - cdr_sz
    - ref
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts:
    - condition: (cdr_off == 0 && cdr_sz == sdx_get_size (sd, kind))
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - condition: (header)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - condition: (4 <= ref->iov_len)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - condition: (4 + off == ref->iov_len)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 347
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 347
    functionName: sdx_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_get_size
    - assert
    - malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sdx_to_ser_ref (const struct sdx *sd, enum ddsi_serdata_kind kind,
      size_t cdr_off, size_t cdr_sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:355,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - serdata_common
    - cdr_off
    - cdr_sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: sd_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_to_ser_ref
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *sd_to_ser_ref (const struct ddsi_serdata *serdata_common,
      size_t cdr_off, size_t cdr_sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:362,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: sd_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - free
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void sd_to_ser_unref (struct ddsi_serdata *serdata_common, const ddsrt_iovec_t
      *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:370,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:371,1
    - Dst: sd_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: sd_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sd_to_ser_ref
    - sd_to_ser_unref
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sd_to_ser (const struct ddsi_serdata *serdata_common, size_t off,
      size_t sz, void *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:377,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:378,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:379,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:382,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - sd
    - kind
    - s
    - bufptr
    - buflim
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    - struct sampletype*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: sdx_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - abort
    - dds_realloc
    linkageType: ''
    returnType: bool
    signature: bool sdx_to_sample (const struct sdx *sd, enum ddsi_serdata_kind kind,
      struct sampletype *s, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_to_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: sd_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_to_sample
    linkageType: ''
    returnType: bool
    signature: bool sd_to_sample (const struct ddsi_serdata *serdata_common, void
      *sample, void **bufptr, void *buflim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:396,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:397,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - sd
    - s
    - bufptr
    - buflim
    argTypes:
    - struct sdx*
    - struct sampletype*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: sdx_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - abort
    - dds_realloc
    linkageType: ''
    returnType: bool
    signature: bool sdx_untyped_to_sample (const struct sdx *sd, struct sampletype
      *s, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - topic
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: sd_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_untyped_to_sample
    linkageType: ''
    returnType: bool
    signature: bool sd_untyped_to_sample (const struct ddsi_sertype *topic, const
      struct ddsi_serdata *serdata_common, void *sample, void **bufptr, void *buflim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:414,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - sd
    - kind
    - buf
    - size
    argTypes:
    - struct sdx*
    - enum ddsi_serdata_kind
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: sdx_print
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t sdx_print (const struct sdx *sd, enum ddsi_serdata_kind kind,
      char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_print
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sertype_common
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: sd_print
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_print
    linkageType: ''
    returnType: size_t
    signature: size_t sd_print (const struct ddsi_sertype *sertype_common, const struct
      ddsi_serdata *serdata_common, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:430,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:432,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:433,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:434,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sd
    - buf
    - force_md5
    argTypes:
    - struct sdx*
    - struct ddsi_keyhash*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: sdx_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_finish
    - ddsrt_md5_init
    - ddsrt_toBE4u
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void sdx_get_keyhash (const struct sdx *sd, struct ddsi_keyhash *buf,
      bool force_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdx_get_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:441,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - serdata_common
    - buf
    - force_md5
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_keyhash*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: sd_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - sdx_get_keyhash
    - tprintf
    linkageType: ''
    returnType: void
    signature: void sd_get_keyhash (const struct ddsi_serdata *serdata_common, struct
      ddsi_keyhash *buf, bool force_md5)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:493,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:494,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:495,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:496,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:497,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:498,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:499,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:500,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:502,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:503,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:504,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:505,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:507,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:508,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:510,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:511,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:512,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:514,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:516,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:517,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:518,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:519,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:523,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:524,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:524,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:525,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:536,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:537,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:542,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:542,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:543,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:554,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:555,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:556,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:560,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:563,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:566,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:567,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:570,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:571,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:572,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:573,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:574,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:582,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:583,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:588,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:589,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:593,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:596,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:599,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:600,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:603,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:604,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:605,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:609,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:610,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:611,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:611,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:612,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:619,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:620,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:621,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:622,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:623,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:630,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:631,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:637,1
    - Dst: struct ops*::get_sdx
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:642,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:643,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:647,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:650,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:653,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:654,1
    - Dst: dds_writecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:659,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:660,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:662,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:663,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:663,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:664,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:671,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:672,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:677,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:681,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:684,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:687,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:688,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:691,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:692,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:693,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:696,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:697,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:698,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:699,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 122
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 700
    functionName: cdr_basic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - DDS_SECS
    - dds_return_loan
    - dds_unregister_instance
    - struct ops*::get_sdx
    - dds_delete
    - dds_qset_reliability
    - dds_create_qos
    - CU_ASSERT_LT_FATAL
    - struct ops*::make_topic
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - create_unique_topic_name
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_wait_for_acks
    - ddsrt_free
    - ddsi_serdata_unref
    - dds_write
    - dds_free
    - strcmp
    - ddsrt_expand_envvars
    - dds_writecdr
    - dds_create_writer
    - dds_get_publication_matched_status
    - dds_create_participant
    - DDSRT_STATIC_ASSERT
    - dds_sleepfor
    - dds_read_mask
    - dds_delete_qos
    - dds_takecdr
    linkageType: ''
    returnType: void
    signature: void cdr_basic (struct ops const * const ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:708,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:709,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:710,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:712,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:713,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:715,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:716,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:718,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:719,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:720,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:721,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:725,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:726,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:732,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:733,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:734,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:735,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:737,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:738,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:740,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:741,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:742,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:743,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:744,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:745,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:747,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:748,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:750,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:751,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:752,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:753,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:755,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:756,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:758,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:759,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:760,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:761,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:762,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:763,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:765,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 767
    functionName: cdr_forward
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - dds_writedispose
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - struct ops*::make_topic
    - create_unique_topic_name
    - dds_write
    - CU_ASSERT_EQ_FATAL
    - ddsi_serdata_unref
    - dds_delete
    - ddsrt_expand_envvars
    - dds_create_reader
    - dds_forwardcdr
    - dds_create_writer
    - dds_takecdr
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void cdr_forward (struct ops const * const ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:774,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:775,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:777,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:778,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:780,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:781,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:783,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:784,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:785,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:786,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:787,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:788,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:790,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:791,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:792,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:793,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:794,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:795,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:797,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:798,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:799,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:800,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:801,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:802,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:805,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:806,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:807,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:808,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:809,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:810,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:811,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:813,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:814,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:815,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:816,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:817,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:818,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:820,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 822
    functionName: cdr_invalid_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - dds_writedispose
    - struct ops*::make_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_dispose
    - create_unique_topic_name
    - dds_write
    - dds_register_instance
    - dds_unregister_instance
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void cdr_invalid_data (struct ops const * const ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:844,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:845,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:846,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:847,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:848,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:849,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:850,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:851,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:853,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:854,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:855,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:856,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:858,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:859,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:860,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:862,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:863,1
    - Dst: struct ops*::make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:864,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:866,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:868,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:869,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:870,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:871,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:875,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:876,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:876,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:877,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:882,1
    - Dst: struct ops*::make_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:890,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:891,1
    - Dst: dds_writecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:892,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:894,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:896,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 901
    functionName: cdr_timeout
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_delete
    - dds_domain_set_deafmute
    - dds_qset_reliability
    - dds_create_qos
    - struct ops*::make_sample
    - dds_qset_history
    - struct ops*::make_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - ddsrt_expand_envvars
    - dds_writecdr
    - dds_create_writer
    - dds_get_publication_matched_status
    - dds_create_participant
    - dds_sleepfor
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void cdr_timeout (struct ops const * const ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:911,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:912,1
    - Dst: ddsi_sertype_init_flags
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - typename
    argTypes:
    - char*
    assertStmts:
    - condition: (stp)
      pos:
        line_end: 911
        line_start: 911
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    constantsTouched: []
    func_position:
      end: 915
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 915
    functionName: make_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - ddsi_sertype_init_flags
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *make_sertype (const char *typename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:919,1
    - Dst: dds_create_topic_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:920,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pp
    - topicname
    - typename
    - qos
    argTypes:
    - dds_entity_t
    - char*
    - char*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: make_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 4
    functionsReached:
    - make_sertype
    - CU_ASSERT_GT_FATAL
    - dds_create_topic_sertype
    linkageType: ''
    returnType: struct tw
    signature: struct tw make_topic (dds_entity_t pp, const char *topicname, const
      char *typename, const dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tw
    - s
    argTypes:
    - struct tw*
    - struct sampletype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 5
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: make_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 1
    functionsReached:
    - sd_from_sample
    linkageType: ''
    returnType: void
    signature: void *make_sample (const struct tw *tw, const struct sampletype *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serdata
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 934
    functionName: get_sdx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct sdx
    signature: struct sdx *get_sdx (const struct ddsi_serdata *serdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr_basic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - cdr_basic
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdr, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr_forward
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - cdr_forward
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdr, forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr_invalid_data
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - cdr_invalid_data
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdr, invalid_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cdr_timeout
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - cdr_timeout
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdr, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:966,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:967,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:970,1
    - Dst: make_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:971,1
    - Dst: make_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:972,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:974,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:975,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:979,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:980,1
    - Dst: sd_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:984,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:986,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:987,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:988,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:991,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:991,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:992,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:998,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:999,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1000,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1001,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1002,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1002,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1003,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1006,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1007,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1008,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1009,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1010,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1011,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1015,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1016,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdr.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 962
    functionDepth: 5
    functionLinenumber: 962
    functionLinenumberEnd: 1018
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_unref
    - dds_delete
    - make_topic
    - ddsrt_atomic_ld32
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - sd_from_sample
    - create_unique_topic_name
    - make_sertype
    - dds_create_reader
    - ddsi_sertype_free_sample
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsi_serdata_to_sample
    - ddsi_serdata_unref
    - ddsi_serdata_ref
    - dds_create_writer
    - dds_create_participant
    - dds_forwardcdr
    - dds_takecdr
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdr, forward_conv_serdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:21,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:23,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:24,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:25,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:28,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:29,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:32,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:33,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:44,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:45,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:49,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:50,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:54,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:55,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:58,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:59,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:63,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:64,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:65,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:66,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:69,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:70,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:78,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:79,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:80,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:81,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:91,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:93,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:94,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:99,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:100,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:101,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:107,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:108,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 109
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_create_participant
    - dds_waitset_detach
    - create_unique_topic_name
    - dds_take_status
    - dds_write
    - dds_delete
    - dds_create_subscriber
    - dds_create_waitset
    - dds_create_reader
    - dds_read
    - dds_read_status
    - dds_create_writer
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_data_on_readers, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:114,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:116,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:117,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:118,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:121,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:122,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:123,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:129,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:130,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:133,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:134,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:138,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:139,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:140,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:141,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:144,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:145,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:150,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:151,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:152,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:153,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 158
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_create_participant
    - dds_take_status
    - create_unique_topic_name
    - dds_write
    - dds_delete
    - dds_create_subscriber
    - dds_create_waitset
    - dds_create_reader
    - dds_read_status
    - dds_create_writer
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_data_on_readers, while_da)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:71,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: sample_init_nested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void * sample_init_nested (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: sample_equal_nested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_nested (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:93,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: sample_free_nested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_nested (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:102,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:103,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:104,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:106,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:107,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:109,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:110,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: sample_init_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_strlcpy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void * sample_init_str (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:121,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:124,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:127,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: sample_equal_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_str (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:134,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:135,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:136,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: sample_free_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_str (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: sample_init_union
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_union (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: sample_equal_union
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_union (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: sample_free_union
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_union (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:214,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: sample_init_recursive
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void * sample_init_recursive (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_recursive_field2
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - TestIdl_SubMsgRecursive*
    - TestIdl_SubMsgRecursive*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: sample_equal_recursive_field2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 1
    functionsReached:
    - sample_equal_recursive_field2
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_recursive_field2 (TestIdl_SubMsgRecursive *s1, TestIdl_SubMsgRecursive
      *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_recursive_field2
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: sample_equal_recursive
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_equal_recursive_field2
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_recursive (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:248,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: sample_free_recursive
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_recursive (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:257,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:258,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:260,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:261,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:263,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:264,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:267,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:272,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:275,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:280,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:283,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: sample_init_ext
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_strlcpy
    linkageType: ''
    returnType: void
    signature: void * sample_init_ext (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:311,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: sample_equal_ext
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_ext (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:321,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: sample_free_ext
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_free_sample
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_ext (void *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:330,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:334,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:338,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:341,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:344,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:350,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:351,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:355,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:362,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:365,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 377
    functionName: sample_init_opt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_calloc
    - ddsrt_strlcpy
    linkageType: ''
    returnType: void
    signature: void * sample_init_opt (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:407,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:409,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 14
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 411
    functionName: sample_equal_opt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_opt (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:415,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: sample_free_opt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_free_sample
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_opt (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:429,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:431,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 434
    functionName: sample_init_appendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_appendable (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - dds_sequence_TestIdl_AppendableSubMsg2*
    - dds_sequence_TestIdl_AppendableSubMsg2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: sample_equal_appendable_TestIdl_AppendableSubMsg2_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appendable_TestIdl_AppendableSubMsg2_seq (dds_sequence_TestIdl_AppendableSubMsg2
      *s1, dds_sequence_TestIdl_AppendableSubMsg2 *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - dds_sequence_TestIdl_AppendableUnion0*
    - dds_sequence_TestIdl_AppendableUnion0*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: sample_equal_appendable_TestIdl_AppendableUnion0_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appendable_TestIdl_AppendableUnion0_seq (dds_sequence_TestIdl_AppendableUnion0
      *s1, dds_sequence_TestIdl_AppendableUnion0 *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:467,1
    - Dst: sample_equal_appendable_TestIdl_AppendableSubMsg2_seq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:470,1
    - Dst: sample_equal_appendable_TestIdl_AppendableUnion0_seq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: sample_equal_appendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sample_equal_appendable_TestIdl_AppendableUnion0_seq
    - sample_equal_appendable_TestIdl_AppendableSubMsg2_seq
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appendable (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:480,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:481,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: sample_free_appendable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_appendable (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: sample_empty_keysnested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void * sample_empty_keysnested (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:500,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: sample_init_keysnested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_keysnested (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: keys_equal_keysnested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool keys_equal_keysnested (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - TestIdl_SubMsgKeysNested*
    - TestIdl_SubMsgKeysNested*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: sample_equal_keysnested_TestIdl_SubMsgKeysNested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_keysnested_TestIdl_SubMsgKeysNested (TestIdl_SubMsgKeysNested
      *s1, TestIdl_SubMsgKeysNested *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_keysnested_TestIdl_SubMsgKeysNested
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:526,1
    - Dst: sample_equal_keysnested_TestIdl_SubMsgKeysNested
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 535
    functionName: sample_equal_keysnested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_equal_keysnested_TestIdl_SubMsgKeysNested
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_keysnested (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:540,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: sample_free_keysnested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_keysnested (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: sample_init_arr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_arr (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 571
    functionName: sample_equal_arr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_arr (void *s1, void *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: sample_free_arr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_arr (void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:585,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: sample_init_appendstruct1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void * sample_init_appendstruct1 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:594,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 603
    functionName: sample_init_appendstruct2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void * sample_init_appendstruct2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 618
    functionName: sample_equal_appendstruct1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appendstruct1 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: sample_equal_appendstruct2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appendstruct2 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:636,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:637,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:638,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: sample_free_appendstruct
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_appendstruct (void *p1, void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: sample_init_appenddefaults1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_appenddefaults1 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:654,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: sample_init_appenddefaults2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - memset
    linkageType: ''
    returnType: void
    signature: void * sample_init_appenddefaults2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 684
    functionName: sample_equal_appenddefaults1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appenddefaults1 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: sample_equal_appenddefaults2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_appenddefaults2 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:695,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:696,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - TestIdl_MsgAppendDefaults1*
    - TestIdl_MsgAppendDefaults2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: sample_free_appenddefaults
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_appenddefaults (TestIdl_MsgAppendDefaults1 *s1, TestIdl_MsgAppendDefaults2
      *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_free_appenddefaults
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: sample_free_appenddefaults1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_free_appenddefaults
    linkageType: ''
    returnType: void
    signature: void sample_free_appenddefaults1 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_free_appenddefaults
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: sample_free_appenddefaults2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_free_appenddefaults
    linkageType: ''
    returnType: void
    signature: void sample_free_appenddefaults2 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:716,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 729
    functionName: sample_init_mutable1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_mutable1 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:734,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:736,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 750
    functionName: sample_init_mutable2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void * sample_init_mutable2 (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - seq1
    - seq2
    - len
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: sample_equal_mutable1_intseq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_mutable1_intseq (uint32_t *seq1, uint32_t *seq2,
      uint32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - dds_sequence_TestIdl_SubMsgMutable1*
    - dds_sequence_TestIdl_SubMsgMutable2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 771
    functionName: sample_equal_mutable_TestIdl_SubMsgMutable_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_equal_mutable1_intseq
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_mutable_TestIdl_SubMsgMutable_seq (dds_sequence_TestIdl_SubMsgMutable1
      *s1, dds_sequence_TestIdl_SubMsgMutable2 *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:779,1
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:780,1
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:781,1
    - Dst: sample_equal_mutable_TestIdl_SubMsgMutable_seq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:786,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 790
    functionName: sample_equal_mutable1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_equal_mutable1_intseq
    - sample_equal_mutable_TestIdl_SubMsgMutable_seq
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_mutable1 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:798,1
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:799,1
    - Dst: sample_equal_mutable1_intseq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:800,1
    - Dst: sample_equal_mutable_TestIdl_SubMsgMutable_seq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:805,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 808
    functionName: sample_equal_mutable2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_equal_mutable1_intseq
    - sample_equal_mutable_TestIdl_SubMsgMutable_seq
    linkageType: ''
    returnType: bool
    signature: bool sample_equal_mutable2 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:812,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:813,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:814,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:815,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - TestIdl_MsgMutable1*
    - TestIdl_MsgMutable2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: sample_free_mutable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sample_free_mutable (TestIdl_MsgMutable1 *s1, TestIdl_MsgMutable2
      *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_free_mutable
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: sample_free_mutable1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_free_mutable
    linkageType: ''
    returnType: void
    signature: void sample_free_mutable1 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_free_mutable
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_wr
    - s_rd
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: sample_free_mutable2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - sample_free_mutable
    linkageType: ''
    returnType: void
    signature: void sample_free_mutable2 (void *s_wr, void *s_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:838,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:839,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:840,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:841,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:842,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:843,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:844,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:845,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:847,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:848,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:849,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 851
    functionName: cdrstream_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void cdrstream_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:856,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:858,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:859,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:860,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:861,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:863,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:864,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:865,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:866,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:867,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:869,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:870,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:871,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:872,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:874,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - desc
    - data_representation
    - exp_rd_wr_fail
    argTypes:
    - dds_topic_descriptor_t*
    - dds_data_representation_id_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 876
    functionName: entity_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - create_unique_topic_name
    - dds_qset_durability
    - dds_qset_reliability
    - dds_create_reader
    - sync_reader_writer
    - dds_delete_qos
    - dds_qset_data_representation
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void entity_init (const dds_topic_descriptor_t *desc, dds_data_representation_id_t
      data_representation, bool exp_rd_wr_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:880,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: cdrstream_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void cdrstream_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 885
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    functionName: E
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 887
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 888
    functionName: K
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: K(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 889
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 890
    functionName: F
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1127
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1133,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1134,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1135,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1136,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1137,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1138,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1139,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1140,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1141,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1142,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1143,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1144,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1145,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1146,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1147,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1148,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1149,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1150,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1151,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1156,1
    - Dst: cdrstream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1157,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1158,1
    - Dst: dds_stream_minimum_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1158,1
    - Dst: entity_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1160,1
    - Dst: entity_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1161,1
    - Dst: cdrstream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1164
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - entity_init
    - cdrstream_init
    - cdrstream_fini
    - D
    - dds_stream_minimum_xcdr_version
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, min_xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1169
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1177,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1178,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1179,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1180,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1181,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1182,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1183,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1184,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1185,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1186,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1187,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1188,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1189,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1190,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1191,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1192,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1193,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1194,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1195,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1196,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1197,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1198,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1199,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1200,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1201,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1202,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1203,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1204,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1205,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1206,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1207,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1208,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1209,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1210,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1211,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1212,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1213,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1218,1
    - Dst: dds_stream_check_optimize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1220,1
    - Dst: dds_stream_check_optimize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1221,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1222,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1223,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1226
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - D
    - CU_ASSERT_EQ_FATAL
    - dds_stream_check_optimize
    - printf
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_optimize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1231
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1237,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1238,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1239,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1240,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1241,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1242,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1243,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1244,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1245,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1246,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1247,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1248,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1249,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1250,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1251,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1252,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1253,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1254,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1255,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1260,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1261,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1265
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - D
    - dds_stream_data_types
    - printf
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, data_type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1282,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: init_sub1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void init_sub1 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1289,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1290,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1290,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1291,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1292,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1293,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1295
    functionName: check_t1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_t1 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1302
    functionName: init_sub2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void init_sub2 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1307,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1308,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1308,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1309,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1310,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1311,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1313
    functionName: check_t2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_t2 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1322
    functionName: init_sub3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void init_sub3 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1327,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1328,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1328,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1329,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1330,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1331,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1332,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1332,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1334,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1335,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1337
    functionName: check_t3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void check_t3 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1342,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1343,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1344,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1346
    functionName: init_sub4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void init_sub4 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1351,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1352,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1353,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1354,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1355,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1356,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1358
    functionName: check_t4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_t4 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1365
    functionName: init_sub5
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_sub5 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1371,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1373
    functionName: check_t5
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_t5 (uint8_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1376
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1386,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1386,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1387,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1387,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1388,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1388,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1389,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1389,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1390,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1390,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1397,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1400,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1401,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1402,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1403,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1406,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1407,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1408,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1409,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1411,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1412,1
    - Dst: init_sub
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1413,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1415,1
    - Dst: check_sub
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1416,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1419,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1420,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1421,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1422,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1424,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc_pub.ops.ops)
      pos:
        line_end: 1400
        line_start: 1400
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - condition: (desc_sub.ops.ops)
      pos:
        line_end: 1402
        line_start: 1402
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 1428
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1428
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdrstream_desc_fini
    - ddsrt_free
    - assert
    - dds_stream_free_sample
    - memset
    - printf
    - init_sub
    - dds_stream_write_sample
    - D
    - check_sub
    - ddsrt_malloc
    - dds_stream_read_sample
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_from_topic_desc
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, skip_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1433
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1443,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1444,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1445,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1446,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1447,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1448,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1449,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1450,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1451,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1452,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1453,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1454,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1455,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1456,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1457,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1458,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1459,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1460,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1461,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1462,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1463,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1465,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1466,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1467,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1468,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1469,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1470,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1471,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1472,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1474,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1475,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1476,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1477,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1478,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1479,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1480,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1481,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1482,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1484,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1485,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1486,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1487,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1488,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1490,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1491,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1492,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1496,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1500,1
    - Dst: dds_stream_key_flags
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1501,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1502,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1503,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1504,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1505,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1506,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1509
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - D
    - dds_stream_key_flags
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdrstream, key_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1514
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1521,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1522,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1523,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1524,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1525,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1526,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1527,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1528,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1529,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1530,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1531,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1532,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1533,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1537,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1539,1
    - Dst: dds_stream_key_flags
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1540,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1541,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1542,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1545
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - D
    - dds_stream_key_flags
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdrstream, key_flags_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1549
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1555,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1559,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1561,1
    - Dst: dds_stream_key_flags
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1562,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1563,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1566
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - D
    - dds_stream_key_flags
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdrstream, key_flags_various)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1608,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1609,1
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1609,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1612,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1613,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1615,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1616,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1617,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1618,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1619,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1621
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - ddsrt_calloc
    - ddsrt_free
    - dds_alignof
    - dds_cdrstream_desc_init_with_nops
    - dds_stream_normalize
    - memset
    - dds_stream_read_sample
    - dds_stream_free_sample
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_cdrstream, init_sequence_in_external_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1625
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1626
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1639,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1639,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1640,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1640,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1641,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1641,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1642,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1642,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1643,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1643,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1644,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1644,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1645,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1645,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1645,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1646,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1646,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1647,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1647,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1647,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1648,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1648,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1649,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1649,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1650,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1650,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1651,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1651,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1652,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1652,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1653,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1653,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1654,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1654,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1655,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1655,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1656,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1656,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1657,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1657,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1658,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1658,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1659,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1659,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1665,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1668,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1669,1
    - Dst: dds_stream_getsize_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1671,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1673,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1674,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1677,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1678,1
    - Dst: dds_stream_getsize_key
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1686,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1688,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1689,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1692,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1693,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1697,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc.ops.ops)
      pos:
        line_end: 1668
        line_start: 1668
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 1700
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1700
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - SER32
    - dds_cdrstream_desc_fini
    - dds_stream_getsize_key
    - CU_ASSERT_EQ_FATAL
    - C
    - assert
    - dds_stream_getsize_sample
    - printf
    - dds_stream_write_key
    - CU_ASSERT_MEMEQ_FATAL
    - dds_stream_write_sample
    - D
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_from_topic_desc
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_write_reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1706
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1716,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1717,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1718,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1719,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1720,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1722,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1723,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1724,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1725,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1726,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1727,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1728,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1733,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1736,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1737,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1739,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1741,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1742,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1743,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1746,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1747,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1748,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1750,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc.ops.ops)
      pos:
        line_end: 1736
        line_start: 1736
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 1753
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1753
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_memdup
    - assert
    - dds_stream_normalize
    - printf
    - CU_ASSERT_MEMEQ_FATAL
    - D
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_normalize_boolean)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1757
    functionName: IDENT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENT(x_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w_
    - ','
    - v_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1758
    functionName: FIRST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST(w_, v_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1759
    functionName: PLUS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w_
    - ','
    - v_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1760
    functionName: MAKE_SER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_SER(w_, v_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1761
    functionName: COMMA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1762
    functionName: SERSIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERSIZE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1763
    functionName: CDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pid
    - ','
    - plen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1767
    functionName: PHDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PHDR(pid,plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pid
    - ','
    - plen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1768
    functionName: PHDR_EXT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PHDR_EXT(pid,plen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1783,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1784,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1787,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1790,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1791,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1792,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1796,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1801,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1802,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1805,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1811,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1812,1
    - Dst: dds_stream_extract_key_from_data
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1813,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1814,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1816,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1817,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1818,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1821,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1822,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1823,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1824,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1825,1
    - Dst: struct test_cdr_params*::eq
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1825,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1826,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1827,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1829,1
    - Dst: dds_stream_print_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1831,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1832,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1835,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_cdr_params*
    assertStmts:
    - condition: (desc.ops.ops)
      pos:
        line_end: 1783
        line_start: 1783
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 1837
      start: 1780
    functionDepth: 2
    functionLinenumber: 1780
    functionLinenumberEnd: 1837
    functionName: test_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_print_sample
    - dds_alloc
    - dds_cdrstream_desc_fini
    - CU_ASSERT_EQ_FATAL
    - dds_stream_extract_key_from_data
    - memcpy
    - struct test_cdr_params*::eq
    - dds_ostream_init
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_free
    - assert
    - printf
    - dds_stream_free_sample
    - dds_cdrstream_desc_from_topic_desc
    - dds_istream_init
    - dds_stream_read
    - dds_stream_normalize
    - CU_ASSERT_MEMEQ_FATAL
    - dds_stream_write_sample
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void test_cdr (const struct test_cdr_params *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1841
    functionName: UTF16
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF16(x_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1843
    functionName: WSTR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WSTR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1848
    functionName: DHDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DHDR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1854
    functionName: CSEQ
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSEQ(type_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1855
    functionName: WSS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WSS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1856
    functionName: WSSB
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WSSB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1862
    functionName: eq_CdrStreamWstring_t1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamWstring_t1 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1868,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1869
    functionName: eq_CdrStreamWstring_t2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamWstring_t2 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1875,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1876
    functionName: eq_CdrStreamWstring_t3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamWstring_t3 (const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1885,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1895
    functionName: eq_CdrStreamWstring_t4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamWstring_t4 (const void *va, const void *vb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1906,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1910,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1917,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1924,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1928,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1930,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1939,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1949
    functionName: eq_CdrStreamWstring_t5
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamWstring_t5 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1952
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1956,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1956,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1957,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1957,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1957,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1958,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1958,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1958,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1959,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1959,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1960,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1960,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1960,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1962,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1962,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1962,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1963,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1963,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1963,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1964,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1964,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1964,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1964,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1965,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1965,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1965,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1965,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1966,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1966,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1966,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1968,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1968,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1968,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1968,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1969,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1969,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1969,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1969,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1970,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1970,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1970,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1970,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1970,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1971,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1971,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1971,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1971,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1972,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1974,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1975,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1976,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1977,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1978,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1980,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1981,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1982,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1982,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1983,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1983,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1983,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1984,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1984,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1984,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1986,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1986,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1986,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: WSS
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1987,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1988,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1989,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1989,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1989,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1989,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1989,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1990,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1990,1
    - Dst: WSSB
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1990,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1991,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1992,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1992,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1992,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1992,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1993,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1993,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1993,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:1999,1
    - Dst: test_cdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1952
    functionDepth: 3
    functionLinenumber: 1952
    functionLinenumberEnd: 2002
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - test_cdr
    - WSS
    - DHDR
    - printf
    - WSSB
    - D
    - CDR
    - WSTR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_wstring_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2012
    functionName: eq_CdrStreamMutable_t1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamMutable_t1 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2015
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2016
    functionName: D_NOWRITE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_NOWRITE(n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2020,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2020,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2020,1
    - Dst: D_NOWRITE
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2021,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2021,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2021,1
    - Dst: D_NOWRITE
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2022,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2023,1
    - Dst: DHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2023,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2028,1
    - Dst: test_cdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2031
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - test_cdr
    - DHDR
    - printf
    - D
    - D_NOWRITE
    - CDR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_mutable_paramlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_
    - ','
    - val_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2036
    functionName: OPT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT(type_, val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2037
    functionName: OPTi32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTi32(val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2038
    functionName: OPTi64
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTi64(val_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2041
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2053
    functionName: eq_CdrStreamXcdr1Optional_t1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamXcdr1Optional_t1 (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2066
    functionName: eq_CdrStreamXcdr1Optional_t2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamXcdr1Optional_t2 (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2079
    functionName: eq_CdrStreamXcdr1Optional_t3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eq_CdrStreamXcdr1Optional_t3 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2084,1
    - Dst: OPTi32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2084,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2084,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2084,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2085,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2085,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2085,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2087,1
    - Dst: OPTi32
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2087,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2087,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2087,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2088,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2088,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2088,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2090,1
    - Dst: OPTi64
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2090,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2090,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2090,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2091,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2091,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2091,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2096,1
    - Dst: test_cdr
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2099
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - test_cdr
    - OPTi64
    - printf
    - OPTi32
    - PHDR_EXT
    - D
    - CDR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_xcdr1_optional_valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2111,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2112,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2113,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2114,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2115,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2116,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2117,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2118,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2118,1
    - Dst: WSTR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2118,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2123,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2125,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2126,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2128,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2130,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2131,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2132,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2133,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (desc.ops.ops)
      pos:
        line_end: 2125
        line_start: 2125
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 2136
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2136
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_memdup
    - assert
    - dds_stream_normalize
    - printf
    - CDR
    - dds_cdrstream_desc_fini
    - dds_ostream_init
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_from_topic_desc
    - WSTR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_wstring_normalize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2142,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2144,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2145,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2146,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2147,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2148,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - tdesc
    - cdr
    - cdrsize
    - valid
    - act_size
    argTypes:
    - dds_topic_descriptor_t*
    - uint8_t*
    - uint32_t
    - bool
    - uint32_t*
    assertStmts:
    - condition: (desc.ops.ops)
      pos:
        line_end: 2141
        line_start: 2141
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    constantsTouched: []
    func_position:
      end: 2150
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2150
    functionName: run_test_xcdr1_normalize
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - ddsrt_memdup
    - assert
    - dds_stream_normalize
    - dds_ostream_init
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void run_test_xcdr1_normalize (const dds_topic_descriptor_t *tdesc,
      const uint8_t *cdr, uint32_t cdrsize, bool valid, uint32_t *act_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2153
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2161,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2161,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2161,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2162,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2162,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2162,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2163,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2163,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2163,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2164,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2164,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2164,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2165,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2165,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2165,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2167,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2167,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2167,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2168,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2168,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2168,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2169,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2169,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2169,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2170,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2170,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2170,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2171,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2171,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2171,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2172,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2172,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2172,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2173,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2173,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2173,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2175,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2175,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2175,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2175,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2176,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2176,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2176,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2176,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2177,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2177,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2177,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2177,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2178,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2178,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2178,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2178,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2179,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2179,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2179,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2179,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2180,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2180,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2180,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2180,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2182,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2182,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2182,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2182,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2182,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2183,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2183,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2183,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2183,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2183,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2184,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2184,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2184,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2184,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2184,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2185,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2185,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2185,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2185,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2185,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2191,1
    - Dst: run_test_xcdr1_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2192,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2196
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - PHDR
    - run_test_xcdr1_normalize
    - PHDR_EXT
    - D
    - CDR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_xcdr1_param_normalize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2200
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2209,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2209,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2210,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2210,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2211,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2211,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2213,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2213,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2214,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2214,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2215,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2215,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2217,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2217,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2217,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2218,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2218,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2218,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2219,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2219,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2220,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2220,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2220,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2220,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2221,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2221,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2221,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2221,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2223,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2223,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2223,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2224,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2224,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2224,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2225,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2225,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2225,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2226,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2226,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2226,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2227,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2227,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2227,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2228,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2228,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2228,1
    - Dst: D
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2229,1
    - Dst: CDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2229,1
    - Dst: PHDR
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2229,1
    - Dst: PHDR_EXT
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2229,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2235,1
    - Dst: run_test_xcdr1_normalize
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2236,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c:2238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2200
    functionDepth: 2
    functionLinenumber: 2200
    functionLinenumberEnd: 2240
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - printf
    - PHDR
    - run_test_xcdr1_normalize
    - PHDR_EXT
    - D
    - CDR
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_cdrstream, check_xcdr1_appendable_normalize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: dummy_v0_mockstats_get_ptr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: dummy_mockstats_t
    signature: dummy_mockstats_t * dummy_v0_mockstats_get_ptr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: dummy_psmx_v0_loan_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dummy_psmx_v0_loan_free(dds_loaned_sample_t* loan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:37,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:38,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:43,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - psmx_endpoint
    - size_requested
    argTypes:
    - dds_psmx_endpoint_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: dummy_psmx_v0_ep_request_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_atomic_st32
    - memset
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * dummy_psmx_v0_ep_request_loan(dds_psmx_endpoint_t*
      psmx_endpoint, uint32_t size_requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - psmx_endpoint
    - data
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: dummy_psmx_v0_ep_write
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_v0_ep_write(dds_psmx_endpoint_t* psmx_endpoint,
      dds_loaned_sample_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: dummy_psmx_v0_ep_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * dummy_psmx_v0_ep_take(dds_psmx_endpoint_t* psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: dummy_psmx_v0_ep_on_data_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_v0_ep_on_data_available(dds_psmx_endpoint_t*
      psmx_endpoint, dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:86,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - dds_psmx_topic_t*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: dummy_psmx_v0_create_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - memset
    linkageType: ''
    returnType: dds_psmx_endpoint_t
    signature: "dds_psmx_endpoint_t * dummy_psmx_v0_create_endpoint(\n  dds_psmx_topic_t*
      psmx_topic,\n  const struct dds_qos* qos,\n  dds_psmx_endpoint_type_t endpoint_type\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: dummy_psmx_v0_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_v0_delete_endpoint(dds_psmx_endpoint_t* psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - dds_psmx_t*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: dummy_psmx_v0_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dummy_psmx_v0_type_qos_supported(\n  dds_psmx_t* psmx,\n  dds_psmx_endpoint_type_t
      forwhat,\n  dds_data_type_properties_t data_type_props,\n  const struct dds_qos*
      qos\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:131,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:133,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:137,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - dds_psmx_t*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts:
    - condition: (g_mockstats.topics._length < g_mockstats.topics._maximum)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: dummy_psmx_v0_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - assert
    - memset
    linkageType: ''
    returnType: dds_psmx_topic_t
    signature: "dds_psmx_topic_t * dummy_psmx_v0_create_topic(\n  dds_psmx_t* psmx,\n
      \ const char* topic_name,\n  const char* type_name,\n  dds_data_type_properties_t
      data_type_props\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_cleanup_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:145,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - dds_psmx_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: dummy_psmx_v0_delete_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - memset
    - dds_psmx_topic_cleanup_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_v0_delete_topic(dds_psmx_topic_t* psmx_topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:153,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:154,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:156,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:157,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:158,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:163,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: dummy_psmx_v0_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_cleanup_generic
    - dds_free
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_psmx_v0_deinit(dds_psmx_t* psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: dummy_psmx_v0_get_node_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t dummy_psmx_v0_get_node_id(const dds_psmx_t*
      psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: dummy_supported_features
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t dummy_supported_features(const dds_psmx_t* psmx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:188,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:189,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:192,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:193,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:194,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:196,1
    - Dst: dds_psmx_init_generic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:206,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - psmx_out
    - instance_id
    - config
    argTypes:
    - dds_psmx_t**
    - dds_psmx_instance_id_t
    - char*
    assertStmts:
    - condition: (psmx_out)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: dummy_v0_create_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - dds_string_dup
    - dds_psmx_init_generic
    - assert
    - memset
    - ddsrt_strdup
    - dds_alloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dummy_v0_create_psmx(dds_psmx_t** psmx_out, dds_psmx_instance_id_t
      instance_id, const char* config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:30,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:31,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:32,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:33,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:34,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:35,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:37,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - dds_create_guardcondition
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond_create, cyclonedds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:45,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:46,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:48,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:50,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:51,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_guardcondition
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond_create, domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:60,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:61,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:62,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:63,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_guardcondition
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond_create, participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:72,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:73,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:74,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:75,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:77,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:78,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:80,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:81,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:82,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:83,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:84,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_set_guardcondition
    - dds_create_participant
    - dds_delete
    - dds_create_guardcondition
    - CU_ASSERT_FATAL
    - CU_ASSERT_GT_FATAL
    - dds_read_guardcondition
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond, set_trigger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:93,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:94,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:95,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:96,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:97,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:98,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:99,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:101,1
    - Dst: dds_take_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:103,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:104,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:105,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:106,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:107,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:108,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_set_guardcondition
    - dds_create_participant
    - dds_delete
    - dds_create_guardcondition
    - CU_ASSERT_FATAL
    - CU_ASSERT_GT_FATAL
    - dds_take_guardcondition
    - dds_read_guardcondition
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond, take_trigger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:117,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:118,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:119,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:120,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:121,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:122,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:124,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:126,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:127,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:128,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:129,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:131,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:133,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_create_participant
    - dds_set_guardcondition
    - dds_delete
    - dds_create_guardcondition
    - dds_waitset_wait
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond, waitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:149,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:149,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: guardcond_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - dds_sleepfor
    - dds_set_guardcondition
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t guardcond_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:162,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:163,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:164,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:165,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:166,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:167,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:168,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:169,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:172,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:173,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:174,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:176,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:176,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:177,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:178,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:180,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:181,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:182,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:184,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_create_participant
    - DDS_SECS
    - ddsrt_thread_create
    - dds_delete
    - dds_create_guardcondition
    - dds_waitset_wait
    - dds_create_waitset
    - ddsrt_threadattr_init
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_guardcond, waitset_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - dds_return_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: check
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 9
    functionsReached:
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void check (dds_return_t res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: check_0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void check_0 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ih
    argTypes:
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: check_ih
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void check_ih (dds_instance_handle_t ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: filter_fn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_fn (const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sample
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: filter_arg_fn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_arg_fn (const void *sample, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:65,1
    - Dst: dds_enable
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:65,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:66,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:66,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:67,1
    - Dst: dds_get_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:67,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:68,1
    - Dst: dds_get_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:68,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:69,1
    - Dst: dds_get_datareader
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:69,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:70,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:70,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:71,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:71,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:72,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:72,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:74,1
    - Dst: dds_get_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:74,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:75,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:75,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:76,1
    - Dst: dds_get_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:76,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:77,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:77,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:78,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:78,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:80,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:80,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:82,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:82,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:84,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:84,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:86,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:86,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:87,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:87,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:89,1
    - Dst: dds_get_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:89,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:90,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:90,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:92,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:92,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:94,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:94,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:97,1
    - Dst: dds_create_topic_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:97,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:99,1
    - Dst: dds_find_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:99,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:100,1
    - Dst: dds_find_topic_scoped
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:100,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:103,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:103,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:106,1
    - Dst: dds_get_name
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:106,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:107,1
    - Dst: dds_get_type_name
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:107,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:114,1
    - Dst: dds_set_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:114,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:115,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:115,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:117,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:117,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:118,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:118,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:120,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:120,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:121,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:121,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:122,1
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:122,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:123,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:123,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:124,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:124,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:126,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:126,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:128,1
    - Dst: dds_create_reader_rhc
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:128,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:129,1
    - Dst: dds_reader_wait_for_historical_data
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:129,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:131,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:131,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:133,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:133,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:134,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:134,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:135,1
    - Dst: dds_unregister_instance_ih
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:135,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:136,1
    - Dst: dds_unregister_instance_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:136,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:137,1
    - Dst: dds_unregister_instance_ih_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:137,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:138,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:138,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:139,1
    - Dst: dds_writedispose_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:139,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:140,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:140,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:141,1
    - Dst: dds_dispose_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:141,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:142,1
    - Dst: dds_dispose_ih
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:142,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:143,1
    - Dst: dds_dispose_ih_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:143,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:144,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:144,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:145,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:147,1
    - Dst: dds_writecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:147,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:148,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:148,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:149,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:149,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:151,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:151,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:152,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:152,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:154,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:154,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:156,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:156,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:157,1
    - Dst: dds_take_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:157,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:159,1
    - Dst: dds_waitset_get_entities
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:159,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:160,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:160,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:161,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:161,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:162,1
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:162,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:163,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:163,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:164,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:164,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:168,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:168,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:169,1
    - Dst: dds_read_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:169,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:170,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:170,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:171,1
    - Dst: dds_read_mask_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:171,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:172,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:172,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:173,1
    - Dst: dds_read_instance_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:173,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:174,1
    - Dst: dds_read_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:174,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:175,1
    - Dst: dds_read_instance_mask_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:175,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:176,1
    - Dst: dds_read_next
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:176,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:177,1
    - Dst: dds_read_next_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:177,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:178,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:178,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:179,1
    - Dst: dds_take_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:179,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:180,1
    - Dst: dds_take_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:180,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:181,1
    - Dst: dds_take_mask_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:181,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:182,1
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:182,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:183,1
    - Dst: dds_take_instance_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:183,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:184,1
    - Dst: dds_take_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:184,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:185,1
    - Dst: dds_take_instance_mask_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:185,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:186,1
    - Dst: dds_take_next
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:186,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:187,1
    - Dst: dds_take_next_wl
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:187,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:189,1
    - Dst: dds_readcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:189,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:190,1
    - Dst: dds_readcdr_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:190,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:191,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:191,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:192,1
    - Dst: dds_takecdr_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:192,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:194,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:194,1
    - Dst: check_ih
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:195,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:195,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:196,1
    - Dst: dds_instance_get_key
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:196,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:198,1
    - Dst: dds_begin_coherent
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:198,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:199,1
    - Dst: dds_end_coherent
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:199,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:200,1
    - Dst: dds_notify_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:200,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:201,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:201,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:202,1
    - Dst: dds_get_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:202,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:203,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:203,1
    - Dst: check_0
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:204,1
    - Dst: dds_get_matched_subscription_data
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:204,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:205,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:205,1
    - Dst: check_0
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:206,1
    - Dst: dds_get_matched_publication_data
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:206,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:208,1
    - Dst: dds_assert_liveliness
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:208,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:209,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:209,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:214,1
    - Dst: dds_get_typeobj
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:214,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:216,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 218
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
    functionUses: 0
    functionsReached:
    - dds_get_subscriber
    - dds_unregister_instance
    - dds_create_topic_sertype
    - dds_take_instance_mask
    - dds_create_reader
    - dds_read_instance_wl
    - dds_assert_liveliness
    - dds_read_next_wl
    - dds_create_readcondition
    - dds_take_status
    - dds_get_datareader
    - dds_get_status_changes
    - dds_create_querycondition
    - dds_notify_readers
    - dds_end_coherent
    - dds_read_instance
    - dds_get_publisher
    - dds_get_matched_subscription_data
    - dds_take_wl
    - dds_set_qos
    - dds_get_participant
    - dds_take
    - dds_set_guardcondition
    - dds_waitset_wait_until
    - dds_return_loan
    - dds_take_instance_wl
    - dds_read
    - dds_take_instance
    - dds_get_qos
    - dds_read_wl
    - dds_create_topic
    - dds_register_instance
    - dds_waitset_attach
    - dds_write_flush
    - dds_writedispose_ts
    - dds_get_typeobj
    - dds_read_status
    - dds_instance_get_key
    - dds_write
    - dds_get_mask
    - dds_read_mask_wl
    - dds_get_instance_handle
    - dds_find_topic
    - dds_read_guardcondition
    - dds_take_instance_mask_wl
    - dds_read_next
    - dds_readcdr
    - check_ih
    - dds_get_topic
    - dds_read_instance_mask_wl
    - dds_waitset_wait
    - dds_unregister_instance_ih
    - dds_set_topic_filter_extended
    - dds_get_topic_filter_extended
    - dds_takecdr_instance
    - dds_get_status_mask
    - dds_delete
    - dds_create_subscriber
    - dds_dispose_ih_ts
    - dds_lookup_instance
    - dds_get_typeinfo
    - dds_take_guardcondition
    - dds_enable
    - dds_set_status_mask
    - dds_triggered
    - dds_begin_coherent
    - dds_read_instance_mask
    - dds_dispose
    - dds_find_topic_scoped
    - dds_take_mask_wl
    - dds_writecdr
    - dds_create_writer
    - dds_set_listener
    - dds_create_reader_rhc
    - dds_reader_wait_for_historical_data
    - dds_get_domainid
    - dds_waitset_set_trigger
    - dds_read_mask
    - dds_get_matched_publications
    - dds_create_topic_descriptor
    - dds_dispose_ih
    - dds_forwardcdr
    - dds_takecdr
    - dds_dispose_ts
    - dds_domain_set_deafmute
    - dds_unregister_instance_ts
    - check
    - dds_writedispose
    - check_0
    - dds_readcdr_instance
    - dds_get_guid
    - dds_create_publisher
    - dds_take_next_wl
    - dds_waitset_detach
    - dds_get_type_name
    - dds_get_listener
    - dds_resume
    - dds_wait_for_acks
    - dds_get_matched_publication_data
    - dds_get_children
    - dds_write_ts
    - dds_get_topic_filter_and_arg
    - dds_take_next
    - dds_get_matched_subscriptions
    - dds_get_name
    - dds_take_mask
    - dds_waitset_get_entities
    - dds_unregister_instance_ih_ts
    - dds_suspend
    - dds_get_parent
    - dds_set_topic_filter_and_arg
    linkageType: ''
    returnType: DDSRT_WARNING_DEPRECATED_OFF
    signature: DDSRT_WARNING_DEPRECATED_OFF CU_Test (ddsc_uninitialized, various)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:184,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:185,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:186,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:187,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:188,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:189,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:191,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:192,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:193,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:194,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:196,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:197,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:198,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: multi_sertype_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void multi_sertype_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:204,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:205,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:206,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:207,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:208,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: multi_sertype_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void multi_sertype_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:218,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - nwr
    - wrs
    - nrd
    argTypes:
    - size_t
    - dds_entity_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: get_and_check_writer_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_get_publication_matched_status
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: bool
    signature: bool get_and_check_writer_status (size_t nwr, const dds_entity_t *wrs,
      size_t nrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:232,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - nrd
    - rds
    - nwr
    argTypes:
    - size_t
    - dds_entity_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: get_and_check_reader_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_get_subscription_matched_status
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: bool
    signature: bool get_and_check_reader_status (size_t nrd, const dds_entity_t *rds,
      size_t nwr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:245,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:246,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:247,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:247,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:253,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:253,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:254,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:256,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:257,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:260,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:261,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:262,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:269,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:270,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:270,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:271,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:275,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:276,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:279,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:280,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:283,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:284,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:285,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:292,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:293,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:293,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:294,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:298,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:299,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:301,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:302,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:302,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:303,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - rdhandle
    - fastpath
    - nwr
    argTypes:
    - dds_entity_t
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 306
    functionName: waitfor_or_reset_fastpath
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_sleepfor
    - memset
    - ddsi_entidx_lookup_proxy_writer_guid
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - DDS_MSECS
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void waitfor_or_reset_fastpath (dds_entity_t rdhandle, bool fastpath,
      size_t nwr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:315,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:316,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:317,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:317,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: get_sertype_from_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - dds_entity_kind
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *get_sertype_from_reader (dds_entity_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:327,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:328,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:328,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: logsink
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - strstr
    - ddsrt_atomic_inc32
    - fputs
    linkageType: ''
    returnType: void
    signature: void logsink (void *arg, const dds_log_data_t *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum multi_sertype_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: multi_sertype_modestr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *multi_sertype_modestr (enum multi_sertype_mode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:351,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:354,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:355,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:359,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:360,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:366,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:367,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:368,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - pp_sub
    - nrds
    - rds
    - ntps
    - tps
    - qos
    - waitset
    argTypes:
    - dds_entity_t
    - size_t
    - dds_entity_t*
    - size_t
    - dds_entity_t*
    - dds_qos_t*
    - dds_entity_t
    assertStmts:
    - condition: (nrds >= ntps && (nrds % ntps) == 0)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: create_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - assert
    - dds_set_status_mask
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void create_readers (dds_entity_t pp_sub, size_t nrds, dds_entity_t
      *rds, size_t ntps, const dds_entity_t *tps, const dds_qos_t *qos, dds_entity_t
      waitset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:390,1
    - Dst: multi_sertype_modestr
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:390,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:395,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:397,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:398,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:400,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:401,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:402,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:403,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:404,1
    - Dst: dds_qset_type_consistency
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:405,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:408,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:409,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:412,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:416,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:417,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:421,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:422,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:426,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:427,1
    - Dst: create_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:432,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:436,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:437,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:438,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:439,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:442,1
    - Dst: get_and_check_writer_status
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:443,1
    - Dst: get_and_check_reader_status
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:444,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:446,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:446,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:447,1
    - Dst: waitfor_or_reset_fastpath
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:453,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:456,1
    - Dst: waitfor_or_reset_fastpath
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:458,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:463,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:464,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:484,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:485,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:486,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:487,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:488,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:489,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:490,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:498,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:499,1
    - Dst: create_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:504,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:510,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:527,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:527,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:528,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:533,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:537,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:540,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:541,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:545,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:546,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:547,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:548,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:549,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:553,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:559,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:563,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:564,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:565,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:566,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:567,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:568,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:576,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:580,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:581,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:582,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:583,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:584,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:585,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:586,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:587,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:593,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:597,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:601,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:602,1
    - Dst: get_sertype_from_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:602,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:603,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:608,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:613,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:614,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:614,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:615,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:615,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:619,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:620,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:622,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c:623,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 132
    argCount: 3
    argNames:
    - pp_pub
    - pp_sub
    - mode
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - enum multi_sertype_mode
    assertStmts:
    - condition: (pp_pub == pp_sub || mode != MSM_TRANSLOCAL)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    constantsTouched: []
    func_position:
      end: 624
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 624
    functionName: ddsc_multi_sertype_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_delete
    - get_and_check_reader_status
    - dds_qset_reliability
    - dds_create_waitset
    - DDSRT_ATOMIC_UINT32_INIT
    - dds_create_qos
    - get_and_check_writer_status
    - dds_qset_history
    - ddsrt_atomic_ld32
    - dds_create_topic
    - dds_qset_type_consistency
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_takecdr
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_qset_destination_order
    - dds_qset_durability_service
    - ddsi_serdata_unref
    - dds_free
    - assert
    - dds_qset_durability
    - dds_write_ts
    - tprintf
    - dds_create_writer
    - get_sertype_from_reader
    - waitfor_or_reset_fastpath
    - dds_set_log_sink
    - create_readers
    - DDSRT_STATIC_ASSERT
    - dds_sleepfor
    - dds_delete_qos
    - multi_sertype_modestr
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void ddsc_multi_sertype_impl (dds_entity_t pp_pub, dds_entity_t pp_sub,
      enum multi_sertype_mode mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - count
    - writers
    argTypes:
    - uint32_t*
    - dds_entity_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: get_matched_count_writers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - dds_get_publication_matched_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_matched_count_writers (uint32_t *count, dds_entity_t
      writers[N_WRITERS])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - count
    - readers
    argTypes:
    - uint32_t*
    - dds_entity_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: get_matched_count_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - dds_get_subscription_matched_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_matched_count_readers (uint32_t *count, dds_entity_t
      readers[N_READERS])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:69,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:70,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:71,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:72,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:72,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:74,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:75,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:77,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:78,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:83,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:93,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:94,1
    - Dst: get_matched_count_writers
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:107,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:111,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:113,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:125,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:126,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:138,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:139,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:140,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:141,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:147,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:148,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 151
    functionName: createwriter_publisher
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - get_matched_count_writers
    - dds_create_topic
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - DDS_SECS
    - dds_write
    - dds_delete
    - dds_qset_durability
    - tprintf
    - dds_qset_reliability
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - fflush
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t createwriter_publisher (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:164,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - va
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: wrinfo_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t wrinfo_hash (const void *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: wrinfo_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wrinfo_eq (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:187,1
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:189,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - logbuf
    argTypes:
    - struct logbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: dumplog
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - fputs
    - fflush
    linkageType: ''
    returnType: void
    signature: void dumplog (struct logbuf *logbuf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:202,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:203,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:205,1
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:208,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:209,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:212,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:213,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:216,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:225,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:229,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:236,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:240,1
    - Dst: dumplog
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - wrinfo
    - si
    - s
    - logbuf
    - rdid
    argTypes:
    - struct ddsrt_hh*
    - dds_sample_info_t*
    - DiscStress_CreateWriter_Msg*
    - struct logbuf*
    - uint32_t
    assertStmts:
    - condition: (wri)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    constantsTouched: []
    func_position:
      end: 248
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 248
    functionName: checksample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_hh_add
    - dumplog
    - assert
    - ddsrt_hh_lookup
    - memset
    - tprintf
    - malloc
    - CU_ASSERT_LT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: bool
    signature: bool checksample (struct ddsrt_hh *wrinfo, const dds_sample_info_t
      *si, const DiscStress_CreateWriter_Msg *s, struct logbuf *logbuf, uint32_t rdid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:263,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:264,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:265,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:266,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:266,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:268,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:269,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:271,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:272,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:276,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:279,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:280,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:283,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:284,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:287,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:288,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:291,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:292,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:293,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:294,1
    - Dst: get_matched_count_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:300,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:301,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:302,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:303,1
    - Dst: dds_get_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:311,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:312,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:313,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:315,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:316,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:320,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:321,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:322,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:326,1
    - Dst: get_matched_count_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:334,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:351,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:351,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:352,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:355,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:359,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:360,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:361,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:363,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:364,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:373,1
    - Dst: checksample
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:381,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:387,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:388,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:391,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:392,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:398,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:399,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:404,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:405,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:408,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:412,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:413,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:414,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:419,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:419,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:424,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:429,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:431,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:432,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:433,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/discstress.c:434,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 436
    functionName: createwriter_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_get_status_mask
    - dds_return_loan
    - dds_delete
    - dds_qset_reliability
    - dds_create_waitset
    - checksample
    - ddsrt_hh_iter_next
    - ddsrt_hh_new
    - dds_create_qos
    - fflush
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_get_subscription_matched_status
    - dds_set_status_mask
    - dds_create_reader
    - free
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_FAIL
    - dds_qset_durability
    - tprintf
    - ddsrt_hh_free
    - dds_create_participant
    - memset
    - dds_delete_qos
    - ddsrt_hh_iter_first
    - get_matched_count_readers
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t createwriter_subscriber (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: on_data_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_data_available(dds_entity_t reader, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - writer
    - status
    - arg
    argTypes:
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: on_publication_matched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publication_matched(dds_entity_t writer, const dds_publication_matched_status_t
      status, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:42,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:43,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:47,1
    - Dst: dds_notify_readers
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:50,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:51,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:53,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_subscriber
    - dds_notify_readers
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_subscriber, notify_readers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:64,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:65,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:69,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:70,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:72,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:73,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:74,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:78,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:79,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:80,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:81,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:82,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:84,1
    - Dst: DDSRT_WARNING_CLANG_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:85,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:87,1
    - Dst: DDSRT_WARNING_CLANG_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:88,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:89,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:90,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:91,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:92,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:94,1
    - Dst: DDSRT_WARNING_CLANG_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:95,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:97,1
    - Dst: DDSRT_WARNING_CLANG_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:98,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:99,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:100,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:101,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:105,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:106,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:107,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:108,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:109,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:111,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:112,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:113,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:114,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:115,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:116,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:118,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:119,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:120,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:122,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:123,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    functionUses: 0
    functionsReached:
    - dds_qset_destination_order
    - dds_delete_listener
    - dds_create_listener
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_lset_publication_matched
    - DDSRT_WARNING_CLANG_OFF
    - dds_delete
    - dds_qset_presentation
    - dds_create_subscriber
    - DDSRT_WARNING_CLANG_ON
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - dds_lset_data_available
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_subscriber, create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:138,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:139,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:141,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:142,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:147,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:149,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:150,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:152,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/subscriber.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_qset_presentation
    - dds_delete
    - dds_create_subscriber
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_subscriber, invalid_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SAMPLE_SST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_SST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: filter_mod2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_mod2(const void * sample)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:73,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:78,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:79,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:81,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:82,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:84,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:84,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:85,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:88,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:89,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:90,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:93,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:94,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:95,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:98,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:99,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:101,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:102,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:103,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:104,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:105,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:106,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:110,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:111,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:112,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:113,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:113,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:114,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:115,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:116,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:117,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:120,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:127,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:133,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:136,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:137,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:141,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:146,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:147,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:156,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:161,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:162,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:165,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:166,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:169,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:170,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 1
    argNames:
    - hdepth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 175
    functionName: querycondition_init_hdepth
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_unregister_instance
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_dispose
    - dds_write
    - dds_create_writer
    - dds_create_participant
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    - SAMPLE_IST
    linkageType: ''
    returnType: void
    signature: void querycondition_init_hdepth(int hdepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: querycondition_init_hdepth
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: querycondition_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached:
    - querycondition_init_hdepth
    linkageType: ''
    returnType: void
    signature: void querycondition_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: querycondition_init_hdepth
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: querycondition_init_deephist
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached:
    - querycondition_init_hdepth
    linkageType: ''
    returnType: void
    signature: void querycondition_init_deephist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:192,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:193,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:194,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:195,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/querycondition.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: querycondition_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void querycondition_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1505
    functionName: filter_k333_s1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_k333_s1(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:23,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:24,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:25,1
    - Dst: vprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:26,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:27,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: tprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_util.c
    functionUses: 29
    functionsReached:
    - vprintf
    - dds_time
    - printf
    - va_start
    - va_end
    - fflush
    linkageType: ''
    returnType: void
    signature: void tprintf (const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:33,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:34,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:35,1
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:36,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prefix
    - name
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: create_unique_topic_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_util.c
    functionUses: 43
    functionsReached:
    - snprintf
    - ddsrt_gettid
    - ddsrt_getpid
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_inc32_nv
    linkageType: ''
    returnType: char
    signature: char *create_unique_topic_name (const char *prefix, char *name, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:44,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:45,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_util.c
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: get_domaingv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_util.c
    functionUses: 4
    functionsReached:
    - assert
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *get_domaingv (dds_entity_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/tests/test_util.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - guid
    - entity_id
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: gen_test_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_util.c
    functionUses: 0
    functionsReached:
    - ddsi_iid_gen
    linkageType: ''
    returnType: void
    signature: void gen_test_guid (struct ddsi_domaingv *gv, ddsi_guid_t *guid, uint32_t
      entity_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:69,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:70,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:71,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:72,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:73,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:74,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:76,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:77,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:78,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:79,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:81,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:82,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:83,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: xtypes_assignability_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void xtypes_assignability_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:89,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: xtypes_assignability_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void xtypes_assignability_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:96,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:97,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:98,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:99,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:102,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pp
    - rd
    - dur
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: reader_wait_for_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 3
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_delete
    - dds_waitset_wait
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: bool
    signature: bool reader_wait_for_data (dds_entity_t pp, dds_entity_t rd, dds_duration_t
      dur)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:111,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:112,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:113,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:114,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:115,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:117,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:117,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:117,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:118,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:119,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:119,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:120,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:121,1
    - Dst: dds_copy_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:122,1
    - Dst: dds_copy_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:123,1
    - Dst: dds_merge_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:126,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:127,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:128,1
    - Dst: dds_merge_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:131,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:132,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:133,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:135,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:136,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:137,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:141,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:142,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:143,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:147,1
    - Dst: fn_init
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:148,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:149,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:150,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:152,1
    - Dst: reader_wait_for_data
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:156,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:157,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:160,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:161,1
    - Dst: fn_check
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:163,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:165,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:166,1
    - Dst: no_sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:171,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 8
    argNames:
    - rd_desc
    - add_rd_qos
    - wr_desc
    - add_wr_qos
    - assignable
    - fn_init
    - read_sample
    - fn_check
    argTypes:
    - dds_topic_descriptor_t*
    - dds_qos_t*
    - dds_topic_descriptor_t*
    - dds_qos_t*
    - bool
    - sample_init
    - bool
    - sample_check
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 173
    functionName: do_test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_copy_qos
    - dds_qset_reliability
    - dds_create_qos
    - dds_alloc
    - dds_qset_history
    - reader_wait_for_data
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_merge_qos
    - no_sync_reader_writer
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - fn_check
    - dds_write
    - sync_reader_writer
    - dds_create_writer
    - dds_sample_free
    - fn_init
    - dds_delete_qos
    - dds_qset_data_representation
    linkageType: ''
    returnType: void
    signature: void do_test (const dds_topic_descriptor_t *rd_desc, const dds_qos_t
      *add_rd_qos, const dds_topic_descriptor_t *wr_desc, const dds_qos_t *add_wr_qos,
      bool assignable, sample_init fn_init, bool read_sample, sample_check fn_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: sample_init_XType1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType1 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: sample_init_XType1a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType1a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:194,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:195,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: sample_check_XType1_1a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType1_1a (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:202,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:203,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: sample_check_XType1a_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType1a_1 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: sample_init_XType2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType2 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: sample_init_XType2a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType2a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:224,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:225,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: sample_check_XType2_2a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType2_2a (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:232,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: sample_check_XType2a_2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType2a_2 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: sample_init_XType3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType3 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: sample_init_XType3a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType3a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:254,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:255,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: sample_check_XType3_3a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType3_3a (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:262,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:263,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: sample_check_XType3a_3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType3a_3 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:270,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: sample_init_XType4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void sample_init_XType4 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:280,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: sample_init_XType4a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void sample_init_XType4a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:291,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:292,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:294,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: sample_check_XType4a_4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_XType4a_4 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: sample_init_XType5a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_XType5a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:311,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:311,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:311,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:312,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:312,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:313,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:313,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:313,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:314,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:314,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:315,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: sample_check_XType5a_5
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ_FATAL
    - CU_ASSERT_EQ
    - CU_ASSERT_EQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void sample_check_XType5a_5 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: sample_init_TBT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_TBT (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:363,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: sample_check_TBT_n2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_TBT_n2 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_check_TBT_n2
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: sample_check_TBT_n1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - sample_check_TBT_n2
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sample_check_TBT_n1 (void *ptr1, void *ptr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: sample_init_mu_wr1_2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr1_2 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: sample_init_mu_wr1_3a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr1_3a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: sample_init_mu_wr1_3b
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_alloc
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr1_3b (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: sample_init_mu_wr1_4a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_alloc
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr1_4a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: sample_init_mu_wr1_4b
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr1_4b (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: sample_init_mu_wr2_1a
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr2_1a (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: sample_init_mu_wr2_1b
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached:
    - dds_alloc
    linkageType: ''
    returnType: void
    signature: void sample_init_mu_wr2_1b (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: sample_init_en_wr1_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_en_wr1_1 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: sample_init_en_wr2_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_en_wr2_1 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: sample_init_en_wr2_3
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_en_wr2_3 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: sample_init_en_wr2_4
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_init_en_wr2_4 (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: D
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: DP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DP(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: DM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DM(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: DL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 585
    functionName: I
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_oneliner_with_config
      Src: /src/cyclonedds/src/core/ddsc/tests/asymdisconnect.c:19,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/asymdisconnect.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 14
    functionDepth: 10
    functionLinenumber: 14
    functionLinenumberEnd: 67
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/asymdisconnect.c
    functionUses: 0
    functionsReached:
    - test_oneliner_with_config
    - CU_ASSERT_GT
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_asymdisconnect, reader_keeps_nacking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:33,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:36,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:38,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: writethread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_write
    - ddsrt_atomic_or32
    - tprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t writethread (void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:62,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:63,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:70,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:73,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:74,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rd
    - varg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: data_avail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    functionUses: 0
    functionsReached:
    - dds_take
    - ddsrt_atomic_or32
    - ddsrt_atomic_add32
    - tprintf
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void data_avail (dds_entity_t rd, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:99,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:100,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:101,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:102,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:103,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:104,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:105,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:106,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:108,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:109,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:110,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:111,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:114,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:116,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:117,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:118,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:118,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:119,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:120,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:121,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:122,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:123,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:124,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:126,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:127,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:130,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:132,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:133,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - remote
    - wrarg
    argTypes:
    - bool
    - struct writethread_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 135
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    functionUses: 8
    functionsReached:
    - dds_create_domain
    - DDS_SECS
    - dds_qset_reliability
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_qset_writer_data_lifecycle
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_free
    - ddsrt_expand_envvars
    - ddsrt_threadattr_init
    - dds_create_writer
    - ddsrt_thread_create
    - dds_create_participant
    - dds_delete_qos
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void setup (bool remote, struct writethread_arg *wrarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:142,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:145,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:146,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:147,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:148,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:155,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:156,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:157,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:159,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:159,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:162,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:162,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:162,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:164,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:167,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:168,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:170,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:184,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:185,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:187,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:190,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:190,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:193,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:194,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:195,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:195,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:195,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:196,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:198,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:198,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:203,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:204,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:206,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:207,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:207,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:208,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:208,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:209,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:209,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:210,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:210,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:211,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:211,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:213,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:214,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:214,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:215,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:215,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:216,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:216,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:219,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:220,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:221,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:222,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:223,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 2
    argNames:
    - remote
    - duration
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 225
    functionName: stress_data_avail_delete_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    functionUses: 0
    functionsReached:
    - setup
    - DDS_SECS
    - dds_delete
    - ddsrt_atomic_and32
    - DDSRT_ATOMIC_UINT32_INIT
    - dds_lset_data_available
    - ddsrt_atomic_ld32
    - CU_ASSERT_EQ_FATAL
    - ddsrt_atomic_or32
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_delete_listener
    - ddsrt_thread_join
    - tprintf
    - ddsrt_random
    - dds_create_listener
    - dds_time
    - dds_sleepfor
    linkageType: ''
    returnType: void
    signature: void stress_data_avail_delete_reader (bool remote, int duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stress_data_avail_delete_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    functionUses: 0
    functionsReached:
    - stress_data_avail_delete_reader
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_data_avail_stress, local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - struct dds_psmx*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: cdds_psmx_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cdds_psmx_type_qos_supported (struct dds_psmx *psmx, dds_psmx_endpoint_type_t
      forwhat, dds_data_type_properties_t data_type_props, const struct dds_qos *qos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:141,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:142,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:143,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:144,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:149,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:150,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:151,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:152,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:153,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:154,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:155,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:158,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:159,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:164,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:165,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:168,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:171,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:172,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    - type_definition
    - sizeof_type
    argTypes:
    - struct dds_psmx*
    - char*
    - char*
    - dds_data_type_properties_t
    - struct ddsi_type*
    - uint32_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (cpsmx->participant >= 0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (cpsmx->on_data_waitset >= 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (g_domain >= 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 175
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 175
    functionName: cdds_psmx_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - dds_waitset_attach
    - assert
    - dds_create_guardcondition
    - ddsrt_expand_envvars
    - dds_create_waitset
    - ddsrt_asprintf
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - dds_alloc
    linkageType: ''
    returnType: struct dds_psmx_topic
    signature: "struct dds_psmx_topic * cdds_psmx_create_topic (struct dds_psmx *
      psmx,\n    const char * topic_name, const char * type_name, dds_data_type_properties_t
      data_type_props, const struct ddsi_type *type_definition, uint32_t sizeof_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:180,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - struct dds_psmx_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: cdds_psmx_delete_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_free
    - dds_delete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t cdds_psmx_delete_topic (struct dds_psmx_topic *psmx_topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:190,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:192,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:193,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:193,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: deinit_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_delete
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t deinit_thread (void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:204,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:206,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:207,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:212,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:213,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:215,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: cdds_psmx_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_thread_join
    - dds_set_guardcondition
    - dds_free
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    linkageType: ''
    returnType: void
    signature: void cdds_psmx_deinit (struct dds_psmx *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:223,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cdds_psmx_get_node_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_get_guid
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t cdds_psmx_get_node_id (const struct dds_psmx
      *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: cdds_supported_features
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t cdds_supported_features (const struct dds_psmx
      *psmx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:239,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:242,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:243,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:244,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:247,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:249,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:252,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:254,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:256,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:258,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:264,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:267,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:272,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (cep->psmx_cdds_endpoint >= 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 275
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 275
    functionName: cdds_psmx_create_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_create_qos
    - dds_create_writer
    - dds_waitset_attach
    - dds_free
    - assert
    - dds_create_guardcondition
    - dds_create_reader
    - dds_delete_qos
    - dds_qget_partition
    - ddsrt_atomic_inc32
    - dds_qset_partition
    - dds_alloc
    linkageType: ''
    returnType: struct dds_psmx_endpoint
    signature: struct dds_psmx_endpoint * cdds_psmx_create_endpoint (struct dds_psmx_topic
      *psmx_topic, const struct dds_qos *qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: cdds_psmx_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_set_guardcondition
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t cdds_psmx_delete_endpoint (struct dds_psmx_endpoint *psmx_endpoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:293,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:295,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:296,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - psmx_ep
    - size_requested
    argTypes:
    - struct dds_psmx_endpoint*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: cdds_psmx_ep_request_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_alloc
    - memset
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * cdds_psmx_ep_request_loan (struct dds_psmx_endpoint
      *psmx_ep, uint32_t size_requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:317,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - psmx_ep
    - data
    - keysz
    - key
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_loaned_sample_t*
    - size_t
    - void*
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: cdds_psmx_ep_write_with_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - dds_write
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t cdds_psmx_ep_write_with_key (struct dds_psmx_endpoint
      *psmx_ep, dds_loaned_sample_t *data, size_t keysz, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx_ep
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: cdds_psmx_ep_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * cdds_psmx_ep_take (struct dds_psmx_endpoint *psmx_ep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:335,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:340,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:346,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:351,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:353,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - cep
    - psmx_sample
    argTypes:
    - struct cdds_psmx_endpoint*
    - struct cdds_psmx_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 356
    functionName: incoming_sample_to_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_alloc
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * incoming_sample_to_loan (struct cdds_psmx_endpoint
      *cep, const struct cdds_psmx_data *psmx_sample)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:366,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:368,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:368,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:371,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:371,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:372,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:380,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:381,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:382,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:383,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:384,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:385,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:391,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:393,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:397,1
    - Dst: incoming_sample_to_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:401,1
    - Dst: dds_reader_store_loaned_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:402,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:403,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:405,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:406,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:407,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:410,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (cep)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (n == 0)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (n_triggers <= MAX_TRIGGERS)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (raw == NULL)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 418
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 418
    functionName: on_data_available_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_take
    - incoming_sample_to_loan
    - dds_free
    - assert
    - dds_delete
    - dds_return_loan
    - DDS_MSECS
    - dds_loaned_sample_unref
    - ddsrt_atomic_st32
    - dds_waitset_detach
    - dds_waitset_wait
    - dds_reader_store_loaned_sample
    - ddsrt_atomic_dec32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t on_data_available_thread (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:427,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:428,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_entity_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: cdds_psmx_ep_on_data_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_set_status_mask
    - dds_waitset_attach
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t cdds_psmx_ep_on_data_available (struct dds_psmx_endpoint
      *psmx_endpoint, dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:437,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:438,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loaned_sample
    argTypes:
    - struct dds_loaned_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: cdds_loaned_sample_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void cdds_loaned_sample_free (struct dds_loaned_sample *loaned_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:445,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:447,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:449,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:452,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - psmx_out
    - instance_id
    - config
    argTypes:
    - dds_psmx_t**
    - dds_psmx_instance_id_t
    - char*
    assertStmts:
    - condition: (psmx_out)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: cdds_create_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_alloc
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t cdds_create_psmx (dds_psmx_t **psmx_out, dds_psmx_instance_id_t
      instance_id, const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsample
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: filter_long1_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_long1_eq (const void *vsample, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsample
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: filter_long2_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_long2_eq (const void *vsample, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 2
    argNames:
    - si
    - arg
    argTypes:
    - struct dds_sample_info*
    - struct xfarg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: filter_sampleinfo_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_sampleinfo_common (const struct dds_sample_info *si, struct
      xfarg *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sampleinfo_common
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - si
    - varg
    argTypes:
    - struct dds_sample_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: filter_sampleinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - filter_sampleinfo_common
    linkageType: ''
    returnType: bool
    signature: bool filter_sampleinfo (const struct dds_sample_info *si, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_sampleinfo_common
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vsample
    - si
    - varg
    argTypes:
    - void*
    - struct dds_sample_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: filter_long1_eq_sampleinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - filter_sampleinfo_common
    linkageType: ''
    returnType: bool
    signature: bool filter_long1_eq_sampleinfo (const void *vsample, const struct
      dds_sample_info *si, void *varg)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: cmpdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpdata (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:157,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:158,1
    - Dst: vprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:159,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:160,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:161,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:171,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:173,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:174,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:175,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:180,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:181,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:182,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - rd
    - exp
    - headerfmt
    argTypes:
    - dds_entity_t
    - struct exp*
    - char*
    assertStmts:
    - condition: (exp->n <= MAXSAMPLES)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsc/tests/filter.c
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: checkdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - qsort
    - dds_take
    - CU_ASSERT_EQ_FATAL
    - vprintf
    - assert
    - printf
    - va_start
    - CU_ASSERT_NEQ_FATAL
    - va_end
    - fflush
    linkageType: ''
    returnType: void
    signature: void checkdata (dds_entity_t rd, const struct exp *exp, const char
      *headerfmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:192,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:193,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:194,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:195,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:198,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:199,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:202,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:203,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:204,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:205,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:206,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:207,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:210,1
    - Dst: dds_set_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:212,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:213,1
    - Dst: dds_set_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:214,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:215,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:220,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:221,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:222,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:223,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:275,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 278
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_write
    - dds_delete
    - dds_qset_reliability
    - dds_create_reader
    - dds_delete_qos
    - checkdata
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - dds_set_topic_filter_and_arg
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_filter, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:285,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:286,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:287,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:288,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:289,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:290,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:291,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:294,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:295,1
    - Dst: dds_set_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:297,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:298,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:299,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:300,1
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:303,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:304,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:305,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:307,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:310,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:311,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:314,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:315,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:317,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:318,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:321,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:322,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:324,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:325,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:328,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:329,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:330,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:331,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:332,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:333,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:339,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:340,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:353,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 355
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - CU_ASSERT_EQ_FATAL
    - dds_qset_ownership
    - dds_create_participant
    - create_unique_topic_name
    - dds_write
    - dds_delete
    - dds_qset_reliability
    - dds_create_reader
    - dds_qset_ownership_strength
    - dds_delete_qos
    - checkdata
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - dds_set_topic_filter_and_arg
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_filter, ownership)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: filter_long1_eq_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_long1_eq_1 (const void *vsample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:368,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:369,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:370,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:371,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:372,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:378,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:379,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:381,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:382,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:383,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:384,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:385,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:387,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:388,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:390,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:391,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:394,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:395,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:396,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:401,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:402,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:404,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:405,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:406,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:407,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:408,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:409,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:414,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:415,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:417,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:418,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:419,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:420,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:421,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:422,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:424,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:425,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:426,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:427,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:433,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:434,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:436,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:437,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:438,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:439,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:440,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:441,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:443,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:444,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:449,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:450,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:452,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:453,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:454,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:455,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:456,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:457,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:459,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:460,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 463
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_get_topic_filter_extended
    - dds_create_participant
    - dds_set_topic_filter_extended
    - create_unique_topic_name
    - dds_delete
    - memset
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    - dds_get_topic_filter_and_arg
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_filter, getset_extended)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:470,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:471,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:472,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:473,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:474,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:475,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:476,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:479,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:480,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:485,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:486,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:491,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:492,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:493,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:500,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:501,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:502,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:503,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:511,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:512,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:513,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:514,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:515,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:521,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:522,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:523,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:524,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:532,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:533,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:534,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:536,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:537,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:538,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:544,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:545,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:546,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:550,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:551,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:552,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:555,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:556,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:576,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:577,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:583,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:584,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:585,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:587,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:588,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:592,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:593,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:594,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:600,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:601,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:602,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:605,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:606,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:607,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:611,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:612,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:613,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:619,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:620,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:621,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:628,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:629,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:630,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:631,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:632,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:633,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:635,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:636,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:643,1
    - Dst: checkdata
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:644,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/filter.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 646
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/filter.c
    functionUses: 0
    functionsReached:
    - dds_set_topic_filter_extended
    - CU_ASSERT
    - dds_unregister_instance
    - dds_delete
    - dds_qset_reliability
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_register_instance
    - create_unique_topic_name
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_dispose
    - dds_write
    - checkdata
    - dds_create_writer
    - dds_get_instance_handle
    - dds_create_participant
    - memset
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_filter, sampleinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:24,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:25,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:27,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:28,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:30,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:31,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:33,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:34,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant, create_and_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:49,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:50,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:54,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:55,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:56,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:57,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:60,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:61,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:62,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:63,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:64,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:66,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - ddsrt_unsetenv
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant, create_with_no_conf_no_env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:78,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:81,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:82,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:83,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:84,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:85,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:87,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:90,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:91,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:94,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:96,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - ddsrt_setenv
    - dds_create_participant
    - dds_delete
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant, create_multiple_domains)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:110,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:111,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:114,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:115,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:118,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:119,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:121,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:122,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:126,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:127,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:128,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:130,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:132,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - ddsrt_setenv
    - dds_get_domainid
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant, create_with_conf_no_env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:145,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:146,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:149,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:150,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:154,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:168,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:169,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:171,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:172,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:175,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:176,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:178,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:179,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:180,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:181,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:182,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:184,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:197,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:198,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:200,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:201,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:203,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:204,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:207,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:208,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:210,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:211,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:212,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:213,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:214,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:216,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:217,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, array_too_small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:229,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:230,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:233,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:234,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:236,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:237,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, null_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:250,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:251,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:254,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:255,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:257,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:258,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, null_nonzero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:272,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:273,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:276,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:277,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:280,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:281,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, unknown_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:292,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - dds_lookup_participant
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:305,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:306,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:309,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:310,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:312,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:314,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, no_more)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:327,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:328,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:330,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:331,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:334,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:335,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:337,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:339,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:340,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:341,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/participant.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/participant.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_domainid
    - dds_create_participant
    - dds_delete
    - dds_lookup_participant
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_participant_lookup, deleted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SAMPLE_SST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_SST(idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:76,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:77,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:79,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:80,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:83,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:85,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:86,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:88,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:88,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:89,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:92,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:93,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:94,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:97,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:98,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:99,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:103,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:104,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:105,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:106,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:107,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:108,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:110,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:113,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:114,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:115,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:116,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:117,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:117,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:118,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:119,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:121,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:124,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:134,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:139,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:140,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:143,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:144,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:147,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:148,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:154,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:162,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:167,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:168,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:171,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:172,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:175,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 180
    functionName: reader_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_unregister_instance
    - dds_create_subscriber
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_dispose
    - dds_write
    - dds_create_writer
    - dds_create_listener
    - dds_create_participant
    - memset
    - dds_waitset_wait
    - SAMPLE_IST
    linkageType: ''
    returnType: void
    signature: void reader_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:185,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:186,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:187,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:188,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:189,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:190,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: reader_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_delete_qos
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void reader_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:198,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: samples_cnt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_read
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t samples_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:292,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:293,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:294,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:295,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:297,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:298,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:300,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:300,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:301,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:304,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:307,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:309,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:310,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:311,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_create_subscriber
    - dds_create_reader
    - CU_ASSERT_LEQ_FATAL
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_reader_create, participant_mismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:319,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:320,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:322,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:323,1
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:324,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:324,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:325,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:326,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:327,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:328,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:329,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:330,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:336,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:337,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:338,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:339,1
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:339,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:340,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:341,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_qset_lifespan
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - dds_create_participant
    - dds_qget_lifespan
    - DDS_SECS
    - create_unique_topic_name
    - CU_ASSERT
    - dds_delete
    - dds_delete_qos
    - dds_create_reader
    - dds_entity_pin
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_reader_create, topic_lifespan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2529,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2530,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2531,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2532,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2533,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2534,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2535,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2535,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2536,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2537,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2538,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2539,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2540,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2543,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2544,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2545,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2546,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2547,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2547,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2548,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2549,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2550,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2551,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2554,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2555,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2556,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2557,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2558,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2558,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2559,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2560,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2561,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2562,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2565,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2579,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2580,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2581,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2582,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2584,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2585,1
    - Dst: dds_take_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2588,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2589,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2601,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2602,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2603,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2606,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2607,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2608,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2609,1
    - Dst: samples_cnt
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2613,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2614,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2621,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2624,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2625,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2626,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2627,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:2628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2510
    functionDepth: 2
    functionLinenumber: 2510
    functionLinenumberEnd: 2629
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_delete
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_write
    - dds_create_writer
    - samples_cnt
    - dds_create_participant
    - dds_take_mask
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_take_mask, take_instance_last_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3223
    functionName: test_even_long_2_and_long_3_neq_0
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_even_long_2_and_long_3_neq_0 (const void *vsample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3229
    functionName: test_long_2_eq_2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test_long_2_eq_2 (const void *vsample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3233,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3234,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3236,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3237,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3238,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3239,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3240,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3241,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3253,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3256,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3258,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3259,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3263,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3275,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3276,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3277,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3278,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3293,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3294,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3303,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3304,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3305,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3306,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3307,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3308,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3309,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3310,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3311,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3312,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3313,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3331,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3332,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3335,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3336,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3337,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3340,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3341,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3342,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3344,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3345,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3346,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3347,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3353,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3354,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3358,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3359,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3360,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3361,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3365,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3366,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3367,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3373,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3374,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3375,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3376,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3384,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3385,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 1
    argNames:
    - opname_past_tense
    argTypes:
    - char*
    assertStmts:
    - condition: (nwrites == 3)
      pos:
        line_end: 3304
        line_start: 3304
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
    - condition: (rdlimit < (int) (sizeof (xs) / sizeof (xs[0])))
      pos:
        line_end: 3339
        line_start: 3339
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
    - condition: (nsamp_of_inst > 0)
      pos:
        line_end: 3357
        line_start: 3357
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
    constantsTouched: []
    func_position:
      end: 3386
      start: 3231
    functionDepth: 2
    functionLinenumber: 3231
    functionLinenumberEnd: 3386
    functionName: do_readtake_sample_rank
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - dds_read
    - dds_create_qos
    - CU_ASSERT_LT_FATAL
    - fflush
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_register_instance
    - create_unique_topic_name
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_dispose
    - op
    - dds_write
    - assert
    - tprintf
    - printf
    - dds_create_querycondition
    - dds_create_writer
    - dds_read_instance
    - dds_create_participant
    - dds_delete_qos
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void do_readtake_sample_rank (const char *opname_past_tense, dds_return_t
      (*op) (dds_entity_t reader_or_condition, void **buf, dds_sample_info_t *si,
      size_t bufsz, uint32_t maxs, uint32_t mask))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_readtake_sample_rank
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3388
    functionDepth: 3
    functionLinenumber: 3388
    functionLinenumberEnd: 3391
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - do_readtake_sample_rank
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_read, sample_rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_readtake_sample_rank
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3393
    functionDepth: 3
    functionLinenumber: 3393
    functionLinenumberEnd: 3396
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - do_readtake_sample_rank
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_take, sample_rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3400,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3401,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3403,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3404,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3405,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3406,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3407,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3408,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3409,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3411,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3412,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3413,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3414,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3415,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3416,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3417,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - dp
    - rd
    - ih
    argTypes:
    - dds_entity_t*
    - dds_entity_t*
    - dds_instance_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3419
    functionName: ddsc_peek_setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_write
    - dds_lookup_instance
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void ddsc_peek_setup (dds_entity_t *dp, dds_entity_t *rd, dds_instance_handle_t
      *ih)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_peek_setup
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3426,1
    - Dst: dds_peek
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3433,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3434,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3437,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3438,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3440,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3441,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3443,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3445,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3421
    functionDepth: 3
    functionLinenumber: 3421
    functionLinenumberEnd: 3447
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - dds_peek
    - ddsc_peek_setup
    - CU_ASSERT_LEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_peek, plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_peek_setup
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3454,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3458,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3459,1
    - Dst: dds_peek_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3465,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3466,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3469,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3470,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3472,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3473,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3475,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3477,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3449
    functionDepth: 3
    functionLinenumber: 3449
    functionLinenumberEnd: 3479
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - dds_peek_mask
    - dds_read
    - ddsc_peek_setup
    - CU_ASSERT_LEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_peek, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_peek_setup
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3486,1
    - Dst: dds_peek_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3490,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3491,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3492,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3493,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3495,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3496,1
    - Dst: dds_peek_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3497,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3498,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3499,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3500,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3501,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3502,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3503,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3481
    functionDepth: 3
    functionLinenumber: 3481
    functionLinenumberEnd: 3505
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - ddsc_peek_setup
    - dds_peek_instance
    - CU_ASSERT_LEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_peek, instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_peek_setup
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3512,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3516,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3517,1
    - Dst: dds_peek_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3519,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3520,1
    - Dst: dds_peek_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3521,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3522,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3523,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3524,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3525,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3526,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3527,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3507
    functionDepth: 3
    functionLinenumber: 3507
    functionLinenumberEnd: 3529
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - dds_read_instance
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - dds_peek_instance_mask
    - ddsc_peek_setup
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_peek, instance_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_peek_setup
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3536,1
    - Dst: dds_peek_next
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3544,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3545,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3546,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3547,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3548,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3550,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/reader.c:3551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3531
    functionDepth: 3
    functionLinenumber: 3531
    functionLinenumberEnd: 3552
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/reader.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - ddsc_peek_setup
    - dds_peek_next
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_peek, next)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:42,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:48,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:49,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:50,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:52,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:53,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:54,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:55,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:56,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:57,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:58,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:60,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:61,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:62,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:70,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:71,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:76,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:87,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:89,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:91,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:95,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:99,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:108,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:109,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:110,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:111,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:122,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:126,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:127,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:132,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:133,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:134,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:135,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:136,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:138,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:139,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:140,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:144,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:145,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:146,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:146,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:147,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:148,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:150,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:153,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:154,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:155,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:157,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:158,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:159,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 162
    functionName: pp_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_qset_userdata
    - memcmp
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - dds_get_qos
    - dds_create_qos
    - fflush
    - dds_qset_history
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_qget_userdata
    - dds_set_status_mask
    - dds_create_reader
    - strncmp
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - dds_free
    - strcmp
    - strlen
    - tprintf
    - dds_get_instance_handle
    - CU_FAIL_FATAL
    - dds_create_participant
    - dds_delete_qos
    - dds_set_qos
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pp_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:175,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:176,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:177,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:178,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:179,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:180,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:181,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:182,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:185,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:196,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:197,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:204,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:205,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:207,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:208,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:210,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:211,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:212,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 214
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - dds_create_domain
    - ddsrt_free
    - CU_ASSERT_EQ_FATAL
    - ddsrt_thread_create
    - dds_delete
    - ddsrt_expand_envvars
    - ddsrt_threadattr_init
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_userdata, participant)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:244,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:246,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:247,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:248,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:249,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:250,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:251,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:252,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:255,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:256,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:257,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:258,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:259,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:260,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:264,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:265,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:266,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:267,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:268,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:269,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:271,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:272,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:273,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:274,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:275,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:276,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:289,1
    - Dst: qset
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:300,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:301,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:302,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:312,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:313,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:318,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:325,1
    - Dst: qget
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:331,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:333,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:335,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:345,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:346,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:347,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:358,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:362,1
    - Dst: qset
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:367,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:368,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:369,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:371,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:372,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:373,1
    - Dst: qget
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:377,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:378,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:379,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:379,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:380,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:381,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:383,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:386,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:387,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:388,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:390,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:392,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:393,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 395
    functionName: rw_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - dds_take
    - memcmp
    - dds_return_loan
    - dds_delete
    - dds_create_subscriber
    - dds_create_waitset
    - dds_get_qos
    - dds_create_qos
    - fflush
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - qget
    - dds_set_status_mask
    - qset
    - dds_create_publisher
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_free
    - strcmp
    - strlen
    - tprintf
    - dds_create_writer
    - CU_FAIL_FATAL
    - dds_create_participant
    - dds_delete_qos
    - dds_set_qos
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rw_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:403,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:404,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:405,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:406,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:407,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:408,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:409,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:410,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:413,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:416,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:429,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:430,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:439,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:440,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:442,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:443,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:445,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:446,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:447,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - which
    argTypes:
    - enum rwud
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 449
    functionName: rw_test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - dds_create_domain
    - ddsrt_free
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - ddsrt_thread_create
    - dds_delete
    - ddsrt_expand_envvars
    - ddsrt_threadattr_init
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void rw_test (enum rwud which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_test
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - rw_test
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_userdata, endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_test
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - rw_test
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_userdata, group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_test
      Src: /src/cyclonedds/src/core/ddsc/tests/userdata.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    functionUses: 0
    functionsReached:
    - rw_test
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_userdata, topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: data_available_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data_available_cb(dds_entity_t reader, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:41,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:42,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:45,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:48,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:49,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:52,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:53,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:54,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:57,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:58,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:61,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:62,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:63,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:72,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:73,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:74,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:75,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:78,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:79,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:80,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:81,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:84,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:85,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:86,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:87,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:94,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:95,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:96,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:97,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:98,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:100,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:103,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:104,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:105,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:106,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:108,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:111,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:112,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:113,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:114,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:116,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:119,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:120,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:122,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:125,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:126,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:127,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:128,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:130,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:131,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 133
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached:
    - dds_delete_listener
    - dds_create_listener
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - CU_ASSERT_GT
    - dds_delete
    - dds_create_publisher
    - dds_qset_partition
    - dds_delete_qos
    - dds_reset_listener
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_lset_data_available
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_publisher, create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:141,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:142,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:144,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:145,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:150,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:153,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:155,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:156,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_qset_presentation
    - dds_delete
    - dds_create_publisher
    - dds_delete_qos
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_publisher, invalid_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:167,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:168,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:171,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:172,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:175,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:176,1
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:178,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:181,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:182,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:185,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:186,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:187,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:188,1
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:191,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:192,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:195,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:196,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:198,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 202
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_publisher
    - dds_suspend
    - CU_ASSERT_GT_FATAL
    - dds_resume
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_publisher, suspend_resume)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:208,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:209,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:210,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:213,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:214,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:217,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:218,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:221,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:222,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:225,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:226,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:228,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:229,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:232,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:233,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:236,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:237,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:240,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:241,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:244,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:245,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:247,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:248,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:252,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:253,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:256,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:257,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:260,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:261,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:264,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:265,1
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:269,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:270,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:273,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:274,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:277,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:278,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:281,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:282,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:285,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:286,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:288,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 292
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - DDS_SECS
    - dds_delete
    - dds_create_publisher
    - dds_suspend
    - CU_ASSERT_GT_FATAL
    - dds_wait_for_acks
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_publisher, wait_for_acks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/publisher.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/publisher.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_publisher, coherency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:170,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:171,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:174,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:177,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: qos_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos.c
    functionUses: 0
    functionsReached:
    - dds_create_qos
    - CU_ASSERT_NEQ_FATAL
    - strlen
    linkageType: ''
    returnType: void
    signature: void qos_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/qos.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: qos_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/qos.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void qos_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:40,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:41,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:42,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:43,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:44,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:45,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:47,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:48,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:50,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:52,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:53,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:54,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: writetypes_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void writetypes_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:60,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:61,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:62,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:63,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:64,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: writetypes_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void writetypes_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - typ_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: ABCD_CMP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABCD_CMP(typ_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: S
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: T
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: N
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: S
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:28,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:29,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:34,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:35,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:36,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:37,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:38,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:39,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:40,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:41,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:42,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:43,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:44,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:45,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:46,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:47,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:50,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:51,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:52,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 55
    functionName: instance_handle_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - dds_create_participant
    - create_unique_topic_name
    - dds_qset_reliability
    - dds_delete_qos
    - dds_create_reader
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void instance_handle_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:60,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: instance_handle_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void instance_handle_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: cmp_si_ih
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_si_ih (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:171,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:172,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:177,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:178,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:179,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:180,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:181,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:182,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:183,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:184,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:185,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:186,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:187,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:188,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:192,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:193,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:198,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:199,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:201,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:202,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:204,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:205,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:206,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:210,1
    - Dst: ddsi_serdata_get_keyhash
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:214,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:215,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:216,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:219,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 222
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
    functionUses: 0
    functionsReached:
    - dds_return_loan
    - dds_delete
    - dds_qset_reliability
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_create_reader
    - ddsi_serdata_get_keyhash
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - qsort
    - ddsi_serdata_unref
    - dds_write
    - dds_create_writer
    - CU_ASSERT_MEMEQ
    - dds_create_participant
    - dds_delete_qos
    - dds_takecdr
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_instance_handle, md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: accept_all
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool accept_all(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:50,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:51,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:53,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:54,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:57,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:60,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:62,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:63,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:65,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:66,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:69,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:71,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:72,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:80,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: hierarchy_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - create_unique_topic_name
    - dds_create_subscriber
    - dds_create_publisher
    - dds_create_querycondition
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void hierarchy_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:87,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:88,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:89,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:90,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:91,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:92,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:93,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:94,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: hierarchy_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void hierarchy_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:167,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:168,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:169,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:169,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:170,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:171,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:172,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:173,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:174,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:179,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:180,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:183,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:184,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:188,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:191,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:194,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:195,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:196,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:197,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:198,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:199,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 202
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_get_domainid
    - create_unique_topic_name
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_delete, recursive_with_deleted_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:731,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:732,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:734,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:734,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:735,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:737,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:738,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:740,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:741,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:743,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:745,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:746,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:748,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 750
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_get_children
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_implicit_publisher, deleted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:759,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:760,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:763,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:764,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:766,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:767,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:769,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 771
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_participant
    - DDSRT_WARNING_MSVC_OFF
    - CU_ASSERT_LT_FATAL
    - dds_delete
    - DDSRT_WARNING_MSVC_ON
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_implicit_publisher, invalid_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:783,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:784,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:786,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:786,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:787,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:789,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:790,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:792,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:793,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:795,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:797,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:798,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:800,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 802
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_get_children
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_implicit_subscriber, deleted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:812,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:813,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:815,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:817,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:818,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:819,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:820,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:822,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 824
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_participant
    - DDSRT_WARNING_MSVC_OFF
    - CU_ASSERT_LT_FATAL
    - dds_delete
    - dds_create_subscriber
    - DDSRT_WARNING_MSVC_ON
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_explicit_subscriber, invalid_topic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:838,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:839,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:841,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:841,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:842,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:844,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:845,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:846,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:847,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:853,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:855,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:857,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:858,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:860,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:862,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:863,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:864,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:866,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 868
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_get_children
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_get_children, implicit_publisher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:882,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:883,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:885,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:885,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:886,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:888,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:889,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:890,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:891,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:897,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:899,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:901,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:902,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:904,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:906,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:907,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:908,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:910,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 913
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_get_children
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_get_children, implicit_subscriber)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:926,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:927,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:929,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:929,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:930,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:932,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:933,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:935,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:936,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:937,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:939,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:941,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:942,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 944
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - CU_ASSERT_NEQ_FATAL
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_get_parent, implicit_publisher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:957,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:958,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:960,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:960,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:961,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:963,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:964,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:966,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:967,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:968,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:970,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:972,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:973,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 976
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_create_reader
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_get_parent, implicit_subscriber)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:989,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:990,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:992,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:992,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:993,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:995,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:996,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:998,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:999,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1001,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1002,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1004,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1005,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1008
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_implicit, delete_publisher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1021,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1022,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1024,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1024,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1025,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1027,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1028,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1030,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1031,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1033,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1034,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1036,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1037,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1040
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity_implicit, delete_subscriber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: SAMPLE_SST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_SST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: filter_mod2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_mod2(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:79,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:80,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:83,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:85,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:86,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:88,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:89,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:91,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:92,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:94,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:94,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:95,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:98,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:99,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:100,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:103,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:104,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:105,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:108,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:109,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:112,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:113,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:116,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:117,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:118,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:119,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:120,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:121,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:122,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:124,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:127,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:128,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:130,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:131,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:133,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:135,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:138,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:150,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:151,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:158,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:159,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:173,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:174,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:187,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:202,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:203,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:217,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:218,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:232,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:233,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 236
    functionName: read_instance_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_unregister_instance
    - dds_create_subscriber
    - dds_lookup_instance
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_publisher
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_create_readcondition
    - dds_dispose
    - dds_write
    - dds_create_querycondition
    - dds_create_writer
    - dds_create_participant
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void read_instance_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:241,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:242,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:243,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:244,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:245,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:246,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:247,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:248,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: read_instance_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void read_instance_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:256,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/read_instance.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: samples_cnt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
    functionUses: 1
    functionsReached:
    - dds_read
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t samples_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ops
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: dotest
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/destorder.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dotest(ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:25,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:29,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/destorder.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_destorder, by_source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:44,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:48,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/destorder.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_destorder, by_reception)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:81,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:89,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:97,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/destorder.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_destorder, by_source_history)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:115,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:120,1
    - Dst: dotest
      Src: /src/cyclonedds/src/core/ddsc/tests/destorder.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/destorder.c
    functionUses: 0
    functionsReached:
    - dotest
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_destorder, by_reception_history)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: SAMPLE_SST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_SST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: filter_mod2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filter_mod2(const void * sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:79,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:80,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:83,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:85,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:86,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:88,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:89,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:91,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:92,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:94,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:94,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:95,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:98,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:99,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:100,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:103,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:104,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:105,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:108,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:109,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:112,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:113,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:116,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:117,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:118,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:119,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:120,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:121,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:122,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:124,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:127,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:128,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:130,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:131,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:133,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:135,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:138,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:150,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:151,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:158,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:159,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:173,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:174,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:186,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:187,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:202,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:203,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:217,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:218,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:232,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:233,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 236
    functionName: take_instance_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_unregister_instance
    - dds_create_subscriber
    - dds_lookup_instance
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_publisher
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_create_readcondition
    - dds_dispose
    - dds_write
    - dds_create_querycondition
    - dds_create_writer
    - dds_create_participant
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void take_instance_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:241,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:242,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:243,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:244,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:245,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:246,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:247,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:248,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: take_instance_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void take_instance_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:256,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/take_instance.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: samples_cnt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
    functionUses: 1
    functionsReached:
    - dds_read
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t samples_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:57,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:58,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:59,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:60,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - participant
    - subscriber
    - topic
    - qos
    - writer
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: create_and_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_set_status_mask
    - dds_create_reader
    - sync_reader_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_and_sync_reader(dds_entity_t participant, dds_entity_t
      subscriber, dds_entity_t topic, dds_qos_t *qos, dds_entity_t writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:72,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:73,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:74,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:75,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:76,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:77,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:79,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:80,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:83,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:84,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:85,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:87,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:88,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:90,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:91,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:93,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:94,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:96,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:97,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:98,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:99,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:100,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:102,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:103,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:104,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:105,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:107,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:108,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: ddsi_deadline_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_domain
    - ddsrt_mutex_init
    - dds_create_participant
    - dds_free
    - create_unique_topic_name
    - ddsrt_mutex_lock
    - dds_qset_durability
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - dds_qset_reliability
    - dds_qset_writer_data_lifecycle
    - ddsrt_cond_mtime_init
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:114,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:115,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:116,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:118,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:119,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:120,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:122,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:123,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:124,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:125,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: ddsi_deadline_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_destroy
    - dds_delete
    - dds_delete_qos
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:131,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:132,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sleep_dur
    argTypes:
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: sleepfor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 31
    functionsReached:
    - ddsrt_mtime_add_duration
    - ddsrt_cond_mtime_waituntil
    - tprintf
    linkageType: ''
    returnType: void
    signature: void sleepfor(dds_duration_t sleep_dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_requested_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:141,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - reader
    - exp_missed_total
    - exp_missed_change
    argTypes:
    - dds_entity_t
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: check_missed_deadline_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - dds_get_requested_deadline_missed_status
    - CU_ASSERT_EQ_FATAL
    - tprintf
    linkageType: ''
    returnType: bool
    signature: bool check_missed_deadline_reader(dds_entity_t reader, uint32_t exp_missed_total,
      int32_t exp_missed_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_offered_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:149,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:150,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - writer
    - exp_missed_total
    - exp_missed_change
    argTypes:
    - dds_entity_t
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: check_missed_deadline_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_get_offered_deadline_missed_status
    - tprintf
    linkageType: ''
    returnType: bool
    signature: bool check_missed_deadline_writer(dds_entity_t writer, uint32_t exp_missed_total,
      int32_t exp_missed_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:480,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:482,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - ptr
    - tm
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 484
    functionName: cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - dds_sleepfor
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void cb (struct ddsi_domaingv *gv, struct ddsi_xevent *xev, struct
      ddsi_xpack *xp, void *ptr, ddsrt_mtime_t tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:491,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:492,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wr
    - msg_id
    - writetime
    - expiredcnt
    argTypes:
    - dds_entity_t
    - int
    - ddsrt_mtime_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: write_and_update
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - dds_write
    - ddsrt_time_monotonic
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void write_and_update(dds_entity_t wr, int msg_id, ddsrt_mtime_t *writetime,
      uint32_t *expiredcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_requested_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:504,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:505,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:506,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:507,1
    - Dst: dds_get_offered_deadline_missed_status
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:511,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:512,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:513,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - wr
    - rd
    - cnt
    - hdl
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: check_statuses_explicit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - dds_get_requested_deadline_missed_status
    - CU_ASSERT_EQ
    - CU_ASSERT_EQ_FATAL
    - dds_get_offered_deadline_missed_status
    linkageType: ''
    returnType: void
    signature: void check_statuses_explicit(dds_entity_t wr, dds_entity_t rd, uint32_t
      cnt, dds_instance_handle_t hdl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:521,1
    - Dst: check_statuses_explicit
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - wr
    - rd
    - cnt_1
    - cnt_2
    - t1
    - t2
    - h1
    - h2
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - uint32_t
    - uint32_t
    - ddsrt_mtime_t
    - ddsrt_mtime_t
    - dds_instance_handle_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: check_statuses
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_time_monotonic
    - check_statuses_explicit
    linkageType: ''
    returnType: void
    signature: void check_statuses(dds_entity_t wr, dds_entity_t rd, uint32_t cnt_1,
      uint32_t cnt_2, ddsrt_mtime_t t1, ddsrt_mtime_t t2, dds_instance_handle_t h1,
      dds_instance_handle_t h2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - constraint
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: VALIDATE_TIME_CONSTRAINTS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALIDATE_TIME_CONSTRAINTS(constraint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xevent
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: NORMALIZE_TIME
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMALIZE_TIME(xevent,offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offset
    - ','
    - interval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: SLEEP_UNTIL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLEEP_UNTIL(offset,interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:548,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:554,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:555,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:558,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:559,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:560,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:564,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:571,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:572,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:574,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:575,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:577,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:578,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:584,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:584,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:586,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:587,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:590,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:591,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:592,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:594,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:597,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:601,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:602,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:603,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:604,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:605,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:606,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:608,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:609,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:612,1
    - Dst: write_and_update
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:613,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:614,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:617,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:618,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:619,1
    - Dst: check_statuses_explicit
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:621,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:623,1
    - Dst: write_and_update
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:625,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:626,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:628,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:629,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:630,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:631,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:631,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:633,1
    - Dst: write_and_update
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:634,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:636,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:638,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:639,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:639,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:640,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:640,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:641,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:642,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:644,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:645,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:645,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:646,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:646,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:647,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:648,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:650,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:651,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:651,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:652,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:652,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:653,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:654,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:656,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:657,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:657,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:658,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:658,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:659,1
    - Dst: write_and_update
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:660,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:661,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:663,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:664,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:664,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:665,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:665,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:666,1
    - Dst: SLEEP_UNTIL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:667,1
    - Dst: VALIDATE_TIME_CONSTRAINTS
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:669,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:670,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:670,1
    - Dst: NORMALIZE_TIME
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:671,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:671,1
    - Dst: check_statuses
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:672,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:675,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 679
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - VALIDATE_TIME_CONSTRAINTS
    - ddsi_qxev_callback
    - ddsi_delete_xevent
    - dds_delete
    - dds_lookup_instance
    - get_domaingv
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - NORMALIZE_TIME
    - CU_PASS
    - check_statuses
    - dds_get_status_changes
    - dds_write
    - dds_create_writer
    - ddsrt_time_monotonic
    - dds_create_participant
    - dds_sleepfor
    - SLEEP_UNTIL
    - ddsi_xqos_init_empty
    - write_and_update
    - ddsrt_mtime_add_duration
    - check_statuses_explicit
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_deadline, update)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:699,1
    - Dst: test_oneliner
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:700,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:701,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 11
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - CU_ASSERT_GT_FATAL
    - test_oneliner
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_deadline, insanely_short)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:722,1
    - Dst: test_oneliner
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:723,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:724,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/deadline.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 706
    functionDepth: 11
    functionLinenumber: 706
    functionLinenumberEnd: 727
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - CU_ASSERT_GT_FATAL
    - test_oneliner
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_deadline, insanely_long)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:65,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:66,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:68,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:68,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:69,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:71,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:72,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:73,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:74,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:74,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:75,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:76,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:78,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:79,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:80,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:81,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:82,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:83,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:84,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:85,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:87,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:88,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:89,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:91,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:93,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:96,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:97,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:98,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 100
    functionName: init_entity_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_GT
    - dds_create_subscriber
    - dds_qset_reliability
    - dds_create_waitset
    - dds_qset_resource_limits
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_create_publisher
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_qset_destination_order
    - dds_create_writer
    - dds_get_instance_handle
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void init_entity_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:105,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:106,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:108,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:109,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:110,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:111,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:112,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:113,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:114,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:115,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: fini_entity_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    functionUses: 0
    functionsReached:
    - dds_waitset_detach
    - dds_delete_qos
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void fini_entity_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:429,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:430,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:433,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:434,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:435,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:436,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:439,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:440,1
    - Dst: dds_get_inconsistent_topic_status
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:441,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:442,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:443,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:446,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:447,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:450,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:451,1
    - Dst: dds_get_inconsistent_topic_status
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:452,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:453,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:454,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:457,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:458,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 461
    functionName: Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_get_inconsistent_topic_status
    - dds_set_status_mask
    - dds_delete
    - dds_waitset_wait
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void Test(ddsc_entity, inconsistent_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1420,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1421,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1424
    functionName: data_available_wait_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    functionUses: 0
    functionsReached:
    - dds_waitset_wait
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t data_available_wait_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1429,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1430,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1432,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1433,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1434,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1439,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1440,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1441,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1442,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1443,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1444,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1445,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1446,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1447,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1448,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1449,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1450,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1451,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1452,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1453,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1462,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1463,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1465,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1466,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1468,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1469,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1472,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1473,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1476,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1477,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1481,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1483,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1484,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1491,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1491,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1492,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1493,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1494,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1495,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1496,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1497,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1498,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1499,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1500,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1501,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1502,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1504,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1504,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1506,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_status.c:1507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1508
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - dds_create_waitset
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_thread_join
    - dds_take_status
    - dds_write
    - ddsrt_threadattr_init
    - dds_create_writer
    - ddsrt_thread_create
    - ddsrt_time_monotonic
    - dds_create_participant
    - dds_sleepfor
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_set_status_mask, trigger_waitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:45,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:51,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:54,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:57,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:59,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:60,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:63,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:63,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:64,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:65,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:66,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:69,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:71,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:74,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:75,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:77,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:78,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:78,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:80,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:81,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:82,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:85,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:86,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:87,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:88,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:89,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:89,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:91,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:93,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:101,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:105,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:111,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:112,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 115
    functionName: unregistering_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/unregister.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_qset_reliability
    - dds_create_waitset
    - dds_qset_resource_limits
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_qset_destination_order
    - dds_write
    - dds_create_writer
    - dds_create_participant
    - dds_time
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void unregistering_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:120,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:122,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:123,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: unregistering_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/unregister.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void unregistering_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:604,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:605,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:606,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:606,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:607,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:608,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:609,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:612,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:613,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:614,1
    - Dst: dds_unregister_instance_ih_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:617,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:617,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:618,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:620,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:621,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unregister.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 623
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/unregister.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_register_instance
    - dds_create_participant
    - create_unique_topic_name
    - dds_unregister_instance_ih_ts
    - dds_time
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_unregister_instance_ih_ts, unregistering_instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:46,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:52,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:54,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:55,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:57,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:58,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:60,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:60,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:61,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:64,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:64,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:65,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:66,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:67,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:70,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:71,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:72,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:75,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:76,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:78,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:79,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:80,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:81,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:82,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:83,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:87,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:88,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:89,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:90,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:91,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:92,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:94,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:101,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:102,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:106,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:112,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:113,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 116
    functionName: disposing_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dispose.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_qset_reliability
    - dds_create_waitset
    - dds_qset_resource_limits
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_qset_destination_order
    - dds_write
    - dds_create_writer
    - dds_create_participant
    - dds_time
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void disposing_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:122,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:123,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:124,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/dispose.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: disposing_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/dispose.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void disposing_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:56,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:57,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:58,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:59,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:60,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:61,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:63,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:64,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:65,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:66,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:69,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: typelookup_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void typelookup_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:76,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:77,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:78,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:79,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:80,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: typelookup_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void typelookup_fini (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:87,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:87,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:88,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:88,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:89,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:90,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:94,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:95,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:98,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:99,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:99,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:103,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:104,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:104,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:106,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:111,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:114,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:115,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:115,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:119,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:120,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:120,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:122,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:127,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:130,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:131,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:131,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:135,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:136,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:136,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:138,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:141,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:142,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:142,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - entity
    - type_id
    - type_name
    - kind
    argTypes:
    - dds_entity_t
    - ddsi_typeid_t**
    - char**
    - ddsi_typeid_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 144
    functionName: get_type
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 6
    functionsReached:
    - ddsi_type_pair_complete_id
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_strdup
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_type_pair_minimal_id
    - ddsi_thread_state_asleep
    - ddsi_typeid_dup
    - ddsi_entidx_lookup_guid_untyped
    - abort
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void get_type (dds_entity_t entity, ddsi_typeid_t **type_id, char **type_name,
      ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:148,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: print_ep
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - printf
    - tprintf
    linkageType: ''
    returnType: void
    signature: void print_ep (const dds_guid_t *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:162,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:163,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:164,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:165,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:170,1
    - Dst: dds_builtintopic_get_endpoint_type_info
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:178,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:182,1
    - Dst: print_ep
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:183,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:184,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:184,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:185,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:185,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:187,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:189,1
    - Dst: ddsi_typeinfo_dup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:190,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:191,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:192,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:194,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:195,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:196,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:197,1
    - Dst: print_ep
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:201,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:202,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:203,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:210,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:213,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:213,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - participant
    - topic
    - type_id
    - match_topic
    - kind
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - ddsi_typeid_t*
    - char*
    - ddsi_typeid_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 217
    functionName: find_typeid_match
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - ddsi_make_typeid_str
    - dds_return_loan
    - ddsi_typeid_compare
    - ddsrt_malloc
    - fflush
    - print_ep
    - CU_ASSERT_EQ_FATAL
    - ddsrt_strdup
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - ddsi_typeid_fini
    - ddsrt_free
    - strcmp
    - printf
    - dds_time
    - dds_sleepfor
    - dds_builtintopic_get_endpoint_type_info
    - ddsi_typeinfo_dup
    - ddsi_typeinfo_typeid
    linkageType: ''
    returnType: endpoint_info_t
    signature: endpoint_info_t * find_typeid_match (dds_entity_t participant, dds_entity_t
      topic, ddsi_typeid_t *type_id, const char * match_topic, ddsi_typeid_kind_t
      kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:223,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:224,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:225,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:226,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ep_info
    argTypes:
    - endpoint_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: endpoint_info_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void endpoint_info_free (endpoint_info_t *ep_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:233,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:234,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:235,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:236,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:237,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:239,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pp
    - rd
    - dur
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: reader_wait_for_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 4
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_delete
    - dds_waitset_wait
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: bool
    signature: bool reader_wait_for_data (dds_entity_t pp, dds_entity_t rd, dds_duration_t
      dur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:412,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:413,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:415,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wr
    - exp_match
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: test_proxy_rd_matches
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void test_proxy_rd_matches (dds_entity_t wr, bool exp_match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:424,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:425,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:430,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:439,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:440,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:441,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:442,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:446,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:447,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:448,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - type_id_obj_seq
    - kind
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - uint32_t
    assertStmts:
    - condition: (type_id_obj_seq->_buffer[1].type_object._u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    - condition: (type_id_obj_seq->_buffer[1].type_object._u.complete._u.struct_type.member_seq._length
        == 2)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    - condition: (type_id_obj_seq->_buffer[1].type_object._u.minimal._u.struct_type.member_seq._length
        == 2)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    - condition: (type_id_obj_seq->_buffer[1].type_object._u.complete._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    - condition: (type_id_obj_seq->_buffer[0].type_object._u.complete._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mod_dep_test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsi_typeid_fini_impl
    - assert
    - ddsi_typeobj_get_hash_id
    linkageType: ''
    returnType: void
    signature: void mod_dep_test (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *type_id_obj_seq, uint32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:42,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:43,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:44,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:45,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:46,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:47,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:49,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:50,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:51,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:52,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: topic_discovery_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void topic_discovery_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:59,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: topic_discovery_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void topic_discovery_fini (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:169,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:173,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:175,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:176,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:178,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:178,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:179,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:180,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:181,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:182,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:186,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:187,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:188,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:192,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:193,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:196,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:200,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:202,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:204,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:206,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:207,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:208,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:212,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:212,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:214,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:216,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:219,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:219,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:221,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:224,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:225,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:228,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:230,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:231,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:232,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 6
    argNames:
    - topic_rd
    - topic_name
    - exp_count
    - equal_keys
    - key
    - match_key
    argTypes:
    - dds_entity_t
    - char*
    - uint32_t
    - bool
    - unsigned char*
    - unsigned char*
    assertStmts:
    - condition: (t_exp == DDS_NEVER)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    constantsTouched: []
    func_position:
      end: 234
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 234
    functionName: check_topic_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_waitset_wait_until
    - memcmp
    - DDS_SECS
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - CU_ASSERT_LT_FATAL
    - fflush
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - memcpy
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_create_readcondition
    - assert
    - strcmp
    - printf
    - tprintf
    - dds_time
    - dds_get_participant
    linkageType: ''
    returnType: void
    signature: void check_topic_samples (dds_entity_t topic_rd, char *topic_name,
      uint32_t exp_count, bool equal_keys, unsigned char *key, unsigned char *match_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:323,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:324,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:325,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:325,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: delete_participants_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - dds_sleepfor
    - ddsrt_atomic_st32
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t delete_participants_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:334,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:336,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:336,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:337,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:337,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:338,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: delete_topics_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_random
    - dds_delete
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t delete_topics_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:348,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:354,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:356,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: read_topic_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT
    - ddsrt_atomic_ld32
    - dds_take
    - dds_return_loan
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t read_topic_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:38,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:39,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:40,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:41,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:42,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:43,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:44,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:45,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:47,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:48,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:49,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:50,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
    functionUses: 14
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - dds_create_subscriber
    - dds_create_publisher
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/unsupported.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
    functionUses: 7
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:31,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:38,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:38,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:45,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:46,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:50,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - env_variable
    - expected_value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: config__check_env
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/config.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ_FATAL
    - ddsrt_setenv
    - strlen
    - strncmp
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void config__check_env (const char *env_variable, const char *expected_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/config.c
    functionUses: 0
    functionsReached:
    - ddsi_patmatch
    linkageType: ''
    returnType: void
    signature: void logger(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:500,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/config.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 502
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/config.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_LT_FATAL
    - dds_create_domain
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_config, bad_configs_listelems)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:22,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:23,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:24,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:25,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:28,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:29,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:30,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:31,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:32,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:35,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:36,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:39,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:40,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:41,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:42,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:45,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:46,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:47,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:48,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:49,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:52,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:53,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:56,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:57,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:58,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 6
    argNames:
    - participant_rd
    - reader
    - participant_wr
    - writer
    - expect_sync
    - timeout
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - bool
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 60
    functionName: sync_reader_writer_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_common.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - dds_delete
    - dds_set_status_mask
    - dds_waitset_wait
    - dds_create_waitset
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void sync_reader_writer_impl (dds_entity_t participant_rd, dds_entity_t
      reader, dds_entity_t participant_wr, dds_entity_t writer, bool expect_sync,
      dds_duration_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_reader_writer_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:75,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - participant_rd
    - reader
    - participant_wr
    - writer
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: sync_reader_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_common.c
    functionUses: 5
    functionsReached:
    - sync_reader_writer_impl
    - DDS_SECS
    linkageType: ''
    returnType: void
    signature: void sync_reader_writer (dds_entity_t participant_rd, dds_entity_t
      reader, dds_entity_t participant_wr, dds_entity_t writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_reader_writer_impl
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - participant_rd
    - reader
    - participant_wr
    - writer
    - timeout
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: no_sync_reader_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_common.c
    functionUses: 1
    functionsReached:
    - sync_reader_writer_impl
    linkageType: ''
    returnType: void
    signature: void no_sync_reader_writer (dds_entity_t participant_rd, dds_entity_t
      reader, dds_entity_t participant_wr, dds_entity_t writer, dds_duration_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:86,1
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:92,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:93,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - topic_desc
    - os
    argTypes:
    - void*
    - dds_topic_descriptor_t*
    - dds_ostreamLE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: xcdr2_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_common.c
    functionUses: 4
    functionsReached:
    - dds_stream_write_sampleLE
    - CU_ASSERT_FATAL
    - dds_cdrstream_desc_from_topic_desc
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void xcdr2_ser (const void *obj, const dds_topic_descriptor_t *topic_desc,
      dds_ostreamLE_t *os)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:101,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:103,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:106,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:107,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:108,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:109,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:115,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:116,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/test_common.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - sz
    - obj
    - desc
    argTypes:
    - unsigned char*
    - uint32_t
    - void**
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: xcdr2_deser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/test_common.c
    functionUses: 3
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - dds_stream_read
    - DDSRT_WARNING_MSVC_ON
    - dds_stream_normalize_xcdr2_data
    - ddsrt_malloc
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void xcdr2_deser (const unsigned char *buf, uint32_t sz, void **obj,
      const dds_topic_descriptor_t *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:23,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:24,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:25,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:27,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:28,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:29,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:30,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:31,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:32,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:34,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:35,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:36,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:37,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:38,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:39,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:40,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: create_entities
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/loan.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - dds_create_participant
    - create_unique_topic_name
    - dds_qset_reliability
    - dds_delete_qos
    - dds_create_reader
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void create_entities (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:47,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.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: delete_entities
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/loan.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void delete_entities (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:364,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:365,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:366,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:367,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:368,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:369,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:370,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:371,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:372,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:373,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:374,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:375,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:376,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:377,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:381,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:382,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:383,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:394,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:395,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:399,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:400,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:407,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:407,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:408,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:411,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:413,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:415,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:417,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:420,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:421,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/loan.c:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 432
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/loan.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - memcpy
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    - dds_write
    - dds_create_writer
    - dds_request_loan
    - dds_create_participant
    - dds_delete_qos
    - CU_ASSERT_GEQ_FATAL
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_loan, read_take_cleanup_repeat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:28,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:29,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: create_entity
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_api.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    linkageType: ''
    returnType: void
    signature: void create_entity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:36,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:37,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: delete_entity
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_api.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void delete_entity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:71,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:77,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:80,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - e
    - info
    argTypes:
    - dds_entity_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: entity_qos_get_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_api.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete_qos
    - dds_get_qos
    - dds_set_qos
    - dds_create_qos
    linkageType: ''
    returnType: void
    signature: void entity_qos_get_set(dds_entity_t e, const char* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:374,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:375,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:377,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/entity_api.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/entity_api.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_entity, delete, .init = create_entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vcount
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: null_log_sink
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - tprintf
    linkageType: ''
    returnType: void
    signature: void null_log_sink (void *vcount, const dds_log_data_t *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:50,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:102,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:103,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - intf
    - index
    - allow_mc
    - weird_extloc
    argTypes:
    - struct ddsi_network_interface*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 106
    functionName: intf_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - ddsrt_asprintf
    - memset
    linkageType: ''
    returnType: void
    signature: void intf_init (struct ddsi_network_interface *intf, int index, bool
      allow_mc, bool weird_extloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:110,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:111,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:118,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:120,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:122,1
    - Dst: ddsi_udp_init
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:128,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:129,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:130,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:132,1
    - Dst: intf_init
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:137,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:139,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:146,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:147,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - gv
    - config
    - allow_mc
    - weird_extloc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_config*
    - bool
    - bool
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    - condition: (gv->m_factory != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 14
    functionsReached:
    - ddsi_factory_find
    - intf_init
    - dds_set_log_sink
    - ddsrt_atomic_stvoidp
    - dds_set_trace_sink
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsi_udp_init
    - memset
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsrt_malloc
    - ddsi_lookup_thread_state
    - ddsi_config_prep
    linkageType: ''
    returnType: void
    signature: void setup (struct ddsi_domaingv *gv, const struct ddsi_config *config,
      bool allow_mc, bool weird_extloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:156,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:160,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:161,1
    - Dst: ddsi_factory_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:167,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:170,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:176,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:178,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 7
    functionsReached:
    - ddsi_thread_states_fini
    - ddsi_iid_fini
    - ddsrt_free
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - ddsi_factory_free
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void teardown (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:184,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:185,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:188,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:192,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:193,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:194,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:200,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:203,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - expected
    - as
    argTypes:
    - char*
    - struct ddsi_networkpartition_address*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: check_address_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - strcmp
    - tprintf
    - ddsrt_strdup
    - ddsrt_strsep
    - ddsi_locator_to_string
    linkageType: ''
    returnType: bool
    signature: bool check_address_list (const char *expected, struct ddsi_networkpartition_address
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:285,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:297,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 300
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_LT_FATAL
    - CU_PASS
    - dds_create_domain
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_nwpart, duplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:305,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:323,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:324,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:325,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 328
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    - dds_create_domain
    - ddsrt_free
    - ddsrt_expand_envvars
    - CU_ASSERT_LT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_nwpart, mapping_undefined)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:333,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:352,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:353,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:354,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:355,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:356,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:361,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:362,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:363,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:368,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:369,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:370,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:371,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:373,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:374,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 377
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    - dds_create_domain
    - ddsrt_free
    - CU_ASSERT_STREQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - ddsrt_expand_envvars
    - get_domaingv
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_nwpart, mapping_multiple)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:388,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:389,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:390,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/nwpart.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: check_address_present
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    functionUses: 0
    functionsReached:
    - fflush
    - strcmp
    - ddsi_xlocator_to_string
    - printf
    linkageType: ''
    returnType: void
    signature: void check_address_present (const ddsi_xlocator_t *loc, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:45,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:51,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:53,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:54,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:56,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:57,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:59,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:60,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:63,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:63,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:64,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:65,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:66,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:69,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:71,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:74,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:75,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:77,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:78,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:78,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:80,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:81,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:82,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:85,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:86,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:87,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:88,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:89,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:89,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:91,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:93,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:100,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:101,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:105,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:111,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:112,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 115
    functionName: registering_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/register.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_qset_reliability
    - dds_create_waitset
    - dds_qset_resource_limits
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - DDS_MSECS
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_qset_destination_order
    - dds_write
    - dds_create_writer
    - dds_create_participant
    - dds_time
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    linkageType: ''
    returnType: void
    signature: void registering_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:120,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:121,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:122,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:123,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/register.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: registering_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/register.c
    functionUses: 0
    functionsReached:
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void registering_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/time.c:19,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time.c:20,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/time.c:22,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/time.c:23,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/time.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/time.c
    functionUses: 0
    functionsReached:
    - dds_time
    - CU_ASSERT_GT_FATAL
    - dds_sleepfor
    - CU_ASSERT_GEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_time, request_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: fail
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fail (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: fail_match
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_match (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: fail_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_addrset (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: fail_valid_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_valid_data (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: fail_instance_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_instance_state (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: fail_timestamp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_timestamp (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: fail_content
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_content (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: fail_no_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_no_data (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: fail_too_much_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void fail_too_much_data (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:69,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:72,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:93,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:94,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:95,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:96,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:97,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:98,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - int_dom
    argTypes:
    - dds_domainid_t
    assertStmts:
    - condition: (int_dom < MAX_DOMAINS)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 101
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 101
    functionName: create_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 147
    functionsReached:
    - dds_create_domain
    - ddsrt_free
    - dds_create_participant
    - assert
    - ddsrt_asprintf
    - ddsrt_expand_envvars
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_participant (dds_domainid_t int_dom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:115,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:116,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:117,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:121,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:121,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rd_or_wr
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: endpoint_has_psmx_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - dds_entity_kind
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: bool
    signature: bool endpoint_has_psmx_enabled (dds_entity_t rd_or_wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:134,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:135,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:136,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:137,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:138,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:139,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:141,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:142,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: psmx_supports_keys
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - endpoint_has_psmx_enabled
    - create_unique_topic_name
    - dds_delete
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: bool
    signature: bool psmx_supports_keys (dds_entity_t pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:151,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:152,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:153,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:153,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:155,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rdhandle
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: reader_unicast_port
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - CU_ASSERT_EQ_FATAL
    - dds_entity_kind
    - dds_entity_pin
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t reader_unicast_port (dds_entity_t rdhandle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:173,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:174,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:182,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 205
    functionName: check_writer_addrset_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - print
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void check_writer_addrset_helper (const ddsi_xlocator_t *loc, void
      *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:211,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:212,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:213,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:213,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:215,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:223,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:224,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:225,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tb
    - wrhandle
    - nports
    - ports
    argTypes:
    - struct tracebuf*
    - dds_entity_t
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: check_writer_addrset_once
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_entity_pin
    - ddsi_addrset_forall
    - CU_ASSERT_LT_FATAL
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool check_writer_addrset_once (struct tracebuf *tb, dds_entity_t wrhandle,
      int nports, const uint32_t *ports)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:232,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:232,1
    - Dst: check_writer_addrset_once
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:235,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:238,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:239,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:239,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:240,1
    - Dst: check_writer_addrset_once
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - tb
    - wrhandle
    - nports
    - ports
    argTypes:
    - struct tracebuf*
    - dds_entity_t
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: check_writer_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - check_writer_addrset_once
    - DDS_SECS
    - dds_time
    - print
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: bool
    signature: bool check_writer_addrset (struct tracebuf *tb, dds_entity_t wrhandle,
      int nports, const uint32_t *ports)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:246,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:247,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:248,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:251,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:252,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:254,1
    - Dst: f
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:255,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:255,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:256,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:257,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:258,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tp
    - use_psmx
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: create_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - f
    - CU_ASSERT_EQ_FATAL
    - endpoint_has_psmx_enabled
    - dds_qset_writer_data_lifecycle
    - dds_qset_reliability
    - dds_delete_qos
    - dds_qset_psmx_instances
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - dds_get_participant
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_endpoint (dds_entity_t tp, bool use_psmx, dds_entity_t
      (*f) (dds_entity_t pp, dds_entity_t tp, const dds_qos_t *qos, const dds_listener_t
      *listener))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tp
    - use_psmx
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: create_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 82
    functionsReached:
    - create_endpoint
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_reader (dds_entity_t tp, bool use_psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tp
    - use_psmx
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: create_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 80
    functionsReached:
    - create_endpoint
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_writer (dds_entity_t tp, bool use_psmx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:276,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:279,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:280,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:281,1
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:285,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tb
    - fmt
    argTypes:
    - struct tracebuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 287
    functionName: print
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 6
    functionsReached:
    - va_start
    - vsnprintf
    - fputs
    - abort
    - va_end
    - fflush
    linkageType: ''
    returnType: void
    signature: void print (struct tracebuf *tb, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:294,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:299,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:300,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:301,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rd_or_wr
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 309
    functionName: get_current_match_count
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_get_subscription_matched_status
    - dds_get_publication_matched_status
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: int
    signature: int get_current_match_count (dds_entity_t rd_or_wr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:327,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:328,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:330,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:332,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:332,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:333,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:335,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:344,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:346,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:350,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:351,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:355,1
    - Dst: dds_get_matched_subscription_data
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:358,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:362,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:364,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:365,1
    - Dst: get_current_match_count
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - ws
    - wr
    - nrds
    - rds
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - int
    - dds_entity_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 377
    functionName: allmatched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - qsort
    - dds_get_matched_subscriptions
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_wait_until
    - dds_take_status
    - memcmp
    - DDS_SECS
    - dds_time
    - get_current_match_count
    - dds_get_guid
    - memset
    - dds_get_matched_subscription_data
    - CU_ASSERT_GEQ_FATAL
    - dds_builtintopic_free_endpoint
    linkageType: ''
    returnType: bool
    signature: bool allmatched (dds_entity_t ws, dds_entity_t wr, int nrds, const
      dds_entity_t *rds)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - dds_instance_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: istatestr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *istatestr (dds_instance_state_t s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:392,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:394,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:395,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:396,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:404,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:405,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:406,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:407,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:411,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:411,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:413,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:417,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:422,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:425,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:429,1
    - Dst: fail_valid_data
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:430,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:435,1
    - Dst: istatestr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:435,1
    - Dst: istatestr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:435,1
    - Dst: fail_instance_state
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:436,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:441,1
    - Dst: fail_timestamp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:442,1
    - Dst: eq
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:445,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:447,1
    - Dst: fail_content
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:448,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:455,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:457,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:464,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:471,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:473,1
    - Dst: fail_no_data
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:476,1
    - Dst: fail_too_much_data
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:478,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:484,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:485,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:487,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:488,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:489,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:490,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 9
    argNames:
    - tb
    - nrds
    - rds
    - instance_state
    - valid_data
    - sample_sent
    - use_rd_loan
    - tpdesc
    - ts
    argTypes:
    - struct tracebuf*
    - int
    - dds_entity_t*
    - dds_instance_state_t
    - bool
    - void*
    - bool
    - dds_topic_descriptor_t*
    - dds_time_t
    assertStmts:
    - condition: (nrds > 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 492
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 492
    functionName: alldataseen
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_waitset_wait_until
    - print
    - dds_delete
    - dds_create_waitset
    - dds_alloc
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    - dds_free
    - assert
    - fail_content
    - dds_sample_free
    - fail_timestamp
    - fail_too_much_data
    - dds_time
    - fail_no_data
    - fail_valid_data
    - fail_instance_state
    - eq
    - istatestr
    linkageType: ''
    returnType: bool
    signature: bool alldataseen (struct tracebuf *tb, int nrds, const dds_entity_t
      *rds, dds_instance_state_t instance_state, bool valid_data, const void *sample_sent,
      bool (*eq) (const void *sent, const void *recvd, bool valid_data), bool use_rd_loan,
      const dds_topic_descriptor_t *tpdesc, dds_time_t ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:503,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:504,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:505,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:505,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:507,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:510,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:511,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:511,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:512,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:514,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - wrhandle
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: wait_for_fastpath_ready
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_sleepfor
    - dds_entity_pin
    - DDS_MSECS
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void wait_for_fastpath_ready (dds_entity_t wrhandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:522,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:523,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:524,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:524,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:526,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:527,1
    - Dst: nrd::nrd
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:532,1
    - Dst: rdary0::rdary0
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:533,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:534,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wrhandle
    - new
    argTypes:
    - dds_entity_t
    - struct fastpath_info
    assertStmts:
    - condition: (wr->rdary.fastpath_ok)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 537
    functionName: getset_fastpath_reader_count
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - assert
    - dds_entity_kind
    - rdary0::rdary0
    - dds_entity_pin
    - ddsrt_mutex_unlock
    - nrd::nrd
    linkageType: ''
    returnType: struct fastpath_info
    signature: struct fastpath_info getset_fastpath_reader_count (dds_entity_t wrhandle,
      struct fastpath_info new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:544,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:545,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:546,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:546,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:548,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:549,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:552,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wrhandle
    - enable
    argTypes:
    - dds_entity_t
    - bool
    assertStmts:
    - condition: "((wr->rdary.fastpath_ok && !enable) ||\n          (!wr->rdary.fastpath_ok
        && enable))"
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 554
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 554
    functionName: getset_fastpath_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - assert
    - dds_entity_kind
    - dds_entity_pin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void getset_fastpath_enabled (dds_entity_t wrhandle, bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: compare_uint32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_uint32 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:565,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tb
    argTypes:
    - struct tracebuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: print_time
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_time
    - print
    linkageType: ''
    returnType: void
    signature: void print_time (struct tracebuf *tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vflag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: check_transmit_queue_empty_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_or32
    linkageType: ''
    returnType: void
    signature: void check_transmit_queue_empty_helper (void *vflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:576,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:576,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:578,1
    - Dst: print_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:579,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:580,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:583,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:584,1
    - Dst: ddsi_qxev_nt_callback
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:585,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:586,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:586,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:587,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:587,1
    - Dst: print_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:588,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:589,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:590,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tb
    - gvs
    argTypes:
    - struct tracebuf*
    - struct ddsi_domaingv*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 594
    functionName: check_transmit_queue_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - DDS_SECS
    - dds_time
    - print
    - print_time
    - dds_sleepfor
    - ddsi_qxev_nt_callback
    - DDS_MSECS
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void check_transmit_queue_empty (struct tracebuf *tb, struct ddsi_domaingv
      *gvs[MAX_DOMAINS])
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:623,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:624,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:627,1
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:630,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:631,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:632,1
    - Dst: get_domaingv
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:633,1
    - Dst: psmx_supports_keys
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:636,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:638,1
    - Dst: create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:645,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:646,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:647,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:648,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:649,1
    - Dst: print_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:683,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:684,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:695,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:696,1
    - Dst: create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:698,1
    - Dst: reader_unicast_port
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:699,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:715,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:716,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:717,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:718,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:725,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:728,1
    - Dst: allmatched
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:733,1
    - Dst: check_transmit_queue_empty
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:739,1
    - Dst: fail_match
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:740,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:745,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:748,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:755,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:755,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:755,1
    - Dst: check_writer_addrset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:756,1
    - Dst: fail_addrset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:758,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:764,1
    - Dst: wait_for_fastpath_ready
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:765,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:772,1
    - Dst: getset_fastpath_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:773,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:792,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:792,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:802,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:803,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:804,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:808,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:814,1
    - Dst: dds_dispose_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:815,1
    - Dst: dds_writedispose_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:816,1
    - Dst: dds_unregister_instance_ts
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:817,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:823,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:824,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:825,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:826,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:839,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:842,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:842,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:843,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:844,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:845,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:845,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:846,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:849,1
    - Dst: alldataseen
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:850,1
    - Dst: getset_fastpath_reader_count
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:862,1
    - Dst: getset_fastpath_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:867,1
    - Dst: print
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:870,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:874,1
    - Dst: fputs
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:876,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:877,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:878,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:882,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:885,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:886,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:897,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:898,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:902,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:903,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:906,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:906,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:907,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 188
    argCount: 5
    argNames:
    - tpdesc
    - sample
    - ldm
    - write_mode
    - use_rd_loan
    argTypes:
    - dds_topic_descriptor_t*
    - void*
    - enum local_delivery_mode
    - enum write_mode
    - bool
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&sd->refc) >= 1 && sd->loan == NULL)
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - condition: (ddsrt_atomic_ld32 (&check_sd->refc) >= 1 && check_sd->loan == NULL)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 909
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 909
    functionName: dotest
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 19
    functionsReached:
    - reader_unicast_port
    - create_participant
    - print_time
    - dds_dispose_ts
    - print
    - dds_delete
    - dds_create_waitset
    - ddsi_serdata_from_sample
    - get_domaingv
    - dds_get_parent
    - fflush
    - dds_unregister_instance_ts
    - check_transmit_queue_empty
    - dds_create_topic
    - ddsrt_atomic_ld32
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - fail_match
    - create_unique_topic_name
    - memcpy
    - dds_set_status_mask
    - dds_writedispose_ts
    - fail_addrset
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - qsort
    - create_writer
    - CU_PASS
    - ddsi_serdata_unref
    - create_reader
    - assert
    - dds_write_ts
    - ddsi_serdata_ref
    - getset_fastpath_reader_count
    - fputs
    - check_writer_addrset
    - getset_fastpath_enabled
    - dds_request_loan
    - dds_time
    - dds_get_entity_sertype
    - allmatched
    - alldataseen
    - psmx_supports_keys
    - dds_forwardcdr
    - GVTRACE
    - wait_for_fastpath_ready
    linkageType: ''
    returnType: void
    signature: void dotest (const dds_topic_descriptor_t *tpdesc, const void *sample,
      bool (*eq) (const void *sent, const void *recvd, bool valid_data), enum local_delivery_mode
      ldm, enum write_mode write_mode, bool use_rd_loan)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - vsent
    - vrecvd
    - valid_data
    argTypes:
    - void*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 919
    functionName: eq_PsmxType1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eq_PsmxType1 (const void *vsent, const void *vrecvd, bool valid_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - vsent
    - vrecvd
    - valid_data
    argTypes:
    - void*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: eq_DynamicData_Msg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool eq_DynamicData_Msg (const void *vsent, const void *vrecvd, bool
      valid_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:946,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - vsent
    - vrecvd
    - valid_data
    argTypes:
    - void*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 959
    functionName: eq_DynamicData_KMsg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool eq_DynamicData_KMsg (const void *vsent, const void *vrecvd, bool
      valid_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1069,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1071,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1072,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1073,1
    - Dst: create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1074,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1079,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1080,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1081,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1082,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1087,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1087,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1066
    functionDepth: 4
    functionLinenumber: 1066
    functionLinenumberEnd: 1089
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - create_writer
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_request_loan
    - create_participant
    - create_unique_topic_name
    - dds_return_loan
    - dds_delete
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmx, return_loan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1094,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1096,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1097,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1098,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1100,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1101,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1102,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1103,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1130,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1137,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1138,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1139,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1141,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1142,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1143,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1148,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1149,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1150,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1153,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1154,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1157,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1158,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1164,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1165,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1165,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1166,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1168,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1170,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1173,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1174,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1175,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1176,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1179,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1180,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1184,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1185,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1185,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1187
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_take
    - create_participant
    - dds_delete
    - dds_qset_reliability
    - dds_create_qos
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_write
    - tprintf
    - dds_create_writer
    - dds_qset_partition
    - dds_sleepfor
    - dds_qset_partition1
    - dds_delete_qos
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmx, partition_xtalk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1197,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1198,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1201,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1202,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1203,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1205,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1206,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1208,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1209,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1211,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1211,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1212,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1212,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1213,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1214
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_is_shared_memory_available
    - dds_create_topic
    - dds_create_participant
    - create_unique_topic_name
    - dds_delete
    - dds_create_reader
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_psmx, no_shared_memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1225,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1226,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1229,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1230,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1231,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1233,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1234,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1235,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1236,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1238,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1239,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1240,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1241,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1243,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1247,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1248,1
    - Dst: SC_Model__alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1251,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1252,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1253,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1254,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1258,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1258,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1259,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1262,1
    - Dst: SC_Model_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1268,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1269,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1270
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - create_participant
    - dds_delete
    - dds_create_waitset
    - dds_read
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - endpoint_has_psmx_enabled
    - dds_write
    - sync_reader_writer
    - dds_create_writer
    - SC_Model_free
    - dds_waitset_wait
    - dds_get_parent
    - SC_Model__alloc
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_psmx, basic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1284,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1285,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1289,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1290,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1291,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1295,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1297,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1301,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1302,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1304,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1305,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1306,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1306,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1308,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1311,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1312,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1313,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1313,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1314,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1315,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1316,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1317,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1318,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1325,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1326,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1327,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1330,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1330,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1331,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1332,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1340,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1341,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1345,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1346,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1350,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1351,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1357,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1358,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1359,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1359,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1366,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1368,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1372,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1375,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1375,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1376,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1377,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1380,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1381,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1384,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1387,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1388,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1390,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1390,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1391
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - create_participant
    - dds_delete
    - dds_create_waitset
    - dds_read
    - dds_qset_psmx_instances
    - dds_create_qos
    - dds_get_parent
    - fflush
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - memcpy
    - dds_set_status_mask
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - endpoint_has_psmx_enabled
    - dds_write
    - printf
    - sync_reader_writer
    - dds_create_writer
    - dds_request_loan
    - dds_delete_qos
    - dds_waitset_wait
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_psmx, local_zero_copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1396,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1398,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1399,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1400,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1402,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1403,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1404,1
    - Dst: dds_istream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1405,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1406,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tpdesc
    - output
    - input
    argTypes:
    - dds_topic_descriptor_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1408
    functionName: deepcopy_sample_contents
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - dds_cdrstream_desc_fini
    - memset
    - dds_stream_write_sample
    - dds_stream_read_sample
    - dds_istream_fini
    - dds_ostream_init
    - abort
    - dds_cdrstream_desc_from_topic_desc
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void deepcopy_sample_contents (const dds_topic_descriptor_t *tpdesc,
      void *output, const void *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1417,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1418,1
    - Dst: deepcopy_sample_contents
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - wr
    - tpdesc
    - wrloan
    argTypes:
    - dds_entity_t
    - dds_topic_descriptor_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1410
    functionDepth: 2
    functionLinenumber: 1410
    functionLinenumberEnd: 1422
    functionName: get_write_datapointer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - deepcopy_sample_contents
    - CU_ASSERT_EQ_FATAL
    - dds_request_loan
    linkageType: ''
    returnType: void
    signature: void *get_write_datapointer (dds_entity_t wr, const dds_topic_descriptor_t
      *tpdesc, const void *template, bool wrloan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1427,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1429,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1430,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1433,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1434,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1435,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1436,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1440,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1441,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1442,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1443,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1445,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1446,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1447,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tpdesc
    - a
    - b
    - justkey
    argTypes:
    - dds_topic_descriptor_t*
    - void*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1450
    functionName: data_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dds_stream_write_key
    - dds_stream_write_sample
    - dds_cdrstream_desc_fini
    - dds_ostream_init
    - abort
    - dds_cdrstream_desc_from_topic_desc
    - dds_ostream_fini
    linkageType: ''
    returnType: bool
    signature: bool data_equal (const dds_topic_descriptor_t *tpdesc, const void *a,
      const void *b, bool justkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1473,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1474,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1478,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1479,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1480,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1494,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1495,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1497,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1499,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1500,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1501,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1502,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1502,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1503,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1505,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1507,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1509,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1510,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1511,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1512,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1512,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1513,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1515,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1516,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1517,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1518,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1530,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1530,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1531,1
    - Dst: get_write_datapointer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1531,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1532,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1533,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1540,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1541,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1543,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1544,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1545,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1545,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1546,1
    - Dst: data_equal
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1546,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1548,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1551,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1552,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1555,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1555,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1557,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1558,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1559,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1560,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1561,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1562,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1567,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1568,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1570,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1570,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1452
    functionDepth: 3
    functionLinenumber: 1452
    functionLinenumberEnd: 1571
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_take
    - create_participant
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - dds_qset_psmx_instances
    - dds_create_qos
    - ddsrt_malloc
    - fflush
    - data_equal
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - endpoint_has_psmx_enabled
    - op
    - tprintf
    - printf
    - dds_create_writer
    - dds_sample_free
    - memset
    - dds_delete_qos
    - get_write_datapointer
    - dds_waitset_wait
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_psmx, writer_loan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1577,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1578,1
    - Dst: create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1579,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1580,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1582,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1583,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1584,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1585,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1586,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1587,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1588,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1589,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1590,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1591,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1592,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1592,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1593,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1594,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1595,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1595,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1596,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1597,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1598,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1599,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1600,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1601,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1602,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1603,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1604,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1608,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1609,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1611,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1612,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1614,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1615,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1618,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1619,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1620,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1621,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1624,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1625,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1626,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1631,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1632,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1634,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1637,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1638,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1640,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1641,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1644,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1645,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1647,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1648,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1648,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1649,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1573
    functionDepth: 2
    functionLinenumber: 1573
    functionLinenumberEnd: 1650
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_take
    - create_participant
    - dds_delete
    - dds_qset_reliability
    - dds_create_waitset
    - dds_create_qos
    - fflush
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - endpoint_has_psmx_enabled
    - dds_take_status
    - dds_write
    - tprintf
    - dds_create_writer
    - dds_request_loan
    - dds_delete_qos
    - dds_waitset_wait
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_psmx, reader_loan_on_delete)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1685,1
    - Dst: dds_pubsub_message_exchange_configstr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1698,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1699,1
    - Dst: CU_ASSERT_MEMEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1701,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1705,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1705,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1706,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1707,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1708,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1709,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1710,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1712,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1713,1
    - Dst: CU_ASSERT_STREQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1714,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1715,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((cases[i].out == NULL) == (cases[i].nkv == 0))
      pos:
        line_end: 1684
        line_start: 1684
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - condition: (strcmp (cases[i].kv[j].k, "SERVICE_NAME") != 0)
      pos:
        line_end: 1704
        line_start: 1704
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    constantsTouched: []
    func_position:
      end: 1721
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1721
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - CU_ASSERT_STREQ_FATAL
    - ddsrt_free
    - assert
    - strcmp
    - dds_pubsub_message_exchange_configstr
    - CU_ASSERT_MEMEQ_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_psmx, configstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1745,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1748,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1749,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - loan_return
    - loan_ptr
    - exp_loan
    argTypes:
    - dds_return_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1755
    functionName: check_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void check_loan (dds_return_t loan_return, void *loan_ptr, const bool
      exp_loan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1760,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1762,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1763,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1764,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1765,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1767,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1768,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1771,1
    - Dst: dummy_mockstats_get_ptr
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1773,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1774,1
    - Dst: dummy_topics_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1775,1
    - Dst: dummy_endpoints_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1776,1
    - Dst: dummy_loans_alloc
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1777,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1779,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1780,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1784,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1785,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1787,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1789,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1791,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1793,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1794,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1795,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1796,1
    - Dst: endpoint_has_psmx_enabled
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1796,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1799,1
    - Dst: check_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1800,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1801,1
    - Dst: check_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1802,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1803,1
    - Dst: check_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1804,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - include_real
    - include_dummy
    - loan_2
    - loan_3
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1757
    functionDepth: 2
    functionLinenumber: 1757
    functionLinenumberEnd: 1807
    functionName: do_multi_psmx_get_loans
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dummy_mockstats_get_ptr
    - dds_delete
    - dummy_topics_alloc
    - dds_qset_psmx_instances
    - dds_create_qos
    - dummy_loans_alloc
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - check_loan
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - ddsrt_free
    - endpoint_has_psmx_enabled
    - ddsrt_expand_envvars
    - dds_create_writer
    - ddsrt_getenv
    - dds_request_loan
    - dds_create_participant
    - dummy_endpoints_alloc
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void do_multi_psmx_get_loans (const bool include_real, const bool include_dummy,
      const bool loan_2, const bool loan_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_multi_psmx_get_loans
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1812
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - do_multi_psmx_get_loans
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_multi_psmx, get_loans_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_multi_psmx_get_loans
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1813
    functionDepth: 3
    functionLinenumber: 1813
    functionLinenumberEnd: 1813
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - do_multi_psmx_get_loans
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_multi_psmx, get_loans_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_multi_psmx_get_loans
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1814
    functionDepth: 3
    functionLinenumber: 1814
    functionLinenumberEnd: 1814
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - do_multi_psmx_get_loans
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_multi_psmx, get_loans_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_multi_psmx_get_loans
      Src: /src/cyclonedds/src/core/ddsc/tests/psmx.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1815
    functionDepth: 3
    functionLinenumber: 1815
    functionLinenumberEnd: 1815
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    functionUses: 0
    functionsReached:
    - do_multi_psmx_get_loans
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_multi_psmx, get_loans_4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:22,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:23,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:24,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:25,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:28,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:32,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:33,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:35,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:36,1
    - Dst: sync_reader_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:37,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:42,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:43,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:44,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:45,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:48,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:49,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:50,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:51,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:54,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:55,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:56,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:57,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:59,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:59,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:60,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:60,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:63,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:65,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:66,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:67,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:68,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:71,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:74,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/tests/sertype.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 76
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/sertype.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - dds_create_topic
    - dds_free_typeinfo
    - dds_create_domain
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - create_unique_topic_name
    - dds_get_entity_sertype
    - ddsi_typeinfo_complete_typeid
    - dds_get_typeinfo
    - dds_create_reader
    - ddsi_typeinfo_minimal_typeid
    - CU_ASSERT_NEQ_FATAL
    - sync_reader_writer
    - dds_create_writer
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_EQ
    - ddsi_typeid_compare
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_sertype_default, compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:45,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:46,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:47,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:48,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ddsc_waitset_basic_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_create_waitset
    - dds_create_participant
    - CU_ASSERT_GT_FATAL
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_basic_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:54,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:55,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ddsc_waitset_basic_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_basic_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_waitset_basic_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:63,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:64,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:65,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:66,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:67,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:68,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:69,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:70,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:71,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:72,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:73,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:74,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: ddsc_waitset_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - create_unique_topic_name
    - dds_create_subscriber
    - dds_create_publisher
    - dds_create_reader
    - ddsc_waitset_basic_init
    - dds_create_writer
    - CU_ASSERT_GT_FATAL
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_waitset_basic_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ddsc_waitset_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - ddsc_waitset_basic_fini
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_waitset_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:86,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:94,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:99,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: ddsc_waitset_attached_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - ddsc_waitset_init
    - dds_set_status_mask
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_attached_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsc_waitset_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ddsc_waitset_attached_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - ddsc_waitset_fini
    linkageType: ''
    returnType: void
    signature: void ddsc_waitset_attached_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:155,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:156,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:157,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:158,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:159,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:160,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:161,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_create_participant
    - dds_delete
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_waitset_create, domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:170,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:171,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:172,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:173,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:174,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:175,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - dds_delete
    - dds_create_waitset
    - CU_ASSERT_GT_FATAL
    - dds_get_parent
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_waitset_create, cyclonedds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:667,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: cw_trig_write
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_write
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void cw_trig_write (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:673,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: cw_trig_waitset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_waitset_set_trigger
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void cw_trig_waitset (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_triggered
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:683,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:684,1
    - Dst: waiting_thread_start
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:687,1
    - Dst: trig
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:690,1
    - Dst: waiting_thread_expect_exit
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:691,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:692,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:695,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:696,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:699,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:700,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 702
    functionName: check_waitset_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_GT
    - waiting_thread_expect_exit
    - trig
    - dds_waitset_wait
    - dds_triggered
    - waiting_thread_start
    linkageType: ''
    returnType: void
    signature: void check_waitset_trigger (dds_entity_t e, void (*trig) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:736,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:738,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:738,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:739,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:740,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 743
    functionName: waiting_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_waitset_wait
    - ddsrt_atomic_st32
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t waiting_thread (void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:747,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:748,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:748,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - actual
    - expected
    - msec
    argTypes:
    - ddsrt_atomic_uint32_t*
    - thread_state_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: thread_reached_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_sleepfor
    - DDS_MSECS
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t thread_reached_state (ddsrt_atomic_uint32_t *actual, thread_state_t
      expected, int32_t msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:760,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:764,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:765,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:766,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:767,1
    - Dst: thread_reached_state
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:770,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:771,1
    - Dst: thread_reached_state
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:773,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - expected
    argTypes:
    - struct thread_arg_t*
    - dds_entity_t
    assertStmts:
    - condition: (arg)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    constantsTouched: []
    func_position:
      end: 776
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 776
    functionName: waiting_thread_start
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 1
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - assert
    - thread_reached_state
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    linkageType: ''
    returnType: void
    signature: void waiting_thread_start (struct thread_arg_t *arg, dds_entity_t expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thread_reached_state
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:780,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct thread_arg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: waiting_thread_expect_exit
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 1
    functionsReached:
    - ddsrt_thread_join
    - thread_reached_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t waiting_thread_expect_exit (struct thread_arg_t *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:790,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:791,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:792,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - e
    - vflags
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: listener_nop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_or32
    - dds_read_status
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void listener_nop (dds_entity_t e, void *vflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:802,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:803,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:805,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - e
    - vflags
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 807
    functionName: listener_take_expecting_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_return_loan
    - ddsrt_atomic_or32
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void listener_take_expecting_data (dds_entity_t e, void *vflags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:822,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:825,1
    - Dst: ddsrt_atomic_or32_ov
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:828,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset.c:830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 833
    functionName: listener_waitset_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    functionUses: 0
    functionsReached:
    - dds_time
    - ddsrt_atomic_or32_ov
    - dds_waitset_wait_until
    - ddsrt_atomic_or32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t listener_waitset_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: SAMPLE_IST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_IST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SAMPLE_VST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_VST(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: SAMPLE_SST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_SST(idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:63,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:69,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:71,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:72,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:74,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:74,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:75,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:78,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:79,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:80,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:83,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:84,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:85,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:88,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:89,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:91,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:92,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:94,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:95,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:96,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:99,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:100,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:101,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:102,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:103,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:103,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:104,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:105,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:106,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:107,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:110,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:119,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:124,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:125,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:130,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:134,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:135,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:140,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:141,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:152,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:157,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:158,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:162,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:163,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:167,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:168,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 173
    functionName: readcondition_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_unregister_instance
    - dds_create_waitset
    - dds_read
    - dds_create_qos
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - dds_set_status_mask
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - dds_waitset_detach
    - CU_ASSERT_GT_FATAL
    - dds_dispose
    - dds_write
    - dds_create_writer
    - dds_create_participant
    - memset
    - dds_delete_qos
    - dds_waitset_wait
    - SAMPLE_IST
    linkageType: ''
    returnType: void
    signature: void readcondition_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:177,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: readcondition_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - dds_delete
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void readcondition_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SAMPLE_SST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:336,1
    - Dst: SAMPLE_VST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:337,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:338,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:340,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:341,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:342,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:344,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:345,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:346,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - expected_long_1
    - s
    - si
    argTypes:
    - int
    - Space_Type1*
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: check_expected_long_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - SAMPLE_VST
    - SAMPLE_SST
    - CU_ASSERT_EQ_FATAL
    - SAMPLE_IST
    linkageType: ''
    returnType: void
    signature: void check_expected_long_1 (int expected_long_1, const Space_Type1
      *s, const dds_sample_info_t *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: X
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sst
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: sst_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: char
    signature: char *sst_str (uint32_t sst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - vst
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: vst_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: char
    signature: char *vst_str (uint32_t vst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ist
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: ist_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: char
    signature: char *ist_str (uint32_t ist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:455,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:456,1
    - Dst: op
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:460,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:461,1
    - Dst: sst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:462,1
    - Dst: vst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:462,1
    - Dst: ist_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:462,1
    - Dst: op_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:466,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:467,1
    - Dst: sst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:468,1
    - Dst: vst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:468,1
    - Dst: ist_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:468,1
    - Dst: sst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:469,1
    - Dst: vst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:470,1
    - Dst: ist_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:471,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:478,1
    - Dst: sst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:478,1
    - Dst: vst_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:478,1
    - Dst: ist_str
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:478,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:481,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:485,1
    - Dst: SAMPLE_SST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:485,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:486,1
    - Dst: SAMPLE_VST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:486,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:487,1
    - Dst: SAMPLE_IST
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:487,1
    - Dst: check_expected_long_1
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - opname
    - sst
    - vst
    - ist
    - mask
    - expn
    - exp
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 490
    functionName: readcondition_readtake
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ist_str
    - op
    - check_expected_long_1
    - tprintf
    - op_mask
    - SAMPLE_IST
    - SAMPLE_SST
    - SAMPLE_VST
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - vst_str
    - sst_str
    - dds_create_readcondition
    linkageType: ''
    returnType: void
    signature: "void readcondition_readtake (\n        const char *opname,\n        dds_return_t
      (*op) (dds_entity_t, void **, dds_sample_info_t *, size_t, uint32_t),\n        dds_return_t
      (*op_mask) (dds_entity_t, void **, dds_sample_info_t *, size_t, uint32_t, uint32_t),\n
      \       uint32_t sst, uint32_t vst, uint32_t ist, uint32_t mask, int expn, int
      exp[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readcondition_init
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:497,1
    - Dst: readcondition_readtake
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:498,1
    - Dst: readcondition_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - readcondition_readtake
    - readcondition_fini
    - readcondition_init
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_readcondition, read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readcondition_init
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:508,1
    - Dst: readcondition_readtake
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:509,1
    - Dst: readcondition_fini
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - readcondition_readtake
    - readcondition_fini
    - readcondition_init
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_readcondition, take)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:524,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:527,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:529,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: writethread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_write
    - ddsrt_atomic_or32
    - tprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t writethread (void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:537,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:540,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:541,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:544,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:546,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:547,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:548,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:548,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:549,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:550,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:551,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:552,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:554,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:555,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:558,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:562,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:563,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:564,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:566,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:567,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:568,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:569,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:571,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:574,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:574,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:576,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:579,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:580,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:584,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:585,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:589,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:590,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:598,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:599,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:602,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:602,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:602,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:609,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:610,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:612,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:613,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:613,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:615,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:616,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:616,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:618,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/readcondition.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 621
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    functionUses: 0
    functionsReached:
    - dds_take
    - DDS_SECS
    - dds_delete
    - dds_qset_reliability
    - DDSRT_ATOMIC_UINT32_INIT
    - dds_create_waitset
    - dds_create_qos
    - ddsrt_atomic_ld32
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - dds_waitset_attach
    - create_unique_topic_name
    - ddsrt_atomic_or32
    - dds_qset_writer_data_lifecycle
    - dds_create_reader
    - dds_triggered
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - dds_create_readcondition
    - ddsrt_thread_join
    - tprintf
    - ddsrt_threadattr_init
    - dds_create_writer
    - ddsrt_thread_create
    - ddsrt_random
    - dds_create_participant
    - dds_time
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsc_readcondition, stress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:47,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:48,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:49,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:50,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:51,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:52,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:54,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:55,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:57,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:58,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:59,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:60,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:62,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:63,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:65,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:66,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:68,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: whc_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - dds_create_domain
    - dds_create_participant
    - dds_free
    - dds_create_subscriber
    - dds_create_publisher
    - ddsrt_expand_envvars
    - dds_create_qos
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void whc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:74,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:75,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:76,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:77,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:78,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:79,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:80,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: whc_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    - dds_delete
    linkageType: ''
    returnType: void
    signature: void whc_fini (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:87,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:88,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:92,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:93,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:96,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - subscriber
    - topic
    - qos
    - writer
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: create_and_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - dds_get_publication_matched_status
    - CU_ASSERT_EQ_FATAL
    - dds_sleepfor
    - dds_create_reader
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_and_sync_reader(dds_entity_t subscriber, dds_entity_t
      topic, dds_qos_t *qos, dds_entity_t writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:105,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:105,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:106,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:106,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:107,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:108,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:109,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:110,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:110,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - writer
    - whcst
    argTypes:
    - dds_entity_t
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: get_writer_whc_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - CU_ASSERT_EQ_FATAL
    - dds_entity_unpin
    - ddsi_whc_get_state
    - dds_entity_pin
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void get_writer_whc_state (dds_entity_t writer, struct ddsi_whc_state
      *whcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_writer_whc_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:117,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:120,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:121,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - writer
    - exp_min
    - exp_max
    argTypes:
    - dds_entity_t
    - ddsi_seqno_t
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: check_intermediate_whc_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - get_writer_whc_state
    - CU_ASSERT_FATAL
    - tprintf
    linkageType: ''
    returnType: void
    signature: void check_intermediate_whc_state(dds_entity_t writer, ddsi_seqno_t
      exp_min, ddsi_seqno_t exp_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_writer_whc_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:128,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:130,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - writer
    - exp_min
    - exp_max
    argTypes:
    - dds_entity_t
    - ddsi_seqno_t
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: check_whc_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - get_writer_whc_state
    - CU_ASSERT_EQ_FATAL
    - tprintf
    linkageType: ''
    returnType: void
    signature: void check_whc_state(dds_entity_t writer, ddsi_seqno_t exp_min, ddsi_seqno_t
      exp_max)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:153,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:159,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:161,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:162,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:163,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:164,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:165,1
    - Dst: create_unique_topic_name
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:167,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:168,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:169,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:170,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:171,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:173,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:174,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:175,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:176,1
    - Dst: create_and_sync_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:178,1
    - Dst: create_and_sync_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:179,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:187,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:188,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:192,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:193,1
    - Dst: check_intermediate_whc_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:210,1
    - Dst: check_intermediate_whc_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:214,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:222,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:223,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:227,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:228,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:233,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:234,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:237,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:237,1
    - Dst: check_whc_state
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:243,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:245,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:246,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/whc.c:247,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 11
    argNames:
    - d
    - r
    - h
    - hd
    - dh
    - dhd
    - lrd
    - rrd
    - ni
    - k
    - dl
    argTypes:
    - dds_durability_kind_t
    - dds_reliability_kind_t
    - dds_history_kind_t
    - int32_t
    - dds_history_kind_t
    - int32_t
    - bool
    - bool
    - int32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 248
    functionName: test_whc_end_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached:
    - check_whc_state
    - dds_delete
    - dds_qset_deadline
    - dds_qset_reliability
    - dds_qset_history
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - create_unique_topic_name
    - check_intermediate_whc_state
    - dds_set_status_mask
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - dds_qset_durability_service
    - dds_write
    - dds_qset_durability
    - INT64_C
    - tprintf
    - dds_create_writer
    - dds_get_publication_matched_status
    - dds_sleepfor
    - create_and_sync_reader
    linkageType: ''
    returnType: void
    signature: "void test_whc_end_state(dds_durability_kind_t d, dds_reliability_kind_t
      r, dds_history_kind_t h, int32_t hd, dds_history_kind_t dh,\n    int32_t dhd,
      bool lrd, bool rrd, int32_t ni, bool k, bool dl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: ARRAY_LEN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_LEN(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:52,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prng
    argTypes:
    - ddsrt_prng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: init_prng
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - ddsrt_prng_init
    linkageType: ''
    returnType: void
    signature: void init_prng (ddsrt_prng_t *prng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:60,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:62,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - p_idx
    - p_handle
    - prng
    - elems
    - nelems
    argTypes:
    - uint32_t*
    - uint32_t*
    - ddsrt_prng_t*
    - ddsrt_atomic_uint32_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: choose_index
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_cas32
    - ddsrt_prng_random
    linkageType: ''
    returnType: void
    signature: void choose_index (uint32_t *p_idx, uint32_t *p_handle, ddsrt_prng_t
      *prng, ddsrt_atomic_uint32_t elems[], size_t nelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:77,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: pick_a_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t pick_a_subscriber (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:84,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: pick_a_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t pick_a_reader (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: index_to_counter_index
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_to_counter_index (uint32_t idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: init_prng
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:105,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:106,1
    - Dst: choose_index
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:109,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:115,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:117,1
    - Dst: pick_a_subscriber
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:120,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:122,1
    - Dst: pick_a_reader
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:124,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:126,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:131,1
    - Dst: index_to_counter_index
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:131,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:132,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:136,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:136,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:137,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:143,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:145,1
    - Dst: index_to_counter_index
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 149
    functionName: guardcond_create_delete_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - index_to_counter_index
    - fprintf
    - pick_a_subscriber
    - dds_delete
    - dds_create_guardcondition
    - choose_index
    - dds_create_subscriber
    - init_prng
    - dds_create_reader
    - ddsrt_atomic_st32
    - pick_a_reader
    - ddsrt_atomic_inc32
    - dds_strretcode
    - dds_create_readcondition
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t guardcond_create_delete_thread (void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_prng
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:155,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:156,1
    - Dst: choose_index
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:159,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:162,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:165,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:165,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:166,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:169,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:170,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:174,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: waitset_create_delete_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - fprintf
    - dds_delete
    - choose_index
    - init_prng
    - dds_create_waitset
    - ddsrt_atomic_st32
    - ddsrt_atomic_inc32
    - dds_strretcode
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t waitset_create_delete_thread (void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_prng
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:186,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:187,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:189,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:190,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:197,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:199,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:200,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: guardcond_trigger_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_set_guardcondition
    - ddsrt_atomic_cas32
    - init_prng
    - ddsrt_prng_random
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t guardcond_trigger_thread (void *varg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init_prng
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:212,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:213,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:215,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:216,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:220,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:221,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:226,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:229,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:235,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:235,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:242,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:245,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:249,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 256
    functionName: waitset_attach_detach_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - fprintf
    - dds_waitset_detach
    - dds_waitset_attach
    - s
    - ddsrt_prng_random
    - init_prng
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t waitset_attach_detach_thread (void *varg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:263,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:266,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:267,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:268,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:269,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:271,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:272,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:273,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:274,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:275,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:276,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:277,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:278,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:279,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:280,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:281,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:282,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:283,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:284,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:285,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:286,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:289,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:289,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:290,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:290,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:303,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:306,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:306,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:309,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:309,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:310,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:322,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:323,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:328,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:329,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:330,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:338,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:338,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:339,1
    - Dst: index_to_counter_index
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:339,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:343,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:343,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:344,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:348,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:349,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:350,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:351,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:352,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:353,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:355,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:360,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:362,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:362,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:364,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:367,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:368,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:369,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:370,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:371,1
    - Dst: CU_ASSERT_GEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:372,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:373,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:376,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:376,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:376,1
    - Dst: tprintf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:377,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:382,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:384,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:385,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:391,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:391,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:392,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:393,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:403,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c:404,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 405
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - fprintf
    - CU_ASSERT_GT
    - DDS_SECS
    - dds_delete
    - CU_ASSERT_GEQ
    - dds_get_parent
    - fflush
    - ddsrt_atomic_ld32
    - dds_create_topic
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_LEQ
    - DDS_MSECS
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_FATAL
    - index_to_counter_index
    - ddsrt_thread_join
    - dds_get_children
    - tprintf
    - printf
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - dds_strretcode
    - dds_create_participant
    - dds_time
    - ddsrt_atomic_st32
    - ddsrt_atomic_inc32
    - dds_waitset_wait
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsc_waitset, torture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:27,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:30,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - n
    argTypes:
    - dds_loan_pool_t*
    - uint32_t
    assertStmts:
    - condition: (n <= UINT32_MAX - pool->n_samples_cap)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: loan_pool_expand_cap
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t loan_pool_expand_cap (dds_loan_pool_t *pool, uint32_t
      n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:42,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:51,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:52,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ppool
    - initial_cap
    argTypes:
    - dds_loan_pool_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: dds_loan_pool_create
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_loan_pool_create (dds_loan_pool_t **ppool, uint32_t
      initial_cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:65,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:66,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:70,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:72,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - dds_loan_pool_t*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    - condition: (pool->samples[i] == NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: dds_loan_pool_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_loaned_sample_unref
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_loan_pool_free (dds_loan_pool_t *pool)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: loan_pool_expand_cap
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - loaned_sample
    argTypes:
    - dds_loan_pool_t*
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: dds_loan_pool_add_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - loan_pool_expand_cap
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_loan_pool_add_loan (dds_loan_pool_t *pool, dds_loaned_sample_t
      *loaned_sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pool
    - sample_ptr
    argTypes:
    - dds_loan_pool_t*
    - void*
    assertStmts:
    - condition: (pool->n_samples > 0)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: dds_loan_pool_find_and_remove_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_loan_pool_find_and_remove_loan (dds_loan_pool_t
      *pool, const void *sample_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - dds_loan_pool_t*
    assertStmts:
    - condition: (ls != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: dds_loan_pool_get_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_loan_pool_get_loan (dds_loan_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:128,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - dds_loaned_sample_t*
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (from->metadata->sample_size <= to->metadata->sample_size)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: dds_loaned_sample_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void dds_loaned_sample_copy (dds_loaned_sample_t *to, const dds_loaned_sample_t
      *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: dds_entity_deriver_dummy_interrupt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_dummy_interrupt (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: dds_entity_deriver_dummy_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_dummy_close (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: dds_entity_deriver_dummy_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_dummy_delete (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - struct dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: dds_entity_deriver_dummy_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_dummy_set_qos (struct dds_entity *e,
      const dds_qos_t *qos, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: dds_entity_deriver_dummy_validate_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_dummy_validate_status (uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: dds_entity_deriver_dummy_create_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_entity_deriver_dummy_create_statistics (const
      struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - s
    argTypes:
    - struct dds_entity*
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: dds_entity_deriver_dummy_refresh_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_dummy_refresh_statistics (const struct dds_entity
      *e, struct dds_statistics *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - status
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: dds_entity_deriver_dummy_invoke_cbs_for_pending_events
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_dummy_invoke_cbs_for_pending_events(struct
      dds_entity *e, uint32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: compare_instance_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_instance_handle (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:113,1
    - Dst: ddsi_builtintopic_is_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entity
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: entity_is_builtin_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsi_builtintopic_is_builtintopic
    - dds_entity_kind
    linkageType: ''
    returnType: bool
    signature: bool entity_is_builtin_topic (const struct dds_entity *entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_add_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: dds_entity_add_ref_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_handle_add_ref
    linkageType: ''
    returnType: void
    signature: void dds_entity_add_ref_locked (dds_entity *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:129,1
    - Dst: dds_delete_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:131,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: dds_entity_drop_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_delete_impl
    - assert
    - dds_handle_drop_ref
    linkageType: ''
    returnType: void
    signature: void dds_entity_drop_ref (dds_entity *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:139,1
    - Dst: dds_delete_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: dds_entity_unpin_and_drop_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_handle_unpin_and_drop_ref
    - assert
    - dds_delete_impl
    linkageType: ''
    returnType: void
    signature: void dds_entity_unpin_and_drop_ref (dds_entity *e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: entity_has_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: bool entity_has_status (const dds_entity *e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: entity_may_have_children
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: bool entity_may_have_children (const dds_entity *e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - kind
    argTypes:
    - dds_entity_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 221
    functionName: entity_kind_has_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: bool entity_kind_has_qos (dds_entity_kind_t kind)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:229,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:230,1
    - Dst: entity_kind_has_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:230,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:231,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:247,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:248,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:249,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:251,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:253,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:254,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:255,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:256,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:265,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:269,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:271,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:273,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:281,1
    - Dst: dds_inherit_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:282,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:283,1
    - Dst: dds_handle_register_special
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:288,1
    - Dst: dds_handle_create
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:295,1
    - Dst: entity_may_have_children
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 8
    argNames:
    - e
    - parent
    - kind
    - implicit
    - user_access
    - qos
    - listener
    - mask
    argTypes:
    - dds_entity*
    - dds_entity*
    - dds_entity_kind_t
    - bool
    - bool
    - dds_qos_t*
    - dds_listener_t*
    - status_mask_t
    assertStmts:
    - condition: ((kind == DDS_KIND_CYCLONEDDS) == (parent == NULL))
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (kind != DDS_KIND_READER || (mask & DDS_DATA_ON_READERS_STATUS) ==
        0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (kind == DDS_KIND_CYCLONEDDS)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (e)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (entity_kind_has_qos (kind) == (qos != NULL))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 301
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 301
    functionName: dds_entity_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_inherit_listener
    - entity_kind_has_qos
    - dds_merge_listener
    - dds_handle_register_special
    - dds_handle_create
    - assert
    - ddsrt_mutex_lock
    - entity_has_status
    - ddsrt_avl_init
    - entity_may_have_children
    - dds_reset_listener
    - ddsrt_atomic_st32
    - ddsrt_mutex_init
    - ddsrt_mutex_unlock
    - ddsrt_cond_init
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_entity_init (dds_entity *e, dds_entity *parent, dds_entity_kind_t
      kind, bool implicit, bool user_access, dds_qos_t *qos, const dds_listener_t
      *listener, status_mask_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_unpend
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: dds_entity_init_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_handle_unpend
    linkageType: ''
    returnType: void
    signature: void dds_entity_init_complete (dds_entity *entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:311,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:311,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:312,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:313,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:313,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:314,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - dds_entity*
    - dds_entity*
    assertStmts:
    - condition: (ddsrt_atomic_ldptr (&parent->m_hdllink.cnt_flags) & HDL_FLAG_ALLOW_CHILDREN)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (ddsrt_avl_lookup (&dds_entity_children_td, &parent->m_children,
        &child->m_iid) == NULL)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (child->m_iid != 0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: dds_entity_register_child
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_avl_lookup
    - dds_entity_add_ref_locked
    - ddsrt_atomic_ldptr
    - assert
    linkageType: ''
    returnType: void
    signature: void dds_entity_register_child (dds_entity *parent, dds_entity *child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:321,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:321,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - remaining_children
    - allowed_kinds
    - cursor
    argTypes:
    - ddsrt_avl_tree_t*
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: get_next_child
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_succ
    - ddsrt_avl_iter_next
    - dds_entity_kind
    linkageType: ''
    returnType: dds_entity
    signature: dds_entity *get_next_child (ddsrt_avl_tree_t *remaining_children, uint32_t
      allowed_kinds, uint64_t *cursor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:335,1
    - Dst: get_next_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:336,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:342,1
    - Dst: dds_delete_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:343,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:344,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:346,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:350,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:351,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - parent
    - allowed_kinds
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK || ret == DDS_RETCODE_BAD_PARAMETER)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 354
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 354
    functionName: delete_children
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_delete_impl
    - ddsrt_avl_lookup
    - get_next_child
    - assert
    - ddsrt_mutex_lock
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void delete_children (struct dds_entity *parent, uint32_t allowed_kinds)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - kind
    argTypes:
    - dds_entity_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: entity_kindstr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *entity_kindstr (dds_entity_kind_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:383,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:387,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:387,1
    - Dst: entity_kindstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:389,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:391,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - e
    - delstate
    - iid
    argTypes:
    - dds_entity*
    - enum delete_impl_state
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: print_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - entity_kindstr
    - ddsrt_atomic_ldptr
    - ddsrt_avl_is_empty
    - s
    - printf
    linkageType: ''
    returnType: void
    signature: void print_delete (const dds_entity *e, enum delete_impl_state delstate
      , dds_instance_handle_t iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: dds_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 217
    functionsReached:
    - dds_delete_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_delete (dds_entity_t entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:408,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:409,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:410,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:411,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: dds_entity_final_deinit_before_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - dds_delete_qos
    - ddsrt_cond_destroy
    linkageType: ''
    returnType: void
    signature: void dds_entity_final_deinit_before_free (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin_for_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:419,1
    - Dst: dds_delete_impl_pinned
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:420,1
    - Dst: print_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - entity
    - delstate
    argTypes:
    - dds_entity_t
    - enum delete_impl_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: dds_delete_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 4
    functionsReached:
    - dds_entity_pin_for_delete
    - print_delete
    - dds_delete_impl_pinned
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_delete_impl (dds_entity_t entity, enum delete_impl_state
      delstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:437,1
    - Dst: print_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:439,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:444,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:444,1
    - Dst: really_delete_pinned_closed_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - e
    - delstate
    argTypes:
    - dds_entity*
    - enum delete_impl_state
    assertStmts:
    - condition: (dds_handle_is_closed (&e->m_hdllink))
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: dds_delete_impl_pinned
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - dds_handle_is_closed
    - assert
    - ddsrt_mutex_lock
    - print_delete
    - really_delete_pinned_closed_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_delete_impl_pinned (dds_entity *e, enum delete_impl_state
      delstate)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:457,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:457,1
    - Dst: dds_entity_deriver_interrupt
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:462,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:463,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:468,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:470,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:471,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:472,1
    - Dst: dds_handle_close_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:475,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:479,1
    - Dst: dds_entity_observers_signal_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:487,1
    - Dst: dds_entity_deriver_close
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:489,1
    - Dst: dds_entity_observers_signal_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:490,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:509,1
    - Dst: delete_children
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:516,1
    - Dst: dds_handle_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:522,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:523,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:534,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:535,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:535,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:536,1
    - Dst: dds_handle_drop_childref_and_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:537,1
    - Dst: dds_handle_close
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:539,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:540,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:540,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:541,1
    - Dst: dds_handle_is_not_refd
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:541,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:542,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:542,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:546,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:547,1
    - Dst: dds_entity_deriver_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:551,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:564,1
    - Dst: dds_entity_final_deinit_before_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:569,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:570,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:573,1
    - Dst: dds_delete_impl_pinned
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - e
    - delstate
    argTypes:
    - struct dds_entity*
    - enum delete_impl_state
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (ddsrt_avl_lookup (&dds_entity_children_td, &p->m_children, &e->m_iid)
        != NULL)
      pos:
        line_end: 534
        line_start: 534
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (ddsrt_avl_is_empty (&p->m_children))
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (dds_handle_is_not_refd (&p->m_hdllink))
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (dds_handle_is_closed (&e->m_hdllink))
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (dds_handle_is_closed (&p->m_hdllink))
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 576
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 576
    functionName: really_delete_pinned_closed_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - dds_entity_unpin
    - dds_reset_listener
    - dds_handle_drop_childref_and_pin
    - dds_entity_deriver_close
    - dds_handle_is_not_refd
    - ddsrt_avl_lookup
    - dds_handle_is_closed
    - ddsrt_mutex_lock
    - delete_children
    - ddsrt_avl_delete
    - dds_entity_observers_signal_delete
    - dds_delete_impl_pinned
    - ddsrt_cond_broadcast
    - dds_handle_delete
    - dds_free
    - assert
    - dds_handle_close_wait
    - ddsrt_avl_is_empty
    - dds_handle_close
    - dds_entity_deriver_delete
    - dds_entity_final_deinit_before_free
    - dds_entity_deriver_interrupt
    - DDSRT_STATIC_ASSERT
    - dds_entity_kind
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t really_delete_pinned_closed_locked (struct dds_entity
      *e, enum delete_impl_state delstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - e
    - root
    argTypes:
    - dds_entity*
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: dds_entity_in_scope
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_entity_in_scope (const dds_entity *e, const dds_entity *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:590,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: dds_get_parent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 27
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_parent (dds_entity_t entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: dds_entity_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_entity_kind
    linkageType: ''
    returnType: dds_participant
    signature: dds_participant *dds_entity_participant (const dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:609,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: dds_entity_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_entity_participant
    - assert
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t *dds_entity_participant_guid (const dds_entity *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:618,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:622,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionName: dds_get_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 5
    functionsReached:
    - dds_entity_participant
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_participant (dds_entity_t entity)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:637,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:644,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:645,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:645,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:649,1
    - Dst: entity_is_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:653,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:659,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:662,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:663,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - entity
    - children
    - size
    argTypes:
    - dds_entity_t
    - dds_entity_t*
    - size_t
    assertStmts:
    - condition: (n <= INT32_MAX)
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 668
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 668
    functionName: dds_get_children
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 7
    functionsReached:
    - ddsrt_avl_iter_next
    - dds_entity_unpin
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - entity_is_builtin_topic
    - assert
    - dds_entity_pin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_children (dds_entity_t entity, dds_entity_t *children,
      size_t size)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - kind
    argTypes:
    - dds_entity_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 696
    functionName: entity_kind_qos_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t entity_kind_qos_mask (dds_entity_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_reset_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:703,1
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:704,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:705,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: dds_get_qos_builtin_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_reset_qos
    - ddsi_xqos_mergein_missing
    - dds_delete_qos
    - dds__create_builtin_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_qos_builtin_topic (dds_qos_t *qos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:718,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:720,1
    - Dst: dds_get_qos_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:721,1
    - Dst: dds_entity_supports_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:726,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:731,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:736,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:737,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:739,1
    - Dst: dds_reset_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:742,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:743,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - entity
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 748
    functionName: dds_get_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 15
    functionsReached:
    - dds_get_qos_builtin_topic
    - dds_entity_lock
    - dds_entity_participant
    - ddsrt_mutex_lock
    - dds_reset_qos
    - dds_entity_kind
    - dds__get_builtin_topic_name_typename
    - ddsi_xqos_mergein_missing
    - ddsrt_mutex_unlock
    - dds_entity_supports_set_qos
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_qos (dds_entity_t entity, dds_qos_t *qos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:758,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:759,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:760,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:761,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:772,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:801,1
    - Dst: dds_entity_deriver_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:802,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:806,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:812,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - e
    - e_qos_ptr
    - qos
    - mask
    - logcfg
    argTypes:
    - dds_entity*
    - dds_qos_t**
    - dds_qos_t*
    - uint64_t
    - struct ddsrt_log_cfg*
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 814
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 814
    functionName: dds_set_qos_locked_raw
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_delta
    - ddsi_xqos_valid
    - assert
    - dds_entity_deriver_set_qos
    - dds_delete_qos
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_qos_locked_raw (dds_entity *e, dds_qos_t **e_qos_ptr,
      const dds_qos_t *qos, uint64_t mask, const struct ddsrt_log_cfg *logcfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:819,1
    - Dst: dds_set_qos_locked_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:822,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:832,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:834,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:837,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:839,1
    - Dst: dds_set_qos_locked_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:841,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - e
    - qos
    - mask
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - uint64_t
    assertStmts:
    - condition: (e->m_flags & DDS_ENTITY_ENABLED)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 845
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 845
    functionName: dds_set_qos_locked_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - dds_entity_participant
    - assert
    - ddsrt_mutex_lock
    - dds_entity_kind
    - ddsrt_cond_wait
    - dds_set_qos_locked_raw
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_qos_locked_impl (dds_entity *e, const dds_qos_t
      *qos, uint64_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:852,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:853,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:857,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:859,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:860,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:860,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:860,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:863,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:865,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:866,1
    - Dst: dds_set_qos_locked_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:867,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:868,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:869,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (x == c)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (dds_entity_kind (c) == DDS_KIND_READER || dds_entity_kind (c) ==
        DDS_KIND_WRITER)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 873
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 873
    functionName: pushdown_pubsub_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - dds_set_qos_locked_impl
    - assert
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_entity_pin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void pushdown_pubsub_qos (dds_entity *e)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:879,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:902,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:903,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:904,1
    - Dst: dds_set_qos_locked_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:905,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:906,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:907,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:913,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:914,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:918,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:920,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:922,1
    - Dst: pushdown_topic_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:923,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:924,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:925,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - e
    - ktp
    argTypes:
    - dds_entity*
    - struct dds_ktopic*
    assertStmts:
    - condition: (x == c)
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 932
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 932
    functionName: pushdown_topic_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - dds_entity_participant
    - dds_set_qos_locked_impl
    - ddsrt_mutex_lock
    - assert
    - dds_entity_kind
    - dds_entity_pin
    - pushdown_topic_qos
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void pushdown_topic_qos (dds_entity *e, struct dds_ktopic *ktp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:940,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:943,1
    - Dst: dds_entity_supports_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:944,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:946,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:950,1
    - Dst: dds_set_qos_locked_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:951,1
    - Dst: entity_kind_qos_mask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:951,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:952,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:955,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:959,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:963,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:963,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:964,1
    - Dst: pushdown_topic_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:967,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:968,1
    - Dst: pushdown_pubsub_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:974,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - entity
    - qos
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    assertStmts:
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_PARTICIPANT)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 984
      start: 934
    functionDepth: 4
    functionLinenumber: 934
    functionLinenumberEnd: 984
    functionName: dds_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 6
    functionsReached:
    - entity_kind_qos_mask
    - dds_entity_unpin
    - dds_set_qos_locked_impl
    - ddsrt_mutex_lock
    - assert
    - dds_entity_kind
    - dds_entity_pin
    - pushdown_pubsub_qos
    - pushdown_topic_qos
    - ddsrt_mutex_unlock
    - dds_entity_supports_set_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_qos (dds_entity_t entity, const dds_qos_t *qos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:992,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:996,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:997,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:998,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - entity
    - listener
    argTypes:
    - dds_entity_t
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1002
    functionName: dds_get_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached:
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_pin
    - dds_copy_listener
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_listener (dds_entity_t entity, dds_listener_t
      *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1009,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1010,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1014,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1016,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1018,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1020,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1023,1
    - Dst: dds_override_inherited_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1024,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1025,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1027,1
    - Dst: dds_entity_deriver_invoke_cbs_for_pending_events
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1029,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1032,1
    - Dst: pushdown_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1034,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1036,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1037,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1041
    functionName: pushdown_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - pushdown_listener
    - dds_entity_pin
    - ddsrt_cond_wait
    - dds_entity_deriver_invoke_cbs_for_pending_events
    - ddsrt_mutex_unlock
    - dds_override_inherited_listener
    linkageType: ''
    returnType: void
    signature: void pushdown_listener (dds_entity *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1050,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1053,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1055,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1060,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1062,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1065,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1069,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1072,1
    - Dst: dds_inherit_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1073,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1074,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1077,1
    - Dst: pushdown_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1078,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1080,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1083,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1085,1
    - Dst: dds_entity_deriver_invoke_cbs_for_pending_events
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1087,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1091,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1092,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - entity
    - listener
    argTypes:
    - dds_entity_t
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1096
    functionName: dds_set_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 9
    functionsReached:
    - dds_inherit_listener
    - ddsrt_atomic_ld32
    - dds_merge_listener
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - ddsrt_cond_broadcast
    - dds_entity_pin
    - dds_reset_listener
    - ddsrt_cond_wait
    - dds_entity_deriver_invoke_cbs_for_pending_events
    - ddsrt_mutex_unlock
    - pushdown_listener
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_listener (dds_entity_t entity, const dds_listener_t
      *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1103,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1110,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1114
    functionName: dds_enable
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - DDS_CERROR
    - dds_entity_unlock
    - dds_entity_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_enable (dds_entity_t entity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1124,1
    - Dst: dds_entity_supports_validate_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1127,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1131,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1131,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1132,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1134,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - entity
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t*
    assertStmts:
    - condition: (entity_has_status (e))
      pos:
        line_end: 1130
        line_start: 1130
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1140
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1140
    functionName: dds_get_status_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_entity_unpin
    - assert
    - entity_has_status
    - dds_entity_kind
    - dds_entity_pin
    - dds_entity_supports_validate_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_status_mask (dds_entity_t entity, uint32_t *mask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1151,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1154,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1156,1
    - Dst: dds_entity_deriver_validate_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1160,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1162,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1162,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1163,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1165,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1168,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1172,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1173,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1173,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1175,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1176,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1177,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - entity
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t
    assertStmts:
    - condition: (entity_has_status (e))
      pos:
        line_end: 1161
        line_start: 1161
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (!(old & DDS_DATA_ON_READERS_STATUS) || dds_entity_kind (e) != DDS_KIND_READER)
      pos:
        line_end: 1172
        line_start: 1172
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1181
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1181
    functionName: dds_set_status_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 46
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_mutex_unlock
    - dds_entity_lock
    - dds_handle_is_closed
    - assert
    - ddsrt_mutex_lock
    - entity_has_status
    - dds_entity_kind
    - ddsrt_atomic_cas32
    - dds_entity_deriver_validate_status
    - dds_entity_observers_signal
    - ddsrt_cond_wait
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_status_mask (dds_entity_t entity, uint32_t mask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1193,1
    - Dst: dds_entity_deriver_validate_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1196,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1199,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1199,1
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1203,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1205,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1208,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1211,1
    - Dst: dds_subscriber_compute_data_on_readers_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1214,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1219,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - entity
    - status
    - mask
    - reset
    argTypes:
    - dds_entity_t
    - uint32_t*
    - uint32_t
    - bool
    assertStmts:
    - condition: (entity_has_status (e))
      pos:
        line_end: 1198
        line_start: 1198
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1226
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1226
    functionName: dds_readtake_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_entity_lock
    - assert
    - ddsrt_mutex_lock
    - entity_has_status
    - ddsrt_atomic_and32_ov
    - dds_entity_kind
    - dds_entity_deriver_validate_status
    - ddsrt_mutex_unlock
    - dds_subscriber_compute_data_on_readers_locked
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_readtake_status (dds_entity_t entity, uint32_t *status,
      uint32_t mask, bool reset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_readtake_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - entity
    - status
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: dds_read_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 5
    functionsReached:
    - dds_readtake_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_status (dds_entity_t entity, uint32_t *status,
      uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_readtake_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - entity
    - status
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: dds_take_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 11
    functionsReached:
    - dds_readtake_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_status (dds_entity_t entity, uint32_t *status,
      uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entity
    - status
    argTypes:
    - dds_entity_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1241
    functionName: dds_get_status_changes
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 5
    functionsReached:
    - dds_read_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_status_changes (dds_entity_t entity, uint32_t
      *status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1251,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - entity
    - id
    argTypes:
    - dds_entity_t
    - dds_domainid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1257
    functionName: dds_get_domainid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 22
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_domainid (dds_entity_t entity, dds_domainid_t
      *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1267,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - entity
    - ihdl
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1272
    functionName: dds_get_instance_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 7
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_instance_handle (dds_entity_t entity, dds_instance_handle_t
      *ihdl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1282,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1284,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1290,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - entity
    - guid
    argTypes:
    - dds_entity_t
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1299
    functionName: dds_get_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 7
    functionsReached:
    - dds_guid_from_ddsi_guid
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_guid (dds_entity_t entity, dds_guid_t *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_pin_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1305,1
    - Dst: dds_entity_from_handle_link
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hdl
    - from_user
    - eptr
    argTypes:
    - dds_entity_t
    - bool
    - dds_entity**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1312
    functionName: dds_entity_pin_with_origin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_handle_pin_with_origin
    - dds_entity_from_handle_link
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_pin_with_origin (dds_entity_t hdl, bool from_user,
      dds_entity **eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdl
    - eptr
    argTypes:
    - dds_entity_t
    - dds_entity**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1317
    functionName: dds_entity_pin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 44
    functionsReached:
    - dds_entity_pin_with_origin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_pin (dds_entity_t hdl, dds_entity **eptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_pin_for_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1323,1
    - Dst: dds_entity_from_handle_link
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hdl
    - explicit
    - from_user
    - eptr
    argTypes:
    - dds_entity_t
    - bool
    - bool
    - dds_entity**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1330
    functionName: dds_entity_pin_for_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - dds_entity_from_handle_link
    - dds_handle_pin_for_delete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_pin_for_delete (dds_entity_t hdl, bool explicit,
      bool from_user, dds_entity **eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1335
    functionName: dds_entity_unpin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 45
    functionsReached:
    - dds_handle_unpin
    linkageType: ''
    returnType: void
    signature: void dds_entity_unpin (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1341,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1345,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1347,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - hdl
    - kind
    - eptr
    argTypes:
    - dds_entity_t
    - dds_entity_kind_t
    - dds_entity**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1355
    functionName: dds_entity_lock
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 4
    functionsReached:
    - ddsrt_mutex_lock
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_lock (dds_entity_t hdl, dds_entity_kind_t kind,
      dds_entity **eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1359,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    functionName: dds_entity_unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 4
    functionsReached:
    - dds_entity_unpin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_entity_unlock (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1368,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1370,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1371,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1374,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1363
    functionDepth: 4
    functionLinenumber: 1363
    functionLinenumberEnd: 1379
    functionName: dds_triggered
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_ld32
    - entity_has_status
    - dds_entity_unlock
    - dds_entity_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_triggered (dds_entity_t entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - observed
    - observer
    argTypes:
    - struct dds_entity*
    - dds_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1388
    functionName: in_observer_list_p
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool in_observer_list_p (const struct dds_entity *observed, const dds_waitset
      *observer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1393,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1394,1
    - Dst: in_observer_list_p
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1395,1
    - Dst: attach_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1397,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1401,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - observed
    - observer
    - cb
    - attach_cb
    - attach_arg
    - delete_cb
    argTypes:
    - dds_entity*
    - dds_waitset*
    - dds_entity_callback_t
    - dds_entity_attach_callback_t
    - void*
    - dds_entity_delete_callback_t
    assertStmts:
    - condition: (observed)
      pos:
        line_end: 1392
        line_start: 1392
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1411
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1411
    functionName: dds_entity_observer_register
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - attach_cb
    - ddsrt_mutex_lock
    - assert
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    - in_observer_list_p
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_observer_register (dds_entity *observed, dds_waitset
      *observer, dds_entity_callback_t cb, dds_entity_attach_callback_t attach_cb,
      void *attach_arg, dds_entity_delete_callback_t delete_cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1418,1
    - Dst: m_delete_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1435,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1436,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - observed
    - observer
    - invoke_delete_cb
    argTypes:
    - dds_entity*
    - dds_waitset*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1441
    functionName: dds_entity_observer_unregister
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - m_delete_cb
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_observer_unregister (dds_entity *observed,
      dds_waitset *observer, bool invoke_delete_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_observer*::m_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - observed
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1447
    functionName: dds_entity_observers_signal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - dds_entity_observer*::m_cb
    linkageType: ''
    returnType: void
    signature: void dds_entity_observers_signal (dds_entity *observed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_observer*::m_delete_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1456,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - observed
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1461
    functionName: dds_entity_observers_signal_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - dds_entity_observer*::m_delete_cb
    linkageType: ''
    returnType: void
    signature: void dds_entity_observers_signal_delete (dds_entity *observed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1465,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1466,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1468
    functionName: dds_entity_status_signal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_entity_observers_signal
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_entity_status_signal (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1473,1
    - Dst: entity_has_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1473,1
    - Dst: ddsrt_atomic_or32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e
    - status
    argTypes:
    - dds_entity*
    - status_mask_t
    assertStmts:
    - condition: (entity_has_status (e))
      pos:
        line_end: 1472
        line_start: 1472
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1481
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1481
    functionName: dds_entity_status_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - assert
    - entity_has_status
    - ddsrt_atomic_or32_ov
    linkageType: ''
    returnType: bool
    signature: bool dds_entity_status_set (dds_entity *e, status_mask_t status)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1489,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1491,1
    - Dst: dds__get_builtin_topic_pseudo_handle_from_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1495,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1501,1
    - Dst: dds__get_builtin_topic_pseudo_handle_from_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1501,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1507,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1507,1
    - Dst: dds__get_builtin_topic_pseudo_handle_from_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1509,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (dds__get_builtin_topic_pseudo_handle_from_typename (wr->m_wr->type->type_name)
        < 0)
      pos:
        line_end: 1500
        line_start: 1500
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_READER)
      pos:
        line_end: 1506
        line_start: 1506
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1520
      start: 1483
    functionDepth: 4
    functionLinenumber: 1483
    functionLinenumberEnd: 1520
    functionName: dds_get_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 2
    functionsReached:
    - dds_entity_lock
    - dds__get_builtin_topic_pseudo_handle_from_typename
    - assert
    - dds_entity_kind
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_topic (dds_entity_t entity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1526,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1530,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - nkinds
    - kinds
    argTypes:
    - dds_entity_t
    - size_t
    - dds_entity_kind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1544
    functionName: dds_generic_unimplemented_operation_manykinds
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_generic_unimplemented_operation_manykinds (dds_entity_t
      handle, size_t nkinds, const dds_entity_kind_t *kinds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation_manykinds
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - kind
    argTypes:
    - dds_entity_t
    - dds_entity_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1546
    functionDepth: 4
    functionLinenumber: 1546
    functionLinenumberEnd: 1549
    functionName: dds_generic_unimplemented_operation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_generic_unimplemented_operation_manykinds
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_generic_unimplemented_operation (dds_entity_t handle,
      dds_entity_kind_t kind)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1556,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1558,1
    - Dst: ddsi_write_pmd_message_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1561,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1565,1
    - Dst: ddsi_write_hb_liveliness
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1567,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1569,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1551
    functionDepth: 4
    functionLinenumber: 1551
    functionLinenumberEnd: 1579
    functionName: dds_assert_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 2
    functionsReached:
    - dds_entity_unpin
    - dds_entity_lock
    - dds_entity_kind
    - dds_entity_pin
    - ddsi_write_hb_liveliness
    - ddsi_write_pmd_message_guid
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_assert_liveliness (dds_entity_t entity)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1589,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1592,1
    - Dst: dds_request_writer_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1596,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - entity
    - sample
    argTypes:
    - dds_entity_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1581
    functionDepth: 3
    functionLinenumber: 1581
    functionLinenumberEnd: 1617
    functionName: dds_request_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 9
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    - dds_request_writer_loan
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_request_loan (dds_entity_t entity, void **sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - sample
    argTypes:
    - dds_entity_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1619
    functionDepth: 4
    functionLinenumber: 1619
    functionLinenumberEnd: 1622
    functionName: dds_loan_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 0
    functionsReached:
    - dds_request_loan
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_loan_sample (dds_entity_t writer, void **sample)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1641,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1644,1
    - Dst: dds_return_reader_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1648,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1655,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1655,1
    - Dst: dds_return_reader_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1656,1
    - Dst: dds_return_writer_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1661,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - entity
    - buf
    - bufsz
    argTypes:
    - dds_entity_t
    - void**
    - int32_t
    assertStmts:
    - condition: (dds_entity_kind (&rd->m_entity) == DDS_KIND_READER)
      pos:
        line_end: 1654
        line_start: 1654
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1679
      start: 1624
    functionDepth: 3
    functionLinenumber: 1624
    functionLinenumberEnd: 1679
    functionName: dds_return_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 26
    functionsReached:
    - dds_return_writer_loan
    - dds_entity_unpin
    - assert
    - dds_entity_kind
    - dds_entity_pin
    - dds_return_reader_loan
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_return_loan (dds_entity_t entity, void **buf, int32_t
      bufsz)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1690,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1692,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1696,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1702,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1708,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - entity
    - type_info
    argTypes:
    - dds_entity_t
    - dds_typeinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1683
    functionDepth: 3
    functionLinenumber: 1683
    functionLinenumberEnd: 1718
    functionName: dds_get_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached:
    - ddsi_sertype_typeinfo
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_typeinfo (dds_entity_t entity, dds_typeinfo_t
      **type_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1724,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type_info
    argTypes:
    - dds_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1727
    functionName: dds_free_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 5
    functionsReached:
    - dds_free
    - ddsi_typeinfo_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_free_typeinfo (dds_typeinfo_t *type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - entity
    - type_info
    argTypes:
    - dds_entity_t
    - dds_typeinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1736
    functionName: dds_get_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_typeinfo (dds_entity_t entity, dds_typeinfo_t
      **type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_info
    argTypes:
    - dds_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: dds_free_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_free_typeinfo (dds_typeinfo_t *type_info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1754,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1756,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - entity
    - sertype
    argTypes:
    - dds_entity_t
    - struct ddsi_sertype**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1779
    functionName: dds_get_entity_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_entity_sertype (dds_entity_t entity, const struct
      ddsi_sertype **sertype)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1786,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1787,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1791,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1793,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1794,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1795,1
    - Dst: dds_write_flush_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1798,1
    - Dst: pushdown_write_flush
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1803,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1808,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1809,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (x == c)
      pos:
        line_end: 1792
        line_start: 1792
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    constantsTouched: []
    func_position:
      end: 1813
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1813
    functionName: pushdown_write_flush
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - assert
    - ddsrt_mutex_lock
    - dds_entity_kind
    - pushdown_write_flush
    - dds_entity_pin
    - dds_write_flush_impl
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void pushdown_write_flush (dds_entity *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1819,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1821,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1822,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1823,1
    - Dst: dds_write_flush_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1826,1
    - Dst: pushdown_write_flush
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1831,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1837,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_entity.c:1838,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1815
    functionDepth: 4
    functionLinenumber: 1815
    functionLinenumberEnd: 1840
    functionName: dds_write_flush
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
    functionUses: 3
    functionsReached:
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - pushdown_write_flush
    - dds_entity_kind
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - dds_write_flush_impl
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write_flush (dds_entity_t entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: SYSDEF_TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYSDEF_TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: SYSDEF_ERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYSDEF_ERROR(...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c:27,1
    - Dst: dds_create_readcond_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c:29,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c:31,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c:37,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - reader
    - mask
    - filter
    argTypes:
    - dds_entity_t
    - uint32_t
    - dds_querycondition_filter_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: dds_create_querycondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c
    functionUses: 8
    functionsReached:
    - dds_entity_init_complete
    - dds_reader_unlock
    - dds_create_readcond_impl
    - dds_reader_lock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_querycondition (dds_entity_t reader, uint32_t
      mask, dds_querycondition_filter_fn filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:39,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:40,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:41,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:42,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:42,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:43,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:44,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: dds__create_builtin_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - dds_qset_presentation
    - dds_qset_durability
    - dds_qset_reliability
    - DDS_MSECS
    - ddsi_xqos_mergein_missing
    - dds_qset_data_representation
    - dds_create_qos
    - dds_qset_partition
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t *dds__create_builtin_qos (void)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:65,1
    - Dst: for
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:93,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:95,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:95,1
    - Dst: dds__get_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:101,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:108,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:110,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:112,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:136,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:137,1
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:141,1
    - Dst: dds_create_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:142,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:146,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:148,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:149,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:189,1
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:201,1
    - Dst: qos_has_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:201,1
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:203,1
    - Dst: qos_has_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:203,1
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:205,1
    - Dst: qos_has_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:205,1
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:212,1
    - Dst: dds__create_subscriber_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:213,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:214,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:225,1
    - Dst: dds_participant_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:227,1
    - Dst: dds__create_builtin_subscriber
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:231,1
    - Dst: dds_participant_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:234,1
    - Dst: ddsi_is_builtin_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:247,1
    - Dst: ddsi_is_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:247,1
    - Dst: dds_serdata_builtin_from_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:259,1
    - Dst: ddsi_tkmap_find
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:260,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:261,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:288,1
    - Dst: dds_serdata_builtin_from_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:289,1
    - Dst: dds_serdata_builtin_from_topic_definition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:301,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:310,1
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:311,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:312,1
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:318,1
    - Dst: dds__builtin_is_visible
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:326,1
    - Dst: ddsi_get_entity_vendorid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:326,1
    - Dst: dds__builtin_make_sample_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:331,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:347,1
    - Dst: dds_writecdr_local_orphan_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:350,1
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:359,1
    - Dst: dds_writecdr_local_orphan_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:360,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:366,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:368,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:370,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:371,1
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:376,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:389,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:390,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:392,1
    - Dst: dds_new_sertype_builtintopic_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:393,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:395,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:396,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:397,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:398,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:400,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:401,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:403,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:405,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:406,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:407,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:409,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:409,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:417,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:417,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:419,1
    - Dst: unref_builtin_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:424,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:430,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:430,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:431,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:433,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:435,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:436,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:437,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:437,1
    - Dst: unref_builtin_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:438,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 200
    argCount: 3
    argNames:
    - pseudo_handle
    - name
    - typename
    argTypes:
    - dds_entity_t
    - char**
    - char**
    assertStmts:
    - condition: (0)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    - condition: (type != NULL)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    - condition: (0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    - condition: (e->tk != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    constantsTouched: []
    func_position:
      end: 439
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 439
    functionName: dds__get_builtin_topic_name_typename
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 2
    functionsReached:
    - dds_entity_unpin
    - ddsi_get_entity_vendorid
    - ddsi_sertype_unref
    - dds_writecdr_local_orphan_impl
    - ddsi_qos_match_mask_p
    - dds__create_subscriber_l
    - dds__builtin_make_sample_topic_impl
    - if
    - dds_create_topic_impl
    - dds_builtintopic_whc_new
    - qos_has_resource_limits
    - dds__builtin_is_visible
    - unref_builtin_types
    - abort
    - dds_new_sertype_builtintopic
    - dds_new_sertype_builtintopic_topic
    - dds_entity_participant
    - ddsrt_mutex_lock
    - dds_participant_unlock
    - dds__builtin_make_sample_endpoint
    - ddsi_new_local_orphan_writer
    - dds_entity_pin
    - ddsi_sertype_register_locked
    - ddsi_thread_state_asleep
    - dds__create_builtin_qos
    - ddsrt_mutex_unlock
    - ddsi_thread_state_awake
    - dds__get_builtin_topic
    - ddsi_serdata_unref
    - dds_serdata_builtin_from_endpoint
    - ddsi_delete_local_orphan_writer
    - assert
    - strcmp
    - ddsi_sertype_ref
    - dds__create_builtin_subscriber
    - ddsi_is_builtin_endpoint
    - ddsi_is_builtin_topic
    - dds__get_builtin_topic_name_typename
    - dds_serdata_builtin_from_topic_definition
    - dds_participant_lock
    - for
    - ddsi_lookup_thread_state
    - DDSRT_STATIC_ASSERT
    - ddsi_tkmap_find
    - dds_delete_qos
    - ddsi_to_entityid
    - dds_get_participant
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds__get_builtin_topic_name_typename (dds_entity_t pseudo_handle,
      const char **name, const char **typename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:212,1
    - Dst: dds__create_subscriber_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:213,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - participant
    argTypes:
    - dds_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: dds__create_builtin_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - dds_delete_qos
    - dds__create_subscriber_l
    - dds__create_builtin_qos
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds__create_builtin_subscriber (dds_participant *participant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:225,1
    - Dst: dds_participant_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:227,1
    - Dst: dds__create_builtin_subscriber
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:231,1
    - Dst: dds_participant_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: dds__get_builtin_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - dds_participant_lock
    - dds_participant_unlock
    - dds_get_participant
    - dds__create_builtin_subscriber
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds__get_builtin_subscriber (dds_entity_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tp
    - vdomain
    argTypes:
    - struct ddsi_sertype*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: dds__builtin_is_builtintopic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds__builtin_is_builtintopic (const struct ddsi_sertype *tp, void
      *vdomain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:247,1
    - Dst: ddsi_is_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - guid
    - vendorid
    - vdomain
    argTypes:
    - ddsi_guid_t*
    - ddsi_vendorid_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: dds__builtin_is_visible
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - ddsi_is_builtin_endpoint
    - ddsi_is_builtin_topic
    linkageType: ''
    returnType: bool
    signature: bool dds__builtin_is_visible (const ddsi_guid_t *guid, ddsi_vendorid_t
      vendorid, void *vdomain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_serdata_builtin_from_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:259,1
    - Dst: ddsi_tkmap_find
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:260,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - guid
    - vdomain
    argTypes:
    - struct ddsi_guid*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: dds__builtin_get_tkmap_entry
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - dds_serdata_builtin_from_endpoint
    - ddsi_tkmap_find
    - ddsi_serdata_unref
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *dds__builtin_get_tkmap_entry (const struct
      ddsi_guid *guid, void *vdomain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:288,1
    - Dst: dds_serdata_builtin_from_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - e
    - timestamp
    - alive
    argTypes:
    - struct ddsi_entity_common*
    - ddsrt_wctime_t
    - bool
    assertStmts:
    - condition: (type != NULL)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    constantsTouched: []
    func_position:
      end: 293
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 293
    functionName: dds__builtin_make_sample_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - dds_serdata_builtin_from_endpoint
    - assert
    - abort
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds__builtin_make_sample_endpoint (const struct
      ddsi_entity_common *e, ddsrt_wctime_t timestamp, bool alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_serdata_builtin_from_topic_definition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tpd
    - timestamp
    - alive
    argTypes:
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: dds__builtin_make_sample_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - dds_serdata_builtin_from_topic_definition
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds__builtin_make_sample_topic_impl (const struct
      ddsi_topic_definition *tpd, ddsrt_wctime_t timestamp, bool alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:310,1
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:311,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - e
    - timestamp
    - alive
    argTypes:
    - struct ddsi_entity_common*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: dds__builtin_make_sample_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - dds__builtin_make_sample_topic_impl
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds__builtin_make_sample_topic (const struct ddsi_entity_common
      *e, ddsrt_wctime_t timestamp, bool alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proxytp
    - timestamp
    - alive
    argTypes:
    - struct ddsi_proxy_topic*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: dds__builtin_make_sample_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - dds__builtin_make_sample_topic_impl
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds__builtin_make_sample_proxy_topic (const struct
      ddsi_proxy_topic *proxytp, ddsrt_wctime_t timestamp, bool alive)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds__builtin_is_visible
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:326,1
    - Dst: ddsi_get_entity_vendorid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:326,1
    - Dst: dds__builtin_make_sample_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:331,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:347,1
    - Dst: dds_writecdr_local_orphan_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - e
    - timestamp
    - alive
    - vdomain
    argTypes:
    - struct ddsi_entity_common*
    - ddsrt_wctime_t
    - bool
    - void*
    assertStmts:
    - condition: (e->tk != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    constantsTouched: []
    func_position:
      end: 352
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 352
    functionName: dds__builtin_write_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - ddsi_get_entity_vendorid
    - dds_writecdr_local_orphan_impl
    - assert
    - dds__builtin_make_sample_endpoint
    - dds__builtin_is_visible
    - abort
    linkageType: ''
    returnType: void
    signature: void dds__builtin_write_endpoint (const struct ddsi_entity_common *e,
      ddsrt_wctime_t timestamp, bool alive, void *vdomain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds__builtin_make_sample_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:359,1
    - Dst: dds_writecdr_local_orphan_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tpd
    - timestamp
    - alive
    - vdomain
    argTypes:
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: dds__builtin_write_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - dds_writecdr_local_orphan_impl
    - dds__builtin_make_sample_topic_impl
    linkageType: ''
    returnType: void
    signature: void dds__builtin_write_topic (const struct ddsi_topic_definition *tpd,
      ddsrt_wctime_t timestamp, bool alive, void *vdomain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:366,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:368,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:370,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dom
    argTypes:
    - struct dds_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: unref_builtin_types
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_unref
    linkageType: ''
    returnType: void
    signature: void unref_builtin_types (struct dds_domain *dom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds__create_builtin_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:376,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:389,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:390,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:392,1
    - Dst: dds_new_sertype_builtintopic_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:393,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:395,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:396,1
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:397,1
    - Dst: dds_new_sertype_builtintopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:398,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:400,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:401,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:403,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:405,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:406,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:407,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:409,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:409,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:411,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:413,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:415,1
    - Dst: ddsi_new_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: dds_builtintopic_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:416,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:417,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:417,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:419,1
    - Dst: unref_builtin_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - dom
    argTypes:
    - struct dds_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 425
    functionName: dds__builtin_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - dds_new_sertype_builtintopic
    - ddsi_thread_state_awake
    - dds_new_sertype_builtintopic_topic
    - ddsrt_mutex_lock
    - ddsi_new_local_orphan_writer
    - dds_delete_qos
    - ddsi_sertype_register_locked
    - ddsi_thread_state_asleep
    - dds__get_builtin_topic_name_typename
    - dds__create_builtin_qos
    - dds_builtintopic_whc_new
    - unref_builtin_types
    - ddsi_to_entityid
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds__builtin_init (struct dds_domain *dom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:430,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:430,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:431,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:433,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:435,1
    - Dst: ddsi_delete_local_orphan_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:436,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:437,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:437,1
    - Dst: unref_builtin_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dom
    argTypes:
    - struct dds_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: dds__builtin_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_delete_local_orphan_writer
    - ddsi_thread_state_asleep
    - unref_builtin_types
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void dds__builtin_fini (struct dds_domain *dom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - arg
    - ptrs
    - infos
    - loan_pool
    - heap_loan_cache
    argTypes:
    - struct dds_read_collect_sample_arg*
    - void**
    - dds_sample_info_t*
    - struct dds_loan_pool*
    - struct dds_loan_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: dds_read_collect_sample_arg_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_read_collect_sample_arg_init (struct dds_read_collect_sample_arg
      *arg, void **ptrs, dds_sample_info_t *infos, struct dds_loan_pool *loan_pool,
      struct dds_loan_pool *heap_loan_cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:44,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:50,1
    - Dst: ddsi_sertype_zero_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:51,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - varg
    - si
    - st
    - sd
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: dds_read_collect_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_untyped_to_sample
    - ddsi_sertype_free_sample
    - ddsi_sertype_zero_sample
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_collect_sample (void *varg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *sd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_loan_pool_add_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:66,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:68,1
    - Dst: dds_loaned_sample_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - si
    - sd
    argTypes:
    - struct dds_read_collect_sample_arg*
    - dds_sample_info_t*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ret < 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: dds_read_collect_sample_loan_zerocopy
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_loan_pool_add_loan
    - assert
    - dds_loaned_sample_ref
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_collect_sample_loan_zerocopy (struct dds_read_collect_sample_arg
      *arg, const dds_sample_info_t *si, struct ddsi_serdata *sd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_collect_sample_loan_zerocopy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:86,1
    - Dst: dds_loan_pool_get_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:91,1
    - Dst: dds_heap_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:93,1
    - Dst: dds_read_collect_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:100,1
    - Dst: dds_loan_pool_add_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:101,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - varg
    - si
    - st
    - sd
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: dds_read_collect_sample_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_heap_loan
    - dds_loan_pool_get_loan
    - dds_read_collect_sample_loan_zerocopy
    - dds_loaned_sample_unref
    - dds_loan_pool_add_loan
    - dds_read_collect_sample
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_collect_sample_loan (void *varg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - varg
    - si
    - st
    - sd
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: dds_read_collect_sample_refs
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_collect_sample_refs (void *varg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *sd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:126,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:128,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:132,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:134,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:134,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - reader_or_condition
    - only_reader
    - pentity
    - prd
    - pcond
    - mask
    argTypes:
    - dds_entity_t
    - bool
    - struct dds_entity**
    - struct dds_reader**
    - struct dds_readcond**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: dds_read_impl_setup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_impl_setup (dds_entity_t reader_or_condition,
      bool only_reader, struct dds_entity **pentity, struct dds_reader **prd, struct
      dds_readcond **pcond, uint32_t *mask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_status_reset_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:156,1
    - Dst: dds_entity_status_reset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:159,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:162,1
    - Dst: dds_rhc_peek
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:166,1
    - Dst: dds_rhc_read
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:169,1
    - Dst: dds_rhc_take
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 8
    argNames:
    - oper
    - rd
    - cond
    - maxs
    - mask
    - hand
    - collect_sample
    - collect_sample_arg
    argTypes:
    - enum dds_read_impl_common_oper
    - struct dds_reader*
    - struct dds_readcond*
    - uint32_t
    - uint32_t
    - dds_instance_handle_t
    - dds_read_with_collector_fn_t
    - void*
    assertStmts:
    - condition: (maxs <= INT32_MAX)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: dds_read_impl_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_rhc_take
    - assert
    - dds_rhc_read
    - dds_entity_status_reset_ov
    - dds_entity_status_reset
    - dds_rhc_peek
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_impl_common (enum dds_read_impl_common_oper oper,
      struct dds_reader *rd, struct dds_readcond *cond, uint32_t maxs, uint32_t mask,
      dds_instance_handle_t hand, dds_read_with_collector_fn_t collect_sample, void
      *collect_sample_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl_setup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:188,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:191,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:192,1
    - Dst: dds_read_impl_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:193,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:194,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - oper
    - reader_or_condition
    - maxs
    - mask
    - hand
    - only_reader
    - collect_sample
    - collect_sample_arg
    argTypes:
    - enum dds_read_impl_common_oper
    - dds_entity_t
    - uint32_t
    - uint32_t
    - dds_instance_handle_t
    - bool
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: dds_read_with_collector_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - dds_read_impl_common
    - ddsi_thread_state_asleep
    - dds_read_impl_setup
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_with_collector_impl (enum dds_read_impl_common_oper
      oper, dds_entity_t reader_or_condition, uint32_t maxs, uint32_t mask, dds_instance_handle_t
      hand, bool only_reader, dds_read_with_collector_fn_t collect_sample, void *collect_sample_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:204,1
    - Dst: dds_read_collect_sample_arg_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:205,1
    - Dst: dds_read_with_collector_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - oper
    - reader_or_condition
    - buf
    - maxs
    - si
    - mask
    - hand
    argTypes:
    - enum dds_read_impl_common_oper
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: dds_readcdr_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_read_collect_sample_arg_init
    - DDSRT_STATIC_ASSERT
    - dds_read_with_collector_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_readcdr_impl (enum dds_read_impl_common_oper oper,
      dds_entity_t reader_or_condition, struct ddsi_serdata **buf, uint32_t maxs,
      dds_sample_info_t *si, uint32_t mask, dds_instance_handle_t hand)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl_setup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:222,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:225,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:226,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:228,1
    - Dst: return_reader_loan_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:241,1
    - Dst: dds_read_collect_sample_arg_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:245,1
    - Dst: dds_read_impl_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:248,1
    - Dst: dds_loan_pool_get_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:261,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:262,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:265,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:266,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 9
    argNames:
    - oper
    - reader_or_condition
    - buf
    - bufsz
    - maxs
    - si
    - mask
    - hand
    - only_reader
    argTypes:
    - enum dds_read_impl_common_oper
    - dds_entity_t
    - void**
    - size_t
    - uint32_t
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 269
    functionName: dds_read_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - dds_read_impl_common
    - ddsrt_mutex_lock
    - dds_read_collect_sample_arg_init
    - dds_loan_pool_get_loan
    - return_reader_loan_locked
    - ddsi_thread_state_asleep
    - dds_loaned_sample_unref
    - dds_read_impl_setup
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_impl (enum dds_read_impl_common_oper oper, dds_entity_t
      reader_or_condition, void **buf, size_t bufsz, uint32_t maxs, dds_sample_info_t
      *si, uint32_t mask, dds_instance_handle_t hand, bool only_reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: dds_peek
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek (dds_entity_t reader_or_condition, void **buf,
      dds_sample_info_t *si, size_t bufsz, uint32_t maxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: dds_peek_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek_mask (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: dds_peek_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek_instance (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: dds_peek_instance_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek_instance_mask (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - buf
    - si
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: dds_peek_next
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek_next (dds_entity_t reader, void **buf, dds_sample_info_t
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: dds_read
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 21
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read (dds_entity_t reader_or_condition, void **buf,
      dds_sample_info_t *si, size_t bufsz, uint32_t maxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 6
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: dds_read_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_wl (dds_entity_t reader_or_condition, void **buf,
      dds_sample_info_t *si, uint32_t maxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: dds_read_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 3
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_mask (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 6
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: dds_read_mask_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_mask
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_mask_wl (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, uint32_t maxs, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: dds_read_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 5
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_instance (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - handle
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: dds_read_instance_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_instance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_instance_wl (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, uint32_t maxs, dds_instance_handle_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: dds_read_instance_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_instance_mask (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: dds_read_instance_mask_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_instance_mask
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_instance_mask_wl (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, uint32_t maxs, dds_instance_handle_t handle,
      uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - buf
    - si
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: dds_read_next
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_next (dds_entity_t reader, void **buf, dds_sample_info_t
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - buf
    - si
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: dds_read_next_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_next
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_next_wl (dds_entity_t reader, void **buf, dds_sample_info_t
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: dds_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 32
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take (dds_entity_t reader_or_condition, void **buf,
      dds_sample_info_t *si, size_t bufsz, uint32_t maxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: dds_take_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_take
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_wl (dds_entity_t reader_or_condition, void **buf,
      dds_sample_info_t *si, uint32_t maxs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: dds_take_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 2
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_mask (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take_mask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 6
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: dds_take_mask_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_take_mask
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_mask_wl (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, uint32_t maxs, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: dds_take_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 3
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_instance (dds_entity_t reader_or_condition, void
      **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - handle
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: dds_take_instance_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_take_instance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_instance_wl (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, uint32_t maxs, dds_instance_handle_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - reader_or_condition
    - buf
    - si
    - bufsz
    - maxs
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - size_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: dds_take_instance_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_instance_mask (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, size_t bufsz, uint32_t maxs, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take_instance_mask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - si
    - maxs
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 6
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: dds_take_instance_mask_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_take_instance_mask
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_instance_mask_wl (dds_entity_t reader_or_condition,
      void **buf, dds_sample_info_t *si, uint32_t maxs, dds_instance_handle_t handle,
      uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - buf
    - si
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: dds_take_next
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_read_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_next (dds_entity_t reader, void **buf, dds_sample_info_t
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_take_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - buf
    - si
    argTypes:
    - dds_entity_t
    - void**
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: dds_take_next_wl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_take_next
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_next_wl (dds_entity_t reader, void **buf, dds_sample_info_t
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 6
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: dds_peekcdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peekcdr (dds_entity_t reader_or_condition, struct
      ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 6
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: dds_peekcdr_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peekcdr_instance (dds_entity_t reader_or_condition,
      struct ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: dds_readcdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_readcdr (dds_entity_t reader_or_condition, struct
      ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 6
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: dds_readcdr_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_readcdr_instance (dds_entity_t reader_or_condition,
      struct ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 6
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: dds_takecdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 6
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_takecdr (dds_entity_t reader_or_condition, struct
      ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_readcdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - reader_or_condition
    - buf
    - maxs
    - si
    - handle
    - mask
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata**
    - uint32_t
    - dds_sample_info_t*
    - dds_instance_handle_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: dds_takecdr_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_readcdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_takecdr_instance (dds_entity_t reader_or_condition,
      struct ddsi_serdata **buf, uint32_t maxs, dds_sample_info_t *si, dds_instance_handle_t
      handle, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_with_collector_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - maxs
    - handle
    - mask
    - collect_sample
    - collect_sample_arg
    argTypes:
    - dds_entity_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 5
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: dds_peek_with_collector
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_read_with_collector_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_peek_with_collector (dds_entity_t reader_or_condition,
      uint32_t maxs, dds_instance_handle_t handle, uint32_t mask, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_with_collector_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - maxs
    - handle
    - mask
    - collect_sample
    - collect_sample_arg
    argTypes:
    - dds_entity_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 5
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: dds_read_with_collector
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_read_with_collector_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_with_collector (dds_entity_t reader_or_condition,
      uint32_t maxs, dds_instance_handle_t handle, uint32_t mask, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_read_with_collector_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - reader_or_condition
    - maxs
    - handle
    - mask
    - collect_sample
    - collect_sample_arg
    argTypes:
    - dds_entity_t
    - uint32_t
    - dds_instance_handle_t
    - uint32_t
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: dds_take_with_collector
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_read_with_collector_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_with_collector (dds_entity_t reader_or_condition,
      uint32_t maxs, dds_instance_handle_t handle, uint32_t mask, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:464,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:465,1
    - Dst: dds_heap_loan_reset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:473,1
    - Dst: dds_loan_pool_add_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:474,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - rd
    - loan
    - reset
    argTypes:
    - dds_reader*
    - dds_loaned_sample_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: return_reader_loan_locked_onesample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_loan_pool_add_loan
    - dds_loaned_sample_unref
    - dds_heap_loan_reset
    linkageType: ''
    returnType: void
    signature: void return_reader_loan_locked_onesample (dds_reader *rd, dds_loaned_sample_t
      *loan, bool reset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_loan_pool_find_and_remove_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:488,1
    - Dst: return_reader_loan_locked_onesample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - rd
    - buf
    - first
    - bufsz
    - reset
    argTypes:
    - dds_reader*
    - void**
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: return_reader_loan_locked_loop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 0
    functionsReached:
    - dds_loan_pool_find_and_remove_loan
    - return_reader_loan_locked_onesample
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t return_reader_loan_locked_loop (dds_reader *rd, void **buf,
      int32_t first, int32_t bufsz, bool reset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_loan_pool_find_and_remove_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:506,1
    - Dst: return_reader_loan_locked_onesample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:514,1
    - Dst: return_reader_loan_locked_loop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rd
    - buf
    - bufsz
    argTypes:
    - dds_reader*
    - void**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 517
    functionName: return_reader_loan_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - dds_loan_pool_find_and_remove_loan
    - return_reader_loan_locked_onesample
    - return_reader_loan_locked_loop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t return_reader_loan_locked (dds_reader *rd, void **buf,
      int32_t bufsz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:536,1
    - Dst: dds_loan_pool_find_and_remove_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:537,1
    - Dst: return_reader_loan_locked_onesample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:546,1
    - Dst: return_reader_loan_locked_loop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:547,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_read.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - rd
    - buf
    - bufsz
    argTypes:
    - dds_reader*
    - void**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 551
    functionName: dds_return_reader_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    functionUses: 1
    functionsReached:
    - return_reader_loan_locked_loop
    - ddsrt_mutex_lock
    - return_reader_loan_locked_onesample
    - dds_loan_pool_find_and_remove_loan
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_return_reader_loan (dds_reader *rd, void **buf, int32_t
      bufsz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:70,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:71,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: is_valid_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - isprint
    - isspace
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_valid_name (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: dds_topic_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_topic_status_validate (uint32_t mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:87,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:88,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:91,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:92,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:100,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ktp
    - sertype
    - unref
    argTypes:
    - struct dds_ktopic*
    - struct ddsi_sertype*
    - bool
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: topic_guid_map_refc_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_fini
    - ddsrt_free
    - ddsi_typeid_is_none
    - assert
    - ddsi_sertype_typeid
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct ktopic_type_guid
    signature: struct ktopic_type_guid * topic_guid_map_refc_impl (const struct dds_ktopic
      * ktp, const struct ddsi_sertype *sertype, bool unref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: topic_guid_map_refc_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ktp
    - sertype
    argTypes:
    - struct dds_ktopic*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: topic_guid_map_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - topic_guid_map_refc_impl
    linkageType: ''
    returnType: void
    signature: void topic_guid_map_ref (const struct dds_ktopic * ktp, const struct
      ddsi_sertype *sertype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: topic_guid_map_refc_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:115,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:121,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:122,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:122,1
    - Dst: ddsi_delete_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:123,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:124,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:124,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:125,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:126,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - gv
    - ktp
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - struct dds_ktopic*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: topic_guid_map_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - topic_guid_map_refc_impl
    - ddsi_typeid_fini
    - ddsi_thread_state_awake
    - ddsrt_free
    - dds_free
    - ddsi_delete_topic
    - ddsi_thread_state_asleep
    - ddsrt_hh_remove_present
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void topic_guid_map_unref (struct ddsi_domaingv * const gv, const struct
      dds_ktopic * ktp, const struct ddsi_sertype *sertype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:143,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:145,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:152,1
    - Dst: dds_entity_invoke_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:153,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:154,1
    - Dst: dds_entity_status_set
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:158,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:160,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct dds_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: dds_topic_status_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - dds_entity_invoke_listener
    - ddsrt_cond_broadcast
    - dds_entity_status_set
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_topic_status_cb (struct dds_topic *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:169,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:171,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - from_user
    - tp
    argTypes:
    - dds_entity_t
    - bool
    - struct dds_topic**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: dds_topic_pin_with_origin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin_with_origin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_topic_pin_with_origin (dds_entity_t handle, bool from_user,
      struct dds_topic **tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_pin_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - tp
    argTypes:
    - dds_entity_t
    - struct dds_topic**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: dds_topic_pin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 4
    functionsReached:
    - dds_topic_pin_with_origin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_topic_pin (dds_entity_t handle, struct dds_topic **tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct dds_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: dds_topic_unpin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 4
    functionsReached:
    - dds_entity_unpin
    linkageType: ''
    returnType: void
    signature: void dds_topic_unpin (struct dds_topic *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:193,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:194,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct dds_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: dds_topic_defer_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_entity_participant
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_topic_defer_set_qos (struct dds_topic *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:202,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:203,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:204,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:206,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct dds_topic*
    assertStmts:
    - condition: (ktp->defer_set_qos > 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: dds_topic_allow_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_entity_participant
    - assert
    - ddsrt_mutex_lock
    - ddsrt_cond_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_topic_allow_set_qos (struct dds_topic *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psmx_instance::ops::delete_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:217,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:221,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:222,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:223,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:225,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pp
    - ktp
    argTypes:
    - dds_participant*
    - struct dds_ktopic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: ktopic_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - psmx_instance::ops::delete_topic
    - dds_free
    - ddsrt_avl_delete
    - ddsrt_hh_free
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void ktopic_unref (dds_participant * const pp, struct dds_ktopic *
      const ktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:236,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:236,1
    - Dst: ddsi_type_unref_sertype
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:239,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:241,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:243,1
    - Dst: topic_guid_map_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:246,1
    - Dst: ktopic_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:248,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:249,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_PARTICIPANT)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: dds_topic_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_unref
    - dds_free
    - ddsrt_mutex_lock
    - assert
    - dds_entity_kind
    - ddsi_type_unref_sertype
    - ktopic_unref
    - topic_guid_map_unref
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_topic_close (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:261,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:261,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:264,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:264,1
    - Dst: ddsi_entidx_lookup_topic_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:267,1
    - Dst: ddsi_update_topic_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:268,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:270,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: dds_topic_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_update_topic_qos
    - ddsrt_hh_iter_next
    - ddsi_thread_state_asleep
    - ddsrt_hh_iter_first
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_topic_guid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_topic_qos_set (dds_entity *e, const dds_qos_t *qos,
      bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_equal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - ktp
    argTypes:
    - dds_qos_t*
    - dds_ktopic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: dupdef_qos_ok
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_qos_equal
    linkageType: ''
    returnType: bool
    signature: bool dupdef_qos_ok (const dds_qos_t *qos, const dds_ktopic *ktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:327,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:329,1
    - Dst: dupdef_qos_ok
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:332,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:334,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ktp_out
    - pp
    - name
    - new_qos
    argTypes:
    - struct dds_ktopic**
    - dds_participant*
    - char*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: lookup_and_check_ktopic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dupdef_qos_ok
    - GVTRACE
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t lookup_and_check_ktopic (struct dds_ktopic **ktp_out,
      dds_participant *pp, const char *name, const dds_qos_t *new_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:347,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:349,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:350,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:351,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:353,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - pp
    - ktp
    - builtin
    - topic_name
    - sertype
    - listener
    argTypes:
    - struct dds_participant*
    - struct dds_ktopic*
    - bool
    - char*
    - struct ddsi_sertype*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: create_topic_pp_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_entity_init_complete
    - ddsi_iid_gen
    - dds_string_dup
    - dds_entity_init
    - dds_entity_register_child
    - dds_alloc
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_topic_pp_locked (struct dds_participant *pp, struct
      dds_ktopic *ktp, bool builtin, const char *topic_name, struct ddsi_sertype *sertype,
      const dds_listener_t *listener)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:368,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:369,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:373,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:382,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:382,1
    - Dst: dds_entity_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:383,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:384,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:386,1
    - Dst: ddsi_new_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:390,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:391,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:393,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:394,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:394,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:399,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - gv
    - pp
    - ktp
    - is_builtin
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - dds_participant*
    - dds_ktopic*
    - bool
    - struct ddsi_sertype*
    assertStmts:
    - condition: (rc == DDS_RETCODE_OK)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 403
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 403
    functionName: register_topic_type_for_discovery
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_fini
    - ddsi_thread_state_awake
    - dds_alloc
    - ddsi_new_topic
    - ddsrt_hh_add_absent
    - ddsi_typeid_is_none
    - ddsrt_free
    - assert
    - ddsi_sertype_typeid
    - ddsrt_hh_lookup
    - dds_entity_participant_guid
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool register_topic_type_for_discovery (struct ddsi_domaingv * const
      gv, dds_participant * const pp, dds_ktopic * const ktp, bool is_builtin, struct
      ddsi_sertype * const sertype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ktp_guid_a
    - ktp_guid_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: ktopic_type_guid_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare
    linkageType: ''
    returnType: bool
    signature: bool ktopic_type_guid_equal (const void *ktp_guid_a, const void *ktp_guid_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:417,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ktp_guid
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: ktopic_type_guid_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsi_typeid_get_equivalence_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ktopic_type_guid_hash (const void *ktp_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - gv
    - pp
    - ktp
    - is_builtin
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - dds_participant*
    - dds_ktopic*
    - bool
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: register_topic_type_for_discovery
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool register_topic_type_for_discovery (struct ddsi_domaingv * const
      gv, dds_participant * const pp, dds_ktopic * const ktp, bool is_builtin, struct
      ddsi_sertype * const sertype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ops::type_qos_supported
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:438,1
    - Dst: struct dds_psmx_int*::ops::create_topic_with_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:440,1
    - Dst: psmx_instance::ops::delete_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pp
    - ktp
    - sertype_registered
    - type
    argTypes:
    - dds_participant*
    - struct dds_ktopic*
    - struct ddsi_sertype*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 454
    functionName: create_psmx_topics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - psmx_instance::ops::delete_topic
    - struct dds_psmx_int*::ops::create_topic_with_type
    - struct dds_psmx_int*::ops::type_qos_supported
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t create_psmx_topics (dds_participant *pp, struct dds_ktopic
      *ktp, struct ddsi_sertype *sertype_registered, struct ddsi_type *type)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_name
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:471,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:473,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:478,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:480,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:482,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:491,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:494,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:494,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:494,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:494,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:496,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:497,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:500,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:506,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:508,1
    - Dst: dds_ensure_valid_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:523,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:527,1
    - Dst: ddsi_omg_security_check_create_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:530,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:538,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:539,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:540,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:541,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:543,1
    - Dst: lookup_and_check_ktopic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:545,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:547,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:547,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:548,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:558,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:562,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:564,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:566,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:567,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:572,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:578,1
    - Dst: ddsi_sertype_lookup_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:579,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:580,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:583,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:584,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:587,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:595,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:597,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:601,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:603,1
    - Dst: create_psmx_topics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:610,1
    - Dst: create_topic_pp_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:614,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:615,1
    - Dst: register_topic_type_for_discovery
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:618,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:619,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:623,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:625,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:626,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:629,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:630,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:637,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:640,1
    - Dst: ktopic_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:641,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:642,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:643,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:647,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:648,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 114
    argCount: 7
    argNames:
    - participant
    - name
    - allow_dcps
    - sertype
    - qos
    - listener
    - is_builtin
    argTypes:
    - dds_entity_t
    - char*
    - bool
    - struct ddsi_sertype**
    - dds_qos_t*
    - dds_listener_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 650
    functionName: dds_create_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_security_check_create_topic
    - dds_entity_unpin
    - ddsi_sertype_unref
    - dds_ensure_valid_data_representation
    - ddsrt_hh_new
    - dds_create_qos
    - create_topic_pp_locked
    - dds_alloc
    - ddsi_type_unref
    - ddsrt_atomic_ld32
    - dds_string_dup
    - ddsi_typeinfo_complete_typeid
    - ddsrt_mutex_lock
    - dds_entity_pin
    - ddsi_typeinfo_minimal_typeid
    - ddsi_sertype_register_locked
    - strncmp
    - ddsi_xqos_mergein_missing
    - ddsi_type_ref_local
    - ddsi_sertype_lookup_locked
    - ddsrt_free
    - ddsi_xqos_valid
    - PGUID
    - lookup_and_check_ktopic
    - is_valid_name
    - ktopic_unref
    - dds_strretcode
    - ddsrt_avl_insert
    - ddsi_typeid_is_none
    - dds_entity_kind
    - create_psmx_topics
    - ddsrt_cond_etime_broadcast
    - dds_delete_qos
    - ddsi_sertype_typeinfo
    - ddsi_typeinfo_fini
    - GVTRACE
    - register_topic_type_for_discovery
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: "dds_entity_t dds_create_topic_impl (\n    dds_entity_t participant,\n
      \   const char * name,\n    bool allow_dcps,\n    struct ddsi_sertype **sertype,\n
      \   const dds_qos_t *qos,\n    const dds_listener_t *listener,\n    bool is_builtin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - participant
    - name
    - sertype
    - qos
    - listener
    - sedp_plist
    argTypes:
    - dds_entity_t
    - char*
    - struct ddsi_sertype**
    - dds_qos_t*
    - dds_listener_t*
    - struct ddsi_plist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: dds_create_topic_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_create_topic_impl
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_topic_sertype (dds_entity_t participant, const
      char *name, struct ddsi_sertype **sertype, const dds_qos_t *qos, const dds_listener_t
      *listener, const struct ddsi_plist *sedp_plist)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:666,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:669,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:671,1
    - Dst: dds_stream_minimum_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:681,1
    - Dst: dds_ensure_valid_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:684,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:684,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:687,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:690,1
    - Dst: dds_sertype_default_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:691,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:693,1
    - Dst: dds_create_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:698,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:700,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:705,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:706,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - participant
    - descriptor
    - name
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_topic_descriptor_t*
    - char*
    - dds_qos_t*
    - dds_listener_t*
    assertStmts:
    - condition: (tpqos->present & DDSI_QP_DATA_REPRESENTATION && tpqos->data_representation.value.n
        > 0)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 708
      start: 658
    functionDepth: 5
    functionLinenumber: 658
    functionLinenumberEnd: 708
    functionName: dds_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 109
    functionsReached:
    - dds_entity_unpin
    - ddsrt_free
    - ddsi_sertype_unref
    - dds_ensure_valid_data_representation
    - assert
    - dds_entity_pin
    - dds_delete_qos
    - dds_sertype_default_init
    - ddsi_xqos_mergein_missing
    - dds_create_topic_impl
    - dds_create_qos
    - dds_stream_data_types
    - dds_stream_minimum_xcdr_version
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_topic (dds_entity_t participant, const dds_topic_descriptor_t
      *descriptor, const char *name, const dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:715,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:720,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:724,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:729,1
    - Dst: ddsi_typeinfo_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:730,1
    - Dst: ddsi_typeinfo_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:730,1
    - Dst: ddsi_typeinfo_equal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:730,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:731,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:732,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - e_pp_child
    - name
    - type_info
    argTypes:
    - dds_entity*
    - char*
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 744
    functionName: pin_if_matching_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_equal
    - dds_entity_unpin
    - ddsrt_free
    - ddsi_typeinfo_present
    - strcmp
    - dds_entity_kind
    - dds_entity_pin
    - ddsi_sertype_typeinfo
    - ddsi_typeinfo_fini
    linkageType: ''
    returnType: dds_topic
    signature: dds_topic *pin_if_matching_topic (dds_entity * const e_pp_child, const
      char *name, const ddsi_typeinfo_t *type_info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:761,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:762,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:762,1
    - Dst: pin_if_matching_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:766,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:773,1
    - Dst: ddsi_xqos_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:780,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:781,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:789,1
    - Dst: dds_create_topic_sertype
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:790,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:792,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:793,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:801,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:804,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:806,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:807,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:808,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:818,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:819,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:819,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:820,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:821,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:822,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:823,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:827,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - pp
    - name
    - type_info
    - pp_topic
    argTypes:
    - dds_participant*
    - char*
    - ddsi_typeinfo_t*
    - dds_participant*
    assertStmts:
    - condition: (sertype_flags_refc & DDSI_SERTYPE_REGISTERED)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: (tp->m_stype == new_topic->m_stype)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: (tp->m_ktopic != new_topic->m_ktopic)
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: (tp->m_ktopic == new_topic->m_ktopic)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: (ddsrt_hh_lookup (gv->sertypes, sertype) == sertype)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: '((sertype_flags_refc & DDSI_SERTYPE_REFC_MASK) >= (hdl < 0 ? 1u
        : 2u))'
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 830
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 830
    functionName: find_local_topic_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_atomic_ld32
    - ddsi_xqos_dup
    - pin_if_matching_topic
    - dds_create_topic_sertype
    - ddsrt_avl_iter_first
    - ddsi_sertype_unref
    - ddsrt_mutex_lock
    - ddsi_sertype_ref
    - dds_topic_pin
    - assert
    - dds_topic_unpin
    - ddsrt_hh_lookup
    - dds_delete_qos
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t find_local_topic_pp (dds_participant *pp, const char *name,
      const ddsi_typeinfo_t *type_info, dds_participant *pp_topic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_local_topic_pp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:840,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:842,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:843,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:846,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:849,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:853,1
    - Dst: find_local_topic_pp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:854,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:855,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:858,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - scope
    - pp_topic
    - name
    - type_info
    argTypes:
    - dds_find_scope_t
    - dds_participant*
    - char*
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 832
    functionDepth: 7
    functionLinenumber: 832
    functionLinenumberEnd: 862
    functionName: find_local_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_entity_pin
    - find_local_topic_pp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t find_local_topic_impl (dds_find_scope_t scope, dds_participant
      *pp_topic, const char *name, const ddsi_typeinfo_t *type_info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:874,1
    - Dst: ddsi_lookup_topic_definition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:877,1
    - Dst: ddsi_wait_for_type_resolved
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:882,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:884,1
    - Dst: ddsi_type_compare
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:884,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:885,1
    - Dst: ddsi_type_resolved
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:885,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:887,1
    - Dst: ddsi_topic_descriptor_from_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:888,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:890,1
    - Dst: ddsi_topic_descriptor_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:891,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:893,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pp_topic
    - name
    - type_info
    - timeout
    argTypes:
    - dds_participant*
    - char*
    - dds_typeinfo_t*
    - dds_duration_t
    assertStmts:
    - condition: (!ddsi_type_compare (tpd->type_pair->complete, resolved_type))
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    - condition: (ddsi_type_resolved (gv, tpd->type_pair->complete, DDSI_TYPE_INCLUDE_DEPS))
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 897
      start: 867
    functionDepth: 6
    functionLinenumber: 867
    functionLinenumberEnd: 897
    functionName: find_remote_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_lookup_topic_definition
    - dds_create_topic
    - ddsrt_free
    - ddsi_topic_descriptor_from_type
    - ddsi_typeinfo_complete_typeid
    - assert
    - ddsi_type_compare
    - ddsi_topic_descriptor_fini
    - ddsi_type_resolved
    - ddsrt_malloc
    - ddsi_type_unref
    - ddsi_wait_for_type_resolved
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t find_remote_topic_impl (dds_participant *pp_topic, const
      char *name, const dds_typeinfo_t *type_info, dds_duration_t timeout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_name
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:912,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:916,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:920,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:925,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:925,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:928,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:930,1
    - Dst: find_local_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:931,1
    - Dst: find_remote_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:934,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:939,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:942,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:945,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - scope
    - participant
    - name
    - type_info
    - timeout
    argTypes:
    - dds_find_scope_t
    - dds_entity_t
    - char*
    - dds_typeinfo_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 901
    functionDepth: 8
    functionLinenumber: 901
    functionLinenumberEnd: 950
    functionName: dds_find_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - ddsrt_etime_add_duration
    - ddsrt_mutex_lock
    - is_valid_name
    - find_remote_topic_impl
    - dds_entity_pin
    - ddsrt_cond_etime_waituntil
    - ddsrt_time_elapsed
    - ddsrt_mutex_unlock
    - find_local_topic_impl
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_find_topic_impl (dds_find_scope_t scope, dds_entity_t
      participant, const char *name, const dds_typeinfo_t *type_info, dds_duration_t
      timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:955,1
    - Dst: dds_find_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - scope
    - participant
    - name
    - type_info
    - timeout
    argTypes:
    - dds_find_scope_t
    - dds_entity_t
    - char*
    - dds_typeinfo_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 952
    functionDepth: 9
    functionLinenumber: 952
    functionLinenumberEnd: 962
    functionName: dds_find_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_find_topic_impl
    - ddsi_typeinfo_valid
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_find_topic (dds_find_scope_t scope, dds_entity_t participant,
      const char *name, const dds_typeinfo_t *type_info, dds_duration_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_find_topic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - scope
    - participant
    - name
    - timeout
    argTypes:
    - dds_find_scope_t
    - dds_entity_t
    - char*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 9
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: dds_find_topic_scoped
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 1
    functionsReached:
    - dds_find_topic_impl
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_find_topic_scoped (dds_find_scope_t scope, dds_entity_t
      participant, const char *name, dds_duration_t timeout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1008,1
    - Dst: dds_topic_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - topic
    - filter
    argTypes:
    - dds_entity_t
    - struct dds_topic_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1013
    functionName: dds_set_topic_filter_extended
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 3
    functionsReached:
    - dds_topic_lock
    - dds_topic_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_topic_filter_extended (dds_entity_t topic, const
      struct dds_topic_filter *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topic
    - filter
    - arg
    argTypes:
    - dds_entity_t
    - dds_topic_filter_arg_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1023
    functionName: dds_set_topic_filter_and_arg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 3
    functionsReached:
    - dds_set_topic_filter_extended
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_topic_filter_and_arg (dds_entity_t topic, dds_topic_filter_arg_fn
      filter, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_topic_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1031,1
    - Dst: dds_topic_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - topic
    - filter
    argTypes:
    - dds_entity_t
    - struct dds_topic_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1036
    functionName: dds_get_topic_filter_extended
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_topic_lock
    - dds_topic_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_topic_filter_extended (dds_entity_t topic, struct
      dds_topic_filter *filter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1042,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - topic
    - fn
    - arg
    argTypes:
    - dds_entity_t
    - dds_topic_filter_arg_fn*
    - void**
    assertStmts:
    - condition: (f.f.sample_arg == 0)
      pos:
        line_end: 1046
        line_start: 1046
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 1062
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1062
    functionName: dds_get_topic_filter_and_arg
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - assert
    - dds_get_topic_filter_extended
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_topic_filter_and_arg (dds_entity_t topic, dds_topic_filter_arg_fn
      *fn, void **arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1073,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1074,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1075,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1077,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - topic
    - name
    - size
    argTypes:
    - dds_entity_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1064
    functionDepth: 4
    functionLinenumber: 1064
    functionLinenumberEnd: 1081
    functionName: dds_get_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_topic_unpin
    - ddsrt_strlcpy
    - dds__get_builtin_topic_name_typename
    - dds_topic_pin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_name (dds_entity_t topic, char *name, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds__get_builtin_topic_name_typename
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1092,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1093,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1094,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1096,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - topic
    - name
    - size
    argTypes:
    - dds_entity_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1083
    functionDepth: 4
    functionLinenumber: 1083
    functionLinenumberEnd: 1100
    functionName: dds_get_type_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_topic_unpin
    - ddsrt_strlcpy
    - dds__get_builtin_topic_name_typename
    - dds_topic_pin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_type_name (dds_entity_t topic, char *name, size_t
      size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1120,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1125,1
    - Dst: ddsi_wait_for_type_resolved
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1135,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1135,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1137,1
    - Dst: ddsi_type_resolved
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1137,1
    - Dst: ddsi_topic_descriptor_from_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1138,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1139,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1142,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - scope
    - participant
    - type_info
    - timeout
    - descriptor
    argTypes:
    - dds_find_scope_t
    - dds_entity_t
    - dds_typeinfo_t*
    - dds_duration_t
    - dds_topic_descriptor_t**
    assertStmts:
    - condition: (type && ddsi_type_resolved (gv, type, DDSI_TYPE_INCLUDE_DEPS))
      pos:
        line_end: 1136
        line_start: 1136
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    constantsTouched: []
    func_position:
      end: 1147
      start: 1106
    functionDepth: 3
    functionLinenumber: 1106
    functionLinenumberEnd: 1147
    functionName: dds_create_topic_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 3
    functionsReached:
    - dds_entity_unpin
    - ddsrt_free
    - ddsi_topic_descriptor_from_type
    - ddsi_typeinfo_complete_typeid
    - assert
    - ddsi_type_unref
    - dds_entity_pin
    - ddsi_type_resolved
    - dds_alloc
    - ddsi_wait_for_type_resolved
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_create_topic_descriptor (dds_find_scope_t scope, dds_entity_t
      participant, const dds_typeinfo_t *type_info, dds_duration_t timeout, dds_topic_descriptor_t
      **descriptor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_topic_descriptor_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1153,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1156
    functionName: dds_delete_topic_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached:
    - dds_free
    - ddsi_topic_descriptor_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_delete_topic_descriptor (dds_topic_descriptor_t *descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - scope
    - participant
    - type_info
    - timeout
    - descriptor
    argTypes:
    - dds_find_scope_t
    - dds_entity_t
    - dds_typeinfo_t*
    - dds_duration_t
    - dds_topic_descriptor_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: dds_create_topic_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_create_topic_descriptor (dds_find_scope_t scope, dds_entity_t
      participant, const dds_typeinfo_t *type_info, dds_duration_t timeout, dds_topic_descriptor_t
      **descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - descriptor
    argTypes:
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: dds_delete_topic_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_delete_topic_descriptor (dds_topic_descriptor_t *descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1176,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/ddsc/src/dds_topic.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - topic_desc
    argTypes:
    - struct dds_cdrstream_desc*
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: dds_cdrstream_desc_from_topic_desc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    functionUses: 12
    functionsReached:
    - dds_cdrstream_desc_init_with_nops
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_cdrstream_desc_from_topic_desc (struct dds_cdrstream_desc
      *desc, const dds_topic_descriptor_t *topic_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: cmp_ktopic_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_ktopic_name (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: dds_participant_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_participant_status_validate (uint32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:53,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:53,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:56,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:56,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:58,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:58,1
    - Dst: ddsi_delete_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:59,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:60,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:61,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (dds_entity_kind (e) == DDS_KIND_PARTICIPANT)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    - condition: (ddsrt_avl_is_empty (&((struct dds_participant *) e)->m_ktopics))
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: dds_participant_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_participant
    - ddsi_thread_state_awake
    - ddsrt_avl_is_empty
    - assert
    - dds_entity_kind
    - ddsi_thread_state_asleep
    - DDS_CERROR
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_participant_delete (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:71,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:71,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:72,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:75,1
    - Dst: ddsi_update_participant_plist
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:78,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:80,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: dds_participant_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_plist_init_empty
    - ddsi_thread_state_asleep
    - ddsi_update_participant_plist
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_participant_qos_set (dds_entity *e, const dds_qos_t
      *qos, bool enabled)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:107,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:110,1
    - Dst: dds_domain_create_internal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:112,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:115,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:117,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:118,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:119,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:121,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:133,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:134,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:136,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:136,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:138,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:140,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:141,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:142,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:142,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:143,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:150,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:151,1
    - Dst: ddsi_get_entity_instanceid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:155,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:158,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:161,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:162,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:163,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:165,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:167,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:168,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:172,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:175,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:176,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:178,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 5
    argNames:
    - domain
    - qos
    - listener
    - flags
    - guid
    argTypes:
    - dds_domainid_t
    - dds_qos_t*
    - dds_listener_t*
    - uint32_t
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 181
    functionName: create_participant_flags_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_new_participant
    - dds_create_qos
    - ddsi_get_entity_instanceid
    - dds_alloc
    - dds_init
    - ddsrt_mutex_lock
    - dds_apply_entity_naming
    - ddsi_generate_participant_guid
    - ddsi_thread_state_asleep
    - dds_entity_init
    - ddsi_xqos_mergein_missing
    - dds_guid_to_ddsi_guid
    - dds_entity_unpin_and_drop_ref
    - dds_entity_init_complete
    - ddsi_thread_state_awake
    - ddsi_xqos_valid
    - dds_free
    - ddsrt_avl_init
    - dds_entity_register_child
    - ddsi_lookup_thread_state
    - ddsrt_getenv
    - ddsi_plist_init_empty
    - dds_domain_create_internal
    - ddsi_plist_fini
    - dds_delete_qos
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t create_participant_flags_guid (const dds_domainid_t domain,
      const dds_qos_t *qos, const dds_listener_t *listener, uint32_t flags, const
      dds_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_participant_flags_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - domain
    - qos
    - listener
    - flags
    - guid
    argTypes:
    - dds_domainid_t
    - dds_qos_t*
    - dds_listener_t*
    - uint32_t
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: dds_create_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 0
    functionsReached:
    - create_participant_flags_guid
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_participant_guid (const dds_domainid_t domain,
      const dds_qos_t *qos, const dds_listener_t *listener, uint32_t flags, const
      dds_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_participant_flags_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - domain
    - qos
    - listener
    argTypes:
    - dds_domainid_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: dds_create_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 153
    functionsReached:
    - create_participant_flags_guid
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_participant (const dds_domainid_t domain, const
      dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:206,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:211,1
    - Dst: dds_domain_find_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:212,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:215,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:215,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:222,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_participant.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - domain_id
    - participants
    - size
    argTypes:
    - dds_domainid_t
    - dds_entity_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 225
    functionName: dds_lookup_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
    functionUses: 9
    functionsReached:
    - ddsrt_avl_iter_next
    - dds_entity_unpin_and_drop_ref
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - dds_domain_find_locked
    - ddsrt_mutex_unlock
    - dds_init
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_lookup_participant (dds_domainid_t domain_id, dds_entity_t
      *participants, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ent_type_
    - ','
    - status_
    - ','
    - STATUS_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: DDS_GET_STATUS_LOCKED
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__get_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GET_STATUS_LOCKED(ent_type_, status_, STATUS_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ent_type_
    - ','
    - status_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: DDS_GET_STATUS_COMMON
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__get_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GET_STATUS_COMMON(ent_type_, status_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ent_type_
    - ','
    - status_
    - ','
    - STATUS_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: DDS_GET_STATUS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__get_status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GET_STATUS(ent_type_, status_, STATUS_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: dds_writer_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writer_status_validate (uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_offered_deadline_missed_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: update_offered_deadline_missed
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_offered_deadline_missed (struct dds_offered_deadline_missed_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_offered_incompatible_qos_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: update_offered_incompatible_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_offered_incompatible_qos (struct dds_offered_incompatible_qos_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_liveliness_lost_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: update_liveliness_lost
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_liveliness_lost (struct dds_liveliness_lost_status *st,
      const ddsi_status_cb_data_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_publication_matched_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: update_publication_matched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_publication_matched (struct dds_publication_matched_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:118,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:120,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:121,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:126,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:129,1
    - Dst: status_cb_offered_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:136,1
    - Dst: status_cb_liveliness_lost
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:139,1
    - Dst: status_cb_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:142,1
    - Dst: status_cb_publication_matched
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:145,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:156,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:161,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - entity
    - data
    argTypes:
    - void*
    - struct ddsi_status_cb_data*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 163
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 163
    functionName: dds_writer_status_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_broadcast
    - status_cb_publication_matched
    - status_cb_offered_incompatible_qos
    - ddsrt_cond_wait
    - status_cb_liveliness_lost
    - ddsrt_mutex_unlock
    - status_cb_offered_deadline_missed
    linkageType: ''
    returnType: void
    signature: void dds_writer_status_cb (void *entity, const struct ddsi_status_cb_data
      *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: status_cb_publication_matched_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:171,1
    - Dst: status_cb_liveliness_lost_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:174,1
    - Dst: status_cb_offered_incompatible_qos_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:177,1
    - Dst: status_cb_offered_deadline_missed_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - e
    - status
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: dds_writer_invoke_cbs_for_pending_events
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - status_cb_liveliness_lost_invoke
    - status_cb_offered_deadline_missed_invoke
    - status_cb_publication_matched_invoke
    - status_cb_offered_incompatible_qos_invoke
    linkageType: ''
    returnType: void
    signature: void dds_writer_invoke_cbs_for_pending_events(struct dds_entity *e,
      uint32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:189,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:189,1
    - Dst: ddsi_unblock_throttled_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:190,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:191,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: dds_writer_interrupt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_unblock_throttled_writer
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsi_thread_state_awake
    linkageType: ''
    returnType: void
    signature: void dds_writer_interrupt (dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:200,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:201,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:202,1
    - Dst: ddsi_delete_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:203,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:204,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:206,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:208,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: dds_writer_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_send
    - ddsi_thread_state_awake
    - ddsrt_mutex_lock
    - ddsi_thread_state_asleep
    - ddsi_delete_writer
    - ddsrt_cond_wait
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_writer_close (dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_loan_pool_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:221,1
    - Dst: dds_endpoint_remove_psmx_endpoints
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:222,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:225,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:225,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:226,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:227,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:227,1
    - Dst: dds_entity_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: dds_return_t::dds_writer_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - dds_endpoint_remove_psmx_endpoints
    - dds_entity_drop_ref
    - ddsi_xpack_free
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - dds_loan_pool_free
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_return_t dds_writer_delete (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - wqos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: validate_writer_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_writer_qos (const dds_qos_t *wqos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_writer_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:252,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:257,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:257,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:258,1
    - Dst: ddsi_update_writer_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:259,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:260,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: dds_writer_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_update_writer_qos
    - ddsi_thread_state_awake
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    - validate_writer_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writer_qos_set (dds_entity *e, const dds_qos_t *qos,
      bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: dds_writer_create_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - dds_alloc_statistics
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_writer_create_statistics (const struct dds_entity
      *entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_writer_stats
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - entity
    - stat
    argTypes:
    - struct dds_entity*
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: dds_writer_refresh_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_get_writer_stats
    linkageType: ''
    returnType: void
    signature: void dds_writer_refresh_statistics (const struct dds_entity *entity,
      struct dds_statistics *stat)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:312,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:314,1
    - Dst: dds__create_publisher_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:321,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:322,1
    - Dst: dds_publisher_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:323,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:328,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:333,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:335,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:336,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:336,1
    - Dst: dds_topic_defer_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:350,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:354,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:357,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:359,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:361,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:362,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:363,1
    - Dst: dds_ensure_valid_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:365,1
    - Dst: dds_ensure_valid_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:367,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:370,1
    - Dst: validate_writer_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:370,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:373,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:376,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:376,1
    - Dst: dds_entity_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:377,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:378,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:382,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:386,1
    - Dst: ddsi_omg_security_check_create_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:389,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:401,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:402,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:408,1
    - Dst: ddsi_xpack_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:409,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:410,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:411,1
    - Dst: dds_loan_pool_create
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:412,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:413,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:414,1
    - Dst: dds_endpoint_add_psmx_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:423,1
    - Dst: ddsi_sertype_derive_sertype
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:426,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:432,1
    - Dst: ddsi_generate_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:435,1
    - Dst: dds_get_psmx_locators_set
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:439,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:440,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:444,1
    - Dst: dds_psmx_locators_set_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:446,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:447,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:447,1
    - Dst: ddsi_get_entity_instanceid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:449,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:450,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:452,1
    - Dst: dds_topic_allow_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:454,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:455,1
    - Dst: dds_publisher_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:456,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:459,1
    - Dst: ddsi_xpack_sendq_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:461,1
    - Dst: ddsi_xpack_sendq_start
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:462,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:465,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:473,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:473,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:478,1
    - Dst: dds_topic_allow_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:479,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:481,1
    - Dst: dds_publisher_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:483,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:485,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 126
    argCount: 5
    argNames:
    - participant_or_publisher
    - guid
    - topic
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_guid_t*
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts:
    - condition: (wqos->present & DDSI_QP_DATA_REPRESENTATION && wqos->data_representation.value.n
        > 0)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    - condition: (pp != NULL)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    - condition: (rc == DDS_RETCODE_OK)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    - condition: (tp->m_stype)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 487
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 487
    functionName: dds_create_writer_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_security_check_create_writer
    - dds__create_publisher_l
    - ddsi_sertype_derive_sertype
    - dds_get_psmx_locators_set
    - dds_ensure_valid_data_representation
    - dds_delete
    - dds_psmx_locators_set_free
    - dds_whc_free_wrinfo
    - dds_whc_new
    - dds_create_qos
    - ddsi_get_entity_instanceid
    - abort
    - dds_alloc
    - dds_topic_allow_set_qos
    - dds_topic_pin
    - dds_entity_participant
    - dds_entity_add_ref_locked
    - ddsrt_mutex_lock
    - dds_apply_entity_naming
    - dds_entity_init
    - ddsi_generate_writer_guid
    - ddsi_thread_state_asleep
    - dds_publisher_unlock
    - ddsi_xqos_mergein_missing
    - dds_guid_to_ddsi_guid
    - validate_writer_qos
    - dds_entity_unlock
    - ddsrt_mutex_unlock
    - dds_topic_defer_set_qos
    - dds_entity_init_complete
    - ddsi_thread_state_awake
    - ddsi_xpack_new
    - dds_whc_make_wrinfo
    - dds_entity_lock
    - ddsi_xqos_valid
    - assert
    - ddsi_new_writer
    - dds_entity_register_child
    - ddsi_xpack_sendq_start
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    - dds_publisher_lock
    - dds_loan_pool_create
    - ddsi_xpack_sendq_init
    - dds_entity_kind
    - dds_entity_participant_guid
    - dds_delete_qos
    - dds_endpoint_add_psmx_endpoint
    - dds_ensure_valid_psmx_instances
    - dds_topic_unpin
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_writer_int (dds_entity_t participant_or_publisher,
      dds_guid_t *guid, dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t
      *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_writer_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - participant_or_publisher
    - topic
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: dds_create_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 92
    functionsReached:
    - dds_create_writer_int
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_writer (dds_entity_t participant_or_publisher,
      dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_writer_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - participant_or_publisher
    - topic
    - qos
    - listener
    - guid
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: dds_create_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - dds_create_writer_int
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_writer_guid (dds_entity_t participant_or_publisher,
      dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t *listener, dds_guid_t
      *guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:503,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:508,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:512,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:512,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - writer
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_PUBLISHER)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 518
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 518
    functionName: dds_get_publisher
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 1
    functionsReached:
    - assert
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_publisher (dds_entity_t writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_writer_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wr
    - rdguid
    - abstimeout
    argTypes:
    - struct dds_writer*
    - ddsi_guid_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 528
    functionName: dds__ddsi_writer_wait_for_acks
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 1
    functionsReached:
    - ddsi_writer_wait_for_acks
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds__ddsi_writer_wait_for_acks (struct dds_writer *wr,
      ddsi_guid_t *rdguid, ddsrt_mtime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_endpoint_int*::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wr
    - size
    argTypes:
    - dds_writer*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: dds_writer_request_psmx_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_endpoint_int*::ops::request_loan
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_writer_request_psmx_loan(const dds_writer
      *wr, uint32_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:546,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:558,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:566,1
    - Dst: dds_heap_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:570,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:576,1
    - Dst: dds_loan_pool_add_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:577,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:578,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - wr
    - loan_type
    - sz
    - sample
    argTypes:
    - dds_writer*
    - enum dds_writer_loan_type
    - uint32_t
    - void**
    assertStmts:
    - condition: (loan != NULL)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 584
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 584
    functionName: dds_request_writer_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 1
    functionsReached:
    - dds_writer_request_psmx_loan
    - dds_heap_loan
    - assert
    - ddsrt_mutex_lock
    - dds_loaned_sample_unref
    - dds_loan_pool_add_loan
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_request_writer_loan (dds_writer *wr, enum dds_writer_loan_type
      loan_type, uint32_t sz, void **sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:589,1
    - Dst: dds_loan_pool_find_and_remove_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:592,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:595,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - wr
    - samples_ptr
    - n_samples
    argTypes:
    - dds_writer*
    - void**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 614
    functionName: dds_return_writer_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - dds_loan_pool_find_and_remove_loan
    - dds_loaned_sample_unref
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_return_writer_loan (dds_writer *wr, void **samples_ptr,
      int32_t n_samples)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:619,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:620,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:628,1
    - Dst: dds_psmx_set_loan_writeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - wr
    - data
    - sdkind
    - timestamp
    - statusinfo
    argTypes:
    - struct dds_writer*
    - void*
    - enum ddsi_serdata_kind
    - dds_time_t
    - uint32_t
    assertStmts:
    - condition: (sertype->is_memcpy_safe)
      pos:
        line_end: 618
        line_start: 618
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 631
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 631
    functionName: dds_writer_psmx_loan_raw
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - dds_writer_request_psmx_loan
    - memcpy
    - assert
    - dds_psmx_set_loan_writeinfo
    linkageType: ''
    returnType: struct dds_loaned_sample
    signature: struct dds_loaned_sample * dds_writer_psmx_loan_raw (const struct dds_writer
      *wr, const void *data, enum ddsi_serdata_kind sdkind, dds_time_t timestamp,
      uint32_t statusinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:635,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:635,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:636,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:637,1
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:643,1
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:647,1
    - Dst: dds_psmx_set_loan_writeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_writer.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wr
    - sd
    argTypes:
    - struct dds_writer*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsi_serdata_size (sd) >= 4)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    constantsTouched: []
    func_position:
      end: 650
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 650
    functionName: dds_writer_psmx_loan_from_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    functionUses: 0
    functionsReached:
    - dds_writer_request_psmx_loan
    - assert
    - ddsi_serdata_to_ser
    - ddsi_serdata_size
    - dds_psmx_set_loan_writeinfo
    linkageType: ''
    returnType: struct dds_loaned_sample
    signature: struct dds_loaned_sample * dds_writer_psmx_loan_from_serdata (const
      struct dds_writer *wr, const struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:29,1
    - Dst: ddsi_sertype_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - entity_kind
    - typename
    - serdata_ops
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    - char*
    - struct ddsi_serdata_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: new_sertype_builtintopic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_sertype_init
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: "struct ddsi_sertype *new_sertype_builtintopic_impl (\n    enum ddsi_sertype_builtintopic_entity_kind
      entity_kind,\n    const char *typename,\n    const struct ddsi_serdata_ops *serdata_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_sertype_builtintopic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entity_kind
    - typename
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: dds_new_sertype_builtintopic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 2
    functionsReached:
    - new_sertype_builtintopic_impl
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *dds_new_sertype_builtintopic (enum ddsi_sertype_builtintopic_entity_kind
      entity_kind, const char *typename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:42,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: sertype_builtin_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_sertype_fini
    linkageType: ''
    returnType: void
    signature: void sertype_builtin_free (struct ddsi_sertype *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sertype_builtin_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sertype_builtin_equal (const struct ddsi_sertype *acmn, const
      struct ddsi_sertype *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: sertype_builtin_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_builtin_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: free_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void free_pp (void *vsample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_sertype_builtintopic_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entity_kind
    - typename
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: dds_new_sertype_builtintopic_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 2
    functionsReached:
    - new_sertype_builtintopic_impl
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *dds_new_sertype_builtintopic_topic (enum ddsi_sertype_builtintopic_entity_kind
      entity_kind, const char *typename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:76,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:77,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: free_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 2
    functionsReached:
    - dds_free
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void free_topic (void *vsample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:88,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:89,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vsample
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: free_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 5
    functionsReached:
    - dds_free
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void free_endpoint (void *vsample)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - entity_kind
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    assertStmts:
    - condition: (0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t get_size (enum ddsi_sertype_builtintopic_entity_kind entity_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:118,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sertype_common
    - samples
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: sertype_builtin_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - get_size
    - memset
    linkageType: ''
    returnType: void
    signature: void sertype_builtin_zero_samples (const struct ddsi_sertype *sertype_common,
      void *samples, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:125,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:126,1
    - Dst: count::count
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:127,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:128,1
    - Dst: size::size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:128,1
    - Dst: i::i
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ptrs
    - sertype_common
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: sertype_builtin_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - i::i
    - get_size
    - count::count
    - memset
    - dds_realloc
    - size::size
    linkageType: ''
    returnType: void
    signature: void sertype_builtin_realloc_samples (void **ptrs, const struct ddsi_sertype
      *sertype_common, void *old, size_t oldcount, size_t count)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:144,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:165,1
    - Dst: f
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:168,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - sertype_common
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts:
    - condition: ((char *)ptrs[i] == (char *)ptrs[0] + off)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    - condition: (f != 0)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    constantsTouched: []
    func_position:
      end: 177
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 177
    functionName: sertype_builtin_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
    functionUses: 0
    functionsReached:
    - f
    - get_size
    - assert
    - dds_free
    linkageType: ''
    returnType: void
    signature: void sertype_builtin_free_samples (const struct ddsi_sertype *sertype_common,
      void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:68,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ifver
    - ops
    argTypes:
    - enum dds_psmx_interface_version*
    - struct dds_psmx_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: get_check_interface_version
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool get_check_interface_version (enum dds_psmx_interface_version *ifver,
      const struct dds_psmx_ops *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - psmx_topic
    - list
    argTypes:
    - struct dds_psmx_topic*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: dds_add_psmx_topic_to_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_add_psmx_topic_to_list (struct dds_psmx_topic *psmx_topic,
      void **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - psmx_topic
    - list
    argTypes:
    - struct dds_psmx_topic*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: dds_remove_psmx_topic_from_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_remove_psmx_topic_from_list (struct dds_psmx_topic
      *psmx_topic, void **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - psmx_endpoint
    - list
    argTypes:
    - struct dds_psmx_endpoint*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: dds_add_psmx_endpoint_to_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_add_psmx_endpoint_to_list (struct dds_psmx_endpoint
      *psmx_endpoint, void **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - psmx_endpoint
    - list
    argTypes:
    - struct dds_psmx_endpoint*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: dds_remove_psmx_endpoint_from_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_remove_psmx_endpoint_from_list (struct dds_psmx_endpoint
      *psmx_endpoint, void **list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_check_interface_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:112,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:114,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:117,1
    - Dst: struct dds_psmx*::ops::get_node_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:118,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: dds_psmx_init_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - memcpy
    - memset
    - get_check_interface_version
    - struct dds_psmx*::ops::get_node_id
    - dds_alloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_init_generic (struct dds_psmx *psmx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_check_interface_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:151,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:156,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:157,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:162,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: dds_psmx_cleanup_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - dds_free
    - get_check_interface_version
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_cleanup_generic (struct dds_psmx *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:175,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:175,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - psmx_topic
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - struct dds_psmx_topic*
    - struct dds_psmx*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: dds_psmx_topic_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    - strlen
    linkageType: ''
    returnType: void
    signature: void dds_psmx_topic_init (struct dds_psmx_topic *psmx_topic, const
      struct dds_psmx *psmx, const char *topic_name, const char * type_name, dds_data_type_properties_t
      data_type_props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:185,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:185,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - psmx_topic
    - ops
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - struct dds_psmx_topic*
    - dds_psmx_topic_ops_t*
    - struct dds_psmx*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: dds_psmx_topic_init_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_string_dup
    - dds_psmx_topic_init
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_topic_init_generic (struct dds_psmx_topic *psmx_topic,
      const dds_psmx_topic_ops_t *ops, const struct dds_psmx * psmx, const char *topic_name,
      const char * type_name, dds_data_type_properties_t data_type_props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:192,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - struct dds_psmx_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: dds_psmx_topic_cleanup_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_topic_cleanup_generic (struct dds_psmx_topic
      *psmx_topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_endpoint_v0*::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - psmx_endpoint
    - sz
    argTypes:
    - struct dds_psmx_endpoint_int*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: dds_psmx_endpoint_request_loan_v0_bincompat_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_endpoint_v0*::ops::request_loan
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_psmx_endpoint_request_loan_v0_bincompat_wrapper
      (const struct dds_psmx_endpoint_int *psmx_endpoint, uint32_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_endpoint_int*::ext::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - psmx_endpoint
    - sz
    argTypes:
    - struct dds_psmx_endpoint_int*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: dds_psmx_endpoint_request_loan_v0_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_endpoint_int*::ext::ops::request_loan
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_psmx_endpoint_request_loan_v0_wrapper (const
      struct dds_psmx_endpoint_int *psmx_endpoint, uint32_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_endpoint_int*::ext::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:224,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - psmx_endpoint
    - sz
    argTypes:
    - struct dds_psmx_endpoint_int*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: dds_psmx_endpoint_request_loan_v1_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_endpoint_int*::ext::ops::request_loan
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *dds_psmx_endpoint_request_loan_v1_wrapper (const
      struct dds_psmx_endpoint_int *psmx_endpoint, uint32_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:240,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:241,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - config_name
    argTypes:
    - struct ddsi_domaingv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: get_psmx_instance_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    - strlen
    linkageType: ''
    returnType: dds_psmx_instance_id_t
    signature: dds_psmx_instance_id_t get_psmx_instance_id (const struct ddsi_domaingv
      * gv, const char *config_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - config_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: check_config_type_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_config_type_name (const char *config_name)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:308,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:310,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:317,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:347,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:348,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:370,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:374,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:379,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:391,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:393,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:400,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:403,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:409,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 105
    argCount: 2
    argNames:
    - config
    - config_name
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (service_name)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    - condition: (service_name_end && service_name_end >= service_name + SERVICE_NAME_len
        + 1)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    - condition: (pos == configsz)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 414
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 414
    functionName: dds_pubsub_message_exchange_configstr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 1
    functionsReached:
    - memcmp
    - memcpy
    - assert
    - strlen
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *dds_pubsub_message_exchange_configstr (const char *config, const
      char *config_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts:
    - condition: (*(v + 1) != '\0')
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: value_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t value_size (const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:437,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: extract_value
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - value_size
    linkageType: ''
    returnType: char
    signature: char *extract_value (const char *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:469,1
    - Dst: extract_value
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - config
    - option
    - option_len
    - endp
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 486
    functionName: get_config_option_value_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - extract_value
    - memcmp
    linkageType: ''
    returnType: char
    signature: char *get_config_option_value_1 (const char *config, const char *option,
      size_t option_len, const char **endp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:492,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:494,1
    - Dst: get_config_option_value_1
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - config
    - option
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: dds_psmx_get_config_option_value
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 3
    functionsReached:
    - strcmp
    - get_config_option_value_1
    - strlen
    linkageType: ''
    returnType: char
    signature: char *dds_psmx_get_config_option_value (const char *config, const char
      *option)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:511,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - nodeid
    - lstr
    argTypes:
    - dds_psmx_node_identifier_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: node_id_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_todigit
    - strlen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t node_id_from_string (dds_psmx_node_identifier_t *nodeid,
      const char *lstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:533,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:540,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:545,1
    - Dst: struct dds_psmx*::ops::get_node_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:548,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:549,1
    - Dst: node_id_from_string
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:554,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:556,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:566,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 5
    argNames:
    - psmx
    - id
    - name
    - priority
    - locstr
    argTypes:
    - struct dds_psmx*
    - dds_psmx_instance_id_t
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 573
    functionName: psmx_instance_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_string_dup
    - memcpy
    - dds_free
    - memset
    - struct dds_psmx*::ops::get_node_id
    - dds_alloc
    - node_id_from_string
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_instance_init (struct dds_psmx *psmx, dds_psmx_instance_id_t
      id, const char *name, int32_t priority, const char *locstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ext::ops::create_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:578,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - psmx
    - ktp
    - sertype
    - type
    argTypes:
    - struct dds_psmx_int*
    - struct dds_ktopic*
    - struct ddsi_sertype*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 588
    functionName: psmx_create_topic_v0_bincompat_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - struct dds_psmx_int*::ext::ops::create_topic
    linkageType: ''
    returnType: struct dds_psmx_topic_int
    signature: struct dds_psmx_topic_int *psmx_create_topic_v0_bincompat_wrapper (struct
      dds_psmx_int *psmx, struct dds_ktopic *ktp, struct ddsi_sertype *sertype, struct
      ddsi_type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ext::ops::create_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:593,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - psmx
    - ktp
    - sertype
    - type
    argTypes:
    - struct dds_psmx_int*
    - struct dds_ktopic*
    - struct ddsi_sertype*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: psmx_create_topic_v0_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - struct dds_psmx_int*::ext::ops::create_topic
    linkageType: ''
    returnType: struct dds_psmx_topic_int
    signature: struct dds_psmx_topic_int *psmx_create_topic_v0_wrapper (struct dds_psmx_int
      *psmx, struct dds_ktopic *ktp, struct ddsi_sertype *sertype, struct ddsi_type
      *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ext::ops::create_topic_with_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:607,1
    - Dst: struct dds_psmx_int*::ext::ops::delete_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:613,1
    - Dst: dds_psmx_topic_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:617,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - psmx
    - ktp
    - sertype
    - type
    argTypes:
    - struct dds_psmx_int*
    - struct dds_ktopic*
    - struct ddsi_sertype*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 625
    functionName: psmx_create_topic_v1_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - struct dds_psmx_int*::ext::ops::create_topic_with_type
    - dds_psmx_topic_init
    - struct dds_psmx_int*::ext::ops::delete_topic
    linkageType: ''
    returnType: struct dds_psmx_topic_int
    signature: struct dds_psmx_topic_int *psmx_create_topic_v1_wrapper (struct dds_psmx_int
      *psmx, struct dds_ktopic *ktp, struct ddsi_sertype *sertype, struct ddsi_type
      *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_topic_int*::psmx_instance::ext::ops::delete_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:629,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - topic
    argTypes:
    - struct dds_psmx_topic_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: psmx_delete_topic_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_topic_int*::psmx_instance::ext::ops::delete_topic
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void psmx_delete_topic_wrapper (struct dds_psmx_topic_int *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ext::ops::deinit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:635,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: psmx_delete_psmx_v0_bincompat_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - struct dds_psmx_int*::ext::ops::deinit
    linkageType: ''
    returnType: void
    signature: void psmx_delete_psmx_v0_bincompat_wrapper (struct dds_psmx_int *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ext::ops::deinit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:641,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: psmx_delete_psmx_v0_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - struct dds_psmx_int*::ext::ops::deinit
    linkageType: ''
    returnType: void
    signature: void psmx_delete_psmx_v0_wrapper (struct dds_psmx_int *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:647,1
    - Dst: struct dds_psmx_int*::ext::ops::delete_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:650,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: psmx_delete_psmx_v1_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_psmx_cleanup_generic
    - struct dds_psmx_int*::ext::ops::delete_psmx
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void psmx_delete_psmx_v1_wrapper (struct dds_psmx_int *psmx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - ext
    - ifver
    argTypes:
    - struct dds_psmx*
    - enum dds_psmx_interface_version
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 694
    functionName: new_psmx_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct dds_psmx_int
    signature: struct dds_psmx_int *new_psmx_int (struct dds_psmx *ext, enum dds_psmx_interface_version
      ifver)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:708,1
    - Dst: check_config_type_name
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:710,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:712,1
    - Dst: dds_pubsub_message_exchange_configstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:717,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:719,1
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:723,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:726,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:727,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:731,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:732,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:734,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:738,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:739,1
    - Dst: get_psmx_instance_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:740,1
    - Dst: creator
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:741,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:743,1
    - Dst: get_check_interface_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:747,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:749,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:763,1
    - Dst: new_psmx_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:767,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:775,1
    - Dst: new_psmx_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:779,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:786,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:789,1
    - Dst: psmx_instance_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:790,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:791,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:794,1
    - Dst: new_psmx_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:797,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:805,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:806,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:808,1
    - Dst: struct dds_psmx*::ops::deinit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:813,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:818,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:820,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:822,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:825,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 102
    argCount: 5
    argNames:
    - gv
    - config
    - out
    - lib_handle
    - interface_version
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_config_psmx*
    - struct dds_psmx_int**
    - ddsrt_dynlib_t*
    - enum dds_psmx_interface_version*
    assertStmts:
    - condition: (psmx_name)
      pos:
        line_end: 738
        line_start: 738
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 827
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 827
    functionName: psmx_instance_load
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - snprintf
    - psmx_instance_init
    - ddsrt_free
    - ddsrt_dlclose
    - ddsrt_dlopen
    - ddsrt_dlsym
    - assert
    - creator
    - ddsrt_dlerror
    - ddsrt_asprintf
    - get_check_interface_version
    - dds_pubsub_message_exchange_configstr
    - new_psmx_int
    - check_config_type_name
    - struct dds_psmx*::ops::deinit
    - GVERROR
    - get_psmx_instance_id
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_instance_load (const struct ddsi_domaingv *gv, const
      struct ddsi_config_psmx *config, struct dds_psmx_int **out, ddsrt_dynlib_t *lib_handle,
      enum dds_psmx_interface_version *interface_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: qsort_cmp_psmx_prio_descending
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qsort_cmp_psmx_prio_descending (const void *va, const void *vb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:845,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:849,1
    - Dst: psmx_instance_load
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:853,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:863,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - gv
    - domain
    argTypes:
    - struct ddsi_domaingv*
    - struct dds_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 838
    functionDepth: 5
    functionLinenumber: 838
    functionLinenumberEnd: 870
    functionName: dds_pubsub_message_exchange_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - qsort
    - GVERROR
    - psmx_instance_load
    - GVLOG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_pubsub_message_exchange_init (const struct ddsi_domaingv
      *gv, struct dds_domain *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ops::delete_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:877,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - domain
    argTypes:
    - struct dds_domain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 881
    functionName: dds_pubsub_message_exchange_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_int*::ops::delete_psmx
    - ddsrt_dlclose
    linkageType: ''
    returnType: void
    signature: void dds_pubsub_message_exchange_fini (struct dds_domain *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - psmx_endpoint
    - data
    - keysz
    - key
    argTypes:
    - struct dds_psmx_endpoint_int*
    - dds_loaned_sample_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: dds_psmx_endpoint_write_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_endpoint_write_wrapper (const struct dds_psmx_endpoint_int
      *psmx_endpoint, dds_loaned_sample_t *data, size_t keysz, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_endpoint_int*::ext::ops::write_with_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psmx_endpoint
    - data
    - keysz
    - key
    argTypes:
    - struct dds_psmx_endpoint_int*
    - dds_loaned_sample_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: dds_psmx_endpoint_write_with_key_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_endpoint_int*::ext::ops::write_with_key
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_psmx_endpoint_write_with_key_wrapper (const struct
      dds_psmx_endpoint_int *psmx_endpoint, dds_loaned_sample_t *data, size_t keysz,
      const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ep
    - endpoint_type
    - topic
    - request_loan
    - write_with_key
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_psmx_endpoint_type_t
    - struct dds_psmx_topic_int*
    - dds_psmx_endpoint_request_loan_int_fn
    - dds_psmx_endpoint_write_with_key_int_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 907
    functionName: new_psmx_endpoint_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct dds_psmx_endpoint_int
    signature: struct dds_psmx_endpoint_int *new_psmx_endpoint_int (struct dds_psmx_endpoint
      *ep, dds_psmx_endpoint_type_t endpoint_type, const struct dds_psmx_topic_int
      *topic, dds_psmx_endpoint_request_loan_int_fn request_loan, dds_psmx_endpoint_write_with_key_int_fn
      write_with_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:911,1
    - Dst: struct dds_psmx_topic_int*::ext::ops::create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:912,1
    - Dst: new_psmx_endpoint_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic_int*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (psmx_topic && psmx_topic->ops.create_endpoint)
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: psmx_create_endpoint_v0_bincompat_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_topic_int*::ext::ops::create_endpoint
    - assert
    - new_psmx_endpoint_int
    linkageType: ''
    returnType: struct dds_psmx_endpoint_int
    signature: struct dds_psmx_endpoint_int *psmx_create_endpoint_v0_bincompat_wrapper
      (const struct dds_psmx_topic_int *psmx_topic, const struct dds_qos *qos, dds_psmx_endpoint_type_t
      endpoint_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_topic_int*::ext::ops::create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:920,1
    - Dst: new_psmx_endpoint_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic_int*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 924
    functionName: psmx_create_endpoint_v0_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_topic_int*::ext::ops::create_endpoint
    - new_psmx_endpoint_int
    linkageType: ''
    returnType: struct dds_psmx_endpoint_int
    signature: struct dds_psmx_endpoint_int *psmx_create_endpoint_v0_wrapper (const
      struct dds_psmx_topic_int *psmx_topic, const struct dds_qos *qos, dds_psmx_endpoint_type_t
      endpoint_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_topic_int*::ext::ops::create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:928,1
    - Dst: new_psmx_endpoint_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic_int*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: psmx_create_endpoint_v1_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_topic_int*::ext::ops::create_endpoint
    - new_psmx_endpoint_int
    linkageType: ''
    returnType: struct dds_psmx_endpoint_int
    signature: struct dds_psmx_endpoint_int *psmx_create_endpoint_v1_wrapper (const
      struct dds_psmx_topic_int *psmx_topic, const struct dds_qos *qos, dds_psmx_endpoint_type_t
      endpoint_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:938,1
    - Dst: struct dds_psmx_endpoint_int*::psmx_topic::ops::delete_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:939,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint_int*
    assertStmts:
    - condition: (psmx_endpoint && psmx_endpoint->psmx_topic && psmx_endpoint->psmx_topic->ops.delete_endpoint)
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: psmx_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    - struct dds_psmx_endpoint_int*::psmx_topic::ops::delete_endpoint
    linkageType: ''
    returnType: void
    signature: void psmx_delete_endpoint (struct dds_psmx_endpoint_int *psmx_endpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_has_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:950,1
    - Dst: struct dds_psmx_int*::ops::type_qos_supported
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:952,1
    - Dst: struct dds_psmx_topic_int*::ops::create_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:954,1
    - Dst: dds_endpoint_remove_psmx_endpoints
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ep
    - qos
    - psmx_topics
    - endpoint_type
    argTypes:
    - struct dds_endpoint*
    - dds_qos_t*
    - struct dds_psmx_topics_set*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 943
    functionDepth: 3
    functionLinenumber: 943
    functionLinenumberEnd: 964
    functionName: dds_endpoint_add_psmx_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 1
    functionsReached:
    - dds_endpoint_remove_psmx_endpoints
    - struct dds_psmx_topic_int*::ops::create_endpoint
    - struct dds_psmx_int*::ops::type_qos_supported
    - dds_qos_has_psmx_instances
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_endpoint_add_psmx_endpoint (struct dds_endpoint *ep,
      const dds_qos_t *qos, struct dds_psmx_topics_set *psmx_topics, dds_psmx_endpoint_type_t
      endpoint_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psmx_delete_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ep
    argTypes:
    - struct dds_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 973
    functionName: dds_endpoint_remove_psmx_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - psmx_delete_endpoint
    linkageType: ''
    returnType: void
    signature: void dds_endpoint_remove_psmx_endpoints (struct dds_endpoint *ep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:977,1
    - Dst: dds_qos_has_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:983,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - qos
    - psmx_instances
    argTypes:
    - dds_qos_t*
    - struct dds_psmx_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 991
    functionName: dds_get_psmx_locators_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 1
    functionsReached:
    - dds_realloc
    - dds_alloc
    - dds_qos_has_psmx_instances
    linkageType: ''
    returnType: struct ddsi_psmx_locators_set
    signature: struct ddsi_psmx_locators_set *dds_get_psmx_locators_set (const dds_qos_t
      *qos, const struct dds_psmx_set *psmx_instances)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:996,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psmx_locators_set
    argTypes:
    - struct ddsi_psmx_locators_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 998
    functionName: dds_psmx_locators_set_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 1
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void dds_psmx_locators_set_free (struct ddsi_psmx_locators_set *psmx_locators_set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_psmx_int*::ops::supported_features
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - psmx_instance
    argTypes:
    - struct dds_psmx_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: dds_psmx_supported_features
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - struct dds_psmx_int*::ops::supported_features
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t dds_psmx_supported_features (const struct dds_psmx_int
      *psmx_instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_supported_features
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - struct dds_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1016
    functionName: endpoint_is_shm
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_psmx_supported_features
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_shm (const struct dds_endpoint *endpoint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1023,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1026,1
    - Dst: endpoint_is_shm
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1030,1
    - Dst: endpoint_is_shm
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1035,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1018
    functionDepth: 3
    functionLinenumber: 1018
    functionLinenumberEnd: 1044
    functionName: dds_is_shared_memory_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    - endpoint_is_shm
    linkageType: ''
    returnType: bool
    signature: bool dds_is_shared_memory_available (const dds_entity_t entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_supported_features
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - struct dds_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: endpoint_is_loan_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_psmx_supported_features
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_loan_available (const struct dds_endpoint *endpoint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1066,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1069,1
    - Dst: endpoint_is_loan_available
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1073,1
    - Dst: endpoint_is_loan_available
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1078,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1087
    functionName: dds_is_loan_available
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_entity_pin
    - dds_entity_kind
    - endpoint_is_loan_available
    linkageType: ''
    returnType: bool
    signature: bool dds_is_loan_available (const dds_entity_t entity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1094,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1097,1
    - Dst: dds_request_writer_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1098,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - size
    - sample
    argTypes:
    - dds_entity_t
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1104
    functionName: dds_request_loan_of_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 0
    functionsReached:
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    - dds_request_writer_loan
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_request_loan_of_size (dds_entity_t writer, size_t
      size, void **sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1108,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - loan
    - wr_guid
    - timestamp
    - statusinfo
    argTypes:
    - struct dds_loaned_sample*
    - ddsi_guid_t*
    - dds_time_t
    - uint32_t
    assertStmts:
    - condition: (loan->metadata->sample_state != DDS_LOANED_SAMPLE_STATE_UNITIALIZED)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    constantsTouched: []
    func_position:
      end: 1113
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1113
    functionName: dds_psmx_set_loan_writeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
    functionUses: 2
    functionsReached:
    - dds_guid_from_ddsi_guid
    - assert
    linkageType: ''
    returnType: void
    signature: void dds_psmx_set_loan_writeinfo (struct dds_loaned_sample *loan, const
      ddsi_guid_t *wr_guid, dds_time_t timestamp, uint32_t statusinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation_manykinds
      Src: /src/cyclonedds/src/core/ddsc/src/dds_coherent.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: dds_begin_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_coherent.c
    functionUses: 1
    functionsReached:
    - dds_generic_unimplemented_operation_manykinds
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_begin_coherent (dds_entity_t entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation_manykinds
      Src: /src/cyclonedds/src/core/ddsc/src/dds_coherent.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: dds_end_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_coherent.c
    functionUses: 1
    functionsReached:
    - dds_generic_unimplemented_operation_manykinds
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_end_coherent (dds_entity_t entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:58,1
    - Dst: dds_handle_server_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:59,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:61,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:62,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:63,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:65,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:66,1
    - Dst: ddsrt_get_singleton_cond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: common_cleanup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_states_fini
    - ddsi_iid_fini
    - ddsrt_cond_destroy
    - ddsrt_mutex_destroy
    - ddsrt_cond_broadcast
    - ddsrt_get_singleton_cond
    - ddsrt_atomic_st32
    - dds_handle_server_fini
    linkageType: ''
    returnType: void
    signature: void common_cleanup (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:71,1
    - Dst: dds_handle_pin_and_ref_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (s != CDDS_STATE_ZERO)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: cyclonedds_entity_ready
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    functionUses: 0
    functionsReached:
    - dds_handle_pin_and_ref_with_origin
    - assert
    linkageType: ''
    returnType: bool
    signature: bool cyclonedds_entity_ready (uint32_t s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:85,1
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:86,1
    - Dst: ddsrt_get_singleton_cond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:87,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:89,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:90,1
    - Dst: cyclonedds_entity_ready
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:91,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:93,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:94,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:99,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:100,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:105,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:108,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:113,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:114,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:118,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:119,1
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:120,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:121,1
    - Dst: dds_handle_server_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:123,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:125,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:130,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:131,1
    - Dst: dds_handle_repin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:132,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:133,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:134,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:135,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:136,1
    - Dst: common_cleanup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:140,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:141,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dds_global.m_entity.m_hdllink.hdl == DDS_CYCLONEDDS_HANDLE)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    constantsTouched: []
    func_position:
      end: 144
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 144
    functionName: dds_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    functionUses: 2
    functionsReached:
    - ddsi_iid_gen
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsrt_atomic_ld32
    - DDS_ERROR
    - dds_entity_add_ref_locked
    - ddsrt_mutex_lock
    - dds_entity_init
    - ddsrt_get_singleton_cond
    - dds_handle_repin
    - dds_entity_init_complete
    - assert
    - ddsrt_get_singleton_mutex
    - dds_handle_server_init
    - ddsrt_mutex_init
    - ddsrt_cond_init
    - common_cleanup
    - cyclonedds_entity_ready
    - ddsrt_fini
    - ddsrt_init
    - ddsrt_atomic_st32
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:149,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:149,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&dds_state) == CDDS_STATE_READY)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: dds_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void dds_close (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:156,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:161,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:162,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:163,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:164,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:166,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:167,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:167,1
    - Dst: dds_entity_final_deinit_before_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:168,1
    - Dst: common_cleanup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:169,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:170,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_init.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&dds_state) == CDDS_STATE_STOPPING)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: dds_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_init.c
    functionUses: 0
    functionsReached:
    - common_cleanup
    - ddsrt_atomic_ld32
    - dds_entity_final_deinit_before_free
    - ddsrt_fini
    - ddsrt_avl_is_empty
    - ddsrt_mutex_lock
    - assert
    - ddsrt_get_singleton_mutex
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_fini (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: lwreg_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwreg_hash (const void *vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: lwreg_equals
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool lwreg_equals (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct lwregs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: lwregs_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwregs_init (struct lwregs *rt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct lwregs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: lwregs_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_free
    linkageType: ''
    returnType: void
    signature: void lwregs_fini (struct lwregs *rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - iid
    - wr_iid
    argTypes:
    - struct lwregs*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: lwregs_contains
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_lookup
    linkageType: ''
    returnType: bool
    signature: bool lwregs_contains (struct lwregs *rt, uint64_t iid, uint64_t wr_iid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:217,1
    - Dst: ddsrt_ehh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rt
    - iid
    - wr_iid
    argTypes:
    - struct lwregs*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: lwregs_add
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_add
    - ddsrt_ehh_new
    linkageType: ''
    returnType: bool
    signature: bool lwregs_add (struct lwregs *rt, uint64_t iid, uint64_t wr_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - rt
    - iid
    - wr_iid
    argTypes:
    - struct lwregs*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: lwregs_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_remove
    linkageType: ''
    returnType: bool
    signature: bool lwregs_delete (struct lwregs *rt, uint64_t iid, uint64_t wr_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:231,1
    - Dst: ddsrt_ehh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:231,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct lwregs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: lwregs_dump
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_iter_first
    - ddsrt_ehh_iter_next
    - printf
    linkageType: ''
    returnType: void
    signature: void lwregs_dump (struct lwregs *rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rhc_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: qmask_of_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qmask_of_sample (const struct rhc_sample *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: qmask_of_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qmask_of_invsample (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: inst_nsamples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t inst_nsamples (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: inst_nread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t inst_nread (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inst_nsamples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: inst_is_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_nsamples
    linkageType: ''
    returnType: bool
    signature: bool inst_is_empty (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inst_nread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: inst_has_read
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_nread
    linkageType: ''
    returnType: bool
    signature: bool inst_has_read (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inst_nread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:398,1
    - Dst: inst_nsamples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: inst_has_unread
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_nsamples
    - inst_nread
    linkageType: ''
    returnType: bool
    signature: bool inst_has_unread (const struct rhc_instance *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:406,1
    - Dst: ddsi_sertype_zero_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:407,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - type
    - d
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: untyped_to_clean_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_untyped_to_sample
    - ddsi_sertype_free_sample
    - ddsi_sertype_zero_sample
    linkageType: ''
    returnType: bool
    signature: bool untyped_to_clean_invsample (const struct ddsi_sertype *type, const
      struct ddsi_serdata *d, void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - va
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: instance_iid_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t instance_iid_hash (const void *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: instance_iid_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool instance_iid_eq (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rhc
    - inst
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: add_inst_to_nonempty_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_append
    linkageType: ''
    returnType: void
    signature: void add_inst_to_nonempty_list (struct dds_rhc_default *rhc, struct
      rhc_instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:444,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:444,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:445,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rhc
    - inst
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    assertStmts:
    - condition: (inst_is_empty (inst))
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_nonempty_instances > 0)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: remove_inst_from_nonempty_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_remove
    - assert
    - inst_is_empty
    linkageType: ''
    returnType: void
    signature: void remove_inst_from_nonempty_list (struct dds_rhc_default *rhc, struct
      rhc_instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:452,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct dds_rhc_default*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: oldest_nonempty_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - DDSRT_FROM_CIRCLIST
    - ddsrt_circlist_oldest
    linkageType: ''
    returnType: struct rhc_instance
    signature: struct rhc_instance *oldest_nonempty_instance (const struct dds_rhc_default
      *rhc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:457,1
    - Dst: ddsrt_circlist_latest
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct dds_rhc_default*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: latest_nonempty_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_latest
    - DDSRT_FROM_CIRCLIST
    linkageType: ''
    returnType: struct rhc_instance
    signature: struct rhc_instance *latest_nonempty_instance (const struct dds_rhc_default
      *rhc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: next_nonempty_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - DDSRT_FROM_CIRCLIST
    linkageType: ''
    returnType: struct rhc_instance
    signature: struct rhc_instance *next_nonempty_instance (const struct rhc_instance
      *inst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:473,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:473,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:475,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:478,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:479,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:509,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:510,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:511,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:512,1
    - Dst: account_for_nonempty_to_empty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:513,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - rhc
    - sample
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_sample*
    assertStmts:
    - condition: (!inst_is_empty (inst))
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 515
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 515
    functionName: drop_expired_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - init_trigger_info_qcond
    - account_for_nonempty_to_empty_transition
    - assert
    - TRACE
    - free_sample
    - get_trigger_info_pre
    - inst_is_empty
    - update_conditions_locked
    - get_trigger_info_cmn
    linkageType: ''
    returnType: void
    signature: void drop_expired_samples (struct dds_rhc_default *rhc, struct rhc_sample
      *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:522,1
    - Dst: ddsi_lifespan_next_expired_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:523,1
    - Dst: drop_expired_samples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:524,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hc
    - tnow
    argTypes:
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: dds_rhc_default_sample_expired_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - drop_expired_samples
    - ddsi_lifespan_next_expired_locked
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t dds_rhc_default_sample_expired_cb(void *hc, ddsrt_mtime_t
      tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:537,1
    - Dst: ddsi_deadline_next_missed_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:540,1
    - Dst: ddsi_deadline_compute_deadlines_missed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:543,1
    - Dst: ddsi_deadline_reregister_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:544,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:553,1
    - Dst: dds_reader_status_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:554,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:555,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:557,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - hc
    - tnow
    argTypes:
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 561
    functionName: dds_rhc_default_deadline_missed_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_deadline_compute_deadlines_missed
    - ddsi_deadline_next_missed_locked
    - ddsrt_mutex_lock
    - ddsi_deadline_reregister_instance_locked
    - dds_reader_status_cb
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t dds_rhc_default_deadline_missed_cb(void *hc, ddsrt_mtime_t
      tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:566,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:567,1
    - Dst: lwregs_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:570,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:571,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:572,1
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:573,1
    - Dst: ddsi_lifespan_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:581,1
    - Dst: ddsi_deadline_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - reader
    - gv
    - type
    - xchecks
    argTypes:
    - dds_reader*
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 590
    functionName: dds_rhc_default_new_xchecks
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_init
    - ddsi_deadline_init
    - lwregs_init
    - memset
    - ddsi_lifespan_init
    - ddsrt_hh_new
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct dds_rhc
    signature: struct dds_rhc *dds_rhc_default_new_xchecks (dds_reader *reader, struct
      ddsi_domaingv *gv, const struct ddsi_sertype *type, bool xchecks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_rhc_default_new_xchecks
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reader
    - type
    argTypes:
    - struct dds_reader*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: dds_rhc_default_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - dds_rhc_default_new_xchecks
    linkageType: ''
    returnType: struct dds_rhc
    signature: struct dds_rhc *dds_rhc_default_new (struct dds_reader *reader, const
      struct ddsi_sertype *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - rhc
    - reader
    - type
    - tkmap
    argTypes:
    - struct dds_rhc*
    - dds_reader*
    - struct ddsi_sertype*
    - struct ddsi_tkmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: dds_rhc_default_associate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_rhc_default_associate (struct dds_rhc *rhc, dds_reader
      *reader, const struct ddsi_sertype *type, struct ddsi_tkmap *tkmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rhc_common
    - qos
    argTypes:
    - struct ddsi_rhc*
    - dds_qos_t*
    assertStmts:
    - condition: (qos->history.kind != DDS_HISTORY_KEEP_LAST || qos->history.depth
        > 0)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: dds_rhc_default_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void dds_rhc_default_set_qos (struct ddsi_rhc *rhc_common, const dds_qos_t
      * qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:630,1
    - Dst: pred
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rhc
    - sample
    argTypes:
    - struct dds_rhc_default*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 634
    functionName: eval_predicate_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - pred
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: bool
    signature: bool eval_predicate_sample (const struct dds_rhc_default *rhc, const
      struct ddsi_serdata *sample, bool (*pred) (const void *sample))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: untyped_to_clean_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:638,1
    - Dst: pred
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rhc
    - inst
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: eval_predicate_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - pred
    - untyped_to_clean_invsample
    linkageType: ''
    returnType: bool
    signature: bool eval_predicate_invsample (const struct dds_rhc_default *rhc, const
      struct rhc_instance *inst, bool (*pred) (const void *sample))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:649,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 660
    functionName: alloc_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - VALGRIND_MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: struct rhc_sample
    signature: struct rhc_sample *alloc_sample (struct rhc_instance *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:665,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:667,1
    - Dst: ddsi_lifespan_unregister_sample_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:669,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:673,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:675,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - rhc
    - inst
    - s
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct rhc_sample*
    assertStmts:
    - condition: (!inst->a_sample_free)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 683
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 683
    functionName: free_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 14
    functionsReached:
    - ddsi_lifespan_unregister_sample_locked
    - VALGRIND_MAKE_MEM_NOACCESS
    - ddsrt_free
    - ddsi_serdata_unref
    - assert
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void free_sample (struct dds_rhc_default *rhc, struct rhc_instance
      *inst, struct rhc_sample *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:687,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rhc
    - inst
    - trig_qc
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct trigger_info_qcond*
    assertStmts:
    - condition: (inst->inv_exists)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc->dec_conds_invsample == 0)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: inst_clear_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void inst_clear_invsample (struct dds_rhc_default *rhc, struct rhc_instance
      *inst, struct trigger_info_qcond *trig_qc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inst_clear_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rhc
    - inst
    - trig_qc
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct trigger_info_qcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: inst_clear_invsample_if_exists
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_clear_invsample
    linkageType: ''
    returnType: void
    signature: void inst_clear_invsample_if_exists (struct dds_rhc_default *rhc, struct
      rhc_instance *inst, struct trigger_info_qcond *trig_qc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inst_clear_invsample_if_exists
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:715,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - rhc
    - inst
    - trig_qc
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct trigger_info_qcond*
    - bool*
    assertStmts:
    - condition: (trig_qc->inc_conds_invsample == 0)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 723
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 723
    functionName: inst_set_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - inst_clear_invsample_if_exists
    linkageType: ''
    returnType: void
    signature: void inst_set_invsample (struct dds_rhc_default *rhc, struct rhc_instance
      *inst, struct trigger_info_qcond *trig_qc, bool *nda)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:727,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:727,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:728,1
    - Dst: ddsi_deadline_unregister_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:731,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - inst
    - rhc
    argTypes:
    - struct rhc_instance*
    - struct dds_rhc_default*
    assertStmts:
    - condition: (inst_is_empty (inst))
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: free_empty_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsrt_free
    - assert
    - ddsi_deadline_unregister_instance_locked
    - inst_is_empty
    linkageType: ''
    returnType: void
    signature: void free_empty_instance (struct rhc_instance *inst, struct dds_rhc_default
      *rhc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:739,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:746,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:755,1
    - Dst: inst_clear_invsample_if_exists
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:757,1
    - Dst: remove_inst_from_nonempty_list
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:759,1
    - Dst: free_empty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - inst
    - rhc
    argTypes:
    - struct rhc_instance*
    - struct dds_rhc_default*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 763
    functionName: free_instance_rhc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - remove_inst_from_nonempty_list
    - memset
    - free_sample
    - free_empty_instance
    - inst_clear_invsample_if_exists
    - inst_is_empty
    linkageType: ''
    returnType: void
    signature: void free_instance_rhc_free (struct rhc_instance *inst, struct dds_rhc_default
      *rhc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_instance_rhc_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: free_instance_rhc_free_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - free_instance_rhc_free
    linkageType: ''
    returnType: void
    signature: void free_instance_rhc_free_wrap (void *vnode, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_rhc_default_sample_expired_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:774,1
    - Dst: ddsi_lifespan_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:775,1
    - Dst: ddsi_deadline_stop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:778,1
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:780,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:781,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:781,1
    - Dst: ddsi_deadline_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:783,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:785,1
    - Dst: lwregs_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:786,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:788,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:789,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rhc_common
    argTypes:
    - struct ddsi_rhc*
    assertStmts:
    - condition: (ddsrt_circlist_isempty (&rhc->nonempty_instances))
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 791
      start: 770
    functionDepth: 4
    functionLinenumber: 770
    functionLinenumberEnd: 791
    functionName: dds_rhc_default_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_lifespan_fini
    - ddsi_deadline_fini
    - lwregs_fini
    - ddsrt_free
    - ddsi_deadline_stop
    - assert
    - ddsrt_hh_enum
    - ddsrt_hh_free
    - ddsrt_circlist_isempty
    - ddsi_sertype_free_sample
    - ddsrt_mutex_destroy
    - dds_rhc_default_sample_expired_cb
    linkageType: ''
    returnType: void
    signature: void dds_rhc_default_free (struct ddsi_rhc *rhc_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct trigger_info_cmn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: init_trigger_info_cmn_nonmatch
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_trigger_info_cmn_nonmatch (struct trigger_info_cmn *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:802,1
    - Dst: inst_has_read
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:803,1
    - Dst: inst_has_unread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - inst
    argTypes:
    - struct trigger_info_cmn*
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: get_trigger_info_cmn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 1
    functionsReached:
    - inst_has_unread
    - inst_has_read
    - qmask_of_inst
    linkageType: ''
    returnType: void
    signature: void get_trigger_info_cmn (struct trigger_info_cmn *info, struct rhc_instance
      *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - inst
    argTypes:
    - struct trigger_info_pre*
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: get_trigger_info_pre
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 1
    functionsReached:
    - get_trigger_info_cmn
    linkageType: ''
    returnType: void
    signature: void get_trigger_info_pre (struct trigger_info_pre *info, struct rhc_instance
      *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct trigger_info_qcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 822
    functionName: init_trigger_info_qcond
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_trigger_info_qcond (struct trigger_info_qcond *qc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - rhc
    - pre
    - post
    - trig_qc
    argTypes:
    - struct dds_rhc_default*
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 837
    functionName: trigger_info_differs
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool trigger_info_differs (const struct dds_rhc_default *rhc, const
      struct trigger_info_pre *pre, const struct trigger_info_post *post, const struct
      trigger_info_qcond *trig_qc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inst_clear_invsample_if_exists
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:856,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:857,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:859,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:860,1
    - Dst: ddsi_lifespan_unregister_sample_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:863,1
    - Dst: alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:897,1
    - Dst: inst_clear_invsample_if_exists
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:898,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:912,1
    - Dst: ddsi_lifespan_register_sample_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:920,1
    - Dst: eval_predicate_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:927,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 7
    argNames:
    - rhc
    - inst
    - wrinfo
    - sample
    - cb_data
    - trig_qc
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - ddsi_status_cb_data_t*
    - struct trigger_info_qcond*
    - bool*
    assertStmts:
    - condition: (inst->latest != NULL)
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc->dec_conds_sample == 0)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 935
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 935
    functionName: add_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_lifespan_unregister_sample_locked
    - ddsi_serdata_unref
    - ddsi_lifespan_register_sample_locked
    - assert
    - ddsi_serdata_ref
    - alloc_sample
    - eval_predicate_sample
    - inst_clear_invsample_if_exists
    linkageType: ''
    returnType: bool
    signature: bool add_sample (struct dds_rhc_default *rhc, struct rhc_instance *inst,
      const struct ddsi_writer_info *wrinfo, const struct ddsi_serdata *sample, ddsi_status_cb_data_t
      *cb_data, struct trigger_info_qcond *trig_qc, bool *nda)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - si
    - sample
    - inst
    - wr_iid
    - iid
    argTypes:
    - struct dds_sample_info*
    - struct ddsi_serdata*
    - struct rhc_instance*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 962
    functionName: content_filter_make_sampleinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void content_filter_make_sampleinfo (struct dds_sample_info *si, const
      struct ddsi_serdata *sample, const struct rhc_instance *inst, uint64_t wr_iid,
      uint64_t iid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: content_filter_make_sampleinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:977,1
    - Dst: struct dds_topic*::m_filter::f::sampleinfo_arg
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:978,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:985,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:986,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:997,1
    - Dst: content_filter_make_sampleinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1006,1
    - Dst: struct dds_topic*::m_filter::f::sample_sampleinfo_arg
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1007,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1012,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - reader
    - sample
    - inst
    - wr_iid
    - iid
    argTypes:
    - dds_reader*
    - struct ddsi_serdata*
    - struct rhc_instance*
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1018
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 1018
    functionName: content_filter_accepts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - struct dds_topic*::m_filter::f::sample_sampleinfo_arg
    - assert
    - struct dds_topic*::m_filter::f::sampleinfo_arg
    - ddsi_sertype_free_sample
    - ddsi_sertype_alloc_sample
    - content_filter_make_sampleinfo
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: bool
    signature: bool content_filter_accepts (const dds_reader *reader, const struct
      ddsi_serdata *sample, const struct rhc_instance *inst, uint64_t wr_iid, uint64_t
      iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - inst
    - wrinfo
    argTypes:
    - struct rhc_instance*
    - struct ddsi_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: inst_accepts_sample_by_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool inst_accepts_sample_by_writer_guid (const struct rhc_instance
      *inst, const struct ddsi_writer_info *wrinfo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: inst_accepts_sample_by_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1034,1
    - Dst: inst_accepts_sample_by_writer_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1059,1
    - Dst: content_filter_accepts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1065,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 5
    argNames:
    - rhc
    - inst
    - wrinfo
    - sample
    - has_data
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1070
    functionName: inst_accepts_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_accepts_sample_by_writer_guid
    - content_filter_accepts
    linkageType: ''
    returnType: bool
    signature: bool inst_accepts_sample (const struct dds_rhc_default *rhc, const
      struct rhc_instance *inst, const struct ddsi_writer_info *wrinfo, const struct
      ddsi_serdata *sample, const bool has_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - inst
    - wrinfo
    - tstamp
    argTypes:
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1076
    functionName: update_inst_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_inst_common (struct rhc_instance *inst, const struct ddsi_writer_info
      *wrinfo, ddsrt_wctime_t tstamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_inst_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - inst
    - wrinfo
    - tstamp
    argTypes:
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1084
    functionName: update_inst_have_wr_iid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - update_inst_common
    linkageType: ''
    returnType: void
    signature: void update_inst_have_wr_iid (struct rhc_instance *inst, const struct
      ddsi_writer_info *wrinfo, ddsrt_wctime_t tstamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_inst_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - inst
    - wrinfo
    - tstamp
    argTypes:
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1090
    functionName: update_inst_no_wr_iid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - update_inst_common
    linkageType: ''
    returnType: void
    signature: void update_inst_no_wr_iid (struct rhc_instance *inst, const struct
      ddsi_writer_info *wrinfo, ddsrt_wctime_t tstamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1095,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1095,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1101,1
    - Dst: free_empty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rhc
    - instptr
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance**
    assertStmts:
    - condition: (inst_is_empty (inst))
      pos:
        line_end: 1094
        line_start: 1094
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1104
      start: 1092
    functionDepth: 3
    functionLinenumber: 1092
    functionLinenumberEnd: 1104
    functionName: drop_instance_noupdate_no_writers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - inst_is_empty
    - free_empty_instance
    - ddsrt_hh_remove_present
    linkageType: ''
    returnType: void
    signature: void drop_instance_noupdate_no_writers (struct dds_rhc_default *rhc,
      struct rhc_instance **instptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1110,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1125,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1126,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1131,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1146,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1148,1
    - Dst: lwregs_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1169,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1174,1
    - Dst: lwregs_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1178,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1179,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1181,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1197,1
    - Dst: lwregs_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1199,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1200,1
    - Dst: lwregs_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1203,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1208,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1215,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1217,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 6
    argNames:
    - rhc
    - inst
    - wr_iid
    - autodispose
    - sample_accepted
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - uint64_t
    - bool
    - bool
    - bool*
    assertStmts:
    - condition: (!inst->wr_iid_islive)
      pos:
        line_end: 1130
        line_start: 1130
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst->wrcount > 0)
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (x)
      pos:
        line_end: 1178
        line_start: 1178
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst->wrcount >= 2)
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (x)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1226
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1226
    functionName: dds_rhc_register
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - lwregs_delete
    - assert
    - TRACE
    - lwregs_add
    - inst_is_empty
    linkageType: ''
    returnType: void
    signature: void dds_rhc_register (struct dds_rhc_default *rhc, struct rhc_instance
      *inst, uint64_t wr_iid, bool autodispose, bool sample_accepted, bool *nda)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1230,1
    - Dst: inst_nsamples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1230,1
    - Dst: add_inst_to_nonempty_list
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rhc
    - inst
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    assertStmts:
    - condition: (inst_nsamples (inst) == 1)
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1236
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1236
    functionName: account_for_empty_to_nonempty_transition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - inst_nsamples
    - add_inst_to_nonempty_list
    linkageType: ''
    returnType: void
    signature: void account_for_empty_to_nonempty_transition (struct dds_rhc_default
      *rhc, struct rhc_instance *inst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1241,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1241,1
    - Dst: remove_inst_from_nonempty_list
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1242,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1247,1
    - Dst: drop_instance_noupdate_no_writers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - rhc
    - instptr
    - traceprefix
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance**
    - char*
    assertStmts:
    - condition: (inst_is_empty (inst))
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1255
      start: 1238
    functionDepth: 4
    functionLinenumber: 1238
    functionLinenumberEnd: 1255
    functionName: account_for_nonempty_to_empty_transition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 1
    functionsReached:
    - remove_inst_from_nonempty_list
    - assert
    - TRACE
    - drop_instance_noupdate_no_writers
    - inst_is_empty
    linkageType: ''
    returnType: void
    signature: void account_for_nonempty_to_empty_transition (struct dds_rhc_default
      *rhc, struct rhc_instance **instptr, const char *traceprefix)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1262,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1267,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1270,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1275,1
    - Dst: lwregs_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1279,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1281,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1286,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1294,1
    - Dst: lwregs_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - rhc
    - inst
    - wr_iid
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - uint64_t
    assertStmts:
    - condition: (inst->wr_iid != 0)
      pos:
        line_end: 1266
        line_start: 1266
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1299
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1299
    functionName: rhc_unregister_delete_registration
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - lwregs_delete
    - assert
    - TRACE
    linkageType: ''
    returnType: bool
    signature: bool rhc_unregister_delete_registration (struct dds_rhc_default *rhc,
      const struct rhc_instance *inst, uint64_t wr_iid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1303,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1318,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1324,1
    - Dst: inst_set_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1337,1
    - Dst: update_inst_no_wr_iid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1338,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1344,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1356,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1362,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1363,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1363,1
    - Dst: inst_set_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1364,1
    - Dst: update_inst_no_wr_iid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1365,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1368,1
    - Dst: account_for_empty_to_nonempty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1371,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 6
    argNames:
    - rhc
    - inst
    - wrinfo
    - tstamp
    - trig_qc
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - ddsrt_wctime_t
    - struct trigger_info_qcond*
    - bool*
    assertStmts:
    - condition: (inst->wrcount > 0)
      pos:
        line_end: 1302
        line_start: 1302
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst_is_empty (inst))
      pos:
        line_end: 1362
        line_start: 1362
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1377
      start: 1301
    functionDepth: 3
    functionLinenumber: 1301
    functionLinenumberEnd: 1377
    functionName: rhc_unregister_updateinst
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_set_invsample
    - update_inst_no_wr_iid
    - account_for_empty_to_nonempty_transition
    - assert
    - TRACE
    - inst_is_empty
    linkageType: ''
    returnType: bool
    signature: bool rhc_unregister_updateinst (struct dds_rhc_default *rhc, struct
      rhc_instance *inst, const struct ddsi_writer_info *wrinfo, ddsrt_wctime_t tstamp,
      struct trigger_info_qcond *trig_qc, bool *nda)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1382,1
    - Dst: rhc_unregister_delete_registration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1383,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1385,1
    - Dst: rhc_unregister_updateinst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1386,1
    - Dst: init_trigger_info_cmn_nonmatch
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1388,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1391,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - rhc
    - inst
    - wrinfo
    - tstamp
    - post
    - trig_qc
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - struct ddsi_writer_info*
    - ddsrt_wctime_t
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1379
    functionDepth: 4
    functionLinenumber: 1379
    functionLinenumberEnd: 1394
    functionName: dds_rhc_unregister
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - rhc_unregister_updateinst
    - TRACE
    - rhc_unregister_delete_registration
    - init_trigger_info_cmn_nonmatch
    - get_trigger_info_cmn
    linkageType: ''
    returnType: void
    signature: void dds_rhc_unregister (struct dds_rhc_default *rhc, struct rhc_instance
      *inst, const struct ddsi_writer_info *wrinfo, ddsrt_wctime_t tstamp, struct
      trigger_info_post *post, struct trigger_info_qcond *trig_qc, bool *nda)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1400,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1401,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1402,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1422,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1422,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1423,1
    - Dst: eval_predicate_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - rhc
    - wrinfo
    - serdata
    - tk
    argTypes:
    - struct dds_rhc_default*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts:
    - condition: "((dds_entity_kind (&c->m_entity) == DDS_KIND_COND_READ && c->m_query.m_filter
        == 0) ||\n              (dds_entity_kind (&c->m_entity) == DDS_KIND_COND_QUERY
        && c->m_query.m_filter != 0))"
      pos:
        line_end: 1422
        line_start: 1421
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1429
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1429
    functionName: alloc_new_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_ref
    - assert
    - dds_entity_kind
    - memset
    - eval_predicate_invsample
    - ddsrt_malloc
    linkageType: ''
    returnType: struct rhc_instance
    signature: struct rhc_instance *alloc_new_instance (struct dds_rhc_default *rhc,
      const struct ddsi_writer_info *wrinfo, struct ddsi_serdata *serdata, struct
      ddsi_tkmap_instance *tk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: content_filter_accepts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1451,1
    - Dst: alloc_new_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1466,1
    - Dst: add_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1469,1
    - Dst: free_empty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1471,1
    - Dst: inst_set_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1478,1
    - Dst: account_for_empty_to_nonempty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1481,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1482,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 9
    argNames:
    - out_inst
    - rhc
    - wrinfo
    - sample
    - tk
    - has_data
    - cb_data
    - trig_qc
    - nda
    argTypes:
    - struct rhc_instance**
    - struct dds_rhc_default*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    - bool
    - ddsi_status_cb_data_t*
    - struct trigger_info_qcond*
    - bool*
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 1482
        line_start: 1482
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1490
      start: 1431
    functionDepth: 4
    functionLinenumber: 1431
    functionLinenumberEnd: 1490
    functionName: rhc_store_new_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - inst_set_invsample
    - ddsrt_hh_add
    - account_for_empty_to_nonempty_transition
    - assert
    - free_empty_instance
    - content_filter_accepts
    - alloc_new_instance
    - add_sample
    linkageType: ''
    returnType: rhc_store_result_t
    signature: rhc_store_result_t rhc_store_new_instance (struct rhc_instance **out_inst,
      struct dds_rhc_default *rhc, const struct ddsi_writer_info *wrinfo, struct ddsi_serdata
      *sample, struct ddsi_tkmap_instance *tk, const bool has_data, ddsi_status_cb_data_t
      *cb_data, struct trigger_info_qcond *trig_qc, bool *nda)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_deadline_unregister_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1503,1
    - Dst: ddsi_deadline_renew_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1509,1
    - Dst: ddsi_deadline_register_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1512,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1512,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1518,1
    - Dst: drop_instance_noupdate_no_writers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1520,1
    - Dst: trigger_info_differs
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1524,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1525,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1527,1
    - Dst: rhc_check_counts_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - rhc
    - instptr
    - pre
    - post
    - trig_qc
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance**
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    assertStmts:
    - condition: (rhc_check_counts_locked (rhc, true, true))
      pos:
        line_end: 1526
        line_start: 1526
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1528
      start: 1492
    functionDepth: 4
    functionLinenumber: 1492
    functionLinenumberEnd: 1528
    functionName: postprocess_instance_update
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - trigger_info_differs
    - assert
    - ddsi_deadline_unregister_instance_locked
    - ddsi_deadline_renew_instance_locked
    - ddsi_deadline_register_instance_locked
    - drop_instance_noupdate_no_writers
    - update_conditions_locked
    - rhc_check_counts_locked
    - inst_is_empty
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void postprocess_instance_update (struct dds_rhc_default *rhc, struct
      rhc_instance **instptr, const struct trigger_info_pre *pre, const struct trigger_info_post
      *post, struct trigger_info_qcond *trig_qc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1535,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1549,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - rhc
    - inst
    - has_data
    - not_alive
    - is_dispose
    - nda
    argTypes:
    - struct dds_rhc_default*
    - struct rhc_instance*
    - bool
    - bool
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1565
    functionName: update_viewstate_and_disposedness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: void
    signature: void update_viewstate_and_disposedness (struct dds_rhc_default *rhc,
      struct rhc_instance *inst, bool has_data, bool not_alive, bool is_dispose, bool
      *nda)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1588,1
    - Dst: d
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1588,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1594,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1603,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1605,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1607,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1616,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1621,1
    - Dst: rhc_store_new_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1622,1
    - Dst: init_trigger_info_cmn_nonmatch
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1626,1
    - Dst: inst_accepts_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1629,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1636,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1638,1
    - Dst: dds_rhc_register
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1641,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1646,1
    - Dst: inst_set_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1647,1
    - Dst: account_for_empty_to_nonempty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1649,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1662,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1664,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1676,1
    - Dst: dds_rhc_register
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1686,1
    - Dst: update_viewstate_and_disposedness
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1687,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1692,1
    - Dst: add_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1693,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1695,1
    - Dst: inst_set_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1709,1
    - Dst: update_inst_have_wr_iid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1711,1
    - Dst: account_for_empty_to_nonempty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1721,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1728,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1728,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1732,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1733,1
    - Dst: rhc_check_counts_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1733,1
    - Dst: dds_rhc_unregister
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1751,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1755,1
    - Dst: postprocess_instance_update
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1758,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1761,1
    - Dst: dds_reader_data_available_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1766,1
    - Dst: dds_reader_status_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1768,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 4
    argNames:
    - rhc_common
    - wrinfo
    - sample
    - tk
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts:
    - condition: (rhc_check_counts_locked (rhc, false, false))
      pos:
        line_end: 1732
        line_start: 1732
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst_is_empty (inst) == was_empty)
      pos:
        line_end: 1727
        line_start: 1727
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1771
      start: 1572
    functionDepth: 5
    functionLinenumber: 1572
    functionLinenumberEnd: 1771
    functionName: dds_rhc_default_store
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - init_trigger_info_qcond
    - get_trigger_info_pre
    - dds_rhc_register
    - dds_reader_status_cb
    - inst_accepts_sample
    - get_trigger_info_cmn
    - rhc_store_new_instance
    - ddsrt_mutex_lock
    - dds_reader_data_available_cb
    - dds_rhc_unregister
    - rhc_check_counts_locked
    - inst_set_invsample
    - ddsrt_mutex_unlock
    - assert
    - TRACE
    - postprocess_instance_update
    - add_sample
    - update_inst_have_wr_iid
    - account_for_empty_to_nonempty_transition
    - ddsrt_hh_lookup
    - d
    - inst_is_empty
    - init_trigger_info_cmn_nonmatch
    - update_viewstate_and_disposedness
    linkageType: ''
    returnType: bool
    signature: bool dds_rhc_default_store (struct ddsi_rhc *rhc_common, const struct
      ddsi_writer_info *wrinfo, struct ddsi_serdata *sample, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1796,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1797,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1798,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1798,1
    - Dst: lwregs_contains
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1800,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1802,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1806,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1807,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1808,1
    - Dst: dds_rhc_unregister
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1809,1
    - Dst: postprocess_instance_update
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1810,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1811,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1814,1
    - Dst: dds_reader_data_available_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - rhc_common
    - wrinfo
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    assertStmts:
    - condition: (inst->wrcount > 0)
      pos:
        line_end: 1801
        line_start: 1801
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1818
      start: 1773
    functionDepth: 5
    functionLinenumber: 1773
    functionLinenumberEnd: 1818
    functionName: dds_rhc_default_unregister_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - lwregs_contains
    - init_trigger_info_qcond
    - ddsrt_mutex_lock
    - assert
    - TRACE
    - ddsrt_hh_iter_next
    - get_trigger_info_pre
    - dds_reader_data_available_cb
    - dds_rhc_unregister
    - ddsrt_hh_iter_first
    - postprocess_instance_update
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_rhc_default_unregister_wr (struct ddsi_rhc *rhc_common, const
      struct ddsi_writer_info *wrinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1825,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1826,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1827,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1827,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1834,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1835,1
    - Dst: rhc_check_counts_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1835,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rhc_common
    - wr_iid
    argTypes:
    - struct ddsi_rhc*
    - uint64_t
    assertStmts:
    - condition: (rhc_check_counts_locked (rhc, true, false))
      pos:
        line_end: 1834
        line_start: 1834
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 1837
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1837
    functionName: dds_rhc_default_relinquish_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - TRACE
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - rhc_check_counts_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_rhc_default_relinquish_ownership (struct ddsi_rhc *rhc_common,
      const uint64_t wr_iid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1858
    functionName: qmask_of_inst
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qmask_of_inst (const struct rhc_instance *inst)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - sample_states
    - view_states
    - instance_states
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1904
    functionName: qmask_from_dcpsquery
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qmask_from_dcpsquery (uint32_t sample_states, uint32_t view_states,
      uint32_t instance_states)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qmask_from_dcpsquery
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1915,1
    - Dst: qmask_from_dcpsquery
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mask
    - cond
    argTypes:
    - uint32_t
    - dds_readcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1925
    functionName: qmask_from_mask_n_cond
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - qmask_from_dcpsquery
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qmask_from_mask_n_cond (uint32_t mask, dds_readcond* cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inst
    - sample
    argTypes:
    - struct rhc_instance*
    - struct rhc_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1930
    functionName: get_absolute_generation_rank
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_absolute_generation_rank (const struct rhc_instance *inst,
      const struct rhc_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_absolute_generation_rank
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - si
    - inst
    - sample
    - sample_rank
    - generation_rank
    argTypes:
    - dds_sample_info_t*
    - struct rhc_instance*
    - struct rhc_sample*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1946
    functionName: make_sample_info
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - get_absolute_generation_rank
    linkageType: ''
    returnType: void
    signature: void make_sample_info (dds_sample_info_t *si, const struct rhc_instance
      *inst, const struct rhc_sample *sample, uint32_t sample_rank, uint32_t generation_rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - si
    - inst
    argTypes:
    - dds_sample_info_t*
    - struct rhc_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1962
    functionName: make_sample_info_invsample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_sample_info_invsample (dds_sample_info_t *si, const struct
      rhc_instance *inst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1974,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1978,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - rhc
    - pre
    - post
    - trig_qc
    - inst
    - conds
    - sample_wasread
    argTypes:
    - struct dds_rhc_default*
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    - struct rhc_instance*
    - dds_querycond_mask_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1964
    functionDepth: 3
    functionLinenumber: 1964
    functionLinenumberEnd: 1983
    functionName: read_sample_update_conditions
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - TRACE
    - update_conditions_locked
    - get_trigger_info_cmn
    linkageType: ''
    returnType: bool
    signature: bool read_sample_update_conditions (struct dds_rhc_default *rhc, struct
      trigger_info_pre *pre, struct trigger_info_post *post, struct trigger_info_qcond
      *trig_qc, struct rhc_instance *inst, dds_querycond_mask_t conds, bool sample_wasread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1991,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1994,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:1995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - rhc
    - pre
    - post
    - trig_qc
    - inst
    - conds
    - sample_wasread
    argTypes:
    - struct dds_rhc_default*
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    - struct rhc_instance*
    - dds_querycond_mask_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 1999
    functionName: take_sample_update_conditions
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - TRACE
    - update_conditions_locked
    - get_trigger_info_cmn
    linkageType: ''
    returnType: bool
    signature: bool take_sample_update_conditions (struct dds_rhc_default *rhc, struct
      trigger_info_pre *pre, struct trigger_info_post *post, struct trigger_info_qcond
      *trig_qc, struct rhc_instance *inst, dds_querycond_mask_t conds, bool sample_wasread)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - state
    - inst
    - limit_at_end_of_instance
    - last_generation_in_result
    - invalid_sample_included
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - struct rhc_instance*
    - int32_t*
    - uint32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2070
    functionName: readtake_w_qminv_inst_get_rank_info_shortcut
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool readtake_w_qminv_inst_get_rank_info_shortcut (const struct readtake_w_qminv_inst_state
      *state, struct rhc_instance * const inst, int32_t *limit_at_end_of_instance,
      uint32_t *last_generation_in_result, bool *invalid_sample_included)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2074,1
    - Dst: readtake_w_qminv_inst_get_rank_info_shortcut
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2075,1
    - Dst: qmask_of_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2081,1
    - Dst: qmask_of_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2090,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - state
    - inst
    - limit_at_end_of_instance
    - last_generation_in_result
    - invalid_sample_included
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - struct rhc_instance*
    - int32_t*
    - uint32_t*
    - bool*
    assertStmts:
    - condition: (inst->latest != NULL)
      pos:
        line_end: 2073
        line_start: 2073
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2104
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2104
    functionName: readtake_w_qminv_inst_get_rank_info
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - qmask_of_sample
    - assert
    - readtake_w_qminv_inst_get_rank_info_shortcut
    - qmask_of_invsample
    linkageType: ''
    returnType: void
    signature: void readtake_w_qminv_inst_get_rank_info (const struct readtake_w_qminv_inst_state
      *state, struct rhc_instance * const inst, int32_t *limit_at_end_of_instance,
      uint32_t *last_generation_in_result, bool *invalid_sample_included)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2108,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2109,1
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2109,1
    - Dst: readtake_w_qminv_inst_get_rank_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2116,1
    - Dst: qmask_of_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2125,1
    - Dst: make_sample_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2129,1
    - Dst: struct readtake_w_qminv_inst_state*::collect_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2130,1
    - Dst: read_sample_update_conditions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2146,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - state
    - mark_as_read
    - inst
    - pre
    - post
    - trig_qc
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - bool
    - struct rhc_instance*
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    assertStmts:
    - condition: (*state->limit > 0)
      pos:
        line_end: 2107
        line_start: 2107
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst->latest && (qmask_of_inst (inst) & state->qminv) == 0)
      pos:
        line_end: 2108
        line_start: 2108
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (*state->limit == limit_at_end_of_instance + invalid_sample_included)
      pos:
        line_end: 2154
        line_start: 2154
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2157
      start: 2106
    functionDepth: 4
    functionLinenumber: 2106
    functionLinenumberEnd: 2157
    functionName: read_w_qminv_inst_validsamples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - make_sample_info
    - readtake_w_qminv_inst_get_rank_info
    - assert
    - qmask_of_inst
    - read_sample_update_conditions
    - qmask_of_sample
    - struct readtake_w_qminv_inst_state*::collect_sample
    linkageType: ''
    returnType: int32_t
    signature: int32_t read_w_qminv_inst_validsamples (const struct readtake_w_qminv_inst_state
      *state, bool mark_as_read, struct rhc_instance * const inst, struct trigger_info_pre
      *pre, struct trigger_info_post *post, struct trigger_info_qcond *trig_qc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2162,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2163,1
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2163,1
    - Dst: readtake_w_qminv_inst_get_rank_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2168,1
    - Dst: qmask_of_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2178,1
    - Dst: make_sample_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2186,1
    - Dst: struct readtake_w_qminv_inst_state*::collect_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2187,1
    - Dst: take_sample_update_conditions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2190,1
    - Dst: free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2205,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - state
    - inst
    - pre
    - post
    - trig_qc
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - struct rhc_instance*
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    assertStmts:
    - condition: (*state->limit > 0)
      pos:
        line_end: 2161
        line_start: 2161
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst->latest && (qmask_of_inst (inst) & state->qminv) == 0)
      pos:
        line_end: 2162
        line_start: 2162
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (*state->limit == limit_at_end_of_instance + invalid_sample_included)
      pos:
        line_end: 2209
        line_start: 2209
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2212
      start: 2159
    functionDepth: 4
    functionLinenumber: 2159
    functionLinenumberEnd: 2212
    functionName: take_w_qminv_inst_validsamples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - make_sample_info
    - readtake_w_qminv_inst_get_rank_info
    - assert
    - qmask_of_inst
    - qmask_of_sample
    - take_sample_update_conditions
    - struct readtake_w_qminv_inst_state*::collect_sample
    - free_sample
    linkageType: ''
    returnType: int32_t
    signature: int32_t take_w_qminv_inst_validsamples (const struct readtake_w_qminv_inst_state
      *state, struct rhc_instance * const inst, struct trigger_info_pre *pre, struct
      trigger_info_post *post, struct trigger_info_qcond *trig_qc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2217,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2218,1
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2218,1
    - Dst: inst_nread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2227,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2229,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2230,1
    - Dst: read_w_qminv_inst_validsamples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2233,1
    - Dst: qmask_of_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2238,1
    - Dst: make_sample_info_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2243,1
    - Dst: struct readtake_w_qminv_inst_state*::collect_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2244,1
    - Dst: read_sample_update_conditions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2248,1
    - Dst: inst_nread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2263,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2265,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2266,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2267,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2268,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2269,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - state
    - mark_as_read
    - inst
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - bool
    - struct rhc_instance*
    assertStmts:
    - condition: (*state->limit > 0)
      pos:
        line_end: 2216
        line_start: 2216
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.dec_conds_invsample == 0)
      pos:
        line_end: 2265
        line_start: 2265
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.dec_conds_sample == 0)
      pos:
        line_end: 2266
        line_start: 2266
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.inc_conds_invsample == 0)
      pos:
        line_end: 2267
        line_start: 2267
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.inc_conds_sample == 0)
      pos:
        line_end: 2268
        line_start: 2268
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2273
      start: 2214
    functionDepth: 5
    functionLinenumber: 2214
    functionLinenumberEnd: 2273
    functionName: read_w_qminv_inst
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - read_w_qminv_inst_validsamples
    - init_trigger_info_qcond
    - make_sample_info_invsample
    - assert
    - qmask_of_inst
    - read_sample_update_conditions
    - get_trigger_info_pre
    - qmask_of_invsample
    - struct readtake_w_qminv_inst_state*::collect_sample
    - inst_is_empty
    - update_conditions_locked
    - inst_nread
    - get_trigger_info_cmn
    linkageType: ''
    returnType: int32_t
    signature: int32_t read_w_qminv_inst (const struct readtake_w_qminv_inst_state
      *state, bool mark_as_read, struct rhc_instance * const inst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2280,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2281,1
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2281,1
    - Dst: get_trigger_info_pre
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2288,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2289,1
    - Dst: take_w_qminv_inst_validsamples
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2291,1
    - Dst: qmask_of_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2295,1
    - Dst: make_sample_info_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2299,1
    - Dst: struct readtake_w_qminv_inst_state*::collect_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2300,1
    - Dst: init_trigger_info_qcond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2304,1
    - Dst: take_sample_update_conditions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2306,1
    - Dst: inst_clear_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2307,1
    - Dst: get_trigger_info_cmn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2320,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2322,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2323,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2324,1
    - Dst: update_conditions_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2325,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2328,1
    - Dst: account_for_nonempty_to_empty_transition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2329,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - state
    - instptr
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - struct rhc_instance**
    assertStmts:
    - condition: (*state->limit > 0)
      pos:
        line_end: 2279
        line_start: 2279
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.inc_conds_sample == 0)
      pos:
        line_end: 2323
        line_start: 2323
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.dec_conds_invsample == 0)
      pos:
        line_end: 2320
        line_start: 2320
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.dec_conds_sample == 0)
      pos:
        line_end: 2321
        line_start: 2321
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (trig_qc.inc_conds_invsample == 0)
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2331
      start: 2275
    functionDepth: 5
    functionLinenumber: 2275
    functionLinenumberEnd: 2331
    functionName: take_w_qminv_inst
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - init_trigger_info_qcond
    - account_for_nonempty_to_empty_transition
    - make_sample_info_invsample
    - assert
    - qmask_of_inst
    - take_w_qminv_inst_validsamples
    - get_trigger_info_pre
    - qmask_of_invsample
    - take_sample_update_conditions
    - struct readtake_w_qminv_inst_state*::collect_sample
    - inst_clear_invsample
    - inst_is_empty
    - update_conditions_locked
    - get_trigger_info_cmn
    linkageType: ''
    returnType: int32_t
    signature: int32_t take_w_qminv_inst (const struct readtake_w_qminv_inst_state
      *state, struct rhc_instance **instptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2337,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2338,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2340,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2348,1
    - Dst: read_w_qminv_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2349,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2353,1
    - Dst: oldest_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2355,1
    - Dst: read_w_qminv_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2358,1
    - Dst: next_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2359,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2362,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2363,1
    - Dst: rhc_check_counts_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2363,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - state
    - mark_as_read
    - handle
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - bool
    - dds_instance_handle_t
    assertStmts:
    - condition: (0 < *state->limit && *state->limit <= INT32_MAX)
      pos:
        line_end: 2336
        line_start: 2336
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc_check_counts_locked (rhc, true, false))
      pos:
        line_end: 2362
        line_start: 2362
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2366
      start: 2333
    functionDepth: 6
    functionLinenumber: 2333
    functionLinenumberEnd: 2366
    functionName: read_w_qminv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - read_w_qminv_inst
    - oldest_nonempty_instance
    - ddsrt_mutex_lock
    - assert
    - TRACE
    - ddsrt_hh_lookup
    - ddsrt_circlist_isempty
    - rhc_check_counts_locked
    - ddsrt_mutex_unlock
    - next_nonempty_instance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t read_w_qminv (const struct readtake_w_qminv_inst_state
      *state, bool mark_as_read, dds_instance_handle_t handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2372,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2373,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2375,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2383,1
    - Dst: take_w_qminv_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2384,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2388,1
    - Dst: oldest_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2390,1
    - Dst: next_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2394,1
    - Dst: take_w_qminv_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2395,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2399,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2400,1
    - Dst: rhc_check_counts_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2400,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - state
    - handle
    argTypes:
    - struct readtake_w_qminv_inst_state*
    - dds_instance_handle_t
    assertStmts:
    - condition: (0 < *state->limit && *state->limit <= INT32_MAX)
      pos:
        line_end: 2371
        line_start: 2371
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc_check_counts_locked (rhc, true, false))
      pos:
        line_end: 2399
        line_start: 2399
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2403
      start: 2368
    functionDepth: 6
    functionLinenumber: 2368
    functionLinenumberEnd: 2403
    functionName: take_w_qminv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - oldest_nonempty_instance
    - take_w_qminv_inst
    - ddsrt_mutex_lock
    - assert
    - TRACE
    - ddsrt_hh_lookup
    - ddsrt_circlist_isempty
    - rhc_check_counts_locked
    - ddsrt_mutex_unlock
    - next_nonempty_instance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t take_w_qminv (const struct readtake_w_qminv_inst_state
      *state, dds_instance_handle_t handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2411,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2411,1
    - Dst: qmask_of_inst
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2412,1
    - Dst: inst_has_read
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2416,1
    - Dst: inst_has_unread
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2419,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2424,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - inst
    - c
    argTypes:
    - struct rhc_instance*
    - dds_readcond*
    assertStmts:
    - condition: (!inst_is_empty (inst))
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2430
      start: 2409
    functionDepth: 2
    functionLinenumber: 2409
    functionLinenumberEnd: 2430
    functionName: rhc_get_cond_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - qmask_of_inst
    - DDS_FATAL
    - inst_has_read
    - inst_has_unread
    - inst_is_empty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rhc_get_cond_trigger (struct rhc_instance * const inst, const
      dds_readcond * const c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cond
    argTypes:
    - struct dds_readcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2432
    functionDepth: 1
    functionLinenumber: 2432
    functionLinenumberEnd: 2446
    functionName: cond_is_sample_state_dependent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - DDS_FATAL
    linkageType: ''
    returnType: bool
    signature: bool cond_is_sample_state_dependent (const struct dds_readcond *cond)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2457,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2457,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2458,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2459,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2459,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2460,1
    - Dst: qmask_from_dcpsquery
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2462,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2464,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2472,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2478,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2495,1
    - Dst: latest_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2497,1
    - Dst: rhc_get_cond_trigger
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2500,1
    - Dst: next_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2501,1
    - Dst: cond_is_sample_state_dependent
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2507,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2511,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2512,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2518,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2518,1
    - Dst: eval_predicate_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2520,1
    - Dst: eval_predicate_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2528,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2535,1
    - Dst: rhc_get_cond_trigger
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2535,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2542,1
    - Dst: dds_entity_status_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2543,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2546,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2550,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - rhc_common
    - cond
    argTypes:
    - struct dds_rhc*
    - dds_readcond*
    assertStmts:
    - condition: (cond->m_query.m_qcmask == 0)
      pos:
        line_end: 2459
        line_start: 2459
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: ((rc->m_query.m_filter == 0 && rc->m_query.m_qcmask == 0) || (rc->m_query.m_filter
        != 0 && rc->m_query.m_qcmask != 0))
      pos:
        line_end: 2471
        line_start: 2471
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: "((dds_entity_kind (&cond->m_entity) == DDS_KIND_COND_READ && cond->m_query.m_filter
        == 0) ||\n          (dds_entity_kind (&cond->m_entity) == DDS_KIND_COND_QUERY
        && cond->m_query.m_filter != 0))"
      pos:
        line_end: 2457
        line_start: 2456
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (ddsrt_atomic_ld32 (&cond->m_entity.m_status.m_trigger) == 0)
      pos:
        line_end: 2458
        line_start: 2458
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->qcond_eval_samplebuf == NULL)
      pos:
        line_end: 2510
        line_start: 2510
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2552
      start: 2448
    functionDepth: 3
    functionLinenumber: 2448
    functionLinenumberEnd: 2552
    functionName: dds_rhc_default_add_readcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_iter_next
    - dds_entity_status_signal
    - next_nonempty_instance
    - qmask_from_dcpsquery
    - ddsrt_atomic_ld32
    - cond_is_sample_state_dependent
    - ddsrt_mutex_lock
    - latest_nonempty_instance
    - rhc_get_cond_trigger
    - assert
    - TRACE
    - ddsi_sertype_alloc_sample
    - dds_entity_kind
    - ddsrt_circlist_isempty
    - eval_predicate_sample
    - eval_predicate_invsample
    - ddsrt_atomic_st32
    - ddsrt_hh_iter_first
    - inst_is_empty
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool dds_rhc_default_add_readcondition (struct dds_rhc *rhc_common,
      dds_readcond *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2558,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2571,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2572,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rhc_common
    - cond
    argTypes:
    - struct dds_rhc*
    - dds_readcond*
    assertStmts:
    - condition: (rhc->qcond_eval_samplebuf != NULL)
      pos:
        line_end: 2570
        line_start: 2570
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2577
      start: 2554
    functionDepth: 1
    functionLinenumber: 2554
    functionLinenumberEnd: 2577
    functionName: dds_rhc_default_remove_readcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsi_sertype_free_sample
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_rhc_default_remove_readcondition (struct dds_rhc *rhc_common,
      dds_readcond *cond)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2586,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2589,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2595,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2599,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2601,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2634,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2637,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2640,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2640,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2642,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2645,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2646,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2648,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2652,1
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2653,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2654,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2659,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2659,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2660,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2694,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2699,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2706,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2706,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2708,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2708,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2710,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2710,1
    - Dst: ddsrt_atomic_add32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2713,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2717,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2719,1
    - Dst: qmask_of_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2730,1
    - Dst: qmask_of_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2735,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2741,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2741,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2751,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2751,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2752,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2752,1
    - Dst: ddsrt_atomic_add32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2753,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2755,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2763,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2763,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2764,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2764,1
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2765,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2766,1
    - Dst: dds_entity_status_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2773,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2775,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 126
    argCount: 6
    argNames:
    - rhc
    - called_from_insert
    - pre
    - post
    - trig_qc
    - inst
    argTypes:
    - struct dds_rhc_default*
    - bool
    - struct trigger_info_pre*
    - struct trigger_info_post*
    - struct trigger_info_qcond*
    - struct rhc_instance*
    assertStmts:
    - condition: (m_pre)
      pos:
        line_end: 2698
        line_start: 2698
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_nonempty_instances >= rhc->n_not_alive_disposed + rhc->n_not_alive_no_writers)
      pos:
        line_end: 2594
        line_start: 2594
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_vsamples >= rhc->n_vread)
      pos:
        line_end: 2600
        line_start: 2600
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (dds_entity_kind (&iter->m_entity) == DDS_KIND_COND_READ)
      pos:
        line_end: 2639
        line_start: 2639
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (iter->m_query.m_qcmask != 0)
      pos:
        line_end: 2659
        line_start: 2659
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (m < 0 || ddsrt_atomic_ld32 (&iter->m_entity.m_status.m_trigger)
        >= (uint32_t) m)
      pos:
        line_end: 2763
        line_start: 2763
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_nonempty_instances >= rhc->n_new)
      pos:
        line_end: 2598
        line_start: 2598
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (mdelta >= 0 || ddsrt_atomic_ld32 (&iter->m_entity.m_status.m_trigger)
        >= (uint32_t) -mdelta)
      pos:
        line_end: 2705
        line_start: 2705
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (m >= 0 || ddsrt_atomic_ld32 (&iter->m_entity.m_status.m_trigger)
        >= (uint32_t) -m)
      pos:
        line_end: 2751
        line_start: 2751
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (dds_entity_kind (&iter->m_entity) == DDS_KIND_COND_QUERY)
      pos:
        line_end: 2658
        line_start: 2658
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 2779
      start: 2579
    functionDepth: 2
    functionLinenumber: 2579
    functionLinenumberEnd: 2779
    functionName: update_conditions_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 6
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_add32_ov
    - assert
    - TRACE
    - dds_entity_kind
    - DDS_FATAL
    - qmask_of_sample
    - qmask_of_invsample
    - ddsrt_atomic_sub32_nv
    - ddsrt_atomic_dec32_nv
    - dds_entity_status_signal
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: bool
    signature: bool update_conditions_locked (struct dds_rhc_default *rhc, bool called_from_insert,
      const struct trigger_info_pre *pre, const struct trigger_info_post *post, const
      struct trigger_info_qcond *trig_qc, const struct rhc_instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmask_from_mask_n_cond
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - rhc
    - limit
    - mask
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc_default*
    - int32_t*
    - uint32_t
    - dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2786
    functionDepth: 2
    functionLinenumber: 2786
    functionLinenumberEnd: 2797
    functionName: make_readtake_w_qminv_inst_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - qmask_from_mask_n_cond
    linkageType: ''
    returnType: struct readtake_w_qminv_inst_state
    signature: struct readtake_w_qminv_inst_state make_readtake_w_qminv_inst_state
      (struct dds_rhc_default *rhc, int32_t *limit, uint32_t mask, dds_readcond *cond,
      dds_read_with_collector_fn_t collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_readtake_w_qminv_inst_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2804,1
    - Dst: read_w_qminv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 7
    argNames:
    - rhc_common
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2799
    functionDepth: 7
    functionLinenumber: 2799
    functionLinenumberEnd: 2807
    functionName: dds_rhc_default_peek
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - read_w_qminv
    - make_readtake_w_qminv_inst_state
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_rhc_default_peek (struct dds_rhc *rhc_common, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_readtake_w_qminv_inst_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2814,1
    - Dst: read_w_qminv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 7
    argNames:
    - rhc_common
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2809
    functionDepth: 7
    functionLinenumber: 2809
    functionLinenumberEnd: 2817
    functionName: dds_rhc_default_read
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - read_w_qminv
    - make_readtake_w_qminv_inst_state
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_rhc_default_read (struct dds_rhc *rhc_common, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_readtake_w_qminv_inst_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2824,1
    - Dst: take_w_qminv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 7
    argNames:
    - rhc_common
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2819
    functionDepth: 7
    functionLinenumber: 2819
    functionLinenumberEnd: 2827
    functionName: dds_rhc_default_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 0
    functionsReached:
    - make_readtake_w_qminv_inst_state
    - take_w_qminv
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_rhc_default_take (struct dds_rhc *rhc_common, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2857,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2857,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2858,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2859,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2860,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2864,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2864,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2872,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2887,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2907,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2908,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2909,1
    - Dst: untyped_to_clean_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2916,1
    - Dst: dds_readcond*::m_query::m_filter
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2919,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2921,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2927,1
    - Dst: dds_readcond*::m_query::m_filter
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2930,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2932,1
    - Dst: rhc_get_cond_trigger
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2940,1
    - Dst: qmask_of_invsample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2947,1
    - Dst: qmask_of_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2952,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2961,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2962,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2963,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2964,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2965,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2966,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2967,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2968,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2969,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2974,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2974,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2979,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2979,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2983,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2983,1
    - Dst: latest_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2985,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2989,1
    - Dst: inst_is_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2989,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2990,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2991,1
    - Dst: next_nonempty_instance
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2993,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c:2996,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 110
    argCount: 3
    argNames:
    - rhc
    - check_conds
    - check_qcmask
    argTypes:
    - struct dds_rhc_default*
    - bool
    - bool
    assertStmts:
    - condition: ((rciter->m_query.m_filter != 0) == (rciter->m_query.m_qcmask !=
        0))
      pos:
        line_end: 2858
        line_start: 2858
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (a_sample_free)
      pos:
        line_end: 2886
        line_start: 2886
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (n_read_vsamples_in_instance == inst->nvread)
      pos:
        line_end: 2906
        line_start: 2906
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (a_sample_free == inst->a_sample_free)
      pos:
        line_end: 2908
        line_start: 2908
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (cond_match_count[i] == ddsrt_atomic_ld32 (&rciter->m_entity.m_status.m_trigger))
      pos:
        line_end: 2973
        line_start: 2973
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (ddsrt_circlist_isempty (&rhc->nonempty_instances))
      pos:
        line_end: 2978
        line_start: 2978
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_nonempty_instances == n_nonempty_instances)
      pos:
        line_end: 2961
        line_start: 2961
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_not_alive_no_writers == n_not_alive_no_writers)
      pos:
        line_end: 2963
        line_start: 2963
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_new == n_new)
      pos:
        line_end: 2964
        line_start: 2964
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_vread == n_vread)
      pos:
        line_end: 2966
        line_start: 2966
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_invread == n_invread)
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (!ddsrt_circlist_isempty (&rhc->nonempty_instances))
      pos:
        line_end: 2982
        line_start: 2982
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (prev->next == &inst->nonempty_list)
      pos:
        line_end: 2989
        line_start: 2989
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (inst->nonempty_list.prev == prev)
      pos:
        line_end: 2990
        line_start: 2990
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: "((dds_entity_kind (&rciter->m_entity) == DDS_KIND_COND_READ && rciter->m_query.m_filter
        == 0) ||\n            (dds_entity_kind (&rciter->m_entity) == DDS_KIND_COND_QUERY
        && rciter->m_query.m_filter != 0))"
      pos:
        line_end: 2857
        line_start: 2856
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (!(enabled_qcmask & rciter->m_query.m_qcmask))
      pos:
        line_end: 2859
        line_start: 2859
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (n_vsamples_in_instance == inst->nvsamples)
      pos:
        line_end: 2907
        line_start: 2907
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (!inst_is_empty (inst))
      pos:
        line_end: 2988
        line_start: 2988
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: ((inst->conds & enabled_qcmask) == qcmask)
      pos:
        line_end: 2920
        line_start: 2920
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: ((sample->conds & enabled_qcmask) == qcmask)
      pos:
        line_end: 2931
        line_start: 2931
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_instances == n_instances)
      pos:
        line_end: 2960
        line_start: 2960
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_not_alive_disposed == n_not_alive_disposed)
      pos:
        line_end: 2962
        line_start: 2962
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_vsamples == n_vsamples)
      pos:
        line_end: 2965
        line_start: 2965
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_invsamples == n_invsamples)
      pos:
        line_end: 2967
        line_start: 2967
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - condition: (rhc->n_nonempty_instances == n_nonempty_instances)
      pos:
        line_end: 2995
        line_start: 2995
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    constantsTouched: []
    func_position:
      end: 3000
      start: 2835
    functionDepth: 3
    functionLinenumber: 2835
    functionLinenumberEnd: 3000
    functionName: rhc_check_counts_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_ld32
    - untyped_to_clean_invsample
    - dds_readcond*::m_query::m_filter
    - assert
    - dds_entity_kind
    - ddsrt_hh_iter_next
    - ddsrt_circlist_isempty
    - qmask_of_sample
    - qmask_of_invsample
    - ddsrt_hh_iter_first
    - latest_nonempty_instance
    - inst_is_empty
    - rhc_get_cond_trigger
    - ddsi_serdata_to_sample
    - next_nonempty_instance
    linkageType: ''
    returnType: bool
    signature: bool rhc_check_counts_locked (struct dds_rhc_default *rhc, bool check_conds,
      bool check_qcmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_writedispose_ts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:28,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - data
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: dds_writedispose
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - dds_time
    - dds_writedispose_ts
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writedispose (dds_entity_t writer, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dispose_ts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:33,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - data
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: dds_dispose
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 12
    functionsReached:
    - dds_dispose_ts
    - dds_time
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dispose (dds_entity_t writer, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_dispose_ih_ts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:38,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - handle
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: dds_dispose_ih
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 1
    functionsReached:
    - dds_time
    - dds_dispose_ih_ts
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dispose_ih (dds_entity_t writer, dds_instance_handle_t
      handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:43,1
    - Dst: ddsi_tkmap_find
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:46,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - writer
    - data
    - create
    argTypes:
    - dds_writer*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: dds_instance_find
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_from_sample
    - ddsi_tkmap_find
    - ddsi_serdata_unref
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *dds_instance_find (const dds_writer *writer,
      const void *data, const bool create)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_find_by_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:55,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:58,1
    - Dst: dds_instance_find
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:59,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dom
    - writer
    - data
    - handle
    argTypes:
    - struct dds_domain*
    - dds_writer*
    - void*
    - dds_instance_handle_t
    assertStmts:
    - condition: (data)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: dds_instance_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_tkmap_find_by_id
    - dds_instance_find
    - ddsi_tkmap_instance_unref
    linkageType: ''
    returnType: void
    signature: void dds_instance_remove (struct dds_domain *dom, const dds_writer
      *writer, const void *data, dds_instance_handle_t handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:75,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:78,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:79,1
    - Dst: dds_instance_find
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:80,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:88,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - writer
    - handle
    - data
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: dds_register_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 7
    functionsReached:
    - dds_writer_lock
    - ddsi_thread_state_awake
    - dds_instance_find
    - ddsi_thread_state_asleep
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_register_instance (dds_entity_t writer, dds_instance_handle_t
      *handle, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_unregister_instance_ts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:95,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - data
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: dds_unregister_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 10
    functionsReached:
    - dds_unregister_instance_ts
    - dds_time
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_unregister_instance (dds_entity_t writer, const void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_unregister_instance_ih_ts
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:100,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - handle
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: dds_unregister_instance_ih
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 1
    functionsReached:
    - dds_unregister_instance_ih_ts
    - dds_time
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_unregister_instance_ih (dds_entity_t writer, dds_instance_handle_t
      handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:113,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:117,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:119,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:120,1
    - Dst: dds_instance_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:123,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:126,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:127,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - writer
    - data
    - timestamp
    argTypes:
    - dds_entity_t
    - void*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: dds_unregister_instance_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - dds_writer_lock
    - ddsi_thread_state_awake
    - dds_write_impl
    - dds_qget_writer_data_lifecycle
    - ddsi_thread_state_asleep
    - dds_instance_remove
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_unregister_instance_ts (dds_entity_t writer, const
      void *data, dds_time_t timestamp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:140,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:144,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:146,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:147,1
    - Dst: dds_instance_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:150,1
    - Dst: ddsi_tkmap_find_by_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:153,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:158,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:159,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:163,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:164,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:166,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:168,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - writer
    - handle
    - timestamp
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 171
    functionName: dds_unregister_instance_ih_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - dds_writer_lock
    - ddsi_tkmap_instance_unref
    - ddsi_thread_state_awake
    - dds_write_impl
    - dds_qget_writer_data_lifecycle
    - ddsi_serdata_untyped_to_sample
    - ddsi_tkmap_find_by_id
    - ddsi_sertype_alloc_sample
    - ddsi_sertype_free_sample
    - dds_instance_remove
    - ddsi_thread_state_asleep
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_unregister_instance_ih_ts (dds_entity_t writer, dds_instance_handle_t
      handle, dds_time_t timestamp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:181,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:184,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:185,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:186,1
    - Dst: dds_instance_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:187,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:188,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - writer
    - data
    - timestamp
    argTypes:
    - dds_entity_t
    - void*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: dds_writedispose_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - dds_writer_lock
    - ddsi_thread_state_awake
    - dds_write_impl
    - ddsi_thread_state_asleep
    - dds_instance_remove
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writedispose_ts (dds_entity_t writer, const void *data,
      dds_time_t timestamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:198,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:198,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:199,1
    - Dst: dds_instance_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wr
    - data
    - handle
    - timestamp
    argTypes:
    - dds_writer*
    - void*
    - dds_instance_handle_t
    - dds_time_t
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: dds_dispose_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_write_impl
    - ddsi_thread_is_awake
    - dds_instance_remove
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dispose_impl (dds_writer *wr, const void *data, dds_instance_handle_t
      handle, dds_time_t timestamp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:212,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:215,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:216,1
    - Dst: dds_dispose_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:217,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:218,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - writer
    - data
    - timestamp
    argTypes:
    - dds_entity_t
    - void*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: dds_dispose_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - dds_writer_lock
    - dds_dispose_impl
    - ddsi_thread_state_awake
    - ddsi_thread_state_asleep
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dispose_ts (dds_entity_t writer, const void *data,
      dds_time_t timestamp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:228,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:232,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:233,1
    - Dst: ddsi_tkmap_find_by_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:234,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:239,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:240,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:244,1
    - Dst: dds_dispose_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:245,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:247,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:249,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - writer
    - handle
    - timestamp
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: dds_dispose_ih_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 2
    functionsReached:
    - dds_writer_lock
    - ddsi_tkmap_instance_unref
    - dds_dispose_impl
    - ddsi_thread_state_awake
    - ddsi_serdata_untyped_to_sample
    - ddsi_tkmap_find_by_id
    - ddsi_sertype_alloc_sample
    - ddsi_sertype_free_sample
    - ddsi_thread_state_asleep
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dispose_ih_ts (dds_entity_t writer, dds_instance_handle_t
      handle, dds_time_t timestamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:263,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:265,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:275,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:280,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:281,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:282,1
    - Dst: ddsi_tkmap_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:286,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:287,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:289,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - entity
    - data
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: dds_lookup_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 8
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_tkmap_lookup
    - dds_entity_lock
    - ddsi_serdata_unref
    - dds_entity_kind
    - ddsi_thread_state_asleep
    - ddsi_serdata_from_sample
    - ddsi_lookup_thread_state
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_instance_handle_t
    signature: dds_instance_handle_t dds_lookup_instance (dds_entity_t entity, const
      void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:304,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:306,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:319,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:323,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:324,1
    - Dst: ddsi_tkmap_find_by_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:325,1
    - Dst: ddsi_sertype_zero_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:331,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:332,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:336,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:340,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_instance.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - entity
    - ih
    - data
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 343
    functionName: dds_instance_get_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
    functionUses: 3
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsi_thread_state_awake
    - ddsi_sertype_zero_sample
    - dds_entity_lock
    - dds_entity_kind
    - ddsi_serdata_untyped_to_sample
    - ddsi_tkmap_find_by_id
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_instance_get_key (dds_entity_t entity, dds_instance_handle_t
      ih, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: dds_publisher_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_publisher_qos_set (dds_entity *e, const dds_qos_t
      *qos, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: dds_publisher_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_publisher_status_validate (uint32_t mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:58,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:60,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:61,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:62,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:64,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:66,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:70,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:71,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:72,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:73,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - participant
    - implicit
    - qos
    - listener
    argTypes:
    - struct dds_participant*
    - bool
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: dds__create_publisher_l
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 1
    functionsReached:
    - dds_entity_init_complete
    - ddsi_iid_gen
    - ddsi_xqos_valid
    - dds_apply_entity_naming
    - dds_delete_qos
    - dds_entity_init
    - dds_entity_register_child
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    - dds_alloc
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds__create_publisher_l (struct dds_participant *participant,
      bool implicit, const dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_participant_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:83,1
    - Dst: dds__create_publisher_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:85,1
    - Dst: dds_participant_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - participant
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: dds_create_publisher
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 35
    functionsReached:
    - dds_participant_lock
    - dds_participant_unlock
    - dds__create_publisher_l
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_publisher (dds_entity_t participant, const
      dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - publisher
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dds_suspend
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 3
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_suspend (dds_entity_t publisher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - publisher
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: dds_resume
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 2
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_resume (dds_entity_t publisher)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:108,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:111,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:111,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:112,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:116,1
    - Dst: dds__ddsi_writer_wait_for_acks
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:120,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:121,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - publisher_or_writer
    - timeout
    argTypes:
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: dds_wait_for_acks
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 4
    functionsReached:
    - dds_entity_unpin
    - dds_entity_kind
    - ddsrt_mtime_add_duration
    - dds_entity_pin
    - dds__ddsi_writer_wait_for_acks
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_wait_for_acks (dds_entity_t publisher_or_writer, dds_duration_t
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - publisher
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: dds_publisher_begin_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 0
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_publisher_begin_coherent (dds_entity_t publisher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - publisher
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: dds_publisher_end_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
    functionUses: 0
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_publisher_end_coherent (dds_entity_t publisher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: whc_seq_entry_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t whc_seq_entry_hash (const void *vn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: whc_seq_entry_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int whc_seq_entry_eq (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: whc_node_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t whc_node_hash (const void *vn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: whc_node_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool whc_node_eq (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vn
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: whc_idxnode_hash_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t whc_idxnode_hash_key (const void *vn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: whc_idxnode_eq_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool whc_idxnode_eq_key (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: compare_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_seq (const void *va, const void *vb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_pred
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:263,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - whc
    argTypes:
    - struct whc_impl*
    assertStmts:
    - condition: (intv && intv->first)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: whc_findmax_procedurally
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_find_pred
    - assert
    linkageType: ''
    returnType: struct dds_whc_default_node
    signature: struct dds_whc_default_node *whc_findmax_procedurally (const struct
      whc_impl *whc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:276,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:277,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:277,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:278,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:278,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:281,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:286,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:288,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:292,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:294,1
    - Dst: whc_findmax_procedurally
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:294,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:302,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:303,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:307,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:309,1
    - Dst: whc_findseq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - whc
    argTypes:
    - struct whc_impl*
    assertStmts:
    - condition: (whc->open_intv != NULL)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->open_intv == ddsrt_avl_find_max (&whc_seq_treedef, &whc->seq))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (ddsrt_avl_find_succ (&whc_seq_treedef, &whc->seq, whc->open_intv)
        == NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->maxseq_node->next_seq == NULL)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->open_intv->last)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->maxseq_node == whc->open_intv->last)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->open_intv->min < whc->open_intv->maxp1)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->maxseq_node->common.seq + 1 == whc->open_intv->maxp1)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->open_intv->min == whc->open_intv->maxp1)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (firstintv)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (cur->common.seq > prevseq)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->maxseq_node == whc_findmax_procedurally (whc))
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc_findseq (whc, cur->common.seq) == cur)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 314
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 314
    functionName: check_whc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_avl_find_max
    - whc_findmax_procedurally
    - ddsrt_avl_find_succ
    - whc_findseq
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void check_whc (const struct whc_impl *whc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:322,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - whc
    - whcn
    argTypes:
    - struct whc_impl*
    - struct dds_whc_default_node*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: insert_whcn_in_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_add
    - assert
    - ddsrt_hh_add_absent
    linkageType: ''
    returnType: void
    signature: void insert_whcn_in_hash (struct whc_impl *whc, struct dds_whc_default_node
      *whcn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_remove
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:333,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:334,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - whc
    - whcn
    argTypes:
    - struct whc_impl*
    - struct dds_whc_default_node*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: remove_whcn_from_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_ehh_remove
    - ddsrt_hh_remove_present
    linkageType: ''
    returnType: void
    signature: void remove_whcn_from_hash (struct whc_impl *whc, struct dds_whc_default_node
      *whcn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - whc
    - seq
    argTypes:
    - struct whc_impl*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: whc_findseq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 1
    functionsReached:
    - ddsrt_ehh_lookup
    linkageType: ''
    returnType: struct dds_whc_default_node
    signature: struct dds_whc_default_node *whc_findseq (const struct whc_impl *whc,
      ddsi_seqno_t seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_whc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:362,1
    - Dst: ddsi_tkmap_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:363,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:364,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - whc
    - serdata_key
    argTypes:
    - struct whc_impl*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (n->hist[n->headidx])
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: whc_findkey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    - check_whc
    - ddsi_tkmap_lookup
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct dds_whc_default_node
    signature: struct dds_whc_default_node *whc_findkey (const struct whc_impl *whc,
      const struct ddsi_serdata *serdata_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:380,1
    - Dst: ddsi_lifespan_next_expired_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:381,1
    - Dst: whc_delete_one
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:382,1
    - Dst: whc_findmax_procedurally
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:383,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hc
    - tnow
    argTypes:
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: whc_sample_expired_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - whc_delete_one
    - ddsrt_mutex_lock
    - whc_findmax_procedurally
    - ddsrt_mutex_unlock
    - ddsi_lifespan_next_expired_locked
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t whc_sample_expired_cb(void *hc, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:396,1
    - Dst: ddsi_deadline_next_missed_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:399,1
    - Dst: ddsi_deadline_compute_deadlines_missed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:402,1
    - Dst: ddsi_deadline_reregister_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:403,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:410,1
    - Dst: dds_writer_status_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:411,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:412,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:414,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - hc
    - tnow
    argTypes:
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: whc_deadline_missed_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsi_deadline_compute_deadlines_missed
    - dds_writer_status_cb
    - ddsi_deadline_next_missed_locked
    - ddsrt_mutex_lock
    - ddsi_deadline_reregister_instance_locked
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t whc_deadline_missed_cb(void *hc, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:423,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:424,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:425,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - wr
    - qos
    argTypes:
    - struct dds_writer*
    - dds_qos_t*
    assertStmts:
    - condition: (qos->present & DDSI_QP_DEADLINE)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (qos->present & DDSI_QP_DURABILITY)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (qos->present & DDSI_QP_DURABILITY_SERVICE)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (qos->present & DDSI_QP_HISTORY)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 438
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 438
    functionName: dds_whc_make_wrinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: struct whc_writer_info
    signature: struct whc_writer_info *dds_whc_make_wrinfo (struct dds_writer *wr,
      const dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct whc_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: dds_whc_free_wrinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_whc_free_wrinfo (struct whc_writer_info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:451,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:453,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:455,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:459,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:467,1
    - Dst: ddsrt_ehh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:469,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:471,1
    - Dst: ddsi_lifespan_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:475,1
    - Dst: ddsi_deadline_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:480,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:484,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:485,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:488,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:492,1
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:492,1
    - Dst: ddsi_freelist_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:494,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:495,1
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:495,1
    - Dst: check_whc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - gv
    - wrinfo
    argTypes:
    - struct ddsi_domaingv*
    - struct whc_writer_info*
    assertStmts:
    - condition: ((wrinfo->hdepth == 0 || wrinfo->tldepth <= wrinfo->hdepth) || wrinfo->is_transient_local)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 499
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 499
    functionName: dds_whc_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_ehh_new
    - check_whc
    - memcpy
    - assert
    - ddsi_deadline_init
    - ddsrt_mutex_lock
    - ddsrt_avl_init
    - ddsi_lifespan_init
    - ddsi_freelist_init
    - ddsrt_hh_new
    - ddsrt_get_singleton_mutex
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_whc
    signature: struct ddsi_whc *dds_whc_new (struct ddsi_domaingv *gv, const struct
      whc_writer_info *wrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - whcn
    argTypes:
    - struct dds_whc_default_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: free_whc_node_contents
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void free_whc_node_contents (struct dds_whc_default_node *whcn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_whc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:510,1
    - Dst: whc_sample_expired_cb
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:513,1
    - Dst: ddsi_lifespan_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:514,1
    - Dst: ddsi_deadline_stop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:518,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:519,1
    - Dst: ddsi_deadline_clear
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:520,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:521,1
    - Dst: ddsi_deadline_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:522,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:527,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:527,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:529,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:530,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:532,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:540,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:542,1
    - Dst: free_whc_node_contents
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:543,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:544,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:548,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:550,1
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:550,1
    - Dst: ddsi_freelist_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:552,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:553,1
    - Dst: ddsrt_get_singleton_mutex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:553,1
    - Dst: ddsrt_ehh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:556,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:558,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:560,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - whc_generic
    argTypes:
    - struct ddsi_whc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 562
    functionName: whc_default_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_iter_next
    - ddsrt_ehh_free
    - check_whc
    - ddsrt_mutex_lock
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_mutex_destroy
    - ddsi_deadline_fini
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_hh_free
    - free_whc_node_contents
    - ddsrt_get_singleton_mutex
    - ddsi_lifespan_fini
    - ddsi_freelist_fini
    - ddsi_tkmap_instance_unref
    - ddsi_deadline_clear
    - ddsi_deadline_stop
    - ddsrt_avl_free
    - whc_sample_expired_cb
    - ddsrt_hh_iter_first
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void whc_default_free (struct ddsi_whc *whc_generic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:574,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - whc
    - st
    argTypes:
    - struct whc_impl*
    - struct ddsi_whc_state*
    assertStmts:
    - condition: (intv->maxp1 > intv->min)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 583
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 583
    functionName: get_state_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void get_state_locked (const struct whc_impl *whc, struct ddsi_whc_state
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:588,1
    - Dst: check_whc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:589,1
    - Dst: get_state_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:590,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - whc_generic
    - st
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: whc_default_get_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - check_whc
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - get_state_locked
    linkageType: ''
    returnType: void
    signature: void whc_default_get_state (const struct ddsi_whc *whc_generic, struct
      ddsi_whc_state *st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: whc_findseq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:598,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:605,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:606,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:609,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:610,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:610,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:613,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:617,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:623,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:628,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:629,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - p_intv
    - whc
    - seq
    argTypes:
    - struct whc_intvnode**
    - struct whc_impl*
    - ddsi_seqno_t
    assertStmts:
    - condition: (ddsrt_avl_lookup_pred_eq (&whc_seq_treedef, &whc->seq, &seq) ==
        whc->open_intv)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (predintv == NULL || predintv->maxp1 <= seq)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (intv->min > seq)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (intv == whc->open_intv)
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (n == whc->maxseq_node)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->maxseq_node != NULL)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (n->common.seq < whc->maxseq_node->common.seq)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 634
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 634
    functionName: find_nextseq_intv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    - assert
    - whc_findseq
    - ddsrt_avl_lookup_succ_eq
    linkageType: ''
    returnType: struct dds_whc_default_node
    signature: struct dds_whc_default_node *find_nextseq_intv (struct whc_intvnode
      **p_intv, const struct whc_impl *whc, ddsi_seqno_t seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:642,1
    - Dst: check_whc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:643,1
    - Dst: find_nextseq_intv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:644,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - whc_generic
    - seq
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 650
    functionName: whc_default_next_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - check_whc
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - find_nextseq_intv
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t whc_default_next_seq (const struct ddsi_whc *whc_generic,
      ddsi_seqno_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:655,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:656,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - whcn
    argTypes:
    - struct dds_whc_default_node*
    assertStmts:
    - condition: (idxn != NULL)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (idxn->hist[whcn->idxnode_pos] == whcn)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (idxn->hist[idxn->headidx] != NULL)
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: delete_one_sample_from_idx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void delete_one_sample_from_idx (struct dds_whc_default_node *whcn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:672,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:673,1
    - Dst: whc_delete_one
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:674,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:678,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - whc
    - max_drop_seq
    - idxn
    argTypes:
    - struct whc_impl*
    - ddsi_seqno_t
    - struct whc_idxnode*
    assertStmts:
    - condition: (oldn != whc->maxseq_node)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: free_one_instance_from_idx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - whc_delete_one
    - ddsi_tkmap_instance_unref
    - ddsrt_free
    - assert
    - TRACE
    linkageType: ''
    returnType: void
    signature: void free_one_instance_from_idx (struct whc_impl *whc, ddsi_seqno_t
      max_drop_seq, struct whc_idxnode *idxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:684,1
    - Dst: ddsi_deadline_unregister_instance_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:686,1
    - Dst: free_one_instance_from_idx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - whc
    - max_drop_seq
    - idxn
    argTypes:
    - struct whc_impl*
    - ddsi_seqno_t
    - struct whc_idxnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: delete_one_instance_from_idx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsi_deadline_unregister_instance_locked
    - ddsrt_hh_remove_present
    - free_one_instance_from_idx
    linkageType: ''
    returnType: void
    signature: void delete_one_instance_from_idx (struct whc_impl *whc, ddsi_seqno_t
      max_drop_seq, struct whc_idxnode *idxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - whc
    - idxn
    - pos
    argTypes:
    - struct whc_impl*
    - struct whc_idxnode*
    - uint32_t
    assertStmts:
    - condition: (d < whc->wrinfo.idxdepth)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: whcn_in_tlidx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int whcn_in_tlidx (const struct whc_impl *whc, const struct whc_idxnode
      *idxn, uint32_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - whc
    - whcn
    argTypes:
    - struct whc_impl*
    - struct dds_whc_default_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: whcn_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_size
    linkageType: ''
    returnType: size_t
    signature: size_t whcn_size (const struct whc_impl *whc, const struct dds_whc_default_node
      *whcn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:723,1
    - Dst: delete_one_sample_from_idx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:728,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:731,1
    - Dst: ddsi_lifespan_unregister_sample_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:737,1
    - Dst: remove_whcn_from_hash
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:743,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:753,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:755,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:756,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:762,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:763,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:764,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:771,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:772,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:773,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:776,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:787,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:790,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:791,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:798,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:799,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:803,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:804,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - whc
    - p_intv
    - p_whcn
    argTypes:
    - struct whc_impl*
    - struct whc_intvnode**
    - struct dds_whc_default_node**
    assertStmts:
    - condition: (intv->min < intv->maxp1)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (intv->min < whcn->common.seq)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->next_seq)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->common.seq >= intv->min && whcn->common.seq < intv->maxp1)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->prev_seq->common.seq + 1 == whcn->common.seq)
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->prev_seq)
      pos:
        line_end: 771
        line_start: 771
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (intv->min < intv->maxp1 || intv == whc->open_intv)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: ((intv->first == NULL) == (intv->min == intv->maxp1))
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whc->unacked_bytes >= whcn->size)
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (intv->first != NULL || intv == whc->open_intv)
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->common.seq + 1 == whcn->next_seq->common.seq)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (new_intv->min < new_intv->maxp1)
      pos:
        line_end: 798
        line_start: 798
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (0)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 811
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 811
    functionName: whc_delete_one_intv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsi_lifespan_unregister_sample_locked
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - assert
    - delete_one_sample_from_idx
    - ddsrt_avl_delete
    - ddsrt_avl_find_succ
    - ddsrt_malloc
    - remove_whcn_from_hash
    linkageType: ''
    returnType: void
    signature: void whc_delete_one_intv (struct whc_impl *whc, struct whc_intvnode
      **p_intv, struct dds_whc_default_node **p_whcn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:817,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:818,1
    - Dst: whc_delete_one_intv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:819,1
    - Dst: free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - whc
    - whcn
    argTypes:
    - struct whc_impl*
    - struct dds_whc_default_node*
    assertStmts:
    - condition: (intv != NULL)
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 827
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 827
    functionName: whc_delete_one
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    - assert
    - whc_delete_one_intv
    - free_deferred_free_list
    linkageType: ''
    returnType: void
    signature: void whc_delete_one (struct whc_impl *whc, struct dds_whc_default_node
      *whcn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_whc_node_contents
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:839,1
    - Dst: ddsi_freelist_pushmany
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:841,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - deferred_free_list
    argTypes:
    - struct dds_whc_default_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 849
    functionName: free_deferred_free_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 1
    functionsReached:
    - ddsi_freelist_pushmany
    - free_whc_node_contents
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_deferred_free_list (struct dds_whc_default_node *deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - whc_generic
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: whc_default_free_deferred_free_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - free_deferred_free_list
    linkageType: ''
    returnType: void
    signature: void whc_default_free_deferred_free_list (struct ddsi_whc *whc_generic,
      struct ddsi_whc_node *deferred_free_list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_nextseq_intv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:875,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:876,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:877,1
    - Dst: ddsrt_avl_is_singleton
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:877,1
    - Dst: whc_findseq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:883,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:898,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:914,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:920,1
    - Dst: ddsi_lifespan_unregister_sample_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:925,1
    - Dst: remove_whcn_from_hash
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:927,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:928,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - whc
    - max_drop_seq
    - deferred_free_list
    argTypes:
    - struct whc_impl*
    - ddsi_seqno_t
    - struct ddsi_whc_node**
    assertStmts:
    - condition: (whcn == NULL || whcn->prev_seq == NULL)
      pos:
        line_end: 875
        line_start: 875
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (ddsrt_avl_is_singleton (&whc->seq))
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->common.seq < max_drop_seq)
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->next_seq->common.seq == max_drop_seq + 1)
      pos:
        line_end: 913
        line_start: 913
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->total_bytes - dfln->total_bytes + dfln->size <= whc->unacked_bytes)
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (ndropped <= whc->seq_size)
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - condition: (whcn->unacked)
      pos:
        line_end: 927
        line_start: 927
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    constantsTouched: []
    func_position:
      end: 935
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 935
    functionName: whc_default_remove_acked_messages_noidx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    functionUses: 0
    functionsReached:
    - ddsi_lifespan_unregister_sample_locked
    - find_nextseq_intv
    - assert
    - whc_findseq
    - ddsrt_avl_is_singleton
    - remove_whcn_from_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t whc_default_remove_acked_messages_noidx (struct whc_impl *whc,
      ddsi_seqno_t max_drop_seq, struct ddsi_whc_node **deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - whc_generic
    argTypes:
    - struct ddsi_whc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: bwhc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void bwhc_free (struct ddsi_whc *whc_generic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - whc_generic
    - opaque_it
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_sample_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: bwhc_sample_iter_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bwhc_sample_iter_init (const struct ddsi_whc *whc_generic, struct
      ddsi_whc_sample_iter *opaque_it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_entity_vendorid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:69,1
    - Dst: ddsi_builtintopic_is_visible
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: is_visible
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 3
    functionsReached:
    - ddsi_get_entity_vendorid
    - ddsi_builtintopic_is_visible
    linkageType: ''
    returnType: bool
    signature: bool is_visible (const struct ddsi_entity_common *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:81,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:84,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:93,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:96,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:98,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:102,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:104,1
    - Dst: dds__builtin_make_sample_proxy_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:109,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - it
    - sample
    argTypes:
    - struct bwhc_iter*
    - struct ddsi_whc_borrowed_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 116
    functionName: bwhc_sample_iter_borrow_next_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsrt_mutex_lock
    - ddsi_entidx_enum_next
    - dds__builtin_make_sample_proxy_topic
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool bwhc_sample_iter_borrow_next_proxy_topic (struct bwhc_iter * const
      it, struct ddsi_whc_borrowed_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct bwhc_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: init_proxy_topic_iteration
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void init_proxy_topic_iteration (struct bwhc_iter * const it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds__builtin_make_sample_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:137,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:139,1
    - Dst: dds__builtin_make_sample_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - entity
    argTypes:
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: make_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 1
    functionsReached:
    - dds__builtin_make_sample_endpoint
    - assert
    - dds__builtin_make_sample_topic
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *make_sample (struct ddsi_entity_common *entity)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:158,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:163,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:174,1
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:175,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:179,1
    - Dst: is_visible
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:180,1
    - Dst: make_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:184,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:188,1
    - Dst: init_proxy_topic_iteration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:193,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:199,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:203,1
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:204,1
    - Dst: bwhc_sample_iter_borrow_next_proxy_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:211,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:214,1
    - Dst: is_visible
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:215,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:219,1
    - Dst: dds__builtin_make_sample_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:222,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:227,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 2
    argNames:
    - opaque_it
    - sample
    argTypes:
    - struct ddsi_whc_sample_iter*
    - struct ddsi_whc_borrowed_sample*
    assertStmts:
    - condition: (whc->entity_kind == DSBT_PARTICIPANT || kind != DDSI_EK_PARTICIPANT)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    - condition: (0)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    - condition: (0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    - condition: (kind != DDSI_EK_PARTICIPANT)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    constantsTouched: []
    func_position:
      end: 229
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 229
    functionName: bwhc_sample_iter_borrow_next
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    - make_sample
    - ddsi_entidx_enum_fini
    - assert
    - ddsi_entidx_enum_next
    - memset
    - ddsi_entidx_enum_init
    - init_proxy_topic_iteration
    - bwhc_sample_iter_borrow_next_proxy_topic
    - dds__builtin_make_sample_endpoint
    - is_visible
    linkageType: ''
    returnType: bool
    signature: bool bwhc_sample_iter_borrow_next (struct ddsi_whc_sample_iter *opaque_it,
      struct ddsi_whc_borrowed_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - whc
    - st
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: bwhc_get_state
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bwhc_get_state (const struct ddsi_whc *whc, struct ddsi_whc_state
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - whc
    - max_drop_seq
    - seq
    - exp
    - serdata
    - tk
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - ddsrt_mtime_t
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: bwhc_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bwhc_insert (struct ddsi_whc *whc, ddsi_seqno_t max_drop_seq, ddsi_seqno_t
      seq, ddsrt_mtime_t exp, struct ddsi_serdata *serdata, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - whc
    - max_drop_seq
    - whcst
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - struct ddsi_whc_state*
    - struct ddsi_whc_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: bwhc_remove_acked_messages
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bwhc_remove_acked_messages (struct ddsi_whc *whc, ddsi_seqno_t
      max_drop_seq, struct ddsi_whc_state *whcst, struct ddsi_whc_node **deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - whc
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: bwhc_free_deferred_free_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bwhc_free_deferred_free_list (struct ddsi_whc *whc, struct ddsi_whc_node
      *deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - entity_kind
    - entidx
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: dds_builtintopic_whc_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_whc
    signature: struct ddsi_whc *dds_builtintopic_whc_new (enum ddsi_sertype_builtintopic_entity_kind
      entity_kind, const struct ddsi_entity_index *entidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds__write.h:55,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/src/dds__write.h:57,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsc/src/dds__write.h:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - timestamp
    - protover
    argTypes:
    - dds_time_t
    - ddsi_protocol_version_t
    assertStmts:
    - condition: (protover.major == 2)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__write.h
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: dds_source_timestamp_is_valid_ddsi_time
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__write.h
    functionUses: 0
    functionsReached:
    - assert
    - INT64_C
    linkageType: ''
    returnType: bool
    signature: bool dds_source_timestamp_is_valid_ddsi_time (dds_time_t timestamp,
      ddsi_protocol_version_t protover)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:44,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:47,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:50,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:61,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:62,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:63,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:64,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:65,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:66,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:67,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:71,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - owner
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 75
    functionName: dds_create_guardcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c
    functionUses: 11
    functionsReached:
    - dds_entity_unpin_and_drop_ref
    - dds_entity_init_complete
    - ddsi_iid_gen
    - dds_entity_lock
    - dds_entity_kind
    - dds_entity_init
    - dds_entity_register_child
    - dds_alloc
    - dds_entity_unlock
    - dds_init
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_guardcondition (dds_entity_t owner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_guardcond_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:82,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:88,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:90,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:91,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:93,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:94,1
    - Dst: dds_guardcond_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - guardcond
    - triggered
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: dds_set_guardcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c
    functionUses: 9
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - dds_guardcond_lock
    - ddsrt_atomic_cas32
    - dds_guardcond_unlock
    - dds_entity_observers_signal
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_set_guardcondition (dds_entity_t guardcond, bool triggered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_guardcond_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:109,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:113,1
    - Dst: dds_guardcond_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - guardcond
    - triggered
    argTypes:
    - dds_entity_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: dds_read_guardcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_guardcond_lock
    - dds_guardcond_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_read_guardcondition (dds_entity_t guardcond, bool
      *triggered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_guardcond_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:128,1
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:132,1
    - Dst: dds_guardcond_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - guardcond
    - triggered
    argTypes:
    - dds_entity_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: dds_take_guardcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_and32_ov
    - dds_guardcond_lock
    - dds_guardcond_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_take_guardcondition (dds_entity_t guardcond, bool
      *triggered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: dds_domain_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dds_domain_compare (const void *va, const void *vb)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:70,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:73,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:75,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:103,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:109,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:112,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:116,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:121,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:123,1
    - Dst: dds_pubsub_message_exchange_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:128,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:135,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:138,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:142,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:144,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:145,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:148,1
    - Dst: dds_serdatapool_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:153,1
    - Dst: ddsi_threadmon_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:162,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:162,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:165,1
    - Dst: ddsi_threadmon_start
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:170,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:172,1
    - Dst: dds__builtin_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:179,1
    - Dst: ddsi_start
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:181,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:183,1
    - Dst: ddsi_threadmon_register_domain
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:189,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:190,1
    - Dst: dds__builtin_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:194,1
    - Dst: ddsi_threadmon_stop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:196,1
    - Dst: ddsi_threadmon_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:200,1
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:204,1
    - Dst: dds_serdatapool_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:205,1
    - Dst: dds_pubsub_message_exchange_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:208,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:211,1
    - Dst: dds_handle_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:213,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 4
    argNames:
    - domain
    - domain_id
    - config
    - implicit
    argTypes:
    - dds_domain*
    - dds_domainid_t
    - struct config_source*
    - bool
    assertStmts:
    - condition: (domain_id == DDS_DOMAIN_DEFAULT || domain_id == domain->gv.config.domainId)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    constantsTouched: []
    func_position:
      end: 215
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 215
    functionName: dds_domain_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached:
    - dds_serdatapool_free
    - dds_pubsub_message_exchange_init
    - ddsi_iid_gen
    - ddsi_threadmon_start
    - ddsi_threadmon_free
    - ddsi_init
    - dds__builtin_fini
    - dds_alloc
    - ddsi_threadmon_stop
    - dds_string_dup
    - dds_serdatapool_new
    - memcpy
    - DDS_ILOG
    - dds_entity_init
    - DDS_MSECS
    - ddsi_fini
    - ddsrt_time_wallclock
    - ddsi_threadmon_new
    - dds_handle_delete
    - dds_entity_init_complete
    - ddsi_threadmon_register_domain
    - dds_free
    - assert
    - dds_pubsub_message_exchange_fini
    - dds__builtin_init
    - ddsi_config_fini
    - ddsi_config_init
    - ddsi_start
    - ddsi_config_prep
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_domain_init (dds_domain *domain, dds_domainid_t domain_id,
      const struct config_source *config, bool implicit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - dds_domainid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: dds_domain_find_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: dds_domain
    signature: dds_domain *dds_domain_find_locked (dds_domainid_t id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:228,1
    - Dst: dds_domain_find_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:231,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:233,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:241,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:242,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:244,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:245,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:248,1
    - Dst: dds_handle_repin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:249,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:251,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:257,1
    - Dst: dds_domain_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:258,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:259,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:262,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:263,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:264,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:267,1
    - Dst: dds_handle_repin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:268,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:271,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - domain_out
    - id
    - implicit
    - config
    argTypes:
    - dds_domain**
    - dds_domainid_t
    - bool
    - struct config_source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 277
    functionName: dds_domain_create_internal_xml_or_raw
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached:
    - dds_handle_repin
    - ddsrt_avl_insert
    - dds_entity_add_ref_locked
    - dds_handle_is_closed
    - ddsrt_mutex_lock
    - dds_free
    - dds_domain_find_locked
    - ddsrt_cond_wait
    - dds_domain_init
    - dds_alloc
    - ddsrt_mutex_unlock
    - dds_entity_register_child
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_domain_create_internal_xml_or_raw (dds_domain **domain_out,
      dds_domainid_t id, bool implicit, const struct config_source *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_domain_create_internal_xml_or_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - domain_out
    - id
    - implicit
    - config
    argTypes:
    - dds_domain**
    - dds_domainid_t
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: dds_domain_create_internal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached:
    - dds_domain_create_internal_xml_or_raw
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_domain_create_internal (dds_domain **domain_out, dds_domainid_t
      id, bool implicit, const char *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:297,1
    - Dst: dds_domain_create_internal_xml_or_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:301,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - domain
    - config
    argTypes:
    - dds_domainid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 285
    functionDepth: 8
    functionLinenumber: 285
    functionLinenumberEnd: 304
    functionName: dds_create_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 62
    functionsReached:
    - dds_domain_create_internal_xml_or_raw
    - dds_entity_unpin_and_drop_ref
    - dds_init
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_domain (const dds_domainid_t domain, const
      char *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:317,1
    - Dst: dds_domain_create_internal_xml_or_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:321,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - domain
    - config
    argTypes:
    - dds_domainid_t
    - struct ddsi_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 8
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: dds_create_domain_with_rawconfig
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached:
    - dds_domain_create_internal_xml_or_raw
    - dds_entity_unpin_and_drop_ref
    - dds_init
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_domain_with_rawconfig (const dds_domainid_t
      domain, const struct ddsi_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:329,1
    - Dst: dds__builtin_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:330,1
    - Dst: ddsi_threadmon_unregister_domain
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:333,1
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:335,1
    - Dst: dds_pubsub_message_exchange_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:337,1
    - Dst: dds_serdatapool_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:339,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:343,1
    - Dst: ddsi_threadmon_stop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:346,1
    - Dst: ddsi_threadmon_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:347,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:350,1
    - Dst: dds_entity_final_deinit_before_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:351,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:353,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:354,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:355,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - vdomain
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 358
    functionName: dds_domain_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached:
    - dds_serdatapool_free
    - ddsrt_mutex_unlock
    - dds_entity_final_deinit_before_free
    - ddsi_stop
    - dds_free
    - ddsi_threadmon_unregister_domain
    - dds_pubsub_message_exchange_fini
    - ddsrt_mutex_lock
    - ddsi_threadmon_free
    - ddsrt_avl_delete
    - ddsrt_cond_broadcast
    - dds__builtin_fini
    - ddsi_config_fini
    - ddsi_threadmon_stop
    - ddsi_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_domain_free (dds_entity *vdomain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:364,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:370,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entity
    - deaf
    - mute
    - reset_after
    argTypes:
    - dds_entity_t
    - bool
    - bool
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: dds_domain_set_deafmute
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 5
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    - ddsi_set_deafmute
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_domain_set_deafmute (dds_entity_t entity, bool deaf,
      bool mute, dds_duration_t reset_after)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:383,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:384,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:388,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:390,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:391,1
    - Dst: pushdown_set_batch
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:393,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:399,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:400,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - e
    - enable
    argTypes:
    - struct dds_entity*
    - bool
    assertStmts:
    - condition: (x == c)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    constantsTouched: []
    func_position:
      end: 403
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 403
    functionName: pushdown_set_batch
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - assert
    - ddsrt_mutex_lock
    - dds_entity_pin
    - pushdown_set_batch
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void pushdown_set_batch (struct dds_entity *e, bool enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:410,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:412,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:413,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:422,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:428,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:429,1
    - Dst: pushdown_set_batch
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:430,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:431,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:432,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:433,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:436,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts:
    - condition: (x == e)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    constantsTouched: []
    func_position:
      end: 438
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 438
    functionName: dds_write_set_batch
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin_and_drop_ref
    - ddsrt_avl_lookup_succ_eq
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - assert
    - dds_entity_pin
    - pushdown_set_batch
    - ddsrt_mutex_unlock
    - dds_init
    linkageType: ''
    returnType: void
    signature: void dds_write_set_batch (bool enable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:449,1
    - Dst: ddsi_wait_for_type_resolved
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:458,1
    - Dst: ddsi_type_get_typeobj
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:460,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:461,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - entity
    - type_id
    - timeout
    - type_obj
    argTypes:
    - dds_entity_t
    - dds_typeid_t*
    - dds_duration_t
    - dds_typeobj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 466
    functionName: dds_get_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached:
    - dds_entity_unpin
    - ddsi_type_get_typeobj
    - dds_entity_pin
    - ddsi_type_unref
    - ddsi_wait_for_type_resolved
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_typeobj (dds_entity_t entity, const dds_typeid_t
      *type_id, dds_duration_t timeout, dds_typeobj_t **type_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeobj_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:472,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_domain.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type_obj
    argTypes:
    - dds_typeobj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: dds_free_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsi_typeobj_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_free_typeobj (dds_typeobj_t *type_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - entity
    - type_id
    - timeout
    - type_obj
    argTypes:
    - dds_entity_t
    - dds_typeid_t*
    - dds_duration_t
    - dds_typeobj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: dds_get_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_typeobj (dds_entity_t entity, const dds_typeid_t
      *type_id, dds_duration_t timeout, dds_typeobj_t **type_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_obj
    argTypes:
    - dds_typeobj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: dds_free_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_free_typeobj (dds_typeobj_t *type_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_
    - ','
    - kind_
    - ','
    - component_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: DEFINE_ENTITY_LOCK_UNLOCK
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ENTITY_LOCK_UNLOCK(type_, kind_, component_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds__entity.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - type_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: _unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 193
    functionsReached:
    - dds_entity_unlock
    linkageType: ''
    returnType: void
    signature: void _unlock (type_ *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: DECL_ENTITY_LOCK_UNLOCK
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_ENTITY_LOCK_UNLOCK(type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdllink
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: dds_entity_from_handle_link
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: dds_entity
    signature: dds_entity *dds_entity_from_handle_link (struct dds_handle_link *hdllink)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: dds_entity_is_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_entity_is_enabled (const dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/ddsc/src/dds__entity.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - t
    argTypes:
    - dds_entity*
    - status_mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: dds_entity_status_reset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_and32
    linkageType: ''
    returnType: void
    signature: void dds_entity_status_reset (dds_entity *e, status_mask_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds__entity.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - t
    argTypes:
    - dds_entity*
    - status_mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: dds_entity_status_reset_ov
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_and32_ov
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_entity_status_reset_ov (dds_entity *e, status_mask_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: dds_entity_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: dds_entity_kind_t
    signature: dds_entity_kind_t dds_entity_kind (const dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ent_
    - ','
    - status_
    - ','
    - reset0_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: DDS_RESET_STATUS_FIELDS_1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RESET_STATUS_FIELDS_1(ent_, status_, reset0_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ent_
    - ','
    - status_
    - ','
    - reset0_
    - ','
    - reset1_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: DDS_RESET_STATUS_FIELDS_2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RESET_STATUS_FIELDS_2(ent_, status_, reset0_, reset1_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: DDS_RESET_STATUS_FIELDS_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RESET_STATUS_FIELDS_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n_
    - ','
    - ent_
    - ','
    - status_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: DDS_RESET_STATUS_FIELDS_N1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RESET_STATUS_FIELDS_N1(n_, ent_, status_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n_
    - ','
    - ent_
    - ','
    - status_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: DDS_RESET_STATUS_FIELDS_N
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RESET_STATUS_FIELDS_N(n_, ent_, status_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - entity_kind_
    - ','
    - name_
    - ','
    - NAME_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: STATUS_CB_IMPL_INVOKE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_CB_IMPL_INVOKE(entity_kind_, name_, NAME_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - entity_kind_
    - ','
    - name_
    - ','
    - NAME_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: STATUS_CB_IMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_CB_IMPL(entity_kind_, name_, NAME_, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:29,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - data
    - value
    - sz
    - overwrite
    argTypes:
    - ddsi_octetseq_t*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: dds_qos_data_copy_in
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_qos_data_copy_in (ddsi_octetseq_t *data, const void *value,
      size_t sz, bool overwrite)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:36,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:48,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:49,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - value
    - sz
    argTypes:
    - ddsi_octetseq_t*
    - void**
    - size_t*
    assertStmts:
    - condition: (data->length < UINT32_MAX)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    - condition: (data->value)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: dds_qos_data_copy_out
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - dds_alloc
    linkageType: ''
    returnType: bool
    signature: bool dds_qos_data_copy_out (const ddsi_octetseq_t *data, void **value,
      size_t *sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:59,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: dds_create_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 102
    functionsReached:
    - ddsrt_malloc
    - ddsi_xqos_init_empty
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t *dds_create_qos (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:68,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: dds_reset_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached:
    - ddsi_xqos_fini
    - ddsi_xqos_init_empty
    linkageType: ''
    returnType: void
    signature: void dds_reset_qos (dds_qos_t *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:77,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: dds_delete_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 112
    functionsReached:
    - ddsi_xqos_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_delete_qos (dds_qos_t *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: dds_copy_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - ddsi_xqos_copy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_copy_qos (dds_qos_t *dst, const dds_qos_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: dds_merge_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: void
    signature: void dds_merge_qos (dds_qos_t *dst, const dds_qos_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: dds_qos_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - ddsi_xqos_delta
    linkageType: ''
    returnType: bool
    signature: bool dds_qos_equal (const dds_qos_t *a, const dds_qos_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_in
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: dds_qset_userdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 7
    functionsReached:
    - dds_qos_data_copy_in
    linkageType: ''
    returnType: void
    signature: void dds_qset_userdata (dds_qos_t *qos, const void *value, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_in
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: dds_qset_topicdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - dds_qos_data_copy_in
    linkageType: ''
    returnType: void
    signature: void dds_qset_topicdata (dds_qos_t *qos, const void *value, size_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_in
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: dds_qset_groupdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached:
    - dds_qos_data_copy_in
    linkageType: ''
    returnType: void
    signature: void dds_qset_groupdata (dds_qos_t *qos, const void *value, size_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_durability_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: dds_qset_durability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_durability (dds_qos_t *qos, dds_durability_kind_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qos
    - kind
    - depth
    argTypes:
    - dds_qos_t*
    - dds_history_kind_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: dds_qset_history
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_history (dds_qos_t *qos, dds_history_kind_t kind, int32_t
      depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - qos
    - max_samples
    - max_instances
    - max_samples_per_instance
    argTypes:
    - dds_qos_t*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: dds_qset_resource_limits
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_resource_limits (dds_qos_t *qos, int32_t max_samples,
      int32_t max_instances, int32_t max_samples_per_instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - qos
    - access_scope
    - coherent_access
    - ordered_access
    argTypes:
    - dds_qos_t*
    - dds_presentation_access_scope_kind_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: dds_qset_presentation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_presentation (dds_qos_t *qos, dds_presentation_access_scope_kind_t
      access_scope, bool coherent_access, bool ordered_access)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - lifespan
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: dds_qset_lifespan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_lifespan (dds_qos_t *qos, dds_duration_t lifespan)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - deadline
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: dds_qset_deadline
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_deadline (dds_qos_t *qos, dds_duration_t deadline)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - duration
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: dds_qset_latency_budget
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_latency_budget (dds_qos_t *qos, dds_duration_t duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_ownership_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: dds_qset_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_ownership (dds_qos_t *qos, dds_ownership_kind_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - value
    argTypes:
    - dds_qos_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: dds_qset_ownership_strength
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_ownership_strength (dds_qos_t *qos, int32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qos
    - kind
    - lease_duration
    argTypes:
    - dds_qos_t*
    - dds_liveliness_kind_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: dds_qset_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_liveliness (dds_qos_t *qos, dds_liveliness_kind_t kind,
      dds_duration_t lease_duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - minimum_separation
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: dds_qset_time_based_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_time_based_filter (dds_qos_t *qos, dds_duration_t minimum_separation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:233,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:234,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:241,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - qos
    - n
    - ps
    argTypes:
    - dds_qos_t*
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: dds_qset_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 7
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_qset_partition (dds_qos_t *qos, uint32_t n, const char **ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:251,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qos
    - name
    argTypes:
    - dds_qos_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: dds_qset_partition1
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 6
    functionsReached:
    - dds_qset_partition
    linkageType: ''
    returnType: void
    signature: void dds_qset_partition1 (dds_qos_t *qos, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qos
    - kind
    - max_blocking_time
    argTypes:
    - dds_qos_t*
    - dds_reliability_kind_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: dds_qset_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_reliability (dds_qos_t *qos, dds_reliability_kind_t kind,
      dds_duration_t max_blocking_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - value
    argTypes:
    - dds_qos_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: dds_qset_transport_priority
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_transport_priority (dds_qos_t *qos, int32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_destination_order_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: dds_qset_destination_order
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_destination_order (dds_qos_t *qos, dds_destination_order_kind_t
      kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - autodispose
    argTypes:
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: dds_qset_writer_data_lifecycle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_writer_data_lifecycle (dds_qos_t *qos, bool autodispose)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qos
    - autopurge_nowriter_samples_delay
    - autopurge_disposed_samples_delay
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: dds_qset_reader_data_lifecycle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_reader_data_lifecycle (dds_qos_t *qos, dds_duration_t
      autopurge_nowriter_samples_delay, dds_duration_t autopurge_disposed_samples_delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - batch_updates
    argTypes:
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: dds_qset_writer_batching
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_writer_batching (dds_qos_t *qos, bool batch_updates)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - qos
    - service_cleanup_delay
    - history_kind
    - history_depth
    - max_samples
    - max_instances
    - max_samples_per_instance
    argTypes:
    - dds_qos_t*
    - dds_duration_t
    - dds_history_kind_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: dds_qset_durability_service
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_durability_service (dds_qos_t *qos, dds_duration_t service_cleanup_delay,
      dds_history_kind_t history_kind, int32_t history_depth, int32_t max_samples,
      int32_t max_instances, int32_t max_samples_per_instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - ignore
    argTypes:
    - dds_qos_t*
    - dds_ignorelocal_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: dds_qset_ignorelocal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qset_ignorelocal (dds_qos_t *qos, dds_ignorelocal_kind_t ignore)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: dds_qprop_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_qprop_init (dds_qos_t * qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop_type_
    - ','
    - prop_field_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 354
    functionName: DDS_QPROP_GET_INDEX
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_QPROP_GET_INDEX(prop_type_, prop_field_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - prop_type_
    - ','
    - prop_field_
    - ','
    - value_field_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 383
    functionName: DDS_QUNSET_PROP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_QUNSET_PROP(prop_type_, prop_field_, value_field_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_qprop_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:392,1
    - Dst: dds_qprop_get_index
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:393,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:395,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:396,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:397,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:401,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:404,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - qos
    - name
    - value
    argTypes:
    - dds_qos_t*
    - char*
    - char*
    assertStmts:
    - condition: (&qos->property.value.props[i] != NULL)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 408
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 408
    functionName: dds_qset_prop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_string_dup
    - dds_free
    - assert
    - dds_qprop_init
    - dds_realloc
    - dds_qprop_get_index
    linkageType: ''
    returnType: void
    signature: void dds_qset_prop (dds_qos_t *qos, const char * name, const char *
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_qprop_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:416,1
    - Dst: dds_qbprop_get_index
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:417,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:419,1
    - Dst: dds_qos_data_copy_in
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:420,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:424,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:427,1
    - Dst: dds_qos_data_copy_in
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - qos
    - name
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - char*
    - void*
    - size_t
    assertStmts:
    - condition: (&qos->property.binary_value.props[i].value != NULL)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: dds_qset_bprop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_qbprop_get_index
    - dds_string_dup
    - assert
    - dds_qprop_init
    - dds_qos_data_copy_in
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void dds_qset_bprop (dds_qos_t *qos, const char * name, const void
      * value, const size_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:438,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - qos
    - name
    argTypes:
    - dds_qos_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: dds_qset_entity_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - dds_free
    - dds_string_dup
    linkageType: ''
    returnType: void
    signature: void dds_qset_entity_name (dds_qos_t *qos, const char * name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - qos
    - kind
    - ignore_sequence_bounds
    - ignore_string_bounds
    - ignore_member_names
    - prevent_type_widening
    - force_type_validation
    argTypes:
    - dds_qos_t*
    - dds_type_consistency_kind_t
    - bool
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: dds_qset_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dds_qset_type_consistency (dds_qos_t *qos, dds_type_consistency_kind_t
      kind,\n  bool ignore_sequence_bounds, bool ignore_string_bounds, bool ignore_member_names,
      bool prevent_type_widening, bool force_type_validation)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:462,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:478,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - qos
    - n
    - values
    argTypes:
    - dds_qos_t*
    - uint32_t
    - dds_data_representation_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 483
    functionName: dds_qset_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 7
    functionsReached:
    - ddsrt_free
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void dds_qset_data_representation (dds_qos_t *qos, uint32_t n, const
      dds_data_representation_id_t *values)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:493,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:500,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:502,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:503,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:511,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - qos
    - n
    - values
    argTypes:
    - dds_qos_t*
    - uint32_t
    - char**
    assertStmts:
    - condition: (qos->psmx.strs != NULL)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 519
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 519
    functionName: dds_qset_psmx_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 5
    functionsReached:
    - dds_string_dup
    - dds_free
    - assert
    - strlen
    - dds_alloc
    linkageType: ''
    returnType: void
    signature: void dds_qset_psmx_instances (dds_qos_t *qos, uint32_t n, const char
      **values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_out
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: dds_qget_userdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 4
    functionsReached:
    - dds_qos_data_copy_out
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_userdata (const dds_qos_t *qos, void **value, size_t
      *sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_out
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: dds_qget_topicdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_qos_data_copy_out
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_topicdata (const dds_qos_t *qos, void **value, size_t
      *sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_qos_data_copy_out
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - qos
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: dds_qget_groupdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_qos_data_copy_out
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_groupdata (const dds_qos_t *qos, void **value, size_t
      *sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_durability_kind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: dds_qget_durability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_durability (const dds_qos_t *qos, dds_durability_kind_t
      *kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - qos
    - kind
    - depth
    argTypes:
    - dds_qos_t*
    - dds_history_kind_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: dds_qget_history
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_history (const dds_qos_t *qos, dds_history_kind_t *kind,
      int32_t *depth)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - qos
    - max_samples
    - max_instances
    - max_samples_per_instance
    argTypes:
    - dds_qos_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: dds_qget_resource_limits
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_resource_limits (const dds_qos_t *qos, int32_t *max_samples,
      int32_t *max_instances, int32_t *max_samples_per_instance)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - qos
    - access_scope
    - coherent_access
    - ordered_access
    argTypes:
    - dds_qos_t*
    - dds_presentation_access_scope_kind_t*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: dds_qget_presentation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_presentation (const dds_qos_t *qos, dds_presentation_access_scope_kind_t
      *access_scope, bool *coherent_access, bool *ordered_access)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - lifespan
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: dds_qget_lifespan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_lifespan (const dds_qos_t *qos, dds_duration_t *lifespan)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - deadline
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: dds_qget_deadline
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_deadline (const dds_qos_t *qos, dds_duration_t *deadline)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - duration
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: dds_qget_latency_budget
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_latency_budget (const dds_qos_t *qos, dds_duration_t
      *duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_ownership_kind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: dds_qget_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_ownership (const dds_qos_t *qos, dds_ownership_kind_t
      *kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - value
    argTypes:
    - dds_qos_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: dds_qget_ownership_strength
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_ownership_strength (const dds_qos_t *qos, int32_t *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - qos
    - kind
    - lease_duration
    argTypes:
    - dds_qos_t*
    - dds_liveliness_kind_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: dds_qget_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_liveliness (const dds_qos_t *qos, dds_liveliness_kind_t
      *kind, dds_duration_t *lease_duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - minimum_separation
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: dds_qget_time_based_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_time_based_filter (const dds_qos_t *qos, dds_duration_t
      *minimum_separation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:667,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - qos
    - n
    - ps
    argTypes:
    - dds_qos_t*
    - uint32_t*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 673
    functionName: dds_qget_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached:
    - dds_alloc
    - dds_string_dup
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_partition (const dds_qos_t *qos, uint32_t *n, char ***ps)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - qos
    - kind
    - max_blocking_time
    argTypes:
    - dds_qos_t*
    - dds_reliability_kind_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 684
    functionName: dds_qget_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_reliability (const dds_qos_t *qos, dds_reliability_kind_t
      *kind, dds_duration_t *max_blocking_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - value
    argTypes:
    - dds_qos_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 693
    functionName: dds_qget_transport_priority
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_transport_priority (const dds_qos_t *qos, int32_t *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - kind
    argTypes:
    - dds_qos_t*
    - dds_destination_order_kind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: dds_qget_destination_order
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_destination_order (const dds_qos_t *qos, dds_destination_order_kind_t
      *kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - autodispose
    argTypes:
    - dds_qos_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: dds_qget_writer_data_lifecycle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_writer_data_lifecycle (const dds_qos_t *qos, bool *autodispose)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - qos
    - autopurge_nowriter_samples_delay
    - autopurge_disposed_samples_delay
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    - dds_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 722
    functionName: dds_qget_reader_data_lifecycle
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_reader_data_lifecycle (const dds_qos_t *qos, dds_duration_t
      *autopurge_nowriter_samples_delay, dds_duration_t *autopurge_disposed_samples_delay)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - batch_updates
    argTypes:
    - dds_qos_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: dds_qget_writer_batching
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_writer_batching (const dds_qos_t *qos, bool *batch_updates)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - qos
    - service_cleanup_delay
    - history_kind
    - history_depth
    - max_samples
    - max_instances
    - max_samples_per_instance
    argTypes:
    - dds_qos_t*
    - dds_duration_t*
    - dds_history_kind_t*
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 750
    functionName: dds_qget_durability_service
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_durability_service (const dds_qos_t *qos, dds_duration_t
      *service_cleanup_delay, dds_history_kind_t *history_kind, int32_t *history_depth,
      int32_t *max_samples, int32_t *max_instances, int32_t *max_samples_per_instance)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qos
    - ignore
    argTypes:
    - dds_qos_t*
    - dds_ignorelocal_kind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: dds_qget_ignorelocal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_ignorelocal (const dds_qos_t *qos, dds_ignorelocal_kind_t
      *ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop_type_
    - ','
    - prop_field_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 783
    functionName: DDS_QGET_PROPNAMES
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_QGET_PROPNAMES(prop_type_, prop_field_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_qprop_get_index
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:794,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - qos
    - name
    - value
    argTypes:
    - dds_qos_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 798
    functionName: dds_qget_prop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_string_dup
    - dds_qprop_get_index
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_prop (const dds_qos_t *qos, const char * name, char **
      value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_qbprop_get_index
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:808,1
    - Dst: dds_qos_data_copy_out
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:812,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - qos
    - name
    - value
    - sz
    argTypes:
    - dds_qos_t*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 822
    functionName: dds_qget_bprop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached:
    - dds_qos_data_copy_out
    - dds_qbprop_get_index
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_bprop (const dds_qos_t *qos, const char * name, void
      ** value, size_t * sz)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - qos
    - kind
    - ignore_sequence_bounds
    - ignore_string_bounds
    - ignore_member_names
    - prevent_type_widening
    - force_type_validation
    argTypes:
    - dds_qos_t*
    - dds_type_consistency_kind_t*
    - bool*
    - bool*
    - bool*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 842
    functionName: dds_qget_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dds_qget_type_consistency (const dds_qos_t *qos, dds_type_consistency_kind_t
      *kind,\n  bool *ignore_sequence_bounds, bool *ignore_string_bounds, bool *ignore_member_names,
      bool *prevent_type_widening, bool *force_type_validation)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:851,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:858,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - qos
    - n
    - values
    argTypes:
    - dds_qos_t*
    - uint32_t*
    - dds_data_representation_id_t**
    assertStmts:
    - condition: (qos->data_representation.value.ids != NULL)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 867
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 867
    functionName: dds_qget_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    - dds_alloc
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_data_representation (const dds_qos_t *qos, uint32_t *n,
      dds_data_representation_id_t **values)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:871,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:878,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:900,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:920,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:921,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - qos
    - allowed_data_representations
    - data_type_props
    - entitykind
    argTypes:
    - dds_qos_t*
    - uint32_t
    - dds_data_type_properties_t
    - dds_entity_kind_t
    assertStmts:
    - condition: (entitykind == DDS_KIND_TOPIC || entitykind == DDS_KIND_READER ||
        entitykind == DDS_KIND_WRITER)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    - condition: (qos->data_representation.value.ids != NULL)
      pos:
        line_end: 877
        line_start: 877
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    - condition: (nxs >= 1)
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 924
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 924
    functionName: dds_ensure_valid_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached:
    - assert
    - dds_qset_data_representation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_ensure_valid_data_representation (dds_qos_t *qos,
      uint32_t allowed_data_representations, dds_data_type_properties_t data_type_props,
      dds_entity_kind_t entitykind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:933,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:940,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - qos
    - n_out
    - values
    argTypes:
    - dds_qos_t*
    - uint32_t*
    - char***
    assertStmts:
    - condition: (qos->psmx.strs != NULL)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 949
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 949
    functionName: dds_qget_psmx_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached:
    - assert
    - dds_alloc
    - dds_string_dup
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_psmx_instances (const dds_qos_t *qos, uint32_t *n_out,
      char ***values)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:963,1
    - Dst: struct dds_psmx_int*::ops::type_qos_supported
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:967,1
    - Dst: dds_qget_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:975,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:981,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:982,1
    - Dst: struct dds_psmx_int*::ops::type_qos_supported
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:985,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1000,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1001,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1006,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - qos
    - forwhat
    - stype
    - psmx_instances
    argTypes:
    - dds_qos_t*
    - dds_psmx_endpoint_type_t
    - struct ddsi_sertype*
    - struct dds_psmx_set*
    assertStmts:
    - condition: (psmx_instances->length <= DDS_MAX_PSMX_INSTANCES)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    - condition: (psmx_instances->elems[s].instance)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    constantsTouched: []
    func_position:
      end: 1008
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 1008
    functionName: dds_ensure_valid_psmx_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - dds_free
    - assert
    - strcmp
    - dds_qset_psmx_instances
    - dds_qget_psmx_instances
    - struct dds_psmx_int*::ops::type_qos_supported
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_ensure_valid_psmx_instances (dds_qos_t *qos, dds_psmx_endpoint_type_t
      forwhat, const struct ddsi_sertype *stype, const struct dds_psmx_set *psmx_instances)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1015,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1018,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1020,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - qos
    - psmx_instance_name
    argTypes:
    - dds_qos_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: dds_qos_has_psmx_instances
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 2
    functionsReached:
    - dds_free
    - strcmp
    - dds_qget_psmx_instances
    linkageType: ''
    returnType: bool
    signature: bool dds_qos_has_psmx_instances (const dds_qos_t *qos, const char *psmx_instance_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - name
    argTypes:
    - dds_qos_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: dds_qget_entity_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 1
    functionsReached:
    - dds_string_dup
    linkageType: ''
    returnType: bool
    signature: bool dds_qget_entity_name (const dds_qos_t *qos, char **name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1040,1
    - Dst: ddsrt_prng_random_name
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1041,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1042,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1045,1
    - Dst: strnlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1045,1
    - Dst: dds_qset_entity_name
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos.c:1047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - qos
    - parent_qos
    - gv
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    functionName: dds_apply_entity_naming
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
    functionUses: 3
    functionsReached:
    - ddsrt_mutex_unlock
    - memcpy
    - ddsrt_mutex_lock
    - dds_qset_entity_name
    - ddsrt_prng_random_name
    - strnlen
    linkageType: ''
    returnType: void
    signature: void dds_apply_entity_naming(dds_qos_t *qos, /* optional */ dds_qos_t
      *parent_qos, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:31,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:32,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loaned_sample
    argTypes:
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (hl->c.sample_ptr != NULL)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: heap_loan_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_sertype_free_sample
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void heap_loan_free (dds_loaned_sample_t *loaned_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:39,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:40,1
    - Dst: ddsi_sertype_zero_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loaned_sample
    argTypes:
    - struct dds_loaned_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: dds_heap_loan_reset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_free_sample
    - ddsi_sertype_zero_sample
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_heap_loan_reset (struct dds_loaned_sample *loaned_sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:50,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:52,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:59,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:61,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - type
    - sample_state
    - loaned_sample
    argTypes:
    - struct ddsi_sertype*
    - dds_loaned_sample_state_t
    - struct dds_loaned_sample**
    assertStmts:
    - condition: (sample_state == DDS_LOANED_SAMPLE_STATE_UNITIALIZED || sample_state
        == DDS_LOANED_SAMPLE_STATE_RAW_KEY || sample_state == DDS_LOANED_SAMPLE_STATE_RAW_DATA)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: dds_heap_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    functionUses: 2
    functionsReached:
    - dds_free
    - assert
    - ddsrt_atomic_st32
    - ddsi_sertype_alloc_sample
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_heap_loan (const struct ddsi_sertype *type, dds_loaned_sample_state_t
      sample_state, struct dds_loaned_sample **loaned_sample)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:47,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:53,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:55,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:56,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:64,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:69,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:70,1
    - Dst: ddsi_typeinfo_equal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:71,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:74,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:75,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:79,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:80,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (a->type.opt_size_xcdr2 == b->type.opt_size_xcdr2)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    - condition: (a->type.opt_size_xcdr1 == b->type.opt_size_xcdr1)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 89
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 89
    functionName: sertype_default_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_equal
    - ddsrt_free
    - memcmp
    - assert
    - ddsi_typeinfo_deser
    - ddsi_typeinfo_fini
    linkageType: ''
    returnType: bool
    signature: bool sertype_default_equal (const struct ddsi_sertype *acmn, const
      struct ddsi_sertype *bcmn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:95,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:96,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:98,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:101,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:102,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tpcmn
    - kind
    argTypes:
    - struct ddsi_sertype*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    - condition: (kind == DDSI_TYPEID_KIND_MINIMAL || kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: sertype_default_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - assert
    - ddsi_typeinfo_deser
    - ddsi_typeinfo_fini
    - ddsi_typeinfo_typeid
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t * sertype_default_typeid (const struct ddsi_sertype *tpcmn,
      ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:109,1
    - Dst: ddsi_typemap_deser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: sertype_default_typemap
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_typemap_deser
    linkageType: ''
    returnType: ddsi_typemap_t
    signature: ddsi_typemap_t * sertype_default_typemap (const struct ddsi_sertype
      *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:116,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: sertype_default_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_deser
    - assert
    linkageType: ''
    returnType: ddsi_typeinfo_t
    signature: ddsi_typeinfo_t *sertype_default_typeinfo (const struct ddsi_sertype
      *tpcmn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:125,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:129,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:130,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:130,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:131,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:132,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:133,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:134,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:135,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:136,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:139,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: sertype_default_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_finish
    - assert
    - strlen
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_default_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:148,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:150,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:152,1
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:153,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: sertype_default_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsrt_free
    - ddsi_sertype_fini
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: void
    signature: void sertype_default_free (struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sertype_common
    - sample
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: sertype_default_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sertype_default_zero_samples (const struct ddsi_sertype *sertype_common,
      void *sample, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:167,1
    - Dst: count::count
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:168,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:169,1
    - Dst: size::size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:169,1
    - Dst: i::i
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ptrs
    - sertype_common
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: sertype_default_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - count::count
    - memset
    - i::i
    - size::size
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void sertype_default_realloc_samples (void **ptrs, const struct ddsi_sertype
      *sertype_common, void *old, size_t oldcount, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct dds_sertype_default*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: type_may_contain_ptr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool type_may_contain_ptr (const struct dds_sertype_default *tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:196,1
    - Dst: type_may_contain_ptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:198,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:203,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - sertype_common
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts:
    - condition: ((char *)ptrs[i] == (char *)ptrs[0] + off)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: sertype_default_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - type_may_contain_ptr
    - dds_stream_free_sample
    - assert
    - dds_free
    linkageType: ''
    returnType: void
    signature: void sertype_default_free_samples (const struct ddsi_sertype *sertype_common,
      void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:220,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:230,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:236,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:237,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:238,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - base_sertype
    - data_representation
    - tce_qos
    argTypes:
    - struct ddsi_sertype*
    - dds_data_representation_id_t
    - dds_type_consistency_enforcement_qospolicy_t
    assertStmts:
    - condition: (base_sertype)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    constantsTouched: []
    func_position:
      end: 245
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 245
    functionName: sertype_default_derive_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_memdup
    - assert
    - ddsi_sertype_ref
    - ddsrt_atomic_st32
    - abort
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype * sertype_default_derive_sertype (const struct
      ddsi_sertype *base_sertype, dds_data_representation_id_t data_representation,
      dds_type_consistency_enforcement_qospolicy_t tce_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:251,1
    - Dst: dds_stream_getsize_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:253,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tpcmn
    - sdkind
    - sample
    - size
    - enc_identifier
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - size_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: sertype_default_get_serialized_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_key
    - dds_stream_getsize_sample
    - ddsi_sertype_get_native_enc_identifier
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t sertype_default_get_serialized_size (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind sdkind, const void *sample, size_t *size, uint16_t
      *enc_identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:269,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tpcmn
    - sdkind
    - sample
    - dst_buffer
    - dst_size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: sertype_default_serialize_into
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 0
    functionsReached:
    - dds_stream_write_sample
    - dds_stream_write_key
    linkageType: ''
    returnType: bool
    signature: bool sertype_default_serialize_into (const struct ddsi_sertype *tpcmn,
      enum ddsi_serdata_kind sdkind, const void *sample, void *dst_buffer, size_t
      dst_size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:310,1
    - Dst: dds_stream_extensibility
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:318,1
    - Dst: ddsi_sertype_init_props
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:326,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:326,1
    - Dst: ddsi_sertype_extensibility_enc_format
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:327,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:333,1
    - Dst: dds_stream_type_nesting_depth
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:335,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:337,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:338,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:347,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:348,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:351,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:353,1
    - Dst: dds_stream_check_optimize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:364,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:366,1
    - Dst: dds_stream_check_optimize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:368,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c:370,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - domain
    - st
    - desc
    - min_xcdrv
    - data_representation
    argTypes:
    - struct dds_domain*
    - struct dds_sertype_default*
    - dds_topic_descriptor_t*
    - uint16_t
    - dds_data_representation_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 373
    functionName: dds_sertype_default_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_init_props
    - dds_stream_type_nesting_depth
    - ddsi_sertype_unref
    - ddsi_sertype_extensibility_enc_format
    - dds_cdrstream_desc_init_with_nops
    - ddsrt_memdup
    - dds_stream_extensibility
    - dds_stream_data_types
    - abort
    - dds_stream_check_optimize
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_sertype_default_init (const struct dds_domain *domain,
      struct dds_sertype_default *st, const dds_topic_descriptor_t *desc, uint16_t
      min_xcdrv, dds_data_representation_id_t data_representation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: QOSPROV_ERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOSPROV_ERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: QOSPROV_WARN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOSPROV_WARN(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: QOSPROV_TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOSPROV_TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:18,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: dds_create_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 18
    functionsReached:
    - dds_alloc
    - dds_reset_listener
    linkageType: ''
    returnType: dds_listener_t
    signature: dds_listener_t *dds_create_listener (void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - listener
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: dds_delete_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 18
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void dds_delete_listener (dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - listener
    argTypes:
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: dds_reset_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_reset_listener (dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: dds_copy_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_copy_listener (dds_listener_t *dst, const dds_listener_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - inherited
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: dds_combine_listener_merge
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_combine_listener_merge (uint32_t inherited, void (*dst)(void),
      void (*src)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - inherited
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: dds_combine_listener_override_inherited
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_combine_listener_override_inherited (uint32_t inherited, void
      (*dst)(void), void (*src)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - mask
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: copy_bits
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t copy_bits (uint32_t a, uint32_t b, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_bits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - status
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: combine_reset_on_invoke
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached:
    - copy_bits
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t combine_reset_on_invoke (const dds_listener_t *dst, const
      dds_listener_t *src, uint32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:102,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:103,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:104,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:105,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:106,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:107,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:108,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:109,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:110,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:111,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:112,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:113,1
    - Dst: C
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: dds_combine_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached:
    - C
    linkageType: ''
    returnType: void
    signature: void dds_combine_listener (bool (*op) (uint32_t inherited, void (*dst)(void),
      void (*src)(void)), dds_listener_t *dst, const dds_listener_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: C
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(NAME_, name_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_combine_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: dds_override_inherited_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 1
    functionsReached:
    - dds_combine_listener
    linkageType: ''
    returnType: void
    signature: void dds_override_inherited_listener (dds_listener_t *dst, const dds_listener_t
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_combine_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: dds_inherit_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 2
    functionsReached:
    - dds_combine_listener
    linkageType: ''
    returnType: void
    signature: void dds_inherit_listener (dds_listener_t *dst, const dds_listener_t
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_combine_listener
      Src: /src/cyclonedds/src/core/ddsc/src/dds_listener.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_listener_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: dds_merge_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 4
    functionsReached:
    - dds_combine_listener
    linkageType: ''
    returnType: void
    signature: void dds_merge_listener (dds_listener_t *dst, const dds_listener_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: DDS_SET_LISTENER_ARG
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_SET_LISTENER_ARG(NAME_, name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: DDS_SET_LISTENER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_SET_LISTENER(NAME_, name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: DDS_GET_LISTENER_ARG
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GET_LISTENER_ARG(NAME_, name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: DDS_GET_LISTENER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GET_LISTENER(name_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: dds_entity_deriver_interrupt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_interrupt (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: dds_entity_deriver_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_close (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: dds_entity_deriver_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 1
    functionsReached:
    - delete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_delete (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - struct dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: dds_entity_deriver_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 1
    functionsReached:
    - set_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_set_qos (struct dds_entity *e, const
      dds_qos_t *qos, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - mask
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: dds_entity_deriver_validate_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 2
    functionsReached:
    - validate_status
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_entity_deriver_validate_status (struct dds_entity
      *e, uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: dds_entity_supports_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_entity_supports_set_qos (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: dds_entity_supports_validate_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dds_entity_supports_validate_status (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: dds_entity_deriver_create_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 0
    functionsReached:
    - create_statistics
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_entity_deriver_create_statistics (const
      struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refresh_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - s
    argTypes:
    - struct dds_entity*
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: dds_entity_deriver_refresh_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 0
    functionsReached:
    - refresh_statistics
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_refresh_statistics (const struct dds_entity
      *e, struct dds_statistics *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invoke_cbs_for_pending_events
      Src: /src/cyclonedds/src/core/ddsc/src/dds__types.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - status
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: dds_entity_deriver_invoke_cbs_for_pending_events
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    functionUses: 2
    functionsReached:
    - invoke_cbs_for_pending_events
    linkageType: ''
    returnType: void
    signature: void dds_entity_deriver_invoke_cbs_for_pending_events (struct dds_entity
      *e, uint32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:29,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:29,1
    - Dst: dds_rhc_remove_readcondition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (dds_entity_kind (&rd->m_entity) == DDS_KIND_READER)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: dds_readcond_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_rhc_remove_readcondition
    - dds_entity_kind
    linkageType: ''
    returnType: void
    signature: void dds_readcond_close (dds_entity *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:46,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:47,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:49,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:52,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:55,1
    - Dst: dds_rhc_add_readcondition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:64,1
    - Dst: dds_entity_final_deinit_before_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:66,1
    - Dst: dds_handle_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:67,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:68,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - rdcond_out
    - rd
    - kind
    - mask
    - filter
    argTypes:
    - dds_readcond**
    - dds_reader*
    - dds_entity_kind_t
    - uint32_t
    - dds_querycondition_filter_fn
    assertStmts:
    - condition: ((kind == DDS_KIND_COND_READ && filter == 0) || (kind == DDS_KIND_COND_QUERY
        && filter != 0))
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: dds_create_readcond_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    functionUses: 1
    functionsReached:
    - ddsi_iid_gen
    - dds_entity_final_deinit_before_free
    - dds_free
    - assert
    - dds_rhc_add_readcondition
    - dds_entity_init
    - dds_entity_register_child
    - dds_alloc
    - dds_handle_delete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_create_readcond_impl (dds_readcond **rdcond_out, dds_reader
      *rd, dds_entity_kind_t kind, uint32_t mask, dds_querycondition_filter_fn filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:82,1
    - Dst: dds_create_readcond_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:84,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:86,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:92,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: dds_create_readcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    functionUses: 17
    functionsReached:
    - dds_entity_init_complete
    - dds_reader_unlock
    - dds_create_readcond_impl
    - dds_reader_lock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_readcondition (dds_entity_t reader, uint32_t
      mask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:102,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:107,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:111,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:111,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_READER)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: dds_get_datareader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    functionUses: 1
    functionsReached:
    - assert
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_datareader (dds_entity_t entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:131,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:133,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:133,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:135,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - condition
    - mask
    argTypes:
    - dds_entity_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 145
    functionName: dds_get_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
    functionUses: 1
    functionsReached:
    - dds_entity_kind
    - dds_entity_unlock
    - dds_entity_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_mask (dds_entity_t condition, uint32_t *mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds__handles.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: dds_handle_is_closed
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_is_closed (struct dds_handle_link *link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:23,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - entity
    - gv
    argTypes:
    - dds_entity_t
    - struct ddsi_domaingv**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: get_entity_gv
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 1
    functionsReached:
    - dds_entity_pin
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_entity_gv (dds_entity_t entity, struct ddsi_domaingv
      **gv)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 1
    argNames:
    - xt_kind
    argTypes:
    - DDS_XTypes_TypeKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: xtkind_to_typekind
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_dynamic_type_kind_t
    signature: dds_dynamic_type_kind_t xtkind_to_typekind (DDS_XTypes_TypeKind xt_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: get_dtype_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * get_dtype_complete (dds_dynamic_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: get_dtype_complete_c
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * get_dtype_complete_c (const dds_dynamic_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: get_dtype_complete_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type ** get_dtype_complete_addr (dds_dynamic_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: get_dtype_minimal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * get_dtype_minimal (dds_dynamic_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: get_dtype_minimal_c
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * get_dtype_minimal_c (const dds_dynamic_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: get_dtype_minimal_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type ** get_dtype_minimal_addr (dds_dynamic_type_t *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_dynamic_type_create_primitive
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:82,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - gv
    - type_spec
    argTypes:
    - struct ddsi_domaingv*
    - dds_dynamic_type_spec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: dyntype_from_typespec
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - get_dtype_complete_addr
    - ddsi_dynamic_type_create_primitive
    linkageType: ''
    returnType: dds_dynamic_type_t
    signature: dds_dynamic_type_t dyntype_from_typespec (struct ddsi_domaingv *gv,
      dds_dynamic_type_spec_t type_spec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - type_spec
    - allow_unset
    argTypes:
    - dds_dynamic_type_spec_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: typespec_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - get_dtype_complete
    linkageType: ''
    returnType: bool
    signature: bool typespec_valid (dds_dynamic_type_spec_t type_spec, bool allow_unset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:118,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:120,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:120,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - dds_dynamic_type_spec_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: union_disc_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - get_dtype_complete
    linkageType: ''
    returnType: bool
    signature: bool union_disc_valid (dds_dynamic_type_spec_t type_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: typename_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool typename_valid (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: membername_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool membername_valid (const char *name)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: get_entity_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:143,1
    - Dst: ddsi_dynamic_type_create_primitive
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:166,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:166,1
    - Dst: ddsi_dynamic_type_create_string8
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:171,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:171,1
    - Dst: ddsi_dynamic_type_create_string16
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:176,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:176,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:179,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:179,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:181,1
    - Dst: ddsi_dynamic_type_create_alias
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:182,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:182,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:182,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:186,1
    - Dst: ddsi_dynamic_type_create_enum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:188,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:188,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:191,1
    - Dst: ddsi_dynamic_type_create_bitmask
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:193,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:193,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:196,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:196,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:201,1
    - Dst: ddsi_dynamic_type_create_array
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:202,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:202,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:202,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:206,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:206,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:208,1
    - Dst: ddsi_dynamic_type_create_sequence
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:209,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:209,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:209,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:213,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:213,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:215,1
    - Dst: ddsi_dynamic_type_create_struct
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:216,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:216,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:216,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:220,1
    - Dst: union_disc_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:220,1
    - Dst: typename_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:220,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:222,1
    - Dst: ddsi_dynamic_type_create_union
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:223,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:223,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:223,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 100
    argCount: 2
    argNames:
    - entity
    - descriptor
    argTypes:
    - dds_entity_t
    - dds_dynamic_type_descriptor_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 238
    functionName: dds_dynamic_type_create
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 1
    functionsReached:
    - get_dtype_complete_addr
    - ddsi_dynamic_type_create_string8
    - typename_valid
    - ddsi_dynamic_type_create_bitmask
    - get_entity_gv
    - ddsi_dynamic_type_create_string16
    - union_disc_valid
    - ddsi_dynamic_type_create_enum
    - typespec_valid
    - ddsi_dynamic_type_create_sequence
    - ddsi_dynamic_type_create_union
    - ddsi_dynamic_type_create_alias
    - ddsi_dynamic_type_create_struct
    - dyntype_from_typespec
    - ddsi_dynamic_type_create_primitive
    - ddsi_dynamic_type_create_array
    linkageType: ''
    returnType: dds_dynamic_type_t
    signature: dds_dynamic_type_t dds_dynamic_type_create (dds_entity_t entity, dds_dynamic_type_descriptor_t
      descriptor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_dynamic_type_is_constructing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:246,1
    - Dst: get_dtype_complete_c
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - type
    - allow_non_constructing
    argTypes:
    - dds_dynamic_type_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: check_type_param
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_dynamic_type_is_constructing
    - get_dtype_complete_c
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t check_type_param (const dds_dynamic_type_t *type, bool
      allow_non_constructing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:254,1
    - Dst: membername_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:256,1
    - Dst: ddsi_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:260,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - type
    - name
    - value
    - is_default
    argTypes:
    - dds_dynamic_type_t*
    - char*
    - dds_dynamic_enum_literal_value_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: dds_dynamic_type_add_enum_literal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 1
    functionsReached:
    - membername_valid
    - check_type_param
    - ddsi_dynamic_type_add_enum_literal
    - get_dtype_complete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_add_enum_literal (dds_dynamic_type_t
      *type, const char *name, dds_dynamic_enum_literal_value_t value, bool is_default)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:273,1
    - Dst: membername_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:275,1
    - Dst: ddsi_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:279,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - name
    - position
    argTypes:
    - dds_dynamic_type_t*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: dds_dynamic_type_add_bitmask_field
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 1
    functionsReached:
    - membername_valid
    - check_type_param
    - ddsi_dynamic_type_add_bitmask_field
    - get_dtype_complete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_add_bitmask_field (dds_dynamic_type_t
      *type, const char *name, uint16_t position)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:291,1
    - Dst: membername_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:294,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:300,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:300,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:300,1
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:303,1
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:306,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:309,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:315,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:315,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:315,1
    - Dst: ddsi_dynamic_type_add_union_member
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:316,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:316,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:316,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:326,1
    - Dst: typespec_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:330,1
    - Dst: dyntype_from_typespec
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:335,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:335,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:335,1
    - Dst: ddsi_dynamic_type_add_struct_member
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:336,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:336,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:336,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:344,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - type
    - member_descriptor
    argTypes:
    - dds_dynamic_type_t*
    - dds_dynamic_member_descriptor_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 354
    functionName: dds_dynamic_type_add_member
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 3
    functionsReached:
    - membername_valid
    - get_dtype_complete_addr
    - ddsi_type_get_kind
    - dds_dynamic_type_add_bitmask_field
    - dds_dynamic_type_unref
    - check_type_param
    - typespec_valid
    - ddsi_type_get_gv
    - ddsi_dynamic_type_add_union_member
    - dds_dynamic_type_add_enum_literal
    - get_dtype_complete
    - ddsi_dynamic_type_add_struct_member
    - xtkind_to_typekind
    - dyntype_from_typespec
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_add_member (dds_dynamic_type_t *type,
      dds_dynamic_member_descriptor_t member_descriptor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:359,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:365,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:365,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:365,1
    - Dst: ddsi_dynamic_type_set_extensibility
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:371,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - type
    - extensibility
    argTypes:
    - dds_dynamic_type_t*
    - enum dds_dynamic_type_extensibility
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 379
    functionName: dds_dynamic_type_set_extensibility
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - ddsi_dynamic_type_set_extensibility
    - check_type_param
    - get_dtype_complete
    - xtkind_to_typekind
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_set_extensibility (dds_dynamic_type_t
      *type, enum dds_dynamic_type_extensibility extensibility)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:384,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:387,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:387,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:387,1
    - Dst: ddsi_dynamic_type_set_nested
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:391,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - type
    - is_nested
    argTypes:
    - dds_dynamic_type_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: dds_dynamic_type_set_nested
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - check_type_param
    - get_dtype_complete
    - xtkind_to_typekind
    - ddsi_dynamic_type_set_nested
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_set_nested (dds_dynamic_type_t *type,
      bool is_nested)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:404,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:411,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:411,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:411,1
    - Dst: ddsi_dynamic_type_set_autoid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:415,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - dds_dynamic_type_t*
    - enum dds_dynamic_type_autoid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 423
    functionName: dds_dynamic_type_set_autoid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - check_type_param
    - ddsi_dynamic_type_set_autoid
    - get_dtype_complete
    - xtkind_to_typekind
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_set_autoid (dds_dynamic_type_t *type,
      enum dds_dynamic_type_autoid value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:428,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:431,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:431,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:431,1
    - Dst: ddsi_dynamic_type_set_bitbound
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:434,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:434,1
    - Dst: ddsi_dynamic_type_set_bitbound
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:437,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - type
    - bit_bound
    argTypes:
    - dds_dynamic_type_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: dds_dynamic_type_set_bit_bound
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - ddsi_dynamic_type_set_bitbound
    - check_type_param
    - get_dtype_complete
    - xtkind_to_typekind
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_set_bit_bound (dds_dynamic_type_t *type,
      uint16_t bit_bound)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:451,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:454,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:454,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:454,1
    - Dst: set_fn_struct
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:457,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:457,1
    - Dst: set_fn_union
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:460,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - type
    - member_id
    - value
    - set_fn_struct
    - set_fn_union
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - bool
    - set_struct_prop_fn
    - set_struct_prop_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 467
    functionName: set_member_bool_prop
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - check_type_param
    - set_fn_union
    - get_dtype_complete
    - xtkind_to_typekind
    - set_fn_struct
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_member_bool_prop (dds_dynamic_type_t *type, uint32_t
      member_id, bool value, set_struct_prop_fn set_fn_struct, set_struct_prop_fn
      set_fn_union)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_member_bool_prop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_key
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: dds_dynamic_member_set_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_member_bool_prop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_member_set_key (dds_dynamic_type_t *type,
      uint32_t member_id, bool is_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_member_bool_prop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_optional
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: dds_dynamic_member_set_optional
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_member_bool_prop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_member_set_optional (dds_dynamic_type_t *type,
      uint32_t member_id, bool is_optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_member_bool_prop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_external
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: dds_dynamic_member_set_external
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_member_bool_prop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_member_set_external (dds_dynamic_type_t *type,
      uint32_t member_id, bool is_external)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:487,1
    - Dst: xtkind_to_typekind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:490,1
    - Dst: ddsi_type_get_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:490,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:490,1
    - Dst: ddsi_dynamic_type_member_set_hashid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:494,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - type
    - member_id
    - hash_member_name
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 501
    functionName: dds_dynamic_member_set_hashid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_get_kind
    - ddsi_dynamic_type_member_set_hashid
    - check_type_param
    - get_dtype_complete
    - xtkind_to_typekind
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_member_set_hashid (dds_dynamic_type_t *type,
      uint32_t member_id, const char *hash_member_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_member_bool_prop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_must_understand
    argTypes:
    - dds_dynamic_type_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: dds_dynamic_member_set_must_understand
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_member_bool_prop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_member_set_must_understand (dds_dynamic_type_t
      *type, uint32_t member_id, bool is_must_understand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:511,1
    - Dst: ddsi_dynamic_type_register
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:513,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:513,1
    - Dst: get_dtype_minimal_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - type
    - type_info
    argTypes:
    - dds_dynamic_type_t*
    - struct ddsi_typeinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 514
    functionName: dds_dynamic_type_register
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 3
    functionsReached:
    - ddsi_dynamic_type_register
    - get_dtype_minimal_addr
    - check_type_param
    - get_dtype_complete_addr
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_register (dds_dynamic_type_t *type, struct
      ddsi_typeinfo **type_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:519,1
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:521,1
    - Dst: get_dtype_minimal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:521,1
    - Dst: ddsi_type_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:522,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:522,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:522,1
    - Dst: ddsi_type_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:524,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:524,1
    - Dst: get_dtype_minimal_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: dds_dynamic_type_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - get_dtype_complete_addr
    - get_dtype_minimal
    - check_type_param
    - ddsi_type_get_gv
    - get_dtype_minimal_addr
    - get_dtype_complete
    - ddsi_type_ref
    linkageType: ''
    returnType: dds_dynamic_type_t
    signature: dds_dynamic_type_t dds_dynamic_type_ref (dds_dynamic_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dtype_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:532,1
    - Dst: get_dtype_minimal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:532,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:533,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:533,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:535,1
    - Dst: ddsi_type_get_gv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: dds_dynamic_type_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 3
    functionsReached:
    - ddsi_type_get_gv
    - get_dtype_minimal
    - ddsi_type_unref
    - get_dtype_complete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_dynamic_type_unref (dds_dynamic_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type_param
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:542,1
    - Dst: get_dtype_complete_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:544,1
    - Dst: ddsi_dynamic_type_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:544,1
    - Dst: get_dtype_complete_c
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:544,1
    - Dst: get_dtype_minimal_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:545,1
    - Dst: get_dtype_minimal_c
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:545,1
    - Dst: ddsi_dynamic_type_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:545,1
    - Dst: get_dtype_minimal_c
      Src: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - dds_dynamic_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: dds_dynamic_type_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
    functionUses: 0
    functionsReached:
    - get_dtype_complete_addr
    - get_dtype_minimal_c
    - check_type_param
    - ddsi_dynamic_type_dup
    - get_dtype_minimal_addr
    - get_dtype_complete_c
    linkageType: ''
    returnType: dds_dynamic_type_t
    signature: dds_dynamic_type_t dds_dynamic_type_dup (const dds_dynamic_type_t *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_sysdef_init_sysdef_str
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:32,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:37,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:39,1
    - Dst: fopen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:40,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:42,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:45,1
    - Dst: dds_sysdef_init_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:47,1
    - Dst: fclose
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - path
    - sysdef
    argTypes:
    - char*
    - struct dds_sysdef_system**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: read_sysdef
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_init_sysdef
    - SYSDEF_ERROR
    - fclose
    - DDSRT_WARNING_MSVC_OFF
    - dds_sysdef_init_sysdef_str
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - strncmp
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t read_sysdef (const char *path, struct dds_sysdef_system
      **sysdef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:58,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:59,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: qos_item_hash_fn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qos_item_hash_fn(const void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: qos_item_equals_fn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool qos_item_equals_fn(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:75,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:76,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: cleanup_qos_items
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void cleanup_qos_items (void *vnode, void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:88,1
    - Dst: QOSPROV_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:90,1
    - Dst: dds_validate_qos_lib
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:93,1
    - Dst: QOSPROV_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:95,1
    - Dst: dds_sysdef_fini_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - path
    - sysdef
    argTypes:
    - char*
    - struct dds_sysdef_system**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: read_validate_sysdef
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - QOSPROV_ERROR
    - read_sysdef
    - dds_sysdef_fini_sysdef
    - dds_validate_qos_lib
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t read_validate_sysdef(const char *path, struct dds_sysdef_system
      **sysdef)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:111,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:112,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:113,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:114,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:115,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:116,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:120,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:125,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:129,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:132,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:135,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:158,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:159,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:163,1
    - Dst: dds_merge_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:164,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:166,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:168,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:169,1
    - Dst: QOSPROV_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:171,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:174,1
    - Dst: cleanup_qos_items
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:175,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:179,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:182,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:183,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:184,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:190,1
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:196,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:197,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:198,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 73
    argCount: 6
    argNames:
    - sysdef
    - path
    - provider
    - lib_scope
    - prof_scope
    - ent_scope
    argTypes:
    - struct dds_sysdef_system*
    - char*
    - dds_qos_provider_t**
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (lib_scope != NULL && prof_scope != NULL && ent_scope != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    constantsTouched: []
    func_position:
      end: 200
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 200
    functionName: init_qos_provider
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_add
    - cleanup_qos_items
    - ddsrt_free
    - QOSPROV_ERROR
    - assert
    - strcmp
    - dds_merge_qos
    - ddsrt_hh_enum
    - ddsrt_asprintf
    - ddsrt_strdup
    - ddsrt_hh_free
    - ddsrt_hh_new
    - dds_create_qos
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t init_qos_provider (const struct dds_sysdef_system *sysdef,
      const char *path, dds_qos_provider_t **provider, char *lib_scope, char *prof_scope,
      char *ent_scope)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos_provider_scope
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - provider
    argTypes:
    - char*
    - dds_qos_provider_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: dds_create_qos_provider
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 1
    functionsReached:
    - dds_create_qos_provider_scope
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_create_qos_provider (const char *path, dds_qos_provider_t
      **provider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QOSPROV_WARN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:217,1
    - Dst: QOSPROV_TRACE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:221,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:222,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:224,1
    - Dst: QOSPROV_WARN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:226,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - provider
    - type
    - key
    - qos
    argTypes:
    - dds_qos_provider_t*
    - dds_qos_kind_t
    - char*
    - dds_qos_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: dds_qos_provider_get_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_hh_lookup
    - ddsrt_strdup
    - QOSPROV_TRACE
    - QOSPROV_WARN
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_qos_provider_get_qos (const dds_qos_provider_t *provider,
      dds_qos_kind_t type, const char *key, const dds_qos_t **qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:243,1
    - Dst: ddsrt_strndup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:244,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:244,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:246,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:246,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - start
    - end
    - token
    argTypes:
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: fill_token
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - strstr
    - ddsrt_strdup
    - ddsrt_strndup
    - strlen
    linkageType: ''
    returnType: void
    signature: void fill_token(char **start, char **end, char **token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:253,1
    - Dst: fill_token
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:256,1
    - Dst: fill_token
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:257,1
    - Dst: fill_token
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:258,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - start
    - lib
    - pro
    - ent
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: fill_tokens_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - fill_token
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fill_tokens_str(const char *start, char **lib, char **pro, char
      **ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:264,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:265,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - pro
    - ent
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: empty_tokens_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void empty_tokens_str(char *lib, char *pro, char *ent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_tokens_str
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - key
    - lib
    - prof
    - ent
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: resolve_token
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 0
    functionsReached:
    - fill_tokens_str
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t resolve_token(const char *key, char **lib, char **prof,
      char **ent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_validate_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:286,1
    - Dst: resolve_token
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:289,1
    - Dst: init_qos_provider
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:290,1
    - Dst: QOSPROV_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:292,1
    - Dst: empty_tokens_str
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:296,1
    - Dst: dds_sysdef_fini_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - path
    - provider
    - key
    argTypes:
    - char*
    - dds_qos_provider_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: dds_create_qos_provider_scope
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 1
    functionsReached:
    - read_validate_sysdef
    - QOSPROV_ERROR
    - empty_tokens_str
    - dds_sysdef_fini_sysdef
    - init_qos_provider
    - resolve_token
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_create_qos_provider_scope (const char *path, dds_qos_provider_t
      **provider, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:305,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:306,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:307,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provider
    argTypes:
    - dds_qos_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: dds_delete_qos_provider
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
    functionUses: 1
    functionsReached:
    - ddsrt_hh_free
    - ddsrt_free
    - ddsrt_hh_enum
    linkageType: ''
    returnType: void
    signature: void dds_delete_qos_provider (dds_qos_provider_t *provider)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:32,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: is_triggered
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: bool
    signature: bool is_triggered (struct dds_entity *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:55,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:57,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:59,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:66,1
    - Dst: is_triggered
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:71,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:80,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:81,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:87,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - waitset
    - xs
    - nxs
    - abstimeout
    argTypes:
    - dds_entity_t
    - dds_attach_t*
    - size_t
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 90
    functionName: dds_waitset_wait_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - dds_entity_unpin
    - dds_handle_is_closed
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_entity_pin
    - ddsrt_cond_etime_waituntil
    - ddsrt_mutex_unlock
    - is_triggered
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_wait_impl (dds_entity_t waitset, dds_attach_t
      *xs, size_t nxs, ddsrt_etime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:95,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:96,1
    - Dst: dds_handle_is_closed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:96,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:97,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts:
    - condition: (dds_handle_is_closed (&ws->m_entity.m_hdllink))
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: dds_waitset_interrupt
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - dds_handle_is_closed
    - assert
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_waitset_interrupt (struct dds_entity *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:104,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:108,1
    - Dst: ddsrt_cond_etime_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:112,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:117,1
    - Dst: dds_entity_observer_unregister
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:118,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:120,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:121,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts:
    - condition: (ws->nentities == 0 || ws->entities[0].entity != observed)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: dds_waitset_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - dds_entity_observer_unregister
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_etime_wait
    - dds_entity_pin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_waitset_close (struct dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:130,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:131,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: dds_waitset_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_cond_etime_destroy
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_delete (struct dds_entity *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:156,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:159,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:162,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:173,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:174,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:175,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:176,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:177,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:178,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:182,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:183,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:184,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:188,1
    - Dst: dds_entity_unpin_and_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - owner
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 192
    functionName: dds_create_waitset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 55
    functionsReached:
    - dds_entity_unpin_and_drop_ref
    - dds_entity_init_complete
    - ddsi_iid_gen
    - dds_entity_lock
    - dds_entity_kind
    - ddsrt_cond_etime_init
    - dds_entity_init
    - dds_entity_register_child
    - ddsrt_mutex_init
    - dds_alloc
    - dds_entity_unlock
    - dds_init
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_waitset (dds_entity_t owner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:198,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:200,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:202,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:208,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:215,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - waitset
    - entities
    - size
    argTypes:
    - dds_entity_t
    - dds_entity_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: dds_waitset_get_entities
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 1
    functionsReached:
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - dds_entity_pin
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_get_entities (dds_entity_t waitset, dds_entity_t
      *entities, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:224,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:237,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ws
    - observed
    argTypes:
    - struct dds_waitset*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: dds_waitset_observer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    linkageType: ''
    returnType: void
    signature: void dds_waitset_observer (struct dds_waitset *ws, dds_entity_t observed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:248,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:249,1
    - Dst: is_triggered
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:254,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:261,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ws
    - observed
    - varg
    argTypes:
    - struct dds_waitset*
    - struct dds_entity*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: dds_waitset_attach_observer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_realloc
    - ddsrt_cond_etime_broadcast
    - ddsrt_mutex_unlock
    - is_triggered
    linkageType: ''
    returnType: bool
    signature: bool dds_waitset_attach_observer (struct dds_waitset *ws, struct dds_entity
      *observed, void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:269,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:285,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ws
    - observed
    argTypes:
    - struct dds_waitset*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: dds_waitset_delete_observer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    linkageType: ''
    returnType: void
    signature: void dds_waitset_delete_observer (struct dds_waitset *ws, dds_entity_t
      observed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:295,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:297,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:299,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:306,1
    - Dst: dds_entity_in_scope
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:313,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:322,1
    - Dst: dds_subscriber_adjust_materialize_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:323,1
    - Dst: dds_entity_observer_register
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:327,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:331,1
    - Dst: dds_subscriber_adjust_materialize_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:332,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:335,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - waitset
    - entity
    - x
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_attach_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 340
    functionName: dds_waitset_attach
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 57
    functionsReached:
    - dds_subscriber_adjust_materialize_data_on_readers
    - dds_entity_unpin
    - dds_entity_in_scope
    - dds_entity_observer_register
    - dds_entity_kind
    - dds_entity_pin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_attach (dds_entity_t waitset, dds_entity_t
      entity, dds_attach_t x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:347,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:349,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:351,1
    - Dst: dds_entity_observer_unregister
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:360,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:361,1
    - Dst: dds_entity_observer_unregister
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:365,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:368,1
    - Dst: dds_subscriber_adjust_materialize_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:369,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:371,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - waitset
    - entity
    argTypes:
    - dds_entity_t
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 379
    functionName: dds_waitset_detach
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 26
    functionsReached:
    - dds_entity_observer_unregister
    - dds_subscriber_adjust_materialize_data_on_readers
    - dds_entity_unpin
    - dds_entity_kind
    - dds_entity_pin
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_detach (dds_entity_t waitset, dds_entity_t
      entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:384,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:385,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:386,1
    - Dst: dds_waitset_wait_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - waitset
    - xs
    - nxs
    - abstimeout
    argTypes:
    - dds_entity_t
    - dds_attach_t*
    - size_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: dds_waitset_wait_until
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 9
    functionsReached:
    - ddsrt_time_wallclock
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    - dds_waitset_wait_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_wait_until (dds_entity_t waitset, dds_attach_t
      *xs, size_t nxs, dds_time_t abstimeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:394,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:394,1
    - Dst: dds_waitset_wait_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - waitset
    - xs
    - nxs
    - reltimeout
    argTypes:
    - dds_entity_t
    - dds_attach_t*
    - size_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: dds_waitset_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 48
    functionsReached:
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    - dds_waitset_wait_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_wait (dds_entity_t waitset, dds_attach_t *xs,
      size_t nxs, dds_duration_t reltimeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:402,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:404,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:406,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:412,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:414,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:415,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:417,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:418,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - waitset
    - trigger
    argTypes:
    - dds_entity_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: dds_waitset_set_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_entity_unpin
    - ddsrt_mutex_lock
    - dds_entity_kind
    - ddsrt_atomic_cas32
    - dds_entity_pin
    - dds_entity_observers_signal
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_waitset_set_trigger (dds_entity_t waitset, bool trigger)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: dds_subscriber_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_subscriber_qos_set (dds_entity *e, const dds_qos_t
      *qos, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: dds_subscriber_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_subscriber_status_validate (uint32_t mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:58,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:60,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:61,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:62,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:64,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:66,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:70,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:71,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:72,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:74,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - participant
    - implicit
    - qos
    - listener
    argTypes:
    - struct dds_participant*
    - bool
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: dds__create_subscriber_l
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 2
    functionsReached:
    - dds_entity_init_complete
    - ddsi_iid_gen
    - ddsi_xqos_valid
    - dds_apply_entity_naming
    - dds_delete_qos
    - dds_entity_init
    - dds_entity_register_child
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    - dds_alloc
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds__create_subscriber_l (struct dds_participant *participant,
      bool implicit, const dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_participant_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:84,1
    - Dst: dds__create_subscriber_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:86,1
    - Dst: dds_participant_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - participant
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: dds_create_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 37
    functionsReached:
    - dds_participant_lock
    - dds__create_subscriber_l
    - dds_participant_unlock
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_subscriber (dds_entity_t participant, const
      dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_subscriber_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:95,1
    - Dst: dds_subscriber_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - subscriber
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: dds_notify_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 2
    functionsReached:
    - dds_subscriber_unlock
    - dds_subscriber_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_notify_readers (dds_entity_t subscriber)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: dds_subscriber_begin_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 0
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_subscriber_begin_coherent (dds_entity_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_generic_unimplemented_operation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: dds_subscriber_end_coherent
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 0
    functionsReached:
    - dds_generic_unimplemented_operation
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_subscriber_end_coherent (dds_entity_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:130,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:130,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sub
    argTypes:
    - dds_subscriber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: dds_subscriber_compute_data_on_readers_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: bool
    signature: bool dds_subscriber_compute_data_on_readers_locked (dds_subscriber
      *sub)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:143,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:152,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:159,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:161,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:168,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:172,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:176,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:178,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:179,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:181,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:183,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:184,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:185,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:187,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:189,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:195,1
    - Dst: dds_subscriber_compute_data_on_readers_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:196,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:197,1
    - Dst: dds_entity_status_reset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:199,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:202,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c:203,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - sub
    - materialization_needed
    argTypes:
    - dds_subscriber*
    - bool
    assertStmts:
    - condition: ((sub->materialize_data_on_readers & DDS_SUB_MATERIALIZE_DATA_ON_READERS_MASK)
        > 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    constantsTouched: []
    func_position:
      end: 204
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 204
    functionName: dds_subscriber_adjust_materialize_data_on_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_lookup_succ
    - dds_entity_unpin
    - assert
    - ddsrt_mutex_lock
    - ddsrt_atomic_or32
    - ddsrt_atomic_and32
    - dds_entity_status_reset
    - dds_entity_pin
    - ddsrt_mutex_unlock
    - dds_subscriber_compute_data_on_readers_locked
    linkageType: ''
    returnType: void
    signature: void dds_subscriber_adjust_materialize_data_on_readers (dds_subscriber
      *sub, bool materialization_needed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:37,1
    - Dst: ddsi_writer_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:41,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - writer
    - rds
    - nrds
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: dds_get_matched_subscriptions
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 5
    functionsReached:
    - dds_writer_unlock
    - dds_writer_lock
    - ddsi_writer_get_matched_subscriptions
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_matched_subscriptions (dds_entity_t writer, dds_instance_handle_t
      *rds, size_t nrds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:53,1
    - Dst: ddsi_reader_get_matched_publications
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:57,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - wrs
    - nwrs
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: dds_get_matched_publications
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 6
    functionsReached:
    - dds_reader_unlock
    - ddsi_reader_get_matched_publications
    - dds_reader_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_get_matched_publications (dds_entity_t reader, dds_instance_handle_t
      *wrs, size_t nwrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:66,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:67,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:69,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:70,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:71,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:72,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - guid
    - ppguid
    - ppiid
    - qos
    argTypes:
    - ddsi_guid_t*
    - ddsi_guid_t*
    - dds_instance_handle_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: make_builtintopic_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 0
    functionsReached:
    - dds_string_dup
    - dds_guid_from_ddsi_guid
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    - dds_alloc
    linkageType: ''
    returnType: dds_builtintopic_endpoint_t
    signature: dds_builtintopic_endpoint_t *make_builtintopic_endpoint (const ddsi_guid_t
      *guid, const ddsi_guid_t *ppguid, dds_instance_handle_t ppiid, const dds_qos_t
      *qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:82,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:92,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:92,1
    - Dst: ddsi_writer_find_matched_reader
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:93,1
    - Dst: make_builtintopic_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:97,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:99,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:99,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - writer
    - ih
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: dds_get_matched_subscription_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 3
    functionsReached:
    - ddsi_writer_find_matched_reader
    - dds_writer_lock
    - ddsi_thread_state_awake
    - make_builtintopic_endpoint
    - ddsi_thread_state_asleep
    - dds_writer_unlock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_builtintopic_endpoint_t
    signature: dds_builtintopic_endpoint_t *dds_get_matched_subscription_data (dds_entity_t
      writer, dds_instance_handle_t ih)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:108,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:118,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:118,1
    - Dst: ddsi_reader_find_matched_writer
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:119,1
    - Dst: make_builtintopic_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:123,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:125,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:125,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - reader
    - ih
    argTypes:
    - dds_entity_t
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: dds_get_matched_publication_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 4
    functionsReached:
    - ddsi_reader_find_matched_writer
    - dds_reader_unlock
    - ddsi_thread_state_awake
    - make_builtintopic_endpoint
    - dds_reader_lock
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_builtintopic_endpoint_t
    signature: dds_builtintopic_endpoint_t *dds_get_matched_publication_data (dds_entity_t
      reader, dds_instance_handle_t ih)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - builtintopic_endpoint
    - type_info
    argTypes:
    - dds_builtintopic_endpoint_t*
    - dds_typeinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: dds_builtintopic_get_endpoint_type_info
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_builtintopic_get_endpoint_type_info (dds_builtintopic_endpoint_t
      * builtintopic_endpoint, const dds_typeinfo_t ** type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:149,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:150,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:151,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - builtintopic_endpoint
    argTypes:
    - dds_builtintopic_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: dds_builtintopic_free_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 5
    functionsReached:
    - dds_delete_qos
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_builtintopic_free_endpoint (dds_builtintopic_endpoint_t *
      builtintopic_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:157,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:158,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:159,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - builtintopic_topic
    argTypes:
    - dds_builtintopic_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: dds_builtintopic_free_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_builtintopic_free_topic (dds_builtintopic_topic_t * builtintopic_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:165,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_matched.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - builtintopic_participant
    argTypes:
    - dds_builtintopic_participant_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: dds_builtintopic_free_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
    functionUses: 0
    functionsReached:
    - dds_delete_qos
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_builtintopic_free_participant (dds_builtintopic_participant_t
      * builtintopic_participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: QOS_POLICY_SYSDEF_STRUCT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_SYSDEF_STRUCT(p,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - k
    argTypes:
    - struct dds_write_impl_psmx_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: dds_write_impl_psmx_key_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_write_impl_psmx_key_init (struct dds_write_impl_psmx_key *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:63,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:65,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - k
    - type
    - data
    argTypes:
    - struct dds_write_impl_psmx_key*
    - struct ddsi_sertype*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: dds_write_impl_psmx_get_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_size
    - ddsi_serdata_from_sample
    - ddsi_serdata_to_ser_ref
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write_impl_psmx_get_key (struct dds_write_impl_psmx_key
      *k, const struct ddsi_sertype *type, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:77,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:78,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:80,1
    - Dst: dds_write_impl_psmx_get_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - k
    - type
    - serdata
    argTypes:
    - struct dds_write_impl_psmx_key*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: dds_write_impl_psmx_get_key_untyped_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsi_serdata_untyped_to_sample
    - dds_alloc
    - dds_write_impl_psmx_get_key
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write_impl_psmx_get_key_untyped_serdata (struct dds_write_impl_psmx_key
      *k, const struct ddsi_sertype *type, const struct ddsi_serdata *serdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:91,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:92,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:96,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - struct dds_write_impl_psmx_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: dds_write_impl_psmx_key_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsi_sertype_free_sample
    - ddsi_serdata_to_ser_unref
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void dds_write_impl_psmx_key_fini (struct dds_write_impl_psmx_key *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:109,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:111,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:111,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - writer
    - data
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: dds_write
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 53
    functionsReached:
    - dds_writer_unlock
    - dds_writer_lock
    - dds_time
    - dds_write_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write (dds_entity_t writer, const void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:124,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:128,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:132,1
    - Dst: dds_writecdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:133,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - writer
    - serdata
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: dds_writecdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 3
    functionsReached:
    - dds_writer_unlock
    - dds_writer_lock
    - dds_time
    - dds_writecdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr (dds_entity_t writer, struct ddsi_serdata
      *serdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:146,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:150,1
    - Dst: dds_writecdr_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:153,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - writer
    - serdata
    argTypes:
    - dds_entity_t
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: dds_forwardcdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 4
    functionsReached:
    - dds_writer_unlock
    - dds_writer_lock
    - dds_writecdr_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_forwardcdr (dds_entity_t writer, struct ddsi_serdata
      *serdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_writer_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:166,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:168,1
    - Dst: dds_writer_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - data
    - timestamp
    argTypes:
    - dds_entity_t
    - void*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: dds_write_ts
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 9
    functionsReached:
    - dds_writer_unlock
    - dds_writer_lock
    - dds_write_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write_ts (dds_entity_t writer, const void *data, dds_time_t
      timestamp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_copy_as_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:196,1
    - Dst: ddsi_serdata_ref_as_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:198,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:213,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:215,1
    - Dst: ddsi_tkmap_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - tk
    - gv
    - type
    - vsourceinfo
    argTypes:
    - struct ddsi_tkmap_instance**
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - void*
    assertStmts:
    - condition: (d->loan == NULL || d->loan->loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_HEAP)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 223
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 223
    functionName: local_make_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref_as_type
    - ddsi_serdata_copy_as_type
    - DDS_CWARNING
    - ddsi_tkmap_instance_ref
    - assert
    - ddsi_tkmap_lookup_instance_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *local_make_sample (struct ddsi_tkmap_instance
      **tk, struct ddsi_domaingv *gv, struct ddsi_sertype const * const type, void
      *vsourceinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:229,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:232,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:234,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - source_entity
    - source_entity_locked
    - fastpath_rdary
    - vsourceinfo
    argTypes:
    - struct ddsi_entity_common*
    - bool
    - struct ddsi_local_reader_ary*
    - void*
    assertStmts:
    - condition: (source_entity->kind == DDSI_EK_WRITER)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: local_on_delivery_failure_fastpath
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - assert
    - dds_sleepfor
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t local_on_delivery_failure_fastpath (struct ddsi_entity_common
      *source_entity, bool source_entity_locked, struct ddsi_local_reader_ary *fastpath_rdary,
      void *vsourceinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:260,1
    - Dst: ddsi_deliver_locally_allinsync
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:261,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wr
    - payload
    - tk
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: deliver_locally
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_deliver_locally_allinsync
    - DDS_CERROR
    - ddsi_make_writer_info
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deliver_locally (struct ddsi_writer *wr, struct ddsi_serdata
      *payload, struct ddsi_tkmap_instance *tk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_copy_as_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:275,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:287,1
    - Dst: ddsi_serdata_ref_as_type
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ddsi_wr
    - din
    - require_copy
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_serdata_any*
    - bool
    assertStmts:
    - condition: (din->a.type->ops->version == ddsi_sertype_v0)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 295
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 295
    functionName: convert_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_serdata_copy_as_type
    - ddsi_serdata_ref_as_type
    linkageType: ''
    returnType: struct ddsi_serdata_any
    signature: struct ddsi_serdata_any *convert_serdata (struct ddsi_writer *ddsi_wr,
      struct ddsi_serdata_any *din, bool require_copy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_write_sample_gc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:300,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - thrst
    - ddsi_wr
    - d
    - xp
    - flush
    - tk
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_writer*
    - struct ddsi_serdata_any*
    - struct ddsi_xpack*
    - bool
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: deliver_data_network
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_send
    - ddsi_write_sample_gc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deliver_data_network (struct ddsi_thread_state * const
      thrst, struct ddsi_writer *ddsi_wr, struct ddsi_serdata_any *d, struct ddsi_xpack
      *xp, bool flush, struct ddsi_tkmap_instance *tk)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:319,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:321,1
    - Dst: deliver_data_network
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:322,1
    - Dst: deliver_locally
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:324,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:331,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:332,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:335,1
    - Dst: dds_write_impl_psmx_key_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:340,1
    - Dst: dds_write_impl_psmx_get_key_untyped_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:355,1
    - Dst: struct dds_psmx_endpoint_int*::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:361,1
    - Dst: dds_loaned_sample_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:368,1
    - Dst: struct dds_psmx_endpoint_int*::ops::write_with_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:369,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:374,1
    - Dst: dds_write_impl_psmx_get_key_untyped_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:378,1
    - Dst: struct dds_psmx_endpoint_int*::ops::write_with_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:388,1
    - Dst: dds_write_impl_psmx_key_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:392,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:395,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:396,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 6
    argNames:
    - thrst
    - wr
    - ddsi_wr
    - d
    - xp
    - flush
    argTypes:
    - struct ddsi_thread_state*
    - struct dds_writer*
    - struct ddsi_writer*
    - struct ddsi_serdata_any*
    - struct ddsi_xpack*
    - bool
    assertStmts:
    - condition: "(loan->loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_PSMX &&\n
        \           loan->metadata->timestamp == d->a.timestamp.v &&\n            loan->metadata->statusinfo
        == d->a.statusinfo &&\n            memcmp (&loan_metadata_ddsi_guid, &ddsi_wr->e.guid,
        sizeof (loan_metadata_ddsi_guid)) == 0)"
      pos:
        line_end: 334
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (loan_source_ep != NULL)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 398
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 398
    functionName: deliver_data_any
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - dds_loaned_sample_copy
    - dds_write_impl_psmx_key_init
    - memcmp
    - ddsi_serdata_unref
    - deliver_locally
    - assert
    - ddsi_tkmap_lookup_instance_ref
    - struct dds_psmx_endpoint_int*::ops::request_loan
    - ddsi_serdata_ref
    - struct dds_psmx_endpoint_int*::ops::write_with_key
    - deliver_data_network
    - dds_write_impl_psmx_get_key_untyped_serdata
    - dds_guid_to_ddsi_guid
    - dds_write_impl_psmx_key_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deliver_data_any (struct ddsi_thread_state * const thrst,
      struct dds_writer *wr, struct ddsi_writer *ddsi_wr, struct ddsi_serdata_any
      *d, struct ddsi_xpack *xp, bool flush)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:405,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:419,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - wr
    - din
    argTypes:
    - struct dds_writer*
    - struct ddsi_serdata_any*
    assertStmts:
    - condition: (din->a.loan != NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 430
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 430
    functionName: dds_writecdr_impl_validate_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_guid_to_ddsi_guid
    - memcmp
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr_impl_validate_loan (const struct dds_writer
      *wr, const struct ddsi_serdata_any *din)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:439,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:439,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:441,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:442,1
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:446,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:449,1
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:453,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:454,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - wr
    - din
    argTypes:
    - struct dds_writer*
    - struct ddsi_serdata_any*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&din->a.refc) == 1)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 458
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 458
    functionName: dds_writecdr_impl_ensureloan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - dds_writer_request_psmx_loan
    - ddsrt_atomic_ld32
    - memcpy
    - assert
    - dds_guid_from_ddsi_guid
    - ddsi_serdata_to_ser
    - ddsi_serdata_size
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr_impl_ensureloan (struct dds_writer *wr, struct
      ddsi_serdata_any *din)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:467,1
    - Dst: dds_source_timestamp_is_valid_ddsi_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:470,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:472,1
    - Dst: dds_writecdr_impl_validate_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:494,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:496,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:506,1
    - Dst: convert_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:507,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:512,1
    - Dst: dds_writecdr_impl_ensureloan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:520,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:522,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:527,1
    - Dst: deliver_data_any
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:528,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - wr
    - ddsi_wr
    - xp
    - din
    - flush
    argTypes:
    - struct dds_writer*
    - struct ddsi_writer*
    - struct ddsi_xpack*
    - struct ddsi_serdata_any*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 531
    functionName: dds_writecdr_impl_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_thread_state_awake
    - dds_writecdr_impl_ensureloan
    - convert_serdata
    - ddsi_serdata_unref
    - deliver_data_any
    - dds_source_timestamp_is_valid_ddsi_time
    - dds_writecdr_impl_validate_loan
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr_impl_common (struct dds_writer *wr, struct
      ddsi_writer *ddsi_wr, struct ddsi_xpack *xp, struct ddsi_serdata_any *din, bool
      flush)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_topic_filter*::f::sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:546,1
    - Dst: struct dds_topic_filter*::f::sample_arg
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:550,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:555,1
    - Dst: struct dds_topic_filter*::f::sample_sampleinfo_arg
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - wr
    - data
    - sdkind
    argTypes:
    - dds_writer*
    - void*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 562
    functionName: evaluate_topic_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - struct dds_topic_filter*::f::sample_sampleinfo_arg
    - struct dds_topic_filter*::f::sample
    - memset
    - struct dds_topic_filter*::f::sample_arg
    linkageType: ''
    returnType: bool
    signature: bool evaluate_topic_filter (const dds_writer *wr, const void *data,
      enum ddsi_serdata_kind sdkind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:570,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:572,1
    - Dst: ddsi_write_sample_gc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:573,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:577,1
    - Dst: deliver_locally
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:584,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ts
    - wr
    - d
    argTypes:
    - struct ddsi_thread_state*
    - dds_writer*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 589
    functionName: dds_return_t::dds_write_impl_deliver_via_ddsi
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_send
    - ddsi_tkmap_instance_unref
    - ddsi_write_sample_gc
    - deliver_locally
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_serdata_ref
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_return_t dds_write_impl_deliver_via_ddsi (struct
      ddsi_thread_state * const ts, dds_writer *wr, struct ddsi_serdata *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:602,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:603,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - wr
    argTypes:
    - dds_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 625
    functionName: dds_write_impl_use_only_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_empty
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_write_impl_use_only_psmx (dds_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:630,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:631,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:632,1
    - Dst: struct dds_psmx_endpoint_int*::ops::write_with_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:633,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - psmx_ep
    - loan
    - key_iov
    argTypes:
    - struct dds_psmx_endpoint_int*
    - struct dds_loaned_sample*
    - ddsrt_iovec_t*
    assertStmts:
    - condition: (loan->loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_PSMX)
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (psmx_ep->ext == loan->loan_origin.psmx_endpoint)
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (loan->metadata->sample_state != DDS_LOANED_SAMPLE_STATE_UNITIALIZED)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_loaned_sample_unref
    - struct dds_psmx_endpoint_int*::ops::write_with_key
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static dds_return_t dds_write_impl_deliver_via_psmx (const struct dds_psmx_endpoint_int
      *psmx_ep, struct dds_loaned_sample *loan, const ddsrt_iovec_t *key_iov)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_get_serialized_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:643,1
    - Dst: dds_writer_request_psmx_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:647,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:653,1
    - Dst: ddsi_sertype_serialize_into
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:654,1
    - Dst: dds_psmx_set_loan_writeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - wr
    - sertype
    - sdkind
    - data
    - timestamp
    - statusinfo
    argTypes:
    - struct dds_writer*
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - dds_time_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 657
    functionName: dds_write_impl_serialize_into_loan
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - dds_writer_request_psmx_loan
    - ddsi_sertype_get_serialized_size
    - ddsrt_toBE2u
    - ddsi_sertype_serialize_into
    - dds_psmx_set_loan_writeinfo
    linkageType: ''
    returnType: struct dds_loaned_sample
    signature: struct dds_loaned_sample *dds_write_impl_serialize_into_loan (const
      struct dds_writer *wr, const struct ddsi_sertype *sertype, enum ddsi_serdata_kind
      sdkind, const void *data, dds_time_t timestamp, uint32_t statusinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:662,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:665,1
    - Dst: ddsi_serdata_from_loaned_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - sertype
    - sdkind
    - data
    - heap_loan
    - timestamp
    - statusinfo
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - struct dds_loaned_sample*
    - dds_time_t
    - uint32_t
    assertStmts:
    - condition: (heap_loan == NULL || heap_loan->loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_HEAP)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 673
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 673
    functionName: dds_write_impl_make_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_serdata_from_sample
    - ddsi_serdata_from_loaned_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds_write_impl_make_serdata (const struct ddsi_sertype
      *sertype, enum ddsi_serdata_kind sdkind, const void *data, struct dds_loaned_sample
      *heap_loan, dds_time_t timestamp, uint32_t statusinfo)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dds_write_impl_use_only_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:678,1
    - Dst: dds_loan_pool_find_and_remove_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:680,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:687,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:687,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:689,1
    - Dst: dds_psmx_set_loan_writeinfo
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:693,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:698,1
    - Dst: dds_write_impl_make_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:705,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:709,1
    - Dst: dds_write_impl_serialize_into_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:718,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:724,1
    - Dst: dds_write_impl_make_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:734,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:738,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:746,1
    - Dst: dds_write_impl_make_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:748,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:753,1
    - Dst: dds_writer_psmx_loan_from_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:756,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:759,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:760,1
    - Dst: dds_writer_psmx_loan_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:773,1
    - Dst: dds_write_impl_serialize_into_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:775,1
    - Dst: dds_write_impl_make_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:782,1
    - Dst: dds_writer_psmx_loan_raw
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:795,1
    - Dst: dds_writer_psmx_loan_from_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:797,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:800,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 8
    argNames:
    - wr
    - data
    - sdkind
    - timestamp
    - statusinfo
    - psmx_loan
    - serdata
    - loan_to_be_freed
    argTypes:
    - struct dds_writer*
    - void*
    - enum ddsi_serdata_kind
    - dds_time_t
    - uint32_t
    - struct dds_loaned_sample**
    - struct ddsi_serdata**
    - struct dds_loaned_sample**
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&loan->refc) == 1)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (sertype->is_memcpy_safe)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (!sertype->is_memcpy_safe)
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (md->sample_state == DDS_LOANED_SAMPLE_STATE_UNITIALIZED)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 806
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 806
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_writer_psmx_loan_from_serdata
    - dds_write_impl_serialize_into_loan
    - ddsi_serdata_unref
    - dds_writer_psmx_loan_raw
    - assert
    - dds_write_impl_use_only_psmx
    - dds_loan_pool_find_and_remove_loan
    - dds_loaned_sample_unref
    - dds_write_impl_make_serdata
    - dds_psmx_set_loan_writeinfo
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static dds_return_t dds_write_impl_psmxloan_serdata (struct dds_writer *wr,
      const void *data, enum ddsi_serdata_kind sdkind, dds_time_t timestamp, uint32_t
      statusinfo, struct dds_loaned_sample **psmx_loan, struct ddsi_serdata **serdata,
      struct dds_loaned_sample **loan_to_be_freed)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:810,1
    - Dst: dds_source_timestamp_is_valid_ddsi_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:816,1
    - Dst: evaluate_topic_filter
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:819,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:854,1
    - Dst: dds_write_impl_psmxloan_serdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:866,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:868,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:869,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:870,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:871,1
    - Dst: dds_write_impl_psmx_key_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:876,1
    - Dst: dds_write_impl_psmx_get_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:891,1
    - Dst: struct dds_psmx_endpoint_int*::ops::request_loan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:897,1
    - Dst: dds_loaned_sample_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:904,1
    - Dst: dds_write_impl_deliver_via_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:905,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:910,1
    - Dst: dds_write_impl_psmx_get_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:914,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:917,1
    - Dst: dds_write_impl_deliver_via_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:925,1
    - Dst: dds_write_impl_psmx_key_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:929,1
    - Dst: dds_write_impl_deliver_via_ddsi
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:935,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:936,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:940,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:942,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 4
    argNames:
    - wr
    - data
    - timestamp
    - action
    argTypes:
    - dds_writer*
    - void*
    - dds_time_t
    - dds_write_action
    assertStmts:
    - condition: ((psmx_loan == NULL) == (wr->m_endpoint.psmx_endpoints.length ==
        0))
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (psmx_loan == NULL || psmx_loan->loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_PSMX)
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (loan_to_be_freed == NULL || loan_to_be_freed->loan_origin.origin_kind
        == DDS_LOAN_ORIGIN_KIND_HEAP)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (loan_source_ep != NULL)
      pos:
        line_end: 909
        line_start: 909
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - condition: (psmx_loan != NULL || serdata != NULL)
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 944
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 944
    functionName: dds_write_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 6
    functionsReached:
    - dds_write_impl_deliver_via_psmx
    - ddsi_thread_state_awake
    - dds_loaned_sample_copy
    - dds_write_impl_psmx_key_init
    - ddsi_serdata_unref
    - dds_write_impl_deliver_via_ddsi
    - assert
    - dds_source_timestamp_is_valid_ddsi_time
    - struct dds_psmx_endpoint_int*::ops::request_loan
    - dds_write_impl_psmx_get_key
    - evaluate_topic_filter
    - ddsi_thread_state_asleep
    - dds_write_impl_psmxloan_serdata
    - dds_loaned_sample_unref
    - ddsi_lookup_thread_state
    - dds_write_impl_psmx_key_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_write_impl (dds_writer *wr, const void *data, dds_time_t
      timestamp, dds_write_action action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_writecdr_impl_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wr
    - xp
    - d
    - flush
    argTypes:
    - dds_writer*
    - struct ddsi_xpack*
    - struct ddsi_serdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 5
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: dds_writecdr_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 2
    functionsReached:
    - dds_writecdr_impl_common
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr_impl (dds_writer *wr, struct ddsi_xpack *xp,
      struct ddsi_serdata *d, bool flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:954,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:955,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wr
    argTypes:
    - dds_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 957
    functionName: dds_write_flush_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 2
    functionsReached:
    - ddsi_xpack_send
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_write_flush_impl (dds_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:964,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:966,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:970,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:971,1
    - Dst: deliver_locally
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:972,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:973,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:974,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_write.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - lowr
    - d
    argTypes:
    - struct ddsi_local_orphan_writer*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (lowr->wr.type == d->type)
      pos:
        line_end: 965
        line_start: 965
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    constantsTouched: []
    func_position:
      end: 977
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 977
    functionName: dds_writecdr_local_orphan_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    functionUses: 3
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsi_thread_state_awake
    - ddsi_serdata_unref
    - deliver_locally
    - assert
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_writecdr_local_orphan_impl (struct ddsi_local_orphan_writer
      *lowr, struct ddsi_serdata *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - lib
    - ','
    - element_type
    - ','
    - element
    - ','
    - element_attr
    - ','
    - element_descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: CHECK_DUPLICATE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_DUPLICATE(lib,element_type,element,element_attr,element_descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - lib
    - ','
    - element_type
    - ','
    - element
    - ','
    - element_attr
    - ','
    - element_descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: CHECK_NULL_ATTR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NULL_ATTR(lib,element_type,element,element_attr,element_descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:39,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n_partitions
    - partitions
    argTypes:
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: free_partitions
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_partitions (uint32_t n_partitions, char **partitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:45,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: is_wildcard_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_wildcard_partition (const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:53,1
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:57,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:59,1
    - Dst: free_partitions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:60,1
    - Dst: free_partitions
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:64,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - qos
    - qos_location
    argTypes:
    - dds_qos_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: validate_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 0
    functionsReached:
    - free_partitions
    - SYSDEF_ERROR
    - dds_qget_partition
    - is_wildcard_partition
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_qos (dds_qos_t *qos, const char *qos_location)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NULL_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:84,1
    - Dst: CHECK_DUPLICATE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:85,1
    - Dst: CHECK_NULL_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:88,1
    - Dst: CHECK_DUPLICATE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:89,1
    - Dst: CHECK_DUPLICATE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:92,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:127,1
    - Dst: validate_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c:131,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - sysdef
    - qos_mask
    argTypes:
    - struct dds_sysdef_system*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 140
    functionName: dds_validate_qos_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
    functionUses: 1
    functionsReached:
    - CHECK_DUPLICATE
    - SYSDEF_ERROR
    - CHECK_NULL_ATTR
    - validate_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_validate_qos_lib (const struct dds_sysdef_system *sysdef,
      uint64_t qos_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:22,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - e
    - d
    argTypes:
    - struct dds_entity*
    - struct dds_stat_descriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: dds_alloc_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_alloc_statistics (const struct dds_entity
      *e, const struct dds_stat_descriptor *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:40,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:42,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:43,1
    - Dst: dds_entity_deriver_create_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:44,1
    - Dst: dds_entity_deriver_refresh_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:45,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:46,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: dds_create_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
    functionUses: 1
    functionsReached:
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - dds_entity_deriver_refresh_statistics
    - dds_entity_deriver_create_statistics
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_create_statistics (dds_entity_t entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:57,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:61,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:64,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:65,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:66,1
    - Dst: dds_entity_deriver_refresh_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:67,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:68,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - stat
    argTypes:
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: dds_refresh_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - dds_entity_deriver_refresh_statistics
    - dds_time
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_refresh_statistics (struct dds_statistics *stat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stat
    - name
    argTypes:
    - struct dds_statistics*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: dds_lookup_statistic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct dds_stat_keyvalue
    signature: struct dds_stat_keyvalue *dds_lookup_statistic (const struct dds_statistics
      *stat, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stat
    argTypes:
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: dds_delete_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_delete_statistics (struct dds_statistics *stat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:25,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: dds_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 40
    functionsReached:
    - DDS_FATAL
    - memset
    linkageType: ''
    returnType: void
    signature: void * dds_alloc (size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: dds_realloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 9
    functionsReached:
    - DDS_FATAL
    linkageType: ''
    returnType: void
    signature: void * dds_realloc (void * ptr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:42,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: dds_realloc_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 0
    functionsReached:
    - memset
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void * dds_realloc_zero (void * ptr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: dds_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_free (void * ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: dds_string_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 0
    functionsReached:
    - dds_alloc
    linkageType: ''
    returnType: char
    signature: char * dds_string_alloc (size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:65,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:66,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: dds_string_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 17
    functionsReached:
    - memcpy
    - dds_alloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char * dds_string_dup (const char * str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: dds_string_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 0
    functionsReached:
    - dds_free
    linkageType: ''
    returnType: void
    signature: void dds_string_free (char * str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:83,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vsample
    - desc
    argTypes:
    - void*
    - struct dds_topic_descriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: dds_sample_free_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 0
    functionsReached:
    - dds_free
    - DDS_OP_TYPE
    linkageType: ''
    returnType: void
    signature: void dds_sample_free_key (void *vsample, const struct dds_topic_descriptor
      * desc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:91,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:96,1
    - Dst: dds_sample_free_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:98,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sample
    - desc
    - op
    argTypes:
    - void*
    - struct dds_topic_descriptor*
    - dds_free_op_t
    assertStmts:
    - condition: (desc)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: dds_sample_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
    functionUses: 4
    functionsReached:
    - dds_free
    - dds_stream_free_sample
    - assert
    - dds_sample_free_key
    linkageType: ''
    returnType: void
    signature: void dds_sample_free (void * sample, const struct dds_topic_descriptor
      * desc, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: hash_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_guid (const ddsi_guid_t *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:56,1
    - Dst: hash_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - d
    - kind
    - basehash
    argTypes:
    - struct ddsi_serdata_builtintopic*
    - enum ddsi_sertype_builtintopic_entity_kind
    - uint32_t
    assertStmts:
    - condition: (kind != DSBT_TOPIC)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: fix_serdata_builtin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - assert
    - hash_guid
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *fix_serdata_builtin(struct ddsi_serdata_builtintopic
      *d, enum ddsi_sertype_builtintopic_entity_kind kind, uint32_t basehash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:69,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:71,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (((struct ddsi_sertype_builtintopic *)acmn->type)->entity_kind !=
        DSBT_TOPIC)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: serdata_builtin_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool serdata_builtin_eqkey(const struct ddsi_serdata *acmn, const struct
      ddsi_serdata *bcmn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:80,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: serdata_builtin_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void serdata_builtin_free(struct ddsi_serdata *dcmn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - entity_kind
    argTypes:
    - enum ddsi_sertype_builtintopic_entity_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: serdata_builtin_sizeof
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_builtin_sizeof(enum ddsi_sertype_builtintopic_entity_kind
      entity_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:106,1
    - Dst: serdata_builtin_sizeof
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:106,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tp
    - serdata_kind
    argTypes:
    - struct ddsi_sertype_builtintopic*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: serdata_builtin_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_serdata_init
    - serdata_builtin_sizeof
    linkageType: ''
    returnType: struct ddsi_serdata_builtintopic
    signature: struct ddsi_serdata_builtintopic *serdata_builtin_new(const struct
      ddsi_sertype_builtintopic *tp, enum ddsi_serdata_kind serdata_kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:125,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:126,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:130,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - n
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: format_address
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_realloc
    - ddsi_xlocator_to_string
    - strlen
    linkageType: ''
    returnType: void
    signature: void format_address (const ddsi_xlocator_t *n, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:144,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: ddsi_format_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_addrset_forall
    linkageType: ''
    returnType: char
    signature: char * ddsi_format_addrset (struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_format_addrset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:155,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:157,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - q
    - proxypp
    argTypes:
    - dds_qos_t*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: add_pp_addresses_to_xqos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_format_addrset
    - ddsrt_free
    - ddsi_xqos_add_property_if_unset
    linkageType: ''
    returnType: void
    signature: void add_pp_addresses_to_xqos(dds_qos_t *q, const struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:164,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - pp
    argTypes:
    - struct ddsi_serdata_builtintopic_participant*
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: from_entity_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_copy
    - ddsi_xqos_add_property_if_unset
    linkageType: ''
    returnType: void
    signature: void from_entity_pp (struct ddsi_serdata_builtintopic_participant *d,
      const struct ddsi_participant *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:171,1
    - Dst: add_pp_addresses_to_xqos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - proxypp
    argTypes:
    - struct ddsi_serdata_builtintopic_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: from_entity_proxypp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - add_pp_addresses_to_xqos
    - ddsi_xqos_copy
    linkageType: ''
    returnType: void
    signature: void from_entity_proxypp (struct ddsi_serdata_builtintopic_participant
      *d, const struct ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:178,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:179,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - xqos
    argTypes:
    - struct ddsi_serdata_builtintopic*
    - dds_qos_t*
    assertStmts:
    - condition: (d->xqos.present & DDSI_QP_TOPIC_NAME)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (d->xqos.present & DDSI_QP_TYPE_NAME)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: from_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_xqos_copy
    linkageType: ''
    returnType: void
    signature: void from_qos (struct ddsi_serdata_builtintopic *d, const dds_qos_t
      *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - rd
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: from_entity_rd
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - from_qos
    linkageType: ''
    returnType: void
    signature: void from_entity_rd (struct ddsi_serdata_builtintopic_endpoint *d,
      const struct ddsi_reader *rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - wr
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: from_entity_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - from_qos
    linkageType: ''
    returnType: void
    signature: void from_entity_wr (struct ddsi_serdata_builtintopic_endpoint *d,
      const struct ddsi_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - pec
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct ddsi_proxy_endpoint_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: from_proxy_endpoint_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - from_qos
    linkageType: ''
    returnType: void
    signature: void from_proxy_endpoint_common (struct ddsi_serdata_builtintopic_endpoint
      *d, const struct ddsi_proxy_endpoint_common *pec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - proxyrd
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: from_entity_proxy_rd
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - from_proxy_endpoint_common
    linkageType: ''
    returnType: void
    signature: void from_entity_proxy_rd (struct ddsi_serdata_builtintopic_endpoint
      *d, const struct ddsi_proxy_reader *proxyrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - proxywr
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: from_entity_proxy_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - from_proxy_endpoint_common
    linkageType: ''
    returnType: void
    signature: void from_entity_proxy_wr (struct ddsi_serdata_builtintopic_endpoint
      *d, const struct ddsi_proxy_writer *proxywr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:214,1
    - Dst: serdata_builtin_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:215,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:223,1
    - Dst: from_entity_pp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:224,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:227,1
    - Dst: from_entity_rd
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:228,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:231,1
    - Dst: from_entity_wr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:232,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:235,1
    - Dst: from_entity_proxypp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:236,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:239,1
    - Dst: from_entity_proxy_rd
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:240,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:243,1
    - Dst: from_entity_proxy_wr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:244,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:247,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:250,1
    - Dst: fix_serdata_builtin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - tpcmn
    - guid
    - entity
    - kind
    argTypes:
    - struct ddsi_sertype*
    - ddsi_guid_t*
    - struct ddsi_entity_common*
    - enum ddsi_serdata_kind
    assertStmts:
    - condition: (tp->entity_kind != DSBT_TOPIC)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_PARTICIPANT)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_READER)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_WRITER)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_PARTICIPANT)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_WRITER)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (tp->entity_kind == DSBT_READER)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 253
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 253
    functionName: dds_serdata_builtin_from_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 3
    functionsReached:
    - from_entity_proxypp
    - from_entity_wr
    - fix_serdata_builtin
    - ddsrt_mutex_lock
    - assert
    - from_entity_pp
    - serdata_builtin_new
    - from_entity_rd
    - from_entity_proxy_rd
    - abort
    - from_entity_proxy_wr
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds_serdata_builtin_from_endpoint (const struct
      ddsi_sertype *tpcmn, const ddsi_guid_t *guid, struct ddsi_entity_common *entity,
      enum ddsi_serdata_kind kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:268,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:285,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:288,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:289,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:290,1
    - Dst: dds_serdata_builtin_from_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: ddsi_serdata_builtin_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - dds_serdata_builtin_from_endpoint
    - assert
    - memset
    - ddsi_entidx_lookup_guid_untyped
    - ddsrt_atomic_ldvoidp
    - dds_guid_to_ddsi_guid
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_builtin_from_sample (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: serdata_builtin_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_builtin_to_untyped (const struct ddsi_serdata
      *serdata_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:302,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:303,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:304,1
    - Dst: src::src
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - old
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: dds_string_dup_reuse
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - src::src
    - strlen
    - dds_realloc
    linkageType: ''
    returnType: char
    signature: char *dds_string_dup_reuse (char *old, const char *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:310,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:313,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:315,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - old
    - src
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: dds_qos_from_xqos_reuse
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_fini
    - ddsrt_malloc
    - ddsi_xqos_mergein_missing
    - ddsi_xqos_init_empty
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t *dds_qos_from_xqos_reuse (dds_qos_t *old, const dds_qos_t
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:322,1
    - Dst: dds_qos_from_xqos_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - sample
    argTypes:
    - struct ddsi_serdata_builtintopic_participant*
    - struct dds_builtintopic_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: to_sample_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - dds_guid_from_ddsi_guid
    - dds_qos_from_xqos_reuse
    linkageType: ''
    returnType: bool
    signature: bool to_sample_pp (const struct ddsi_serdata_builtintopic_participant
      *d, struct dds_builtintopic_participant *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:331,1
    - Dst: dds_guid_from_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:334,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:338,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:339,1
    - Dst: dds_string_dup_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:340,1
    - Dst: dds_string_dup_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:341,1
    - Dst: dds_qos_from_xqos_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dep
    - sample
    argTypes:
    - struct ddsi_serdata_builtintopic_endpoint*
    - struct dds_builtintopic_endpoint*
    assertStmts:
    - condition: (dep->common.xqos.present & DDSI_QP_TYPE_NAME)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (dep->common.xqos.present & DDSI_QP_TOPIC_NAME)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: to_sample_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_guid_from_ddsi_guid
    - dds_qos_from_xqos_reuse
    - dds_string_dup_reuse
    linkageType: ''
    returnType: bool
    signature: bool to_sample_endpoint (const struct ddsi_serdata_builtintopic_endpoint
      *dep, struct dds_builtintopic_endpoint *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:350,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:353,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:354,1
    - Dst: dds_string_dup_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:355,1
    - Dst: dds_string_dup_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:356,1
    - Dst: dds_qos_from_xqos_reuse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dtp
    - sample
    argTypes:
    - struct ddsi_serdata_builtintopic_topic*
    - struct dds_builtintopic_topic*
    assertStmts:
    - condition: (dtp->common.xqos.present & DDSI_QP_TOPIC_NAME)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    - condition: (dtp->common.xqos.present & DDSI_QP_TYPE_NAME)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: to_sample_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - dds_qos_from_xqos_reuse
    - dds_string_dup_reuse
    linkageType: ''
    returnType: bool
    signature: bool to_sample_topic (const struct ddsi_serdata_builtintopic_topic
      *dtp, struct dds_builtintopic_topic *sample)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:367,1
    - Dst: to_sample_pp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:372,1
    - Dst: to_sample_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:375,1
    - Dst: to_sample_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:381,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - type
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 385
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 385
    functionName: serdata_builtin_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - to_sample_endpoint
    - assert
    - to_sample_pp
    - abort
    - to_sample_topic
    linkageType: ''
    returnType: bool
    signature: bool serdata_builtin_untyped_to_sample (const struct ddsi_sertype *type,
      const struct ddsi_serdata *serdata_common, void *sample, void **bufptr, void
      *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_builtin_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: serdata_builtin_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - serdata_builtin_untyped_to_sample
    linkageType: ''
    returnType: bool
    signature: bool serdata_builtin_to_sample (const struct ddsi_serdata *serdata_common,
      void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: serdata_builtin_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_builtin_get_size (const struct ddsi_serdata *serdata_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: serdata_builtin_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serdata_builtin_to_ser (const struct ddsi_serdata *serdata_common,
      size_t off, size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: serdata_builtin_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_builtin_to_ser_ref (const struct ddsi_serdata
      *serdata_common, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: serdata_builtin_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serdata_builtin_to_ser_unref (struct ddsi_serdata *serdata_common,
      const ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - type
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: serdata_builtin_type_print
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_builtin_type_print (const struct ddsi_sertype *type,
      const struct ddsi_serdata *serdata_common, char *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:445,1
    - Dst: serdata_builtin_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:446,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:447,1
    - Dst: from_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:449,1
    - Dst: fix_serdata_builtin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tpcmn
    - key
    - tpd
    - kind
    argTypes:
    - struct ddsi_sertype*
    - dds_builtintopic_topic_key_t*
    - struct ddsi_topic_definition*
    - enum ddsi_serdata_kind
    assertStmts:
    - condition: (tp->entity_kind == DSBT_TOPIC)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: dds_serdata_builtin_from_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - fix_serdata_builtin
    - serdata_builtin_new
    - from_qos
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *dds_serdata_builtin_from_topic_definition (const
      struct ddsi_sertype *tpcmn, const dds_builtintopic_topic_key_t *key, const struct
      ddsi_topic_definition *tpd, enum ddsi_serdata_kind kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:461,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:462,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:466,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:468,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:469,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:470,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:471,1
    - Dst: dds_serdata_builtin_from_topic_definition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:472,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts:
    - condition: (tp->entity_kind == DSBT_TOPIC)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    constantsTouched: []
    func_position:
      end: 475
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 475
    functionName: ddsi_serdata_builtin_from_sample_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ddsrt_mutex_lock
    - ddsrt_hh_lookup
    - memset
    - dds_serdata_builtin_from_topic_definition
    - ddsrt_atomic_ldvoidp
    - ddsi_ntoh_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_builtin_from_sample_topic (const
      struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:61,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:63,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:63,1
    - Dst: ddsi_delete_reader
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:64,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:65,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:65,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:67,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:69,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts:
    - condition: (rd->m_rd != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: dds_reader_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - assert
    - ddsrt_mutex_lock
    - ddsi_thread_state_asleep
    - ddsi_delete_reader
    - ddsrt_cond_wait
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_reader_close (dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:79,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:79,1
    - Dst: dds_rhc_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:80,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:81,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:81,1
    - Dst: dds_loan_pool_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:83,1
    - Dst: dds_loan_pool_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:84,1
    - Dst: dds_endpoint_remove_psmx_endpoints
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:85,1
    - Dst: dds_entity_drop_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: dds_return_t::dds_reader_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - dds_rhc_free
    - dds_endpoint_remove_psmx_endpoints
    - dds_entity_drop_ref
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - dds_loan_pool_free
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_return_t dds_reader_delete (dds_entity *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rqos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: validate_reader_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_reader_qos (const dds_qos_t *rqos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_reader_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:106,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:111,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:111,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:112,1
    - Dst: ddsi_update_reader_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:113,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:114,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - e
    - qos
    - enabled
    argTypes:
    - dds_entity*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: dds_reader_qos_set
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_entidx_lookup_reader_guid
    - ddsi_update_reader_qos
    - validate_reader_qos
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_qos_set (dds_entity *e, const dds_qos_t *qos,
      bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: dds_reader_status_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_status_validate (uint32_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: data_avail_cb_enter_listener_exclusive_access
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_wait
    linkageType: ''
    returnType: void
    signature: void data_avail_cb_enter_listener_exclusive_access (dds_entity *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: data_avail_cb_leave_listener_exclusive_access
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void data_avail_cb_leave_listener_exclusive_access (dds_entity *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data_avail_cb_enter_listener_exclusive_access
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:147,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:148,1
    - Dst: struct dds_listener*::on_data_on_readers
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:149,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:150,1
    - Dst: data_avail_cb_leave_listener_exclusive_access
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sub
    - lst
    - async
    argTypes:
    - dds_entity*
    - struct dds_listener*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: data_avail_cb_invoke_dor
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - struct dds_listener*::on_data_on_readers
    - data_avail_cb_enter_listener_exclusive_access
    - ddsrt_mutex_lock
    - data_avail_cb_leave_listener_exclusive_access
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void data_avail_cb_invoke_dor (dds_entity *sub, const struct dds_listener
      *lst, bool async)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_status_set
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:157,1
    - Dst: dds_entity_status_set
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rd
    - status_and_mask
    argTypes:
    - dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: data_avail_cb_set_status
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - dds_entity_status_set
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t data_avail_cb_set_status (dds_entity *rd, uint32_t status_and_mask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:175,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:176,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:178,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:179,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:183,1
    - Dst: dds_entity_observers_signal
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - rd
    - signal
    argTypes:
    - dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: data_avail_cb_trigger_waitsets
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - dds_entity_observers_signal
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void data_avail_cb_trigger_waitsets (dds_entity *rd, uint32_t signal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:196,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:197,1
    - Dst: data_avail_cb_set_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:199,1
    - Dst: data_avail_cb_invoke_dor
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:200,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:201,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:202,1
    - Dst: data_avail_cb_set_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:207,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:208,1
    - Dst: struct dds_listener*::on_data_available
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:209,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - rd
    - lst
    - status_and_mask
    - async
    argTypes:
    - struct dds_reader*
    - struct dds_listener*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: da_or_dor_cb_invoke
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - struct dds_listener*::on_data_available
    - data_avail_cb_invoke_dor
    - ddsrt_mutex_lock
    - data_avail_cb_set_status
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t da_or_dor_cb_invoke(struct dds_reader *rd, struct dds_listener
      const * const lst, uint32_t status_and_mask, bool async)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:225,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:226,1
    - Dst: data_avail_cb_set_status
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:228,1
    - Dst: data_avail_cb_enter_listener_exclusive_access
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:232,1
    - Dst: da_or_dor_cb_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:233,1
    - Dst: data_avail_cb_leave_listener_exclusive_access
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:234,1
    - Dst: data_avail_cb_trigger_waitsets
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:236,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct dds_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 238
    functionName: dds_reader_data_available_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - data_avail_cb_enter_listener_exclusive_access
    - ddsrt_mutex_lock
    - data_avail_cb_set_status
    - da_or_dor_cb_invoke
    - data_avail_cb_leave_listener_exclusive_access
    - data_avail_cb_trigger_waitsets
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_reader_data_available_cb (struct dds_reader *rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_requested_deadline_missed_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: update_requested_deadline_missed
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_requested_deadline_missed (struct dds_requested_deadline_missed_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_requested_incompatible_qos_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: update_requested_incompatible_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_requested_incompatible_qos (struct dds_requested_incompatible_qos_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_sample_lost_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: update_sample_lost
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_sample_lost (struct dds_sample_lost_status *st, const ddsi_status_cb_data_t
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_sample_rejected_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: update_sample_rejected
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_sample_rejected (struct dds_sample_rejected_status *st,
      const ddsi_status_cb_data_t *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:278,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_liveliness_changed_status*
    - ddsi_status_cb_data_t*
    assertStmts:
    - condition: (data->extra <= (uint32_t) DDSI_LIVELINESS_CHANGED_NOT_ALIVE_TO_ALIVE)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    constantsTouched: []
    func_position:
      end: 318
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 318
    functionName: update_liveliness_changed
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void update_liveliness_changed (struct dds_liveliness_changed_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - struct dds_subscription_matched_status*
    - ddsi_status_cb_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: update_subscription_matched
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_subscription_matched (struct dds_subscription_matched_status
      *st, const ddsi_status_cb_data_t *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:360,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:362,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:363,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:376,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:379,1
    - Dst: status_cb_requested_deadline_missed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:386,1
    - Dst: status_cb_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:389,1
    - Dst: status_cb_sample_lost
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:392,1
    - Dst: status_cb_sample_rejected
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:395,1
    - Dst: status_cb_liveliness_changed
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:398,1
    - Dst: status_cb_subscription_matched
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:401,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:410,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:415,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - ventity
    - data
    argTypes:
    - void*
    - struct ddsi_status_cb_data*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    constantsTouched: []
    func_position:
      end: 417
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 417
    functionName: dds_reader_status_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 2
    functionsReached:
    - status_cb_requested_incompatible_qos
    - status_cb_requested_deadline_missed
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_broadcast
    - status_cb_liveliness_changed
    - status_cb_sample_lost
    - ddsrt_cond_wait
    - status_cb_sample_rejected
    - ddsrt_mutex_unlock
    - status_cb_subscription_matched
    linkageType: ''
    returnType: void
    signature: void dds_reader_status_cb (void *ventity, const struct ddsi_status_cb_data
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: status_cb_requested_deadline_missed_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:425,1
    - Dst: status_cb_requested_incompatible_qos_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:428,1
    - Dst: status_cb_sample_lost_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:431,1
    - Dst: status_cb_sample_rejected_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:434,1
    - Dst: status_cb_liveliness_changed_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:437,1
    - Dst: status_cb_subscription_matched_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:440,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:443,1
    - Dst: da_or_dor_cb_invoke
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:444,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - e
    - status
    argTypes:
    - struct dds_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 446
    functionName: dds_reader_invoke_cbs_for_pending_events
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - status_cb_subscription_matched_invoke
    - status_cb_requested_deadline_missed_invoke
    - status_cb_sample_lost_invoke
    - status_cb_liveliness_changed_invoke
    - status_cb_requested_incompatible_qos_invoke
    - da_or_dor_cb_invoke
    - status_cb_sample_rejected_invoke
    linkageType: ''
    returnType: void
    signature: void dds_reader_invoke_cbs_for_pending_events(struct dds_entity *e,
      uint32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc_statistics
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - struct dds_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: dds_reader_create_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - dds_alloc_statistics
    linkageType: ''
    returnType: struct dds_statistics
    signature: struct dds_statistics *dds_reader_create_statistics (const struct dds_entity
      *entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_reader_stats
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - entity
    - stat
    argTypes:
    - struct dds_entity*
    - struct dds_statistics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: dds_reader_refresh_statistics
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_get_reader_stats
    linkageType: ''
    returnType: void
    signature: void dds_reader_refresh_statistics (const struct dds_entity *entity,
      struct dds_statistics *stat)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: dds__get_builtin_subscriber
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:500,1
    - Dst: dds_subscriber_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:502,1
    - Dst: dds__get_builtin_topic
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:504,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:509,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:511,1
    - Dst: dds__create_subscriber_l
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:519,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:520,1
    - Dst: dds_subscriber_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:521,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:525,1
    - Dst: dds_topic_pin_with_origin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:534,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:536,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:537,1
    - Dst: dds_entity_participant
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:537,1
    - Dst: dds_topic_defer_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:551,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:556,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:559,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:561,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:563,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:564,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:565,1
    - Dst: dds_ensure_valid_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:567,1
    - Dst: dds_ensure_valid_psmx_instances
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:569,1
    - Dst: ddsi_xqos_valid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:572,1
    - Dst: validate_reader_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:572,1
    - Dst: dds__validate_builtin_reader_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:578,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:584,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:584,1
    - Dst: dds_entity_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:585,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:586,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:591,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:595,1
    - Dst: ddsi_omg_security_check_create_reader
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:598,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:601,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:601,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:608,1
    - Dst: dds_entity_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:609,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:618,1
    - Dst: dds_rhc_default_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:621,1
    - Dst: dds_loan_pool_create
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:622,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:623,1
    - Dst: dds_loan_pool_create
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:624,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:625,1
    - Dst: dds_rhc_associate
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:626,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:629,1
    - Dst: dds_entity_add_ref_locked
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:631,1
    - Dst: dds_endpoint_add_psmx_endpoint
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:633,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:635,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:635,1
    - Dst: dds_entity_init_complete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:642,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:645,1
    - Dst: ddsi_generate_reader_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:648,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:651,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:651,1
    - Dst: dds_get_psmx_locators_set
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:656,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:660,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:664,1
    - Dst: dds_psmx_locators_set_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:666,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:667,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:667,1
    - Dst: ddsi_get_entity_instanceid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:669,1
    - Dst: dds_entity_register_child
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:670,1
    - Dst: struct dds_psmx_endpoint_int*::ops::on_data_available
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:675,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:683,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:684,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:686,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:687,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:688,1
    - Dst: dds_topic_allow_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:690,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:691,1
    - Dst: dds_subscriber_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:692,1
    - Dst: dds_endpoint_remove_psmx_endpoints
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:697,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:706,1
    - Dst: dds_topic_allow_set_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:707,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:709,1
    - Dst: dds_subscriber_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:711,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:713,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 158
    argCount: 6
    argNames:
    - participant_or_subscriber
    - topic
    - guid
    - qos
    - listener
    - rhc
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_guid_t*
    - dds_qos_t*
    - dds_listener_t*
    - struct dds_rhc*
    assertStmts:
    - condition: (tp->m_stype)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    - condition: (rc == DDS_RETCODE_OK)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    - condition: (rc == DDS_RETCODE_OK)
      pos:
        line_end: 624
        line_start: 624
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    - condition: (pp != NULL)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    constantsTouched: []
    func_position:
      end: 715
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 715
    functionName: dds_create_reader_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_generate_reader_guid
    - dds_get_psmx_locators_set
    - dds_endpoint_remove_psmx_endpoints
    - dds_ensure_valid_data_representation
    - dds__create_subscriber_l
    - dds_psmx_locators_set_free
    - ddsrt_atomic_and32
    - dds_delete
    - dds_topic_pin_with_origin
    - dds_create_qos
    - ddsi_get_entity_instanceid
    - abort
    - dds_alloc
    - dds_topic_allow_set_qos
    - dds_entity_participant
    - dds_entity_add_ref_locked
    - ddsrt_mutex_lock
    - validate_reader_qos
    - ddsrt_atomic_or32
    - dds_apply_entity_naming
    - ddsi_omg_security_check_create_reader
    - dds_subscriber_lock
    - ddsi_thread_state_asleep
    - dds_entity_init
    - struct dds_psmx_endpoint_int*::ops::on_data_available
    - ddsi_xqos_mergein_missing
    - dds_guid_to_ddsi_guid
    - dds_entity_unlock
    - dds_rhc_default_new
    - dds_subscriber_unlock
    - dds_topic_defer_set_qos
    - dds_entity_init_complete
    - ddsi_thread_state_awake
    - dds__get_builtin_topic
    - dds_entity_lock
    - ddsi_xqos_valid
    - dds_topic_unpin
    - assert
    - dds__get_builtin_subscriber
    - dds__validate_builtin_reader_qos
    - dds_entity_register_child
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    - dds_loan_pool_create
    - ddsi_new_reader
    - dds_rhc_associate
    - dds_entity_kind
    - dds_entity_participant_guid
    - dds_delete_qos
    - dds_endpoint_add_psmx_endpoint
    - dds_ensure_valid_psmx_instances
    - ddsrt_mutex_unlock
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_reader_int (dds_entity_t participant_or_subscriber,
      dds_entity_t topic, dds_guid_t *guid, const dds_qos_t *qos, const dds_listener_t
      *listener, struct dds_rhc *rhc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:731,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:742,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:746,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:746,1
    - Dst: ddsi_make_writer_info_params
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - gv
    - guid
    - statusinfo
    - writer_md
    - wi
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - uint32_t
    - struct writer_metadata*
    - struct ddsi_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 752
    functionName: get_writer_info
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_guid_untyped
    - ddsrt_toBE4u
    - ddsi_make_writer_info
    - ddsi_make_writer_info_params
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_writer_info (struct ddsi_domaingv *gv, const ddsi_guid_t
      *guid, uint32_t statusinfo, const struct writer_metadata *writer_md, struct
      ddsi_writer_info *wi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:758,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:760,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:762,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:770,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:770,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:771,1
    - Dst: dds_guid_to_ddsi_guid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:777,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:779,1
    - Dst: ddsi_serdata_from_psmx
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:783,1
    - Dst: get_writer_info
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:791,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:794,1
    - Dst: dds_rhc_store
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:801,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:808,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:810,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:813,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:814,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:814,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:815,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - reader
    - data
    - writer_md
    argTypes:
    - dds_entity_t
    - dds_loaned_sample_t*
    - struct writer_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 817
    functionName: dds_reader_store_loaned_sample_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_from_psmx
    - dds_guid_to_ddsi_guid
    - ddsi_tkmap_instance_unref
    - ddsi_thread_state_awake
    - dds_entity_unpin
    - get_writer_info
    - ddsi_serdata_unref
    - ddsrt_mutex_lock
    - ddsi_tkmap_lookup_instance_ref
    - dds_entity_kind
    - dds_rhc_store
    - dds_entity_pin
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_guid_untyped
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_store_loaned_sample_impl (dds_entity_t reader,
      dds_loaned_sample_t *data, const struct writer_metadata *writer_md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_store_loaned_sample_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - dds_entity_t
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 4
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: dds_reader_store_loaned_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 1
    functionsReached:
    - dds_reader_store_loaned_sample_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_store_loaned_sample (dds_entity_t reader, dds_loaned_sample_t
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_store_loaned_sample_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - reader
    - data
    - ownership_strength
    - autodispose_unregistered_instances
    - lifespan_duration
    argTypes:
    - dds_entity_t
    - dds_loaned_sample_t*
    - int32_t
    - bool
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 4
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: dds_reader_store_loaned_sample_wr_metadata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - dds_reader_store_loaned_sample_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_store_loaned_sample_wr_metadata (dds_entity_t
      reader, dds_loaned_sample_t *data, int32_t ownership_strength, bool autodispose_unregistered_instances,
      dds_duration_t lifespan_duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - participant_or_subscriber
    - topic
    - qos
    - listener
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 5
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: dds_create_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 94
    functionsReached:
    - dds_create_reader_int
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_reader (dds_entity_t participant_or_subscriber,
      dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - participant_or_subscriber
    - topic
    - qos
    - listener
    - guid
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    - dds_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 5
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: dds_create_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 0
    functionsReached:
    - dds_create_reader_int
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_reader_guid (dds_entity_t participant_or_subscriber,
      dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t *listener, dds_guid_t
      *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - participant_or_subscriber
    - topic
    - qos
    - listener
    - rhc
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - dds_qos_t*
    - dds_listener_t*
    - struct dds_rhc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: dds_create_reader_rhc
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 1
    functionsReached:
    - dds_create_reader_int
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_create_reader_rhc (dds_entity_t participant_or_subscriber,
      dds_entity_t topic, const dds_qos_t *qos, const dds_listener_t *listener, struct
      dds_rhc *rhc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_reader_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:852,1
    - Dst: dds_reader_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - max_wait
    argTypes:
    - dds_entity_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 867
    functionName: dds_reader_wait_for_historical_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 1
    functionsReached:
    - dds_reader_unlock
    - dds_reader_lock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_reader_wait_for_historical_data (dds_entity_t reader,
      dds_duration_t max_wait)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:873,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:878,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:881,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:881,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:886,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:886,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:887,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:887,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_reader.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - entity
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_READER)
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    - condition: (dds_entity_kind (e->m_parent) == DDS_KIND_SUBSCRIBER)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    - condition: (dds_entity_kind (e->m_parent->m_parent) == DDS_KIND_SUBSCRIBER)
      pos:
        line_end: 886
        line_start: 886
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    constantsTouched: []
    func_position:
      end: 897
      start: 869
    functionDepth: 3
    functionLinenumber: 869
    functionLinenumberEnd: 897
    functionName: dds_get_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    functionUses: 2
    functionsReached:
    - assert
    - dds_entity_pin
    - dds_entity_kind
    - dds_entity_unpin
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t dds_get_subscriber (dds_entity_t entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:18,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:20,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:21,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - dds_guid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: dds_guid_to_ddsi_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guid.c
    functionUses: 7
    functionsReached:
    - ddsi_ntoh_guid_prefix
    - memcpy
    - DDSRT_STATIC_ASSERT
    - ddsi_ntoh_entityid
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t dds_guid_to_ddsi_guid (dds_guid_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:28,1
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:29,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:30,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_guid.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gi
    argTypes:
    - ddsi_guid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: dds_guid_from_ddsi_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_guid.c
    functionUses: 6
    functionsReached:
    - memcpy
    - DDSRT_STATIC_ASSERT
    - ddsi_hton_guid_prefix
    - ddsi_hton_entityid
    linkageType: ''
    returnType: dds_guid_t
    signature: dds_guid_t dds_guid_from_ddsi_guid (ddsi_guid_t gi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: DDS_SERDATA_DEFAULT_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_SERDATA_DEFAULT_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: DDS_SERDATA_DEFAULT_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_SERDATA_DEFAULT_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ispowerof2_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ispowerof2_size (size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:89,1
    - Dst: ddsi_freelist_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: dds_serdatapool_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsi_freelist_init
    linkageType: ''
    returnType: struct dds_serdatapool
    signature: struct dds_serdatapool * dds_serdatapool_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:98,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:98,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts:
    - condition: (ddsrt_atomic_ld32(&d->c.refc) == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: serdata_free_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsrt_atomic_ld32
    - assert
    linkageType: ''
    returnType: void
    signature: void serdata_free_wrap (void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_freelist_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:105,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct dds_serdatapool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: dds_serdatapool_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 2
    functionsReached:
    - ddsi_freelist_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void dds_serdatapool_free (struct dds_serdatapool * pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:112,1
    - Dst: ispowerof2_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (ispowerof2_size (a))
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: alignup_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 1
    functionsReached:
    - assert
    - ispowerof2_size
    linkageType: ''
    returnType: size_t
    signature: size_t alignup_size (size_t x, size_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:121,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - struct dds_serdata_default**
    - size_t
    assertStmts:
    - condition: ((*d)->pos + n <= (*d)->size)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: serdata_default_append
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    - alignup_size
    linkageType: ''
    returnType: void
    signature: void *serdata_default_append (struct dds_serdata_default **d, size_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:133,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - sz
    - data
    argTypes:
    - struct dds_serdata_default**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: serdata_default_append_blob
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - memcpy
    - serdata_default_append
    linkageType: ''
    returnType: void
    signature: void serdata_default_append_blob (struct dds_serdata_default **d, size_t
      sz, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dds_serdata_default*
    assertStmts:
    - condition: (d->key.buftype != KEYBUFTYPE_UNSET)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: serdata_default_keybuf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *serdata_default_keybuf(const struct dds_serdata_default
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:145,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:146,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - d
    - basehash
    argTypes:
    - struct dds_serdata_default*
    - uint32_t
    assertStmts:
    - condition: (d->key.keysize > 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: fix_serdata_default
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    - assert
    - serdata_default_keybuf
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *fix_serdata_default(struct dds_serdata_default
      *d, uint32_t basehash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - basehash
    argTypes:
    - struct dds_serdata_default*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: fix_serdata_default_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *fix_serdata_default_nokey(struct dds_serdata_default
      *d, uint32_t basehash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: serdata_default_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_default_get_size(const struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:166,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:167,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:167,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (a->key.buftype != KEYBUFTYPE_UNSET && b->key.buftype != KEYBUFTYPE_UNSET)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: serdata_default_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    - serdata_default_keybuf
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool serdata_default_eqkey(const struct ddsi_serdata *acmn, const struct
      ddsi_serdata *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: serdata_default_eqkey_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool serdata_default_eqkey_nokey (const struct ddsi_serdata *acmn,
      const struct ddsi_serdata *bcmn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:179,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:179,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:182,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:184,1
    - Dst: ddsi_freelist_push
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:185,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&d->c.refc) == 0)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: serdata_default_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_free
    - dds_free
    - assert
    - ddsi_freelist_push
    - dds_loaned_sample_unref
    linkageType: ''
    returnType: void
    signature: void serdata_default_free(struct ddsi_serdata *dcmn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:191,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - d
    - tp
    - kind
    - xcdr_version
    argTypes:
    - struct dds_serdata_default*
    - struct dds_sertype_default*
    - enum ddsi_serdata_kind
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: serdata_default_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_get_native_enc_identifier
    - ddsi_serdata_init
    linkageType: ''
    returnType: void
    signature: void serdata_default_init(struct dds_serdata_default *d, const struct
      dds_sertype_default *tp, enum ddsi_serdata_kind kind, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - serpool
    - init_size
    argTypes:
    - struct dds_serdatapool*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: serdata_default_allocnew
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_allocnew (struct dds_serdatapool
      *serpool, uint32_t init_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_freelist_pop
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:216,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:217,1
    - Dst: serdata_default_allocnew
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:218,1
    - Dst: serdata_default_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - tp
    - kind
    - size
    - xcdr_version
    argTypes:
    - struct dds_sertype_default*
    - enum ddsi_serdata_kind
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: serdata_default_new_size
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_init
    - ddsrt_atomic_st32
    - ddsi_freelist_pop
    - serdata_default_allocnew
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_new_size (const struct
      dds_sertype_default *tp, enum ddsi_serdata_kind kind, uint32_t size, uint32_t
      xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_new_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tp
    - kind
    - xcdr_version
    argTypes:
    - struct dds_sertype_default*
    - enum ddsi_serdata_kind
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: serdata_default_new
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_new_size
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_new (const struct dds_sertype_default
      *tp, enum ddsi_serdata_kind kind, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: is_valid_xcdr1_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_xcdr1_id (unsigned short cdr_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: is_valid_xcdr2_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_xcdr2_id (unsigned short cdr_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_xcdr1_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:244,1
    - Dst: is_valid_xcdr2_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: is_valid_xcdr_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - is_valid_xcdr2_id
    - is_valid_xcdr1_id
    linkageType: ''
    returnType: bool
    signature: bool is_valid_xcdr_id (unsigned short cdr_identifier)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - flagset
    - xcdrv
    - key_hash
    argTypes:
    - uint32_t
    - uint32_t
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: is_topic_fixed_key_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_topic_fixed_key_impl (uint32_t flagset, uint32_t xcdrv, bool
      key_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_topic_fixed_key_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flagset
    - xcdrv
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: is_topic_fixed_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - is_topic_fixed_key_impl
    linkageType: ''
    returnType: bool
    signature: bool is_topic_fixed_key (uint32_t flagset, uint32_t xcdrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_topic_fixed_key_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flagset
    - xcdrv
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: is_topic_fixed_key_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - is_topic_fixed_key_impl
    linkageType: ''
    returnType: bool
    signature: bool is_topic_fixed_key_keyhash (uint32_t flagset, uint32_t xcdrv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:291,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:301,1
    - Dst: is_topic_fixed_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:302,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:311,1
    - Dst: dds_stream_extract_key_from_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:315,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:319,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:320,1
    - Dst: dds_stream_extract_key_from_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:324,1
    - Dst: is_topic_fixed_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:326,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:331,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - type
    - kh
    - input_kind
    - input
    argTypes:
    - struct dds_sertype_default*
    - struct dds_serdata_default_key*
    - enum gen_serdata_key_input_kind
    - void*
    assertStmts:
    - condition: (is->m_size < (1u << 30))
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (is)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (is->m_xcdr_version == DDSI_RTPS_CDR_ENC_VERSION_1)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (os.m_index < (1u << 30))
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 335
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 335
    functionName: gen_serdata_key
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - is_topic_fixed_key
    - dds_stream_extract_key_from_data
    - assert
    - ddsrt_realloc
    - dds_stream_extract_key_from_key
    - dds_ostream_init
    - dds_stream_write_key
    linkageType: ''
    returnType: bool
    signature: bool gen_serdata_key (const struct dds_sertype_default *type, struct
      dds_serdata_default_key *kh, enum gen_serdata_key_input_kind input_kind, void
      *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_serdata_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - kh
    - sample
    argTypes:
    - struct dds_sertype_default*
    - struct dds_serdata_default_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: gen_serdata_key_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - gen_serdata_key
    linkageType: ''
    returnType: bool
    signature: bool gen_serdata_key_from_sample (const struct dds_sertype_default
      *type, struct dds_serdata_default_key *kh, const char *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_serdata_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - is
    - kh
    - type
    - just_key
    argTypes:
    - dds_istream_t*
    - struct dds_serdata_default_key*
    - struct dds_sertype_default*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: gen_serdata_key_from_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - gen_serdata_key
    linkageType: ''
    returnType: bool
    signature: bool gen_serdata_key_from_cdr (dds_istream_t *is, struct dds_serdata_default_key
      *kh, const struct dds_sertype_default *type, const bool just_key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_new_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:361,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:367,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:368,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:370,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:370,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:370,1
    - Dst: is_valid_xcdr_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:371,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:376,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:377,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:381,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:381,1
    - Dst: serdata_default_append_blob
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:382,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:387,1
    - Dst: DDSI_RTPS_CDR_ENC_TO_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:388,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:389,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:390,1
    - Dst: ddsi_sertype_enc_id_enc_format
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:391,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:392,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:392,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:396,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:400,1
    - Dst: gen_serdata_key_from_cdr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:401,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:406,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts:
    - condition: (fragchain->maxp1 >= off)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (frag->maxp1 <= size)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (fragchain->min == 0)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (frag->min <= off)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 408
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 408
    functionName: serdata_default_from_ser_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - DDSI_RTPS_CDR_ENC_TO_NATIVE
    - serdata_default_append_blob
    - ddsrt_fromBE2u
    - serdata_default_new_size
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - ddsi_sertype_enc_id_xcdr_version
    - dds_stream_normalize
    - DDSI_RDATA_PAYLOAD_OFF
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - ddsi_serdata_unref
    - ddsi_sertype_get_native_enc_identifier
    - gen_serdata_key_from_cdr
    - is_valid_xcdr_id
    - ddsi_sertype_enc_id_enc_format
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_from_ser_common (const
      struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata
      *fragchain, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:420,1
    - Dst: serdata_default_new_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:423,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:427,1
    - Dst: is_valid_xcdr_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:428,1
    - Dst: serdata_default_append_blob
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:430,1
    - Dst: serdata_default_append_blob
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:432,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:434,1
    - Dst: DDSI_RTPS_CDR_ENC_TO_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:435,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:436,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:437,1
    - Dst: ddsi_sertype_enc_id_enc_format
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:438,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:439,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:439,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:443,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:447,1
    - Dst: gen_serdata_key_from_cdr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:448,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts:
    - condition: (niov >= 1)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 455
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 455
    functionName: serdata_default_from_ser_iov_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - DDSI_RTPS_CDR_ENC_TO_NATIVE
    - serdata_default_append_blob
    - ddsrt_fromBE2u
    - serdata_default_new_size
    - memcpy
    - assert
    - ddsi_sertype_enc_id_xcdr_version
    - dds_stream_normalize
    - ddsi_serdata_unref
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - ddsi_sertype_get_native_enc_identifier
    - gen_serdata_key_from_cdr
    - is_valid_xcdr_id
    - ddsi_sertype_enc_id_enc_format
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_from_ser_iov_common (const
      struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t
      niov, const ddsrt_iovec_t *iov, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_ser_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:460,1
    - Dst: fix_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: serdata_default_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_ser_common
    - fix_serdata_default
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_ser (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_ser_iov_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:468,1
    - Dst: fix_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: serdata_default_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_ser_iov_common
    - fix_serdata_default
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_ser_iov (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t
      *iov, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_ser_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:476,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 5
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: serdata_default_from_ser_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_ser_common
    - fix_serdata_default_nokey
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_ser_nokey (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_ser_iov_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:484,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: serdata_default_from_ser_iov_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - fix_serdata_default_nokey
    - serdata_default_from_ser_iov_common
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_ser_iov_nokey (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const
      ddsrt_iovec_t *iov, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_topic_fixed_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:492,1
    - Dst: serdata_default_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tpcmn
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - ddsi_keyhash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 489
    functionDepth: 6
    functionLinenumber: 489
    functionLinenumberEnd: 505
    functionName: serdata_default_from_keyhash_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - is_topic_fixed_key_keyhash
    - serdata_default_from_ser_iov
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_keyhash_cdr (const struct
      ddsi_sertype *tpcmn, const ddsi_keyhash_t *keyhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:511,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tpcmn
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - ddsi_keyhash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 516
    functionName: serdata_default_from_keyhash_cdr_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_new
    - fix_serdata_default_nokey
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_keyhash_cdr_nokey (const
      struct ddsi_sertype *tpcmn, const ddsi_keyhash_t *keyhash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:535,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:535,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:537,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:537,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_istream_t*
    - struct dds_serdata_default*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 534
        line_start: 534
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (!DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 540
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: istream_from_serdata_default
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - DDSI_RTPS_CDR_ENC_LE
    - ddsi_sertype_enc_id_xcdr_version
    - assert
    linkageType: ''
    returnType: void
    signature: void istream_from_serdata_default (dds_istream_t *s, const struct dds_serdata_default
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:548,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:548,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:550,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:550,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_ostream_t*
    - struct dds_serdata_default*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 547
        line_start: 547
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (!DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: ostream_from_serdata_default
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - DDSI_RTPS_CDR_ENC_LE
    - ddsi_sertype_enc_id_xcdr_version
    - assert
    linkageType: ''
    returnType: void
    signature: void ostream_from_serdata_default (dds_ostream_t *s, const struct dds_serdata_default
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto4_clear_and_resize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:558,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:559,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_ostream_t*
    - struct dds_serdata_default**
    assertStmts:
    - condition: (pad <= 3)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: ostream_add_to_serdata_default
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto4_clear_and_resize
    - assert
    - ddsrt_toBE2u
    linkageType: ''
    returnType: void
    signature: void ostream_add_to_serdata_default (dds_ostream_t *s, struct dds_serdata_default
      **d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:572,1
    - Dst: ostream_from_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:577,1
    - Dst: ostream_add_to_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:581,1
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:584,1
    - Dst: ostream_add_to_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:585,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:602,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:602,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:603,1
    - Dst: gen_serdata_key_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:610,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:616,1
    - Dst: ostream_add_to_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:619,1
    - Dst: gen_serdata_key_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:622,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:630,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - xcdr_version
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - uint32_t
    - void*
    assertStmts:
    - condition: (ddsrt_fromBE2u (d->hdr.options) < 4)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 632
      start: 569
    functionDepth: 4
    functionLinenumber: 569
    functionLinenumberEnd: 632
    functionName: serdata_default_from_sample_cdr_common
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - gen_serdata_key_from_sample
    - ddsrt_fromBE2u
    - ddsi_serdata_unref
    - assert
    - serdata_default_new
    - ostream_add_to_serdata_default
    - dds_stream_write_sample
    - ostream_from_serdata_default
    - dds_stream_write_key
    linkageType: ''
    returnType: struct dds_serdata_default
    signature: struct dds_serdata_default *serdata_default_from_sample_cdr_common
      (const struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, uint32_t xcdr_version,
      const void *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:636,1
    - Dst: serdata_default_from_sample_cdr_common
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:639,1
    - Dst: fix_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:641,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - data_representation
    - sample
    - key
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - dds_data_representation_id_t
    - void*
    - bool
    assertStmts:
    - condition: (data_representation == DDS_DATA_REPRESENTATION_XCDR1 || data_representation
        == DDS_DATA_REPRESENTATION_XCDR2)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: serdata_default_from_sample_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    - serdata_default_from_sample_cdr_common
    - fix_serdata_default_nokey
    - fix_serdata_default
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_sample_data_representation
      (const struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, dds_data_representation_id_t
      data_representation, const void *sample, bool key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_sample_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 6
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: serdata_default_from_sample_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_sample_data_representation
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_sample_cdr (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_sample_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 6
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: serdata_default_from_sample_xcdr2
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_sample_data_representation
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_sample_xcdr2 (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_sample_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 6
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: serdata_default_from_sample_cdr_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_sample_data_representation
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_sample_cdr_nokey (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_default_from_sample_data_representation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 6
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: serdata_default_from_sample_xcdr2_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_from_sample_data_representation
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_sample_xcdr2_nokey (const
      struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:670,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:670,1
    - Dst: serdata_default_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:671,1
    - Dst: serdata_default_append_blob
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:682,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:682,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (d->hdr.identifier == DDSI_RTPS_SAMPLE_NATIVE || DDSI_RTPS_CDR_ENC_IS_NATIVE
        (d->hdr.identifier))
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (d->c.ops == &dds_serdata_ops_cdr_nokey || d->c.ops == &dds_serdata_ops_xcdr2_nokey)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 692
      start: 665
    functionDepth: 4
    functionLinenumber: 665
    functionLinenumberEnd: 692
    functionName: serdata_default_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - serdata_default_append_blob
    - assert
    - serdata_default_new
    - serdata_default_keybuf
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_to_untyped (const struct ddsi_serdata
      *serdata_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:698,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:699,1
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:699,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts:
    - condition: (off < d->pos + sizeof(struct dds_cdr_header))
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (sz <= alignup_size (d->pos + sizeof(struct dds_cdr_header), 4) -
        off)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: serdata_default_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - alignup_size
    linkageType: ''
    returnType: void
    signature: void serdata_default_to_ser (const struct ddsi_serdata *serdata_common,
      size_t off, size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:706,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:707,1
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:707,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts:
    - condition: (off < d->pos + sizeof(struct dds_cdr_header))
      pos:
        line_end: 705
        line_start: 705
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (sz <= alignup_size (d->pos + sizeof(struct dds_cdr_header), 4) -
        off)
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: serdata_default_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    - alignup_size
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_to_ser_ref (const struct ddsi_serdata
      *serdata_common, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: serdata_default_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void serdata_default_to_ser_unref (struct ddsi_serdata *serdata_common,
      const ddsrt_iovec_t *ref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:724,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:730,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:731,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:735,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:735,1
    - Dst: istream_from_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:736,1
    - Dst: dds_stream_read_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:738,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (d->c.loan->metadata->cdr_identifier == DDSI_RTPS_SAMPLE_NATIVE)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (DDSI_RTPS_CDR_ENC_IS_NATIVE (d->hdr.identifier))
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 743
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 743
    functionName: serdata_default_to_sample_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - dds_stream_read_key
    - istream_from_serdata_default
    - dds_stream_read_sample
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_default_to_sample_cdr (const struct ddsi_serdata *serdata_common,
      void *sample, void **bufptr, void *buflim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:750,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:751,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:752,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:753,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:753,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:754,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:755,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:755,1
    - Dst: dds_stream_read_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - sertype_common
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (d->c.type == NULL)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (DDSI_RTPS_CDR_ENC_IS_NATIVE (d->hdr.identifier))
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (d->c.ops == sertype_common->serdata_ops)
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (d->c.kind == SDK_KEY)
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 758
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 758
    functionName: serdata_default_untyped_to_sample_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - assert
    - serdata_default_keybuf
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - dds_stream_read_key
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_default_untyped_to_sample_cdr (const struct ddsi_sertype
      *sertype_common, const struct ddsi_serdata *serdata_common, void *sample, void
      **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:763,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - sertype_common
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (serdata_common->type == NULL)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (serdata_common->kind == SDK_KEY)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: serdata_default_untyped_to_sample_cdr_nokey
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool serdata_default_untyped_to_sample_cdr_nokey (const struct ddsi_sertype
      *sertype_common, const struct ddsi_serdata *serdata_common, void *sample, void
      **bufptr, void *buflim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:777,1
    - Dst: istream_from_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:781,1
    - Dst: dds_stream_print_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:783,1
    - Dst: dds_stream_print_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - sertype_common
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 787
    functionName: serdata_default_print_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_stream_print_sample
    - snprintf
    - istream_from_serdata_default
    - dds_stream_print_key
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_default_print_cdr (const struct ddsi_sertype *sertype_common,
      const struct ddsi_serdata *serdata_common, char *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:793,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:794,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:803,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:808,1
    - Dst: serdata_default_keybuf
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:808,1
    - Dst: dds_ostreamBE_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:813,1
    - Dst: dds_stream_extract_keyBE_from_key
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:814,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:815,1
    - Dst: is_topic_fixed_key_keyhash
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:820,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:823,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:824,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:825,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:829,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:831,1
    - Dst: dds_ostreamBE_fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - serdata_common
    - buf
    - force_md5
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_keyhash*
    - bool
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 792
        line_start: 792
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (d->key.buftype != KEYBUFTYPE_UNSET)
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (is.m_index == d->key.keysize)
      pos:
        line_end: 814
        line_start: 814
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 834
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 834
    functionName: serdata_default_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - is_topic_fixed_key_keyhash
    - dds_ostreamBE_fini
    - ddsi_sertype_enc_id_xcdr_version
    - assert
    - ddsrt_md5_finish
    - serdata_default_keybuf
    - memcpy
    - dds_stream_extract_keyBE_from_key
    - memset
    - dds_ostreamBE_init
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void serdata_default_get_keyhash (const struct ddsi_serdata *serdata_common,
      struct ddsi_keyhash *buf, bool force_md5)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lss
    - kind
    argTypes:
    - dds_loaned_sample_state_t
    - enum ddsi_serdata_kind*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: loaned_sample_state_to_serdata_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool loaned_sample_state_to_serdata_kind (dds_loaned_sample_state_t
      lss, enum ddsi_serdata_kind *kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:867,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:868,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:869,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:870,1
    - Dst: struct ddsi_sertype*::serdata_ops::from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:876,1
    - Dst: serdata_default_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:884,1
    - Dst: gen_serdata_key_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:887,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:889,1
    - Dst: fix_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:897,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:899,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - type
    - kind
    - sample
    - loaned_sample
    - will_require_cdr
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - char*
    - dds_loaned_sample_t*
    - bool
    assertStmts:
    - condition: (sample == loaned_sample->sample_ptr)
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (loaned_sample->metadata->cdr_options == 0)
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: '(loaned_sample->metadata->sample_state == (kind == SDK_KEY ? DDS_LOANED_SAMPLE_STATE_RAW_KEY
        : DDS_LOANED_SAMPLE_STATE_RAW_DATA))'
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    - condition: (loaned_sample->metadata->cdr_identifier == DDSI_RTPS_SAMPLE_NATIVE)
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 901
      start: 856
    functionDepth: 4
    functionLinenumber: 856
    functionLinenumberEnd: 901
    functionName: serdata_default_from_loaned_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - gen_serdata_key_from_sample
    - ddsi_serdata_unref
    - assert
    - serdata_default_new
    - fix_serdata_default_nokey
    - fix_serdata_default
    - struct ddsi_sertype*::serdata_ops::from_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_default_from_loaned_sample (const struct
      ddsi_sertype *type, enum ddsi_serdata_kind kind, const char *sample, dds_loaned_sample_t
      *loaned_sample, bool will_require_cdr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: loaned_sample_state_to_serdata_kind
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:908,1
    - Dst: is_valid_xcdr1_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:912,1
    - Dst: is_valid_xcdr2_id
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:914,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:921,1
    - Dst: serdata_default_new_size
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:922,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:932,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:938,1
    - Dst: dds_loaned_sample_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:942,1
    - Dst: gen_serdata_key_from_sample
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:943,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:951,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:953,1
    - Dst: serdata_default_append_blob
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:956,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:958,1
    - Dst: gen_serdata_key_from_cdr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:959,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:961,1
    - Dst: fix_serdata_default
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:969,1
    - Dst: fix_serdata_default_nokey
      Src: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c:971,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - type
    - loaned_sample
    argTypes:
    - struct ddsi_sertype*
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 931
        line_start: 931
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    constantsTouched: []
    func_position:
      end: 973
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 973
    functionName: serdata_default_from_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    functionUses: 0
    functionsReached:
    - gen_serdata_key_from_sample
    - dds_istream_init
    - serdata_default_append_blob
    - ddsrt_fromBE2u
    - serdata_default_new_size
    - is_valid_xcdr1_id
    - assert
    - ddsi_serdata_unref
    - dds_stream_normalize
    - fix_serdata_default_nokey
    - fix_serdata_default
    - is_valid_xcdr2_id
    - gen_serdata_key_from_cdr
    - loaned_sample_state_to_serdata_kind
    - dds_loaned_sample_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata * serdata_default_from_psmx (const struct ddsi_sertype
      *type, dds_loaned_sample_t *loaned_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: _STR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: STR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: QOS_POLICY_MAPPING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_POLICY_MAPPING(p,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pstate
    - ','
    - line
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: PARSER_ERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSER_ERROR(pstate,line,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pstate
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: CHECK_PARENT_NULL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PARENT_NULL(pstate, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pstate
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: CHECK_PARENT_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PARENT_KIND(pstate, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_data_type
    - ','
    - parent_kind
    - ','
    - current
    - ','
    - element_init
    - ','
    - element_fini
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: _CREATE_NODE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CREATE_NODE(pstate, element_type, element_kind, element_data_type,
      parent_kind, current, element_init, element_fini)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - element_name
    - ','
    - parent_type
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: CREATE_NODE_LIST
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_LIST(pstate, element_type, element_kind, element_init,
      element_fini, element_name, parent_type, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - element_name
    - ','
    - parent_type
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: CREATE_NODE_SINGLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_SINGLE(pstate, element_type, element_kind, element_init,
      element_fini, element_name, parent_type, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: CREATE_NODE_CUSTOM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_CUSTOM(pstate, element_type, element_kind, element_init,
      element_fini, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - parent_type
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: CREATE_NODE_VALUE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_VALUE(pstate, element_type, element_kind, element_init,
      element_fini, parent_type, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - parent_kind
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: CREATE_NODE_DURATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_DURATION(pstate, element_type, element_kind, element_init,
      element_fini, parent_kind, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pstate
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: CREATE_NODE_DURATION_SEC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_DURATION_SEC(pstate, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pstate
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: CREATE_NODE_DURATION_NSEC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_DURATION_NSEC(pstate, current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pstate
    - ','
    - element_type
    - ','
    - element_kind
    - ','
    - element_init
    - ','
    - element_fini
    - ','
    - current
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: CREATE_NODE_QOS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_NODE_QOS(pstate, element_type, element_kind, element_init, element_fini,
      current)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: ASSERT_DEFAULT_QOS_EQUAL
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_DEFAULT_QOS_EQUAL(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: str_to_int32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_int32 (const char *str, int32_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: str_to_uint8
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_uint8 (const char *str, uint8_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: str_to_uint16
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_uint16 (const char *str, uint16_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: str_to_uint32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_uint32 (const char *str, uint32_t *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: str_to_int64
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: bool
    signature: bool str_to_int64 (const char *str, int64_t *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:259,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:259,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:261,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: str_to_bool
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool str_to_bool (const char *str, bool *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:271,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:273,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:276,1
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - pstate
    - kind
    - data_type
    - parent
    - size
    - init
    - fini
    argTypes:
    - struct parse_sysdef_state*
    - enum element_kind
    - enum element_data_type
    - struct xml_element*
    - size_t
    - init_fn
    - fini_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: new_node
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - init
    - PARSER_ERROR
    - memset
    linkageType: ''
    returnType: struct xml_element
    signature: struct xml_element *new_node (struct parse_sysdef_state * const pstate,
      enum element_kind kind, enum element_data_type data_type, struct xml_element
      *parent, size_t size, init_fn init, fini_fn fini)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct xml_element*::fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:300,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 303
    functionName: free_node
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - struct xml_element*::fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_node (void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: fini_type
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_type (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: fini_type_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_type_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:320,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (qp != NULL)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: fini_qos_groupdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_groupdata (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:327,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (qp != NULL)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: fini_qos_topicdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_topicdata (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:334,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (qp != NULL)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: fini_qos_userdata
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_userdata (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:341,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (qp != NULL)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: fini_qos_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_qos_partition (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:348,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: fini_qos_partition_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_qos_partition_name (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:355,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: fini_qos_partition_name_element
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_partition_name_element (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:362,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:363,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts:
    - condition: (qos != NULL)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: fini_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_delete_qos
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:370,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: fini_qos_profile
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_profile (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:377,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: fini_qos_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_qos_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: fini_register_type
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_register_type (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:390,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: fini_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_topic (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:397,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:398,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: fini_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_domain (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:405,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: fini_domain_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_domain_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:412,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:413,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: fini_publisher
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_publisher (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:420,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: fini_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_writer (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:427,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:428,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: fini_subscriber
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_subscriber (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:435,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: fini_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_reader (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:442,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:443,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:444,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:445,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:446,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: fini_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_participant (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:453,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: fini_participant_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_participant_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:460,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: fini_application
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_application (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:467,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: fini_application_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_application_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:474,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:475,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:476,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:477,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: fini_node
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_node (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:484,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: fini_node_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_node_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: fini_conf
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_conf (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:497,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: fini_conf_tsn
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:504,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:505,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:506,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:507,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: fini_conf_tsn_talker
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_talker (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: fini_conf_tsn_traffic_specification
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_traffic_specification (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:520,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: fini_conf_tsn_ip_tuple
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_ip_tuple (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:527,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: fini_conf_tsn_mac_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_mac_addresses (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:534,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:535,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:536,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: fini_conf_tsn_data_frame_specification
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_data_frame_specification (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:543,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:544,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 546
    functionName: fini_conf_tsn_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_conf_tsn_listener (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: fini_application_list
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_application_list (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:557,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:558,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: fini_deployment
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_deployment (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:565,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: fini_deployment_lib
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_node
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fini_deployment_lib (struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:572,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:573,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:574,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:575,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:576,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:577,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 579
    functionName: fini_sysdef
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 2
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void fini_sysdef (struct xml_element *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 610
    functionName: init_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_create_qos
    linkageType: ''
    returnType: int
    signature: int init_qos (UNUSED_ARG (struct parse_sysdef_state * const pstate),
      struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - policy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: INIT_QOS_POLICY_DATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_QOS_POLICY_DATA(policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct xml_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: init_type_external_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_type_external_ref (UNUSED_ARG (struct parse_sysdef_state *
      const pstate), struct xml_element *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - validator_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 644
    functionName: PROC_ATTR_STRING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_STRING(type,attr_name,param_field,validator_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: PROC_ATTR_NAME
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_NAME(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: PROC_ATTR_TYPE_NAME
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_TYPE_NAME(type,attr_name,param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - attr_type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - param_populated_bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 670
    functionName: _PROC_ATTR_INTEGER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PROC_ATTR_INTEGER(type, attr_type, attr_name, param_field, param_populated_bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - param_populated_bit
    - )
    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: PROC_ATTR_UINT32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_UINT32(type, attr_name, param_field, param_populated_bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - param_populated_bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: PROC_ATTR_INT32
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_INT32(type, attr_name, param_field, param_populated_bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - current
    - ','
    - param_field
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 695
    functionName: _PROC_ATTR_FN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PROC_ATTR_FN(type, attr_name, current, param_field, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: PROC_ATTR_FN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_FN(type, attr_name, param_field, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: PROC_ATTR_FN_PARENT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROC_ATTR_FN_PARENT(type, attr_name, param_field, fn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pstate
    - type_ref
    - type
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - struct dds_sysdef_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 717
    functionName: proc_attr_resolve_type_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_type_ref (struct parse_sysdef_state * const pstate,
      const char *type_ref, struct dds_sysdef_type **type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - register_type_ref
    - register_types
    argTypes:
    - char*
    - struct dds_sysdef_register_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: find_reg_type_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct dds_sysdef_register_type
    signature: struct dds_sysdef_register_type *find_reg_type_impl (const char *register_type_ref,
      struct dds_sysdef_register_type *register_types)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:732,1
    - Dst: find_reg_type_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:741,1
    - Dst: find_reg_type_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pstate
    - register_type_ref
    - register_type
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - struct dds_sysdef_register_type**
    assertStmts:
    - condition: (pstate->current->parent->kind == ELEMENT_KIND_DOMAIN || pstate->current->parent->kind
        == ELEMENT_KIND_PARTICIPANT)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 768
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 768
    functionName: proc_attr_resolve_register_type_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - find_reg_type_impl
    - assert
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_register_type_ref (struct parse_sysdef_state
      * const pstate, const char *register_type_ref, struct dds_sysdef_register_type
      **register_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:775,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:777,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:798,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - pstate
    - topic_ref
    - topic
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - struct dds_sysdef_topic**
    assertStmts:
    - condition: "((pstate->current->kind == ELEMENT_KIND_READER && pstate->current->parent->kind
        == ELEMENT_KIND_SUBSCRIBER) ||\n      (pstate->current->kind == ELEMENT_KIND_WRITER
        && pstate->current->parent->kind == ELEMENT_KIND_PUBLISHER))"
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - condition: (pstate->current->parent->parent->kind == ELEMENT_KIND_PARTICIPANT)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 806
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 806
    functionName: proc_attr_resolve_topic_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_topic_ref (struct parse_sysdef_state * const
      pstate, const char *topic_ref, struct dds_sysdef_topic **topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:813,1
    - Dst: ddsrt_strndup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:817,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:818,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ref
    - lib
    - local_name
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 825
    functionName: split_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strstr
    - ddsrt_strdup
    - ddsrt_strndup
    - strlen
    linkageType: ''
    returnType: int
    signature: int split_ref (const char *ref, char **lib, char **local_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lib_type
    - ','
    - lib_name
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: _RESOLVE_LIB
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RESOLVE_LIB(lib_type, lib_name, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - lib
    - ','
    - entity_type
    - ','
    - ent_var
    - ','
    - ent_name
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: _RESOLVE_ENTITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RESOLVE_ENTITY(lib, entity_type, ent_var, ent_name, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - lib_type
    - ','
    - type_var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 860
    functionName: RESOLVE_REF_FNDEF
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESOLVE_REF_FNDEF(type, lib_type, type_var)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: split_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:878,1
    - Dst: _RESOLVE_LIB
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:881,1
    - Dst: split_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:885,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:889,1
    - Dst: split_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:893,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:897,1
    - Dst: split_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:901,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:907,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:911,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:917,1
    - Dst: _RESOLVE_ENTITY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:921,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:924,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:925,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:927,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:928,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:930,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:931,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:933,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:934,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - pstate
    - type_ref
    - kind
    - endpoint
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - enum resolve_endpoint_kind
    - struct xml_element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 937
    functionName: proc_attr_resolve_endpoint_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - split_ref
    - _RESOLVE_LIB
    - _RESOLVE_ENTITY
    - ddsrt_free
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_endpoint_ref (struct parse_sysdef_state * const
      pstate, const char *type_ref, enum resolve_endpoint_kind kind, struct xml_element
      **endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc_attr_resolve_endpoint_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pstate
    - type_ref
    - writer
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - struct dds_sysdef_writer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: proc_attr_resolve_datawriter_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - proc_attr_resolve_endpoint_ref
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_datawriter_ref (struct parse_sysdef_state * const
      pstate, const char *type_ref, struct dds_sysdef_writer **writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc_attr_resolve_endpoint_ref
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pstate
    - type_ref
    - reader
    argTypes:
    - struct parse_sysdef_state*
    - char*
    - struct dds_sysdef_reader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 947
    functionName: proc_attr_resolve_datareader_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - proc_attr_resolve_endpoint_ref
    linkageType: ''
    returnType: int
    signature: int proc_attr_resolve_datareader_ref (struct parse_sysdef_state * const
      pstate, const char *type_ref, struct dds_sysdef_reader **reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:951,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:957,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - hex
    - bytes
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 963
    functionName: dds_sysdef_parse_hex
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_todigit
    - strlen
    linkageType: ''
    returnType: int
    signature: int dds_sysdef_parse_hex (const char* hex, unsigned char* bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:969,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:971,1
    - Dst: dds_sysdef_is_valid_identifier_syntax
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:974,1
    - Dst: ddsrt_strndup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:978,1
    - Dst: dds_sysdef_is_valid_identifier_syntax
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:982,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 986
    functionName: is_valid_type_name
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strstr
    - dds_sysdef_is_valid_identifier_syntax
    - ddsrt_free
    - strlen
    - ddsrt_strndup
    linkageType: ''
    returnType: bool
    signature: bool is_valid_type_name (const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: is_alpha
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_alpha (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_alpha
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: is_alphanum
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - is_alpha
    linkageType: ''
    returnType: bool
    signature: bool is_alphanum (char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_alphanum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - c
    - allow_underscore
    argTypes:
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: is_valid_identifier_char
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - is_alphanum
    linkageType: ''
    returnType: bool
    signature: bool is_valid_identifier_char (char c, bool allow_underscore)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1005,1
    - Dst: is_alpha
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1009,1
    - Dst: is_alphanum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1012,1
    - Dst: is_valid_identifier_char
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1021
    functionName: dds_sysdef_is_valid_identifier_syntax
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached:
    - is_alpha
    - is_valid_identifier_char
    - strlen
    - is_alphanum
    linkageType: ''
    returnType: bool
    signature: bool dds_sysdef_is_valid_identifier_syntax (const char *name)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1029,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1029,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1029,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1034,1
    - Dst: PROC_ATTR_TYPE_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1043,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1048,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1051,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1052,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1060,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1061,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1066,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1069,1
    - Dst: PROC_ATTR_UINT32
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1070,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1073,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1074,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1075,1
    - Dst: PROC_ATTR_TYPE_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1078,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1079,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1082,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1085,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1086,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1089,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1092,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1095,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1096,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1099,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1100,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1105,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1108,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1113,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1116,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1121,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1124,1
    - Dst: PROC_ATTR_FN_PARENT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1127,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1130,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1133,1
    - Dst: PROC_ATTR_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1134,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1135,1
    - Dst: PROC_ATTR_NAME
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1138,1
    - Dst: PROC_ATTR_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1139,1
    - Dst: PROC_ATTR_FN
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1140,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1149,1
    - Dst: struct parse_sysdef_state*::current::fini
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1160,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1161,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 112
    argCount: 4
    argNames:
    - varg
    - name
    - value
    - line
    argTypes:
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1165
    functionName: proc_attr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PROC_ATTR_FN_PARENT
    - struct parse_sysdef_state*::current::fini
    - PROC_ATTR_TYPE_NAME
    - ddsrt_free
    - PROC_ATTR_STRING
    - PARSER_ERROR
    - PROC_ATTR_FN
    - PROC_ATTR_NAME
    - ddsrt_strcasecmp
    - PROC_ATTR_UINT32
    linkageType: ''
    returnType: int
    signature: int proc_attr (void *varg, UNUSED_ARG (uintptr_t eleminfo), const char
      *name, const char *value, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - policy
    - ','
    - policy_desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1191
    functionName: ELEM_CLOSE_QOS_POLICY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_QOS_POLICY(policy, policy_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - policy
    - ','
    - policy_desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1200
    functionName: ELEM_CLOSE_QOS_POLICY_DATA_VALUE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_QOS_POLICY_DATA_VALUE(policy, policy_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - policy
    - ','
    - policy_desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: ELEM_CLOSE_QOS_POLICY_DATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_QOS_POLICY_DATA(policy, policy_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - element_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1227
    functionName: ELEM_CLOSE_QOS_DURATION_PROPERTY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_QOS_DURATION_PROPERTY(policy, param, element_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: qget_DEADLINE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_deadline
    linkageType: ''
    returnType: bool
    signature: bool qget_DEADLINE (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_DEADLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: qset_DEADLINE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_deadline
    linkageType: ''
    returnType: void
    signature: void qset_DEADLINE (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_DEADLINE
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_destination_order
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1241
    functionName: qget_DESTINATIONORDER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_destination_order
    linkageType: ''
    returnType: bool
    signature: bool qget_DESTINATIONORDER (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_DESTINATIONORDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1246
    functionName: qset_DESTINATIONORDER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_destination_order
    linkageType: ''
    returnType: void
    signature: void qset_DESTINATIONORDER (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_DESTINATIONORDER
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: qget_DURABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_durability
    linkageType: ''
    returnType: bool
    signature: bool qget_DURABILITY (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_DURABILITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: qset_DURABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_durability
    linkageType: ''
    returnType: void
    signature: void qset_DURABILITY (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_DURABILITY
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: qget_DURABILITYSERVICE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_durability_service
    linkageType: ''
    returnType: bool
    signature: bool qget_DURABILITYSERVICE (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1265,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1265,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_DURABILITYSERVICE*
    assertStmts:
    - condition: (ddsi_xqos_delta(&ddsi_default_qos_writer, &ddsi_default_qos_topic,
        DDSI_QP_DURABILITY_SERVICE) == 0)
      pos:
        line_end: 1264
        line_start: 1264
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 1273
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1273
    functionName: qset_DURABILITYSERVICE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_xqos_delta
    - dds_qset_durability_service
    linkageType: ''
    returnType: void
    signature: void qset_DURABILITYSERVICE (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_DURABILITYSERVICE
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_groupdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 4
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: qget_GROUPDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_groupdata
    linkageType: ''
    returnType: bool
    signature: bool qget_GROUPDATA (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_GROUPDATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1280
    functionDepth: 3
    functionLinenumber: 1280
    functionLinenumberEnd: 1283
    functionName: qset_GROUPDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_groupdata
    linkageType: ''
    returnType: void
    signature: void qset_GROUPDATA (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_GROUPDATA
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_topicdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1285
    functionDepth: 4
    functionLinenumber: 1285
    functionLinenumberEnd: 1288
    functionName: qget_TOPICDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_topicdata
    linkageType: ''
    returnType: bool
    signature: bool qget_TOPICDATA (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_TOPICDATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: qset_TOPICDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_topicdata
    linkageType: ''
    returnType: void
    signature: void qset_TOPICDATA (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_TOPICDATA
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 4
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: qget_USERDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_userdata
    linkageType: ''
    returnType: bool
    signature: bool qget_USERDATA (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_USERDATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 3
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: qset_USERDATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_userdata
    linkageType: ''
    returnType: void
    signature: void qset_USERDATA (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_USERDATA
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1308
    functionName: qget_HISTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_history
    linkageType: ''
    returnType: bool
    signature: bool qget_HISTORY (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_DEFAULT_QOS_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1312,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_HISTORY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1316
    functionName: qset_HISTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_history
    - ASSERT_DEFAULT_QOS_EQUAL
    linkageType: ''
    returnType: void
    signature: void qset_HISTORY (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_HISTORY
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1321
    functionName: qget_LATENCYBUDGET
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_latency_budget
    linkageType: ''
    returnType: bool
    signature: bool qget_LATENCYBUDGET (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_LATENCYBUDGET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: qset_LATENCYBUDGET
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_latency_budget
    linkageType: ''
    returnType: void
    signature: void qset_LATENCYBUDGET (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_LATENCYBUDGET
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: qget_LIFESPAN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_lifespan
    linkageType: ''
    returnType: bool
    signature: bool qget_LIFESPAN (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_LIFESPAN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1336
    functionName: qset_LIFESPAN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_lifespan
    linkageType: ''
    returnType: void
    signature: void qset_LIFESPAN (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_LIFESPAN
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1341
    functionName: qget_LIVELINESS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_liveliness
    linkageType: ''
    returnType: bool
    signature: bool qget_LIVELINESS (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_LIVELINESS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1346
    functionName: qset_LIVELINESS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_liveliness
    linkageType: ''
    returnType: void
    signature: void qset_LIVELINESS (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_LIVELINESS
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1351
    functionName: qget_OWNERSHIP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_ownership
    linkageType: ''
    returnType: bool
    signature: bool qget_OWNERSHIP (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_OWNERSHIP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1356
    functionName: qset_OWNERSHIP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_ownership
    linkageType: ''
    returnType: void
    signature: void qset_OWNERSHIP (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_OWNERSHIP
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: qget_OWNERSHIPSTRENGTH
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_ownership_strength
    linkageType: ''
    returnType: bool
    signature: bool qget_OWNERSHIPSTRENGTH (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_OWNERSHIPSTRENGTH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1366
    functionName: qset_OWNERSHIPSTRENGTH
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_ownership_strength
    linkageType: ''
    returnType: void
    signature: void qset_OWNERSHIPSTRENGTH (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_OWNERSHIPSTRENGTH
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1371
    functionName: qget_PARTITION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_partition
    linkageType: ''
    returnType: bool
    signature: bool qget_PARTITION (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1379,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1383,1
    - Dst: __pragma
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1386,1
    - Dst: warning
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1386,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_PARTITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1392
    functionName: qset_PARTITION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - warning
    - __pragma
    - ddsrt_malloc
    - dds_qset_partition
    linkageType: ''
    returnType: void
    signature: void qset_PARTITION (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_PARTITION
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_presentation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1397
    functionName: qget_PRESENTATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_presentation
    linkageType: ''
    returnType: bool
    signature: bool qget_PRESENTATION (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_PRESENTATION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1402
    functionName: qset_PRESENTATION
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_presentation
    linkageType: ''
    returnType: void
    signature: void qset_PRESENTATION (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_PRESENTATION
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1407
    functionName: qget_READERDATALIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_reader_data_lifecycle
    linkageType: ''
    returnType: bool
    signature: bool qget_READERDATALIFECYCLE (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_READERDATALIFECYCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1412
    functionName: qset_READERDATALIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_reader_data_lifecycle
    linkageType: ''
    returnType: void
    signature: void qset_READERDATALIFECYCLE (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_READERDATALIFECYCLE
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_reliability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1417
    functionName: qget_RELIABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_reliability
    linkageType: ''
    returnType: bool
    signature: bool qget_RELIABILITY (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1421,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_RELIABILITY*
    assertStmts:
    - condition: (ddsi_default_qos_reader.reliability.max_blocking_time == ddsi_default_qos_topic.reliability.max_blocking_time
        && ddsi_default_qos_writer.reliability.max_blocking_time == ddsi_default_qos_topic.reliability.max_blocking_time)
      pos:
        line_end: 1420
        line_start: 1420
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 1424
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1424
    functionName: qset_RELIABILITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_reliability
    - assert
    linkageType: ''
    returnType: void
    signature: void qset_RELIABILITY (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_RELIABILITY
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1429
    functionName: qget_RESOURCELIMITS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_resource_limits
    linkageType: ''
    returnType: bool
    signature: bool qget_RESOURCELIMITS (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_DEFAULT_QOS_EQUAL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1433,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_RESOURCELIMITS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1439
    functionName: qset_RESOURCELIMITS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ASSERT_DEFAULT_QOS_EQUAL
    - dds_qset_resource_limits
    linkageType: ''
    returnType: void
    signature: void qset_RESOURCELIMITS (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_RESOURCELIMITS
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1444
    functionName: qget_TIMEBASEDFILTER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_time_based_filter
    linkageType: ''
    returnType: bool
    signature: bool qget_TIMEBASEDFILTER (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_TIMEBASEDFILTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: qset_TIMEBASEDFILTER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_time_based_filter
    linkageType: ''
    returnType: void
    signature: void qset_TIMEBASEDFILTER (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_TIMEBASEDFILTER
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1454
    functionName: qget_TRANSPORTPRIORITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_transport_priority
    linkageType: ''
    returnType: bool
    signature: bool qget_TRANSPORTPRIORITY (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_transport_priority
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_TRANSPORTPRIORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: qset_TRANSPORTPRIORITY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_transport_priority
    linkageType: ''
    returnType: void
    signature: void qset_TRANSPORTPRIORITY (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_TRANSPORTPRIORITY
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1464
    functionName: qget_WRITERDATALIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_writer_data_lifecycle
    linkageType: ''
    returnType: bool
    signature: bool qget_WRITERDATALIFECYCLE (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_WRITERDATALIFECYCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1469
    functionName: qset_WRITERDATALIFECYCLE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_writer_data_lifecycle
    linkageType: ''
    returnType: void
    signature: void qset_WRITERDATALIFECYCLE (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_WRITERDATALIFECYCLE
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_writer_batching
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: qget_WRITERBATCHING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qget_writer_batching
    linkageType: ''
    returnType: bool
    signature: bool qget_WRITERBATCHING (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1479
    functionName: qget_ENTITYFACTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qget_ENTITYFACTORY (dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_ENTITYFACTORY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1485
    functionName: qset_ENTITYFACTORY
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qset_ENTITYFACTORY (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_ENTITYFACTORY
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qos
    - qp
    argTypes:
    - dds_qos_t*
    - struct dds_sysdef_QOS_POLICY_WRITERBATCHING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: qset_WRITERBATCHING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_qset_writer_batching
    linkageType: ''
    returnType: void
    signature: void qset_WRITERBATCHING (dds_qos_t *qos, struct dds_sysdef_QOS_POLICY_WRITERBATCHING
      *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - current
    - ','
    - element_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: _ELEM_CLOSE_REQUIRE_ATTR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ELEM_CLOSE_REQUIRE_ATTR(type,attr_name,current,element_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1504
    functionName: ELEM_CLOSE_REQUIRE_ATTR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_REQUIRE_ATTR(type,attr_name,param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - attr_name
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: ELEM_CLOSE_REQUIRE_ATTR_PARENT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_REQUIRE_ATTR_PARENT(type,attr_name,param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - type_name
    - ','
    - exp_populated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1516
    functionName: ELEM_CLOSE_REQUIRE_ATTR_POPULATED
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELEM_CLOSE_REQUIRE_ATTR_POPULATED(type,type_name,exp_populated)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1523,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1531,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1534,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1537,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1540,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1546,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1550,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1556,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1560,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1563,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1566,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1569,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1572,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1575,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1578,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1581,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1586,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1589,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1592,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1595,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1598,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1601,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1604,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1607,1
    - Dst: ELEM_CLOSE_QOS_DURATION_PROPERTY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1610,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1613,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1616,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1621,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1624,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1627,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1630,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1633,1
    - Dst: ELEM_CLOSE_QOS_POLICY_DATA_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1636,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1639,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1642,1
    - Dst: ELEM_CLOSE_QOS_POLICY
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1645,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1650,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1654,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1657,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1660,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1663,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1666,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR_POPULATED
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1667,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1670,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1673,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1674,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1677,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1680,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1681,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1684,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1687,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1690,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1691,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1694,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1695,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1698,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1701,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR_PARENT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1704,1
    - Dst: ELEM_CLOSE_REQUIRE_ATTR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1707,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1712,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1721,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 194
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1725
    functionName: proc_elem_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ELEM_CLOSE_QOS_POLICY
    - ELEM_CLOSE_REQUIRE_ATTR
    - DDS_SECS
    - PARSER_ERROR
    - ELEM_CLOSE_QOS_DURATION_PROPERTY
    - free_node
    - ELEM_CLOSE_QOS_POLICY_DATA_VALUE
    - ELEM_CLOSE_REQUIRE_ATTR_POPULATED
    - ELEM_CLOSE_REQUIRE_ATTR_PARENT
    - ELEM_CLOSE_QOS_POLICY_DATA
    linkageType: ''
    returnType: int
    signature: int proc_elem_close (void *varg, UNUSED_ARG (uintptr_t eleminfo), UNUSED_ARG
      (int line))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1738,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1740,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1741,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - text
    - sz
    - buff
    argTypes:
    - unsigned char*
    - uint32_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1757
    functionName: b64_decode
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - memset
    - strchr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t b64_decode (const unsigned char *text, const uint32_t sz,
      unsigned char **buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - param_field
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1774
    functionName: QOS_PARAM_SET_NUMERIC_UNLIMITED
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_SET_NUMERIC_UNLIMITED(policy, param, param_field, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - param_field
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1788
    functionName: QOS_PARAM_SET_NUMERIC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_SET_NUMERIC(policy, param, param_field, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1802
    functionName: QOS_PARAM_SET_BOOLEAN
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_SET_BOOLEAN(policy, param, param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1809
    functionName: QOS_PARAM_SET_STRING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_SET_STRING(policy, param, param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - policy
    - ','
    - param
    - ','
    - param_data_field
    - ','
    - param_length_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1823
    functionName: QOS_PARAM_SET_BASE64
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_SET_BASE64(policy, param, param_data_field, param_length_field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1827,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1829,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_DESTINATIONORDER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1836
    functionName: set_DESTINATIONORDER_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_DESTINATIONORDER_KIND (struct parse_sysdef_state * const pstate,
      struct dds_sysdef_QOS_POLICY_DESTINATIONORDER *qp, const char *value, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1841,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1843,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1845,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1847,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1849,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1851,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_DURABILITY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1858
    functionName: set_DURABILITY_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_DURABILITY_KIND (struct parse_sysdef_state * const pstate,
      struct dds_sysdef_QOS_POLICY_DURABILITY *qp, const char *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1863,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1865,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_DURABILITYSERVICE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1872
    functionName: set_DURABILITYSERVICE_HISTORY_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_DURABILITYSERVICE_HISTORY_KIND (struct parse_sysdef_state *
      const pstate, struct dds_sysdef_QOS_POLICY_DURABILITYSERVICE *qp, const char
      *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1877,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1879,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_HISTORY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1886
    functionName: set_HISTORY_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_HISTORY_KIND (struct parse_sysdef_state * const pstate, struct
      dds_sysdef_QOS_POLICY_HISTORY *qp, const char *value, int line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1891,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1893,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1895,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_LIVELINESS*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1902
    functionName: set_LIVELINESS_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_LIVELINESS_KIND (struct parse_sysdef_state * const pstate,
      struct dds_sysdef_QOS_POLICY_LIVELINESS *qp, const char *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1907,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1909,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_OWNERSHIP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1916
    functionName: set_OWNERSHIP_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_OWNERSHIP_KIND (struct parse_sysdef_state * const pstate, struct
      dds_sysdef_QOS_POLICY_OWNERSHIP *qp, const char *value, int line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1921,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1923,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1925,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_PRESENTATION*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1932
    functionName: set_PRESENTATION_ACCESS_SCOPE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_PRESENTATION_ACCESS_SCOPE (struct parse_sysdef_state * const
      pstate, struct dds_sysdef_QOS_POLICY_PRESENTATION *qp, const char *value, int
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1937,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1939,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pstate
    - qp
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - struct dds_sysdef_QOS_POLICY_RELIABILITY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1946
    functionName: set_RELIABILITY_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_RELIABILITY_KIND (struct parse_sysdef_state * const pstate,
      struct dds_sysdef_QOS_POLICY_RELIABILITY *qp, const char *value, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1974,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1976,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1978,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1980,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:1983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pstate
    - s
    - value
    - line
    argTypes:
    - struct parse_sysdef_state*
    - enum dds_sysdef_tsn_traffic_transmission_selection*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 1987
    functionName: parse_tsn_traffic_transmission_selection
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    - strcmp
    linkageType: ''
    returnType: int
    signature: int parse_tsn_traffic_transmission_selection (struct parse_sysdef_state
      * const pstate, enum dds_sysdef_tsn_traffic_transmission_selection *s, const
      char *value, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - policy
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2001
    functionName: QOS_PARAM_DATA
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QOS_PARAM_DATA(policy,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - parent_kind
    - ','
    - parent_type
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2013
    functionName: PARENT_PARAM_DATA_STRING
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARENT_PARAM_DATA_STRING(parent_kind, parent_type, param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - parent_kind
    - ','
    - parent_type
    - ','
    - param_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2026
    functionName: PARENT_PARAM_DATA_MACADDR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARENT_PARAM_DATA_MACADDR(parent_kind, parent_type, param_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - parent_kind
    - ','
    - parent_type
    - ','
    - type
    - ','
    - param_field
    - ','
    - param_populated_bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2045
    functionName: PARENT_PARAM_DATA_NUMERIC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARENT_PARAM_DATA_NUMERIC(parent_kind, parent_type, type, param_field,
      param_populated_bit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2050,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2051,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2054,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2057,1
    - Dst: dds_sysdef_parse_hex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - value
    - mac_addr
    argTypes:
    - char*
    - struct dds_sysdef_mac_addr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2048
    functionDepth: 2
    functionLinenumber: 2048
    functionLinenumberEnd: 2063
    functionName: parse_mac_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_parse_hex
    - memcpy
    - DDSRT_STATIC_ASSERT
    - strlen
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int parse_mac_addr (const char *value, struct dds_sysdef_mac_addr **mac_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - ipv4_addr
    argTypes:
    - char*
    - struct dds_sysdef_ip_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2070
    functionName: parse_ipv4_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_sockaddrfromstr
    linkageType: ''
    returnType: int
    signature: int parse_ipv4_addr (const char *value, struct dds_sysdef_ip_addr *ipv4_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - ipv6_addr
    argTypes:
    - char*
    - struct dds_sysdef_ip_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2077
    functionName: parse_ipv6_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_sockaddrfromstr
    linkageType: ''
    returnType: int
    signature: int parse_ipv6_addr (const char *value, struct dds_sysdef_ip_addr *ipv6_addr)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2088,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2096,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2100,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2100,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2101,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2101,1
    - Dst: str_to_int64
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2104,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2110,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2125,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2131,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2134,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2137,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2140,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2144,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2147,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2150,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2153,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2156,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2159,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2162,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2166,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2169,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2172,1
    - Dst: dds_sysdef_is_valid_identifier_syntax
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2177,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2179,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2186,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2192,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2195,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2198,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2201,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2210,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2213,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2216,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2219,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2222,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2225,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2228,1
    - Dst: QOS_PARAM_DATA
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2231,1
    - Dst: PARENT_PARAM_DATA_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2234,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2237,1
    - Dst: parse_ipv4_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2239,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2241,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2247,1
    - Dst: parse_ipv6_addr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2249,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2251,1
    - Dst: PARENT_PARAM_DATA_MACADDR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2257,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2260,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2263,1
    - Dst: PARENT_PARAM_DATA_MACADDR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2266,1
    - Dst: PARENT_PARAM_DATA_MACADDR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2269,1
    - Dst: PARENT_PARAM_DATA_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2272,1
    - Dst: PARENT_PARAM_DATA_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2275,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2278,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2281,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2284,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2287,1
    - Dst: PARENT_PARAM_DATA_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2290,1
    - Dst: PARENT_PARAM_DATA_STRING
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2293,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2296,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2299,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2302,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2305,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2308,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2311,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2314,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2318,1
    - Dst: parse_tsn_traffic_transmission_selection
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2324,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2332,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2335,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2338,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2341,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2344,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2347,1
    - Dst: PARENT_PARAM_DATA_NUMERIC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2350,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2353,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2365,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 247
    argCount: 3
    argNames:
    - varg
    - value
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts:
    - condition: (pstate->current->parent->kind == ELEMENT_KIND_NODE)
      pos:
        line_end: 2246
        line_start: 2246
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - condition: (pstate->current->parent->data_type == ELEMENT_DATA_TYPE_DURATION)
      pos:
        line_end: 2095
        line_start: 2095
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - condition: (pstate->current->parent->kind == ELEMENT_KIND_NODE)
      pos:
        line_end: 2236
        line_start: 2236
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - condition: (pstate->current->parent->kind == ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC)
      pos:
        line_end: 2313
        line_start: 2313
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    constantsTouched: []
    func_position:
      end: 2371
      start: 2079
    functionDepth: 4
    functionLinenumber: 2079
    functionLinenumberEnd: 2371
    functionName: proc_elem_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_is_valid_identifier_syntax
    - str_to_int64
    - parse_ipv6_addr
    - assert
    - PARSER_ERROR
    - strcmp
    - free_node
    - ddsrt_strdup
    - PARENT_PARAM_DATA_STRING
    - QOS_PARAM_DATA
    - PARENT_PARAM_DATA_NUMERIC
    - parse_tsn_traffic_transmission_selection
    - PARENT_PARAM_DATA_MACADDR
    - parse_ipv4_addr
    linkageType: ''
    returnType: int
    signature: int proc_elem_data (void *varg, UNUSED_ARG (uintptr_t eleminfo), const
      char *value, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2378
    functionName: PARSER_ERROR_INVALID_PARENT_KIND
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSER_ERROR_INVALID_PARENT_KIND()
  - BBCount: 187
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2387,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2390,1
    - Dst: new_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2393,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2395,1
    - Dst: CHECK_PARENT_NULL
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2406,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2410,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2411,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2412,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2413,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2419,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2420,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2421,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2422,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2424,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2424,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2427,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2429,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2431,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2433,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2436,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2438,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2440,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2442,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2445,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2447,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2449,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2451,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2454,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2456,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2458,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2460,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2463,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2465,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2467,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2469,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2472,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2474,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2476,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2480,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2481,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2482,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2483,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2484,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2485,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2486,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2487,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2488,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2489,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2490,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2491,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2492,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2493,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2494,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2495,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2496,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2497,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2498,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2499,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2500,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2501,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2502,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2503,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2504,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2505,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2506,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2507,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2508,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2509,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2510,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2511,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2512,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2513,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2514,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2515,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2516,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2517,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2518,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2519,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2520,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2521,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2522,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2523,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2524,1
    - Dst: CREATE_NODE_QOS
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2525,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2528,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2529,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2530,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2533,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2535,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2537,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2539,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2540,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2541,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2542,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2543,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2544,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2545,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2546,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2547,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2550,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2552,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2554,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2556,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2559,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2561,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2563,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2565,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2568,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2570,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2572,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2574,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2575,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2576,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2577,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2578,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2579,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2580,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2581,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2582,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2583,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2584,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2585,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2586,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2587,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2592,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2593,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2594,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2595,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2596,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2597,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2598,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2599,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2600,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2601,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2602,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2605,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2607,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2609,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2611,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2613,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2615,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2617,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2619,1
    - Dst: CREATE_NODE_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2622,1
    - Dst: CREATE_NODE_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2624,1
    - Dst: CREATE_NODE_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2626,1
    - Dst: CREATE_NODE_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2628,1
    - Dst: CREATE_NODE_VALUE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2630,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2632,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2634,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2635,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2636,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2637,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2638,1
    - Dst: CREATE_NODE_DURATION_SEC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2641,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2643,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2645,1
    - Dst: CREATE_NODE_DURATION_NSEC
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2648,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2650,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2657,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2658,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2659,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2660,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2661,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2664,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2666,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2668,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2670,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2673,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2675,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2677,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2684,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2685,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2686,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2689,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2691,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2693,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2695,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2696,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2697,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2698,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2699,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2700,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2701,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2702,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2708,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2709,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2710,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2713,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2715,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2717,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2724,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2725,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2726,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2729,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2731,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2733,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2735,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2736,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2737,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2738,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2739,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2740,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2741,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2742,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2748,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2749,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2750,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2751,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2752,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2753,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2754,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2755,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2756,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2757,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2758,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2759,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2760,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2761,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2762,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2763,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2764,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2765,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2766,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2767,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2768,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2769,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2770,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2771,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2772,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2773,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2774,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2775,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2776,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2777,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2778,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2779,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2780,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2783,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2785,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2787,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2789,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2792,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2794,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2796,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2798,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2801,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2803,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2805,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2807,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2810,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2812,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2814,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2816,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2819,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2821,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2823,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2825,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2828,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2830,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2832,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2834,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2835,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2836,1
    - Dst: CREATE_NODE_DURATION
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2837,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2838,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2839,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2840,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2841,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2842,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2843,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2844,1
    - Dst: CREATE_NODE_SINGLE
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2845,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2846,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2847,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2848,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2849,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2850,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2851,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2852,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2855,1
    - Dst: CREATE_NODE_LIST
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2857,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2859,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2861,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2864,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2866,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2868,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2870,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2873,1
    - Dst: CREATE_NODE_CUSTOM
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2875,1
    - Dst: PARSER_ERROR_INVALID_PARENT_KIND
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2877,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2884,1
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2893,1
    CyclomaticComplexity: 190
    EdgeCount: 190
    ICount: 419
    argCount: 3
    argNames:
    - varg
    - name
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2898
    functionName: proc_elem_open
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - CREATE_NODE_DURATION
    - CREATE_NODE_QOS
    - CREATE_NODE_LIST
    - CREATE_NODE_VALUE
    - PARSER_ERROR
    - CREATE_NODE_SINGLE
    - free_node
    - ddsrt_strcasecmp
    - new_node
    - PARSER_ERROR_INVALID_PARENT_KIND
    - CREATE_NODE_CUSTOM
    - CREATE_NODE_DURATION_NSEC
    - CREATE_NODE_DURATION_SEC
    - CHECK_PARENT_NULL
    linkageType: ''
    returnType: int
    signature: int proc_elem_open (void *varg, UNUSED_ARG (uintptr_t parentinfo),
      UNUSED_ARG (uintptr_t *eleminfo), const char *name, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2900
    functionDepth: 1
    functionLinenumber: 2900
    functionLinenumberEnd: 2907
    functionName: proc_error
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - PARSER_ERROR
    linkageType: ''
    returnType: void
    signature: void proc_error (void *varg, const char *msg, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2912,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2914,1
    - Dst: dds_sysdef_fini_sysdef
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - xmlps
    - pstate
    - sysdef
    argTypes:
    - struct ddsrt_xmlp_state*
    - struct parse_sysdef_state*
    - struct dds_sysdef_system**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2909
    functionDepth: 1
    functionLinenumber: 2909
    functionLinenumberEnd: 2925
    functionName: sysdef_parse
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_fini_sysdef
    - ddsrt_xmlp_parse
    - SYSDEF_ERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t sysdef_parse(struct ddsrt_xmlp_state *xmlps, struct parse_sysdef_state
      *pstate, struct dds_sysdef_system **sysdef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_xmlp_new_file
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - pstate
    - cb
    argTypes:
    - void*
    - void*
    - struct ddsrt_xmlp_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2932
    functionName: sysdef_xmlp_new_file
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_xmlp_new_file
    linkageType: ''
    returnType: struct ddsrt_xmlp_state
    signature: struct ddsrt_xmlp_state *sysdef_xmlp_new_file(void *fp, void *pstate,
      struct ddsrt_xmlp_callbacks *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_xmlp_new_string
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xml
    - pstate
    - cb
    argTypes:
    - void*
    - void*
    - struct ddsrt_xmlp_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2934
    functionDepth: 1
    functionLinenumber: 2934
    functionLinenumberEnd: 2937
    functionName: sysdef_xmlp_new_string
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_xmlp_new_string
    linkageType: ''
    returnType: struct ddsrt_xmlp_state
    signature: struct ddsrt_xmlp_state *sysdef_xmlp_new_string(void *xml, void *pstate,
      struct ddsrt_xmlp_callbacks *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysdef_xmlp_new_fn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2953,1
    - Dst: sysdef_parse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2954,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - argv
    - sysdef
    - lib_scope
    - sysdef_xmlp_new_fn
    argTypes:
    - void*
    - struct dds_sysdef_system**
    - uint32_t
    - sysdef_xmlp_new_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2939
    functionDepth: 2
    functionLinenumber: 2939
    functionLinenumberEnd: 2957
    functionName: dds_sysdef_init_sysdef_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - sysdef_parse
    - sysdef_xmlp_new_fn
    - ddsrt_xmlp_free
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t dds_sysdef_init_sysdef_impl (\n  void *argv, struct dds_sysdef_system
      **sysdef, uint32_t lib_scope,\n  sysdef_xmlp_new_t sysdef_xmlp_new_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_sysdef_init_sysdef_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - sysdef
    - lib_scope
    argTypes:
    - FILE*
    - struct dds_sysdef_system**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2959
    functionDepth: 3
    functionLinenumber: 2959
    functionLinenumberEnd: 2962
    functionName: dds_sysdef_init_sysdef
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached:
    - dds_sysdef_init_sysdef_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_sysdef_init_sysdef (FILE *fp, struct dds_sysdef_system
      **sysdef, uint32_t lib_scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_sysdef_init_sysdef_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xml
    - sysdef
    - lib_scope
    argTypes:
    - char*
    - struct dds_sysdef_system**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2964
    functionDepth: 3
    functionLinenumber: 2964
    functionLinenumberEnd: 2967
    functionName: dds_sysdef_init_sysdef_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached:
    - dds_sysdef_init_sysdef_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_sysdef_init_sysdef_str (const char *xml, struct dds_sysdef_system
      **sysdef, uint32_t lib_scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_node
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sysdef
    argTypes:
    - struct dds_sysdef_system*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2972
    functionName: dds_sysdef_fini_sysdef
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 3
    functionsReached:
    - free_node
    linkageType: ''
    returnType: void
    signature: void dds_sysdef_fini_sysdef (struct dds_sysdef_system *sysdef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:2994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 2995
    functionName: type_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool type_equal (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3000,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2997
    functionDepth: 1
    functionLinenumber: 2997
    functionLinenumberEnd: 3002
    functionName: type_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached:
    - ddsrt_mh3
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t type_hash (const void *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3007,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3009,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3011,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tmd
    argTypes:
    - struct dds_sysdef_type_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3004
    functionDepth: 0
    functionLinenumber: 3004
    functionLinenumberEnd: 3013
    functionName: free_type_meta_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_type_meta_data (struct dds_sysdef_type_metadata *tmd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3020,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3024,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3030,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3031,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3034,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3038,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3044,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3047,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3056,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3060,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3068,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3072,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3082,1
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - varg
    - name
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3089
    functionName: proc_type_elem_open
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_type_meta_data
    - ddsrt_calloc
    - PARSER_ERROR
    - ddsrt_strcasecmp
    - ddsrt_hh_new
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int proc_type_elem_open (void *varg, UNUSED_ARG (uintptr_t parentinfo),
      UNUSED_ARG (uintptr_t *eleminfo), const char *name, int line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3107,1
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3109,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3113,1
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3115,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3129
    functionName: proc_type_elem_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_type_meta_data
    - PARSER_ERROR
    - ddsrt_hh_add
    linkageType: ''
    returnType: int
    signature: int proc_type_elem_close (void *varg, UNUSED_ARG (uintptr_t eleminfo),
      UNUSED_ARG (int line))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3139,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3140,1
    - Dst: dds_sysdef_parse_hex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3141,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3144,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3145,1
    - Dst: dds_sysdef_parse_hex
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3146,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - varg
    - value
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3131
    functionDepth: 2
    functionLinenumber: 3131
    functionLinenumberEnd: 3154
    functionName: proc_type_elem_data
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_parse_hex
    - ddsrt_malloc
    - PARSER_ERROR
    - strlen
    linkageType: ''
    returnType: int
    signature: int proc_type_elem_data (void *varg, UNUSED_ARG (uintptr_t eleminfo),
      const char *value, int line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3162,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3162,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3162,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3168,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3170,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3180,1
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - varg
    - name
    - value
    - line
    argTypes:
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3156
    functionDepth: 1
    functionLinenumber: 3156
    functionLinenumberEnd: 3187
    functionName: proc_type_attr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_type_meta_data
    - PARSER_ERROR
    - strcmp
    - ddsrt_strcasecmp
    - ddsrt_strdup
    linkageType: ''
    returnType: int
    signature: int proc_type_attr (void *varg, UNUSED_ARG (uintptr_t eleminfo), const
      char *name, const char *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3195,1
    - Dst: PARSER_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3189
    functionDepth: 1
    functionLinenumber: 3189
    functionLinenumberEnd: 3198
    functionName: proc_type_error
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_type_meta_data
    - PARSER_ERROR
    linkageType: ''
    returnType: void
    signature: void proc_type_error (void *varg, const char *msg, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysdef_xmlp_new_fn
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3213,1
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3216,1
    - Dst: SYSDEF_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3217,1
    - Dst: dds_sysdef_fini_data_types
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3220,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src
    - type_meta_data
    - sysdef_xmlp_new_fn
    argTypes:
    - void*
    - struct dds_sysdef_type_metadata_admin**
    - sysdef_xmlp_new_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3200
    functionDepth: 1
    functionLinenumber: 3200
    functionLinenumberEnd: 3229
    functionName: dds_sysdef_init_data_types_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - SYSDEF_ERROR
    - ddsrt_xmlp_parse
    - sysdef_xmlp_new_fn
    - dds_sysdef_fini_data_types
    - ddsrt_xmlp_free
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t dds_sysdef_init_data_types_impl (\n  void *src, struct
      dds_sysdef_type_metadata_admin **type_meta_data,\n  sysdef_xmlp_new_t sysdef_xmlp_new_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_sysdef_init_data_types_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - type_meta_data
    argTypes:
    - FILE*
    - struct dds_sysdef_type_metadata_admin**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 2
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: dds_sysdef_init_data_types
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_init_data_types_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_sysdef_init_data_types (FILE *fp, struct dds_sysdef_type_metadata_admin
      **type_meta_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_sysdef_init_data_types_impl
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xml
    - type_meta_data
    argTypes:
    - char*
    - struct dds_sysdef_type_metadata_admin**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3236
    functionDepth: 2
    functionLinenumber: 3236
    functionLinenumberEnd: 3239
    functionName: dds_sysdef_init_data_types_str
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - dds_sysdef_init_data_types_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_sysdef_init_data_types_str (const char *xml, struct
      dds_sysdef_type_metadata_admin **type_meta_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_type_meta_data
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3246
      start: 3241
    functionDepth: 1
    functionLinenumber: 3241
    functionLinenumberEnd: 3246
    functionName: free_type_meta_data_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 0
    functionsReached:
    - free_type_meta_data
    linkageType: ''
    returnType: void
    signature: void free_type_meta_data_wrap (void *vnode, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3252,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3253,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c:3255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type_meta_data
    argTypes:
    - struct dds_sysdef_type_metadata_admin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3248
    functionDepth: 1
    functionLinenumber: 3248
    functionLinenumberEnd: 3256
    functionName: dds_sysdef_fini_data_types
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    functionUses: 1
    functionsReached:
    - ddsrt_hh_free
    - ddsrt_free
    - ddsrt_hh_enum
    linkageType: ''
    returnType: void
    signature: void dds_sysdef_fini_data_types (struct dds_sysdef_type_metadata_admin
      *type_meta_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - va
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: handle_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t handle_hash (const void *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: handle_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool handle_equal (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:82,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:84,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: dds_handle_server_init
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_init
    - ddsrt_cond_init
    - ddsrt_hh_new
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_handle_server_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:97,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:97,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:99,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:100,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:100,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:107,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:107,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:109,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:110,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ddsrt_hh_iter_first (handles.ht, &it) == NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: dds_handle_server_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldptr
    - DDS_ERROR
    - assert
    - ddsrt_cond_destroy
    - s
    - ddsrt_hh_free
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dds_handle_server_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:122,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:125,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - link
    - implicit
    - refc_counts_children
    - user_access
    argTypes:
    - struct dds_handle_link*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: dds_handle_create_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - ddsrt_hh_add
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: dds_handle_t
    signature: dds_handle_t dds_handle_create_int (struct dds_handle_link *link, bool
      implicit, bool refc_counts_children, bool user_access)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:134,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:137,1
    - Dst: dds_handle_create_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:143,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:144,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - link
    - implicit
    - allow_children
    - user_access
    argTypes:
    - struct dds_handle_link*
    - bool
    - bool
    - bool
    assertStmts:
    - condition: (ret > 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: dds_handle_create
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - dds_handle_create_int
    linkageType: ''
    returnType: dds_handle_t
    signature: dds_handle_t dds_handle_create (struct dds_handle_link *link, bool
      implicit, bool allow_children, bool user_access)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:155,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:158,1
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:164,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:166,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:170,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - link
    - implicit
    - allow_children
    - handle
    argTypes:
    - struct dds_handle_link*
    - bool
    - bool
    - dds_handle_t
    assertStmts:
    - condition: (ret > 0)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 174
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 174
    functionName: dds_handle_register_special
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_hh_add
    - assert
    - ddsrt_mutex_lock
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dds_handle_register_special (struct dds_handle_link *link,
      bool implicit, bool allow_children, dds_handle_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:179,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:180,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:181,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:183,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:184,1
    - Dst: ddsrt_atomic_andptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:186,1
    - Dst: dds_handle_unpin
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((cf & HDL_FLAG_PENDING))
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: (!(cf & HDL_FLAG_CLOSING))
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_REFCOUNT_MASK) >= HDL_REFCOUNT_UNIT || (cf & HDL_FLAG_IMPLICIT))
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: (!(cf & HDL_FLAG_DELETE_DEFERRED))
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_PINCOUNT_MASK) >= 1u)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: dds_handle_unpend
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_andptr
    - assert
    - dds_handle_unpin
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: void
    signature: void dds_handle_unpend (struct dds_handle_link *link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:193,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:196,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:197,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:199,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:201,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:202,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:203,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((cf & HDL_PINCOUNT_MASK) == 1u)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_REFCOUNT_MASK) == 0u)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: (cf & HDL_FLAG_CLOSING)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: (handles.count > 0)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: dds_handle_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_ldptr
    - ddsrt_mutex_lock
    - assert
    - ddsrt_hh_remove_present
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_delete (struct dds_handle_link *link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:224,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:225,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:235,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:249,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - hdl
    - delta
    - from_user
    - link
    argTypes:
    - dds_handle_t
    - uintptr_t
    - bool
    - struct dds_handle_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 253
    functionName: dds_handle_pin_int
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ldptr
    - ddsrt_atomic_casptr
    - ddsrt_mutex_lock
    - ddsrt_hh_lookup
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_pin_int (dds_handle_t hdl, uintptr_t delta, bool
      from_user, struct dds_handle_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_pin_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdl
    - link
    argTypes:
    - dds_handle_t
    - struct dds_handle_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: dds_handle_pin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 0
    functionsReached:
    - dds_handle_pin_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_pin (dds_handle_t hdl, struct dds_handle_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_pin_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdl
    - from_user
    - link
    argTypes:
    - dds_handle_t
    - bool
    - struct dds_handle_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: dds_handle_pin_with_origin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - dds_handle_pin_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_pin_with_origin (dds_handle_t hdl, bool from_user,
      struct dds_handle_link **link)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:280,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:281,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:290,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:310,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:332,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:356,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:383,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:385,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - hdl
    - explicit
    - from_user
    - link
    argTypes:
    - dds_handle_t
    - bool
    - bool
    - struct dds_handle_link**
    assertStmts:
    - condition: ((cf & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: (!(cf & HDL_FLAG_ALLOW_CHILDREN))
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 387
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 387
    functionName: dds_handle_pin_for_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_atomic_ldptr
    - assert
    - ddsrt_mutex_lock
    - ddsrt_hh_lookup
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_pin_for_delete (dds_handle_t hdl, bool explicit,
      bool from_user, struct dds_handle_link **link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:392,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:395,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:400,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:416,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:424,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:429,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - link
    - may_delete_parent
    argTypes:
    - struct dds_handle_link*
    - bool
    assertStmts:
    - condition: ((cf & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 432
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 432
    functionName: dds_handle_drop_childref_and_pin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldptr
    - ddsrt_atomic_casptr
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_drop_childref_and_pin (struct dds_handle_link *link,
      bool may_delete_parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_handle_pin_int
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdl
    - from_user
    - link
    argTypes:
    - dds_handle_t
    - bool
    - struct dds_handle_link**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: dds_handle_pin_and_ref_with_origin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - dds_handle_pin_int
    linkageType: ''
    returnType: int32_t
    signature: int32_t dds_handle_pin_and_ref_with_origin (dds_handle_t hdl, bool
      from_user, struct dds_handle_link **link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_incptr_nv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: dds_handle_repin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_incptr_nv
    linkageType: ''
    returnType: void
    signature: void dds_handle_repin (struct dds_handle_link *link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:448,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:450,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:452,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:454,1
    - Dst: ddsrt_atomic_decptr_nv
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:455,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:457,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((cf & HDL_PINCOUNT_MASK) >= 1u)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_PINCOUNT_MASK) > 1u)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: dds_handle_unpin
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ldptr
    - ddsrt_mutex_lock
    - assert
    - ddsrt_atomic_decptr_nv
    - ddsrt_cond_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_handle_unpin (struct dds_handle_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: dds_handle_add_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr
    linkageType: ''
    returnType: void
    signature: void dds_handle_add_ref (struct dds_handle_link *link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:471,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:472,1
    - Dst: old::old
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:473,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:474,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:475,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:478,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:480,1
    - Dst: HDL_REFCOUNT_MASK::HDL_REFCOUNT_MASK
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((old & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 482
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 482
    functionName: dds_handle_drop_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - HDL_REFCOUNT_MASK::HDL_REFCOUNT_MASK
    - ddsrt_atomic_ldptr
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_broadcast
    - old::old
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_drop_ref (struct dds_handle_link *link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:488,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:489,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:490,1
    - Dst: old::old
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:491,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:492,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:493,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:496,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:498,1
    - Dst: HDL_REFCOUNT_MASK::HDL_REFCOUNT_MASK
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((old & HDL_REFCOUNT_MASK) > 0)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((old & HDL_PINCOUNT_MASK) > 0)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 500
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 500
    functionName: dds_handle_unpin_and_drop_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - HDL_REFCOUNT_MASK::HDL_REFCOUNT_MASK
    - ddsrt_atomic_ldptr
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_broadcast
    - old::old
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_unpin_and_drop_ref (struct dds_handle_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_orptr_ov
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: dds_handle_close
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_orptr_ov
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_close (struct dds_handle_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:511,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:512,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:513,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:515,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:516,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:517,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts:
    - condition: ((cf & HDL_PINCOUNT_MASK) >= 1u)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    - condition: ((cf & HDL_FLAG_CLOSING))
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: dds_handle_close_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldptr
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dds_handle_close_wait (struct dds_handle_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/ddsc/src/dds_handles.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - link
    argTypes:
    - struct dds_handle_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: dds_handle_is_not_refd
    functionSourceFile: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: bool
    signature: bool dds_handle_is_not_refd (struct dds_handle_link *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: dds_err_nr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_err_nr(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: dds_err_line
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_err_line(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: dds_err_file_id
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_err_file_id(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: DDS_OP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: DDS_OP_TYPE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_TYPE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: DDS_OP_TYPE_FLAGS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_TYPE_FLAGS(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: DDS_OP_SUBTYPE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_SUBTYPE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: DDS_OP_FLAGS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_FLAGS(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: DDS_OP_ADR_JSR
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_ADR_JSR(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: DDS_OP_ADR_PLM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_ADR_PLM(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: DDS_OP_LENGTH
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_LENGTH(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: DDS_OP_JUMP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_JUMP(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: DDS_OP_ADR_JMP
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_ADR_JMP(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: DDS_JEQ_TYPE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_JEQ_TYPE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: DDS_JEQ_TYPE_FLAGS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_JEQ_TYPE_FLAGS(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: DDS_PLM_FLAGS
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_PLM_FLAGS(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: DDS_OP_FLAGS_SZ
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_FLAGS_SZ(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: DDS_OP_TYPE_SZ
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_OP_TYPE_SZ(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loaned_sample
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: dds_loaned_sample_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_loaned_sample_ref (dds_loaned_sample_t *loaned_sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h:134,1
    - Dst: dds_loaned_sample_t*::ops::free
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - loaned_sample
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: dds_loaned_sample_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    functionUses: 11
    functionsReached:
    - ddsrt_atomic_dec32_ov
    - dds_loaned_sample_t*::ops::free
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_loaned_sample_unref (dds_loaned_sample_t *loaned_sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: DDS_DYNAMIC_TYPE_SPEC
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_TYPE_SPEC(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: DDS_DYNAMIC_TYPE_SPEC_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_TYPE_SPEC_PRIM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - member_type_spec
    - ','
    - member_name
    - ','
    - member_id
    - ','
    - member_index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: DDS_DYNAMIC_MEMBER_
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_MEMBER_(member_type_spec,member_name,member_id,member_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - ','
    - member_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: DDS_DYNAMIC_MEMBER_ID
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_MEMBER_ID(member_type,member_name,member_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - ','
    - member_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: DDS_DYNAMIC_MEMBER_ID_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_MEMBER_ID_PRIM(member_prim_type,member_name,member_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: DDS_DYNAMIC_MEMBER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_MEMBER(member_type,member_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: DDS_DYNAMIC_MEMBER_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_MEMBER_PRIM(member_prim_type,member_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - member_type_spec
    - ','
    - member_name
    - ','
    - member_id
    - ','
    - member_index
    - ','
    - member_num_labels
    - ','
    - member_labels
    - ','
    - member_is_default
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: DDS_DYNAMIC_UNION_MEMBER_
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_(member_type_spec,member_name,member_id,member_index,member_num_labels,member_labels,member_is_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - ','
    - member_id
    - ','
    - member_num_labels
    - ','
    - member_labels
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: DDS_DYNAMIC_UNION_MEMBER_ID
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_ID(member_type,member_name,member_id,member_num_labels,member_labels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - ','
    - member_id
    - ','
    - member_num_labels
    - ','
    - member_labels
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: DDS_DYNAMIC_UNION_MEMBER_ID_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_ID_PRIM(member_prim_type,member_name,member_id,member_num_labels,member_labels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - ','
    - member_num_labels
    - ','
    - member_labels
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: DDS_DYNAMIC_UNION_MEMBER
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER(member_type,member_name,member_num_labels,member_labels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - ','
    - member_num_labels
    - ','
    - member_labels
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: DDS_DYNAMIC_UNION_MEMBER_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_PRIM(member_prim_type,member_name,member_num_labels,member_labels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - ','
    - member_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID(member_type,member_name,member_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - ','
    - member_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID_PRIM(member_prim_type,member_name,member_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member_type
    - ','
    - member_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: DDS_DYNAMIC_UNION_MEMBER_DEFAULT
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_DEFAULT(member_type,member_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member_prim_type
    - ','
    - member_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_PRIM
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_PRIM(member_prim_type,member_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: DDS_DYNAMIC_ENUM_LITERAL_VALUE
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_DYNAMIC_ENUM_LITERAL_VALUE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::associate
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rhc
    - reader
    - type
    - tkmap
    argTypes:
    - struct dds_rhc*
    - struct dds_reader*
    - struct ddsi_sertype*
    - struct ddsi_tkmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: dds_return_t::dds_rhc_associate
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 0
    functionsReached:
    - struct dds_rhc*::common::ops::associate
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_return_t dds_rhc_associate (struct dds_rhc *rhc,
      struct dds_reader *reader, const struct ddsi_sertype *type, struct ddsi_tkmap
      *tkmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::rhc_ops::store
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rhc
    - wr_info
    - sample
    - tk
    argTypes:
    - struct dds_rhc*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: dds_rhc_store
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 2
    functionsReached:
    - struct dds_rhc*::common::ops::rhc_ops::store
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_store (struct dds_rhc *rhc, const struct
      ddsi_writer_info *wr_info, struct ddsi_serdata *sample, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::rhc_ops::unregister_wr
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - wr_info
    argTypes:
    - struct dds_rhc*
    - struct ddsi_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: dds_rhc_unregister_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 0
    functionsReached:
    - struct dds_rhc*::common::ops::rhc_ops::unregister_wr
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_unregister_wr (struct dds_rhc *rhc, const
      struct ddsi_writer_info *wr_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::rhc_ops::relinquish_ownership
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - wr_iid
    argTypes:
    - struct dds_rhc*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: dds_rhc_relinquish_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 0
    functionsReached:
    - struct dds_rhc*::common::ops::rhc_ops::relinquish_ownership
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_relinquish_ownership (struct dds_rhc *rhc,
      const uint64_t wr_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::rhc_ops::set_qos
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - qos
    argTypes:
    - struct dds_rhc*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: dds_rhc_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 0
    functionsReached:
    - struct dds_rhc*::common::ops::rhc_ops::set_qos
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_set_qos (struct dds_rhc *rhc, const struct
      dds_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::rhc_ops::free
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct dds_rhc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: dds_rhc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached:
    - struct dds_rhc*::common::ops::rhc_ops::free
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_free (struct dds_rhc *rhc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rhc
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - struct dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: dds_rhc_peek
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_peek (struct dds_rhc *rhc, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, struct dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rhc
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - struct dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: dds_rhc_read
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_read (struct dds_rhc *rhc, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, struct dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::take
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rhc
    - max_samples
    - mask
    - handle
    - cond
    - collect_sample
    - collect_sample_arg
    argTypes:
    - struct dds_rhc*
    - int32_t
    - uint32_t
    - dds_instance_handle_t
    - struct dds_readcond*
    - dds_read_with_collector_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: dds_rhc_take
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached:
    - struct dds_rhc*::common::ops::take
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_take (struct dds_rhc *rhc, int32_t max_samples,
      uint32_t mask, dds_instance_handle_t handle, struct dds_readcond *cond, dds_read_with_collector_fn_t
      collect_sample, void *collect_sample_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::add_readcondition
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - cond
    argTypes:
    - struct dds_rhc*
    - struct dds_readcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: dds_rhc_add_readcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached:
    - struct dds_rhc*::common::ops::add_readcondition
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_add_readcondition (struct dds_rhc *rhc, struct
      dds_readcond *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_rhc*::common::ops::remove_readcondition
      Src: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - cond
    argTypes:
    - struct dds_rhc*
    - struct dds_readcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: dds_rhc_remove_readcondition
    functionSourceFile: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    functionUses: 1
    functionsReached:
    - struct dds_rhc*::common::ops::remove_readcondition
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_rhc_remove_readcondition (struct dds_rhc *rhc,
      struct dds_readcond *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:8,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:15,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:16,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:17,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:18,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:19,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:20,1
    - Dst: UINT16_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:21,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:26,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:27,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:28,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:29,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:34,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:35,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:36,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:39,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:40,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:41,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:42,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:43,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:44,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:45,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:46,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:49,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:52,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:53,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:54,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:55,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:56,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:57,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:58,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:59,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:60,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:61,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:62,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:63,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:64,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:65,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:66,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:70,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:72,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:73,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:74,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:75,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:76,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:77,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:78,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:79,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:80,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:81,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:82,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:83,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:85,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:86,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:87,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:88,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:89,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:90,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:91,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:92,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:93,1
    - Dst: INT64_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:94,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:96,1
    - Dst: INT32_C
      Src: /src/cyclonedds/src/core/ddsi/defconfig.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ddsi_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 105
    functionName: ddsi_config_init_default
    functionSourceFile: /src/cyclonedds/src/core/ddsi/defconfig.c
    functionUses: 1
    functionsReached:
    - UINT16_C
    - UINT32_C
    - INT32_C
    - INT64_C
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_config_init_default (struct ddsi_config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:46,1
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:47,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:48,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:50,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:51,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:52,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:53,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:56,1
    - Dst: ddsi_vnet_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cfgst != NULL)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 16
    functionsReached:
    - assert
    - ddsrt_getenv
    - ddsrt_init
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_vnet_init
    - ddsi_config_prep
    - ddsi_config_init
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:63,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:64,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:65,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:66,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 7
    functionsReached:
    - ddsi_iid_fini
    - ddsi_thread_states_fini
    - ddsrt_fini
    - ddsi_config_fini
    - ddsi_fini
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:72,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:75,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:77,1
    - Dst: ddsi_start
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:78,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:82,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:83,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: setup_and_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_start
    - setup
    - ddsrt_atomic_stvoidp
    - assert
    - dds_log_cfg_init
    - ddsi_lookup_thread_state
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void setup_and_start (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:92,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:94,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: stop_and_teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_stop
    - teardown
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void stop_and_teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: sertype_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sertype_free (struct ddsi_sertype *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - whc
    argTypes:
    - struct ddsi_whc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: whc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void whc_free (struct ddsi_whc *whc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - whc
    - st
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: whc_get_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void whc_get_state (const struct ddsi_whc *whc, struct ddsi_whc_state
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - whc
    - max_drop_seq
    - whcst
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - struct ddsi_whc_state*
    - struct ddsi_whc_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: whc_remove_acked_messages
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t whc_remove_acked_messages (struct ddsi_whc *whc, ddsi_seqno_t
      max_drop_seq, struct ddsi_whc_state *whcst, struct ddsi_whc_node **deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - whc
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: whc_free_deferred_free_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void whc_free_deferred_free_list (struct ddsi_whc *whc, struct ddsi_whc_node
      *deferred_free_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:119,1
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:119,1
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:119,1
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:119,1
    - Dst: PSMXLOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:120,1
    - Dst: PSMXLOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:120,1
    - Dst: PSMXLOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:120,1
    - Dst: PSMXLOC
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:120,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:125,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:125,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:125,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:125,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:128,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:128,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:128,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:128,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:143,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:143,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:143,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:143,1
    - Dst: setup_and_start
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:146,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:147,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:147,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:148,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:149,1
    - Dst: DDSRT_ATOMIC_VOIDP_INIT
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:160,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:161,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:167,1
    - Dst: ddsi_generate_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:179,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:180,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:183,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:183,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:186,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:201,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:204,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:205,1
    - Dst: ddsi_new_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:206,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:206,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:206,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:207,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:218,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:219,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:220,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:226,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:230,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:230,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:232,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:232,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:234,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:235,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:240,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:241,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:243,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:244,1
    - Dst: ddsi_log_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:245,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:246,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:248,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:249,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:251,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:251,1
    - Dst: stop_and_teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 4
    argNames:
    - casenumber
    - cost
    - wr_psmx
    - nrds
    argTypes:
    - int
    - int
    - bool
    - int[]
    assertStmts:
    - condition: (proxy_reader)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    - condition: (ddsi_entidx_lookup_writer_guid (gv.entity_index, &wrguid))
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    - condition: (proxy_participant != NULL)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    constantsTouched: []
    func_position:
      end: 253
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 253
    functionName: ddsi_wraddrset_some_cases
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - setup_and_start
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsi_new_participant
    - PLIST_PP
    - ddsi_ref_addrset
    - ddsi_generate_participant_guid
    - ddsi_generate_writer_guid
    - ddsi_new_proxy_reader
    - UNILOCS
    - ddsi_thread_state_asleep
    - ddsrt_time_wallclock
    - ddsi_entidx_lookup_writer_guid
    - stop_and_teardown
    - ddsi_thread_state_awake
    - assert
    - ddsi_add_locator_to_addrset
    - ddsi_new_writer
    - ddsi_log_addrset
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    - DDSRT_ATOMIC_VOIDP_INIT
    - ddsi_factory_find_supported_kind
    - UNILOC
    - ddsi_new_proxy_participant
    - PSMXLOC
    - ddsi_unref_addrset
    - ddsi_add_xlocator_to_addrset
    - ddsi_new_addrset
    - UNILOC1
    linkageType: ''
    returnType: void
    signature: void ddsi_wraddrset_some_cases (int casenumber, int cost, bool wr_psmx,
      const int nrds[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: UNILOC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOC(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: PSMXLOC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSMXLOC(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: UNILOC1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOC1(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: UNILOCS
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOCS(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: PLIST_PP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLIST_PP(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_wraddrset_some_cases
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:274,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_wraddrset_some_cases
    - CU_PASS
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_wraddrset, some_cases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:48,1
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:49,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:50,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:52,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:53,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:54,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:55,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:58,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cfgst != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 17
    functionsReached:
    - assert
    - ddsrt_getenv
    - ddsrt_init
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_rbufpool_new
    - ddsi_config_prep
    - ddsi_config_init
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:64,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:65,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:66,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:67,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:68,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 9
    functionsReached:
    - ddsi_iid_fini
    - ddsi_thread_states_fini
    - ddsrt_fini
    - ddsi_rbufpool_free
    - ddsi_config_fini
    - ddsi_fini
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:74,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:77,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:79,1
    - Dst: ddsi_start
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:80,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:84,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:85,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: setup_and_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 1
    functionsReached:
    - ddsi_start
    - setup
    - ddsrt_atomic_stvoidp
    - assert
    - dds_log_cfg_init
    - ddsi_lookup_thread_state
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void setup_and_start (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:94,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:96,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: stop_and_teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 1
    functionsReached:
    - ddsi_stop
    - teardown
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void stop_and_teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: serdata_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void serdata_free (struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:112,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:113,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - st
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: serdata_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_serdata_init
    - printf
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_from_ser (const struct ddsi_sertype *st,
      enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: serdata_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_to_untyped (const struct ddsi_serdata
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: serdata_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool serdata_eqkey (const struct ddsi_serdata *a, const struct ddsi_serdata
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sd0
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: serdata_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_get_size (const struct ddsi_serdata *sd0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:148,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: sertype_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_sertype_fini
    linkageType: ''
    returnType: void
    signature: void sertype_free (struct ddsi_sertype *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: sertype_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_hash (const struct ddsi_sertype *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: sertype_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sertype_equal (const struct ddsi_sertype *a, const struct ddsi_sertype
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:176,1
    - Dst: ddsi_sertype_init_props
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - with_key
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: sertype_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_init_props
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *sertype_new (bool with_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct ddsi_rhc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: rhc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rhc_free (struct ddsi_rhc *rhc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - rhc
    - wrinfo
    - sample
    - tk
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: rhc_store
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rhc_store (struct ddsi_rhc *rhc, const struct ddsi_writer_info
      *wrinfo, struct ddsi_serdata *sample, struct ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rhc
    - wrinfo
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: rhc_unregister_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rhc_unregister_wr (struct ddsi_rhc *rhc, const struct ddsi_writer_info
      *wrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rhc
    - wr_iid
    argTypes:
    - struct ddsi_rhc*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: rhc_relinquish_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rhc_relinquish_ownership (struct ddsi_rhc *rhc, const uint64_t
      wr_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rhc
    - qos
    argTypes:
    - struct ddsi_rhc*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: rhc_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rhc_set_qos (struct ddsi_rhc *rhc, const struct dds_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: isnullguid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isnullguid (const ddsi_guid_t *guid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:236,1
    - Dst: UNILOC
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:236,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:241,1
    - Dst: UNILOC1
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:241,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:244,1
    - Dst: UNILOCS
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:244,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:259,1
    - Dst: PLIST_PP
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:259,1
    - Dst: setup_and_start
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:262,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:263,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:263,1
    - Dst: isnullguid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:264,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:265,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:271,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:272,1
    - Dst: sertype_new
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:275,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:276,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:277,1
    - Dst: ddsi_sertype_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:277,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:278,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:279,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:282,1
    - Dst: isnullguid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:285,1
    - Dst: ddsi_generate_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:288,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:291,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:292,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:292,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:295,1
    - Dst: isnullguid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:298,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:310,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:313,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:314,1
    - Dst: ddsi_new_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:315,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:315,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:315,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:316,1
    - Dst: isnullguid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:318,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:332,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:333,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:334,1
    - Dst: ddsi_new_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:337,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:337,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:338,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:339,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:340,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 4
    argNames:
    - rdguid
    - wrguid
    - with_key
    - next_seqno
    argTypes:
    - ddsi_guid_t*
    - ddsi_guid_t*
    - bool
    - ddsi_seqno_t
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    - condition: (proxy_writer)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    - condition: (ddsi_entidx_lookup_reader_guid (gv.entity_index, rdguid))
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    - condition: (proxy_participant != NULL)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    - condition: (ddsi_sertype_lookup_locked (&gv, st) == NULL)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    constantsTouched: []
    func_position:
      end: 341
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 341
    functionName: receive_packet_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsi_generate_reader_guid
    - ddsi_new_addrset
    - ddsi_sertype_unref
    - setup_and_start
    - isnullguid
    - ddsi_new_participant
    - sertype_new
    - PLIST_PP
    - ddsrt_mutex_lock
    - ddsi_ref_addrset
    - ddsi_generate_participant_guid
    - ddsi_sertype_register_locked
    - ddsi_thread_state_asleep
    - UNILOCS
    - ddsrt_time_wallclock
    - ddsi_thread_state_awake
    - ddsi_sertype_lookup_locked
    - assert
    - ddsi_add_locator_to_addrset
    - ddsi_new_proxy_writer
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    - ddsi_entidx_lookup_reader_guid
    - UNILOC
    - ddsi_new_reader
    - ddsi_new_proxy_participant
    - ddsi_unref_addrset
    - UNILOC1
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void receive_packet_init (ddsi_guid_t *rdguid, ddsi_guid_t *wrguid,
      bool with_key, ddsi_seqno_t next_seqno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: UNILOC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOC(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: UNILOC1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOC1(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: UNILOCS
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNILOCS(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: PLIST_PP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLIST_PP(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop_and_teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: receive_packet_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - stop_and_teardown
    linkageType: ''
    returnType: void
    signature: void receive_packet_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:351,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: ddsi_guid_from_octets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsi_ntoh_guid
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t ddsi_guid_from_octets (const unsigned char x[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_guid_from_octets
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:358,1
    - Dst: receive_packet_init
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:405,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:408,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:415,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:416,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:417,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:418,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:420,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:421,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:422,1
    - Dst: receive_packet_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:424,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 426
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    functionUses: 0
    functionsReached:
    - ddsi_handle_rtps_message
    - receive_packet_fini
    - ddsi_rmsg_new
    - CU_ASSERT_NEQ
    - ddsi_guid_from_octets
    - memcpy
    - DDSI_RMSG_PAYLOAD
    - receive_packet_init
    - ddsi_rmsg_setsize
    - ddsi_conn_locator
    - ddsi_rmsg_commit
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_receive_packet, rti_dispose_with_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_participant_generic_message_init
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:281,1
    - Dst: ddsi_plist_equal_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:293,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:294,1
    - Dst: ddsi_participant_generic_message_serialize
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:297,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:298,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:299,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:300,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:304,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:305,1
    - Dst: ddsi_participant_generic_message_deseralize
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:308,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:309,1
    - Dst: ddsi_plist_equal_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:312,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:313,1
    - Dst: ddsi_participant_generic_message_deinit
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:316,1
    - Dst: ddsi_participant_generic_message_deinit
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:317,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/security_msg.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 319
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/security_msg.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsi_participant_generic_message_serialize
    - CU_ASSERT_GT
    - CU_ASSERT_MEMEQ
    - ddsrt_free
    - ddsi_participant_generic_message_deseralize
    - ddsi_participant_generic_message_init
    - ddsi_plist_equal_generic
    - ddsi_participant_generic_message_deinit
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_security_msg, serializer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_ser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:168,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:169,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:171,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:174,1
    - Dst: ddsi_plist_memsize_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:176,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:178,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:181,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:182,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:185,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:188,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:189,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:191,1
    - Dst: ddsi_plist_equal_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:193,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:194,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:202,1
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:204,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 208
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_fini_generic
    - CU_ASSERT_MEMEQ
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - memmove
    - CU_ASSERT
    - ddsrt_realloc
    - memset
    - ddsi_plist_equal_generic
    - ddsi_plist_ser_generic
    - ddsi_plist_memsize_generic
    - CU_ASSERT_LEQ_FATAL
    - ddsi_plist_deser_generic
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist_generic, ser_and_deser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_ser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:223,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:224,1
    - Dst: ddsi_plist_unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:226,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:227,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:228,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:229,1
    - Dst: ddsi_plist_equal_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:230,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:231,1
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_fini_generic
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - CU_ASSERT
    - memset
    - ddsi_plist_unalias_generic
    - ddsi_plist_equal_generic
    - ddsi_plist_deser_generic
    - ddsi_plist_ser_generic
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist_generic, unalias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:282,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:286,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:287,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:288,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - ddsi_plist_deser_generic
    - ddsrt_malloc
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist_generic, invalid_input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:309,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:310,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:311,1
    - Dst: SER32
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:312,1
    - Dst: ddsi_plist_ser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:323,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:324,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:325,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:328,1
    - Dst: ddsi_plist_memsize_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:330,1
    - Dst: CU_ASSERT_LEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:331,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:332,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:333,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:334,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:336,1
    - Dst: ddsi_plist_equal_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:336,1
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:337,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 339
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    functionUses: 0
    functionsReached:
    - SER32
    - ddsi_plist_fini_generic
    - CU_ASSERT_NEQ
    - CU_ASSERT_MEMEQ
    - CU_ASSERT_EQ_FATAL
    - ddsrt_free
    - memset
    - ddsi_plist_equal_generic
    - CU_ASSERT_EQ
    - ddsi_plist_memsize_generic
    - CU_ASSERT_LEQ_FATAL
    - ddsi_plist_deser_generic
    - ddsi_plist_ser_generic
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist_generic, optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ishexdigit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool ishexdigit (unsigned char c)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:46,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:49,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:54,1
    - Dst: ishexdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:55,1
    - Dst: isalpha
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:56,1
    - Dst: isalpha
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:60,1
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:61,1
    - Dst: ishexdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:65,1
    - Dst: isalpha
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:66,1
    - Dst: ishexdigit
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:70,1
    - Dst: isalpha
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:71,1
    - Dst: isalnum
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:75,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:81,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: looks_like_stackframe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 0
    functionsReached:
    - isdigit
    - ishexdigit
    - isalpha
    - printf
    - isalnum
    linkageType: ''
    returnType: bool
    signature: bool looks_like_stackframe (const char *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:89,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:93,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:93,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:97,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:104,1
    - Dst: looks_like_stackframe
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 0
    functionsReached:
    - strstr
    - looks_like_stackframe
    - printf
    linkageType: ''
    returnType: void
    signature: void logger (void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:121,1
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:122,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:123,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:124,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 18
    functionsReached:
    - dds_set_log_sink
    - dds_set_trace_sink
    - dds_log_cfg_init
    - dds_set_log_mask
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:132,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:133,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 11
    functionsReached:
    - ddsrt_fini
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:169,1
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:171,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:173,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: log_stacktrace_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_signal
    - ddsrt_cond_wait
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void log_stacktrace_helper (const void *vnode, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_const_walk
      Src: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: log_stacktrace_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_const_walk
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t log_stacktrace_thread (void *varg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:42,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:46,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:49,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:54,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 59
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_is_nearby_address
    - CU_ASSERT_EQ
    - printf
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_ipaddr, is_nearby_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:33,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:37,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:46,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:56,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:60,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:61,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:63,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:66,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:67,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:68,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:69,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:70,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:72,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:73,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:74,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:75,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:80,1
    - Dst: ddsi_plist_copy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:81,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:82,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:83,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:84,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:85,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:86,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:87,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:88,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:89,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:90,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:91,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:92,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:93,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:94,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:96,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:97,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:98,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:99,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:100,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:101,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:102,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:103,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:104,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:105,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:106,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:107,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:108,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:109,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:110,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:111,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:118,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:119,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:120,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:121,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:122,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:123,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:124,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:125,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:126,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:127,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:128,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:129,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:130,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:131,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:132,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:133,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:135,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:136,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:137,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:138,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:139,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:140,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:141,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:142,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:143,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:144,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:145,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:146,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:147,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:148,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:149,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:150,1
    - Dst: ddsi_plist_unalias
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:154,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:156,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:157,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:158,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:159,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:160,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:161,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:162,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:163,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:164,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:165,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:166,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:168,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:169,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:170,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:171,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:172,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:173,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:174,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:175,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:178,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:182,1
    - Dst: ddsi_plist_copy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:183,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:184,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:185,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:186,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:187,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:188,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:189,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:190,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:191,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:192,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:193,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:194,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:195,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:196,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:198,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:199,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:200,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:201,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:202,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:203,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:204,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:205,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:206,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:207,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:208,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:209,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:210,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:211,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:212,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:213,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:220,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:221,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:222,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:223,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:224,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:225,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:226,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:227,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:228,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:229,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:230,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:231,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:232,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:233,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:234,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:235,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:237,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:238,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:239,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:240,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:241,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:242,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:243,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:244,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:245,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:246,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:247,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:248,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:249,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:250,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:251,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:252,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:255,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:256,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:257,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:258,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 188
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 260
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_MEMEQ
    - CU_ASSERT_STREQ
    - ddsi_plist_mergein_missing
    - ddsi_plist_init_empty
    - memcpy
    - ddsrt_memdup
    - ddsi_plist_fini
    - ddsi_plist_copy
    - ddsrt_malloc
    - ddsi_plist_unalias
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist, unalias_copy_merge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: HDR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR(id, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:278,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:279,1
    - Dst: ddsi_udp_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:282,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:283,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:284,1
    - Dst: ddsi_tcp_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:289,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:290,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - gv
    - factories
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 18
    functionsReached:
    - ddsi_tcp_init
    - ddsi_factory_find
    - ddsi_udp_init
    - dds_log_cfg_init
    - memset
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void setup (struct ddsi_domaingv *gv, uint32_t factories)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 11
    functionsReached:
    - ddsi_factory_free
    linkageType: ''
    returnType: void
    signature: void teardown (struct ddsi_domaingv *gv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:319,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:334,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:337,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:337,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:337,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:338,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:358,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:361,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:364,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:368,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:369,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:370,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:371,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 377
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 0
    functionsReached:
    - setup
    - ddsi_plist_fini
    - HDR
    - printf
    - teardown
    - ddsi_plist_init_frommsg
    - CU_ASSERT_EQ
    - SER32BE
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist, locator_lists_reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: UDPLOCATOR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDPLOCATOR(a,b,c,d,port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: TCPLOCATOR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCPLOCATOR(a,b,c,d,port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:403,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:422,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:422,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:423,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:423,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:424,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:424,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:425,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:425,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:426,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:426,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:427,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:427,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:428,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:428,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:429,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:429,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:430,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:431,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:432,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:432,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:433,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:433,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:434,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:434,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:435,1
    - Dst: TCPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:435,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:436,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:448,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:449,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:450,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:454,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:459,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:460,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:469,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:470,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:471,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:472,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:473,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:474,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:486,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:487,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:488,1
    - Dst: CU_ASSERT_MEMEQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:489,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:492,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:493,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:495,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/plist.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 499
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_NEQ
    - ddsrt_fromBE4u
    - CU_ASSERT_MEMEQ
    - ddsrt_fromBE2u
    - memcpy
    - ddsi_plist_fini
    - HDR
    - UDPLOCATOR
    - CU_ASSERT_NEQ_FATAL
    - TCPLOCATOR
    - teardown
    - ddsi_plist_init_frommsg
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_plist, locator_lists_accept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - varg
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: null_log_sink
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void null_log_sink (void *varg, const dds_log_data_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:32,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:33,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:38,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:40,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:42,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:44,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:45,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:48,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:49,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:50,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:52,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:53,1
    - Dst: ddsi_rbufpool_setowner
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:54,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 20
    functionsReached:
    - ddsi_rbufpool_setowner
    - dds_set_log_sink
    - ddsrt_atomic_stvoidp
    - dds_set_trace_sink
    - ddsrt_thread_self
    - assert
    - memset
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_config_init_default
    - ddsi_rbufpool_new
    - ddsi_lookup_thread_state
    - ddsi_config_prep
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:59,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:60,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:66,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 13
    functionsReached:
    - ddsi_rbufpool_free
    - ddsi_iid_fini
    - ddsi_thread_states_fini
    - ddsi_fini
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rdata_newgap
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:72,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:75,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:76,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reorder
    - rmsg
    - seq
    argTypes:
    - struct ddsi_reorder*
    - struct ddsi_rmsg*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: insert_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_rdata_newgap
    - ddsi_fragchain_adjust_refcount
    - CU_ASSERT_EQ_FATAL
    - ddsi_reorder_gap
    linkageType: ''
    returnType: void
    signature: void insert_gap (struct ddsi_reorder *reorder, struct ddsi_rmsg *rmsg,
      ddsi_seqno_t seq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:83,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:83,1
    - Dst: ddsi_reorder_stats
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:87,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:90,1
    - Dst: ddsi_reorder_wantsample
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:94,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:95,1
    - Dst: ddsi_reorder_wantsample
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:100,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:102,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:105,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - reorder
    - ndiscard
    - next_exp
    - end
    - present
    argTypes:
    - struct ddsi_reorder*
    - uint64_t
    - ddsi_seqno_t
    - ddsi_seqno_t
    - ddsi_seqno_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 107
    functionName: check_reorder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsi_reorder_wantsample
    - printf
    - ddsi_reorder_next_seq
    - ddsi_reorder_stats
    linkageType: ''
    returnType: void
    signature: void check_reorder (struct ddsi_reorder *reorder, uint64_t ndiscard,
      ddsi_seqno_t next_exp, ddsi_seqno_t end, const ddsi_seqno_t *present)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:111,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:112,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:114,1
    - Dst: ddsi_rdata_new
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:118,1
    - Dst: ddsi_defrag_rsample
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:119,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:120,1
    - Dst: ddsi_rsample_fragchain
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:124,1
    - Dst: ddsi_reorder_rsample
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:125,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:126,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/tests/radmin.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - defrag
    - reorder
    - rmsg
    - rst
    - seq
    argTypes:
    - struct ddsi_defrag*
    - struct ddsi_reorder*
    - struct ddsi_rmsg*
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: insert_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_rdata_new
    - CU_ASSERT_EQ_FATAL
    - ddsi_defrag_rsample
    - memset
    - ddsi_rmsg_alloc
    - ddsi_rsample_fragchain
    - ddsi_fragchain_adjust_refcount
    - ddsi_reorder_rsample
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void insert_sample (struct ddsi_defrag *defrag, struct ddsi_reorder
      *reorder, struct ddsi_rmsg *rmsg, struct ddsi_receiver_state *rst, ddsi_seqno_t
      seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - loc
    - n
    argTypes:
    - ddsi_locator_t*
    - size_t
    assertStmts:
    - condition: (n <= sizeof (loc->address))
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/tests/locators.c
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: prefix_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool prefix_zero (const ddsi_locator_t *loc, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:33,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - loc
    - x
    argTypes:
    - ddsi_locator_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: check_ipv4_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - prefix_zero
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool check_ipv4_address (const ddsi_locator_t *loc, const uint8_t x[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:39,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - loc
    - x
    argTypes:
    - ddsi_locator_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: check_ipv64_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - prefix_zero
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool check_ipv64_address (const ddsi_locator_t *loc, const uint8_t
      x[4])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:45,1
    - Dst: ddsi_udp_init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:47,1
    - Dst: ddsi_tcp_init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:48,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:51,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:52,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:53,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - gv
    - tr
    argTypes:
    - struct ddsi_domaingv*
    - enum ddsi_transport_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 359
    functionsReached:
    - ddsi_tcp_init
    - ddsi_factory_find
    - ddsi_udp_init
    - memset
    linkageType: ''
    returnType: struct ddsi_tran_factory
    signature: struct ddsi_tran_factory *init (struct ddsi_domaingv *gv, enum ddsi_transport_selector
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_free
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 102
    functionsReached:
    - ddsi_factory_free
    linkageType: ''
    returnType: void
    signature: void fini (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:72,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:75,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:76,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:77,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:78,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:79,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:80,1
    - Dst: fini
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - fini
    - ddsi_locator_from_string
    - CU_ASSERT_EQ_FATAL
    - init
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_locator_from_string, bogusproto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:203,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:206,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:207,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:208,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:209,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:210,1
    - Dst: check_ipv4_address
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:210,1
    - Dst: fini
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - fini
    - ddsi_locator_from_string
    - CU_ASSERT_EQ_FATAL
    - check_ipv4_address
    - init
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_locator_from_string, ipv4_cross1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:217,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:220,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:221,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:222,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:223,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:224,1
    - Dst: check_ipv4_address
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:224,1
    - Dst: fini
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - fini
    - ddsi_locator_from_string
    - CU_ASSERT_EQ_FATAL
    - check_ipv4_address
    - init
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_locator_from_string, ipv4_cross2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:231,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:234,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:235,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:236,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:237,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:238,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:239,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:240,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:241,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:242,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:244,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:245,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:246,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:247,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:248,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:249,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:250,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:251,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:252,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:253,1
    - Dst: fini
      Src: /src/cyclonedds/src/core/ddsi/tests/locators.c:254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 255
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/locators.c
    functionUses: 0
    functionsReached:
    - fini
    - ddsi_locator_from_string
    - CU_ASSERT_EQ_FATAL
    - init
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test (ddsi_locator_from_string, udpv4mcgen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: HDR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR(id, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: RLD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RLD(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - k
    - ','
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: RLL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RLL(k, s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: LD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - k
    - ','
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: LL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL(k, s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:105,1
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:106,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:107,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:109,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:111,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:112,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:113,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cfgst != NULL)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 20
    functionsReached:
    - assert
    - ddsrt_getenv
    - ddsrt_init
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_rbufpool_new
    - ddsi_config_prep
    - ddsi_config_init
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:119,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:120,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:121,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:122,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:123,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 13
    functionsReached:
    - ddsi_iid_fini
    - ddsi_thread_states_fini
    - ddsrt_fini
    - ddsi_rbufpool_free
    - ddsi_config_fini
    - ddsi_fini
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: UDPLOCATOR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDPLOCATOR(a,b,c,d,port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:233,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:234,1
    - Dst: ddsi_start
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:235,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:239,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:240,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: setup_and_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 2
    functionsReached:
    - ddsi_start
    - setup
    - ddsrt_atomic_stvoidp
    - assert
    - ddsi_lookup_thread_state
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void setup_and_start (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:249,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:252,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:254,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: stop_and_teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 2
    functionsReached:
    - ddsi_stop
    - teardown
    - ddsi_lookup_thread_state
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void stop_and_teardown (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:260,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:277,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:278,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:279,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:279,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:282,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:283,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:284,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:284,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:285,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:286,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:287,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:287,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:288,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:288,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:291,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:291,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:291,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:297,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:302,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:309,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:310,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:312,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:316,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:319,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:321,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:322,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:323,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:327,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:327,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:329,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:330,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:332,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:333,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:333,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:334,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:335,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:340,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:341,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:342,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:344,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:346,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:346,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:348,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - include_lease_duration
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 350
    functionName: ddsi_plist_leasedur_new_proxypp_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_new
    - DDS_SECS
    - ddsi_entidx_lookup_proxy_participant_guid
    - CU_ASSERT_EQ_FATAL
    - memcpy
    - ddsi_thread_state_asleep
    - DDS_MSECS
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_awake
    - HDR
    - DDSI_RMSG_PAYLOAD
    - UDPLOCATOR
    - ddsi_rmsg_setsize
    - ddsi_ntoh_guid_prefix
    - ddsi_lookup_thread_state
    - SER32BE
    - ddsi_handle_rtps_message
    - dds_time
    - dds_sleepfor
    - ddsi_conn_locator
    - ddsi_rmsg_commit
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_leasedur_new_proxypp_impl (bool include_lease_duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:364,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:368,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:371,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:372,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:373,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:374,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:375,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:376,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:377,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:394,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:395,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:396,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:396,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:397,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:397,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:398,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:406,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:407,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:408,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:408,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:411,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:412,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:413,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:413,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:414,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:414,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:417,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:418,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:419,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:419,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:425,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:429,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:436,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:437,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:439,1
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:441,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:442,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:444,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:446,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:450,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:453,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:455,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:456,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:457,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:461,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:461,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:463,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:464,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:466,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:467,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:467,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:468,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:469,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:474,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:475,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:477,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:478,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:480,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:481,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - include_lease_duration
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 484
    functionName: ddsi_plist_leasedur_new_proxyrd_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_new
    - DDS_SECS
    - ddsi_new_participant
    - ddsi_hton_guid_prefix
    - ddsi_entidx_lookup_proxy_reader_guid
    - memcpy
    - ddsi_generate_participant_guid
    - ddsi_thread_state_asleep
    - DDS_MSECS
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_awake
    - HDR
    - DDSI_RMSG_PAYLOAD
    - ddsi_rmsg_setsize
    - ddsi_ntoh_guid_prefix
    - ddsi_lookup_thread_state
    - SER32BE
    - ddsi_handle_rtps_message
    - ddsi_plist_init_empty
    - dds_time
    - ddsi_plist_fini
    - dds_sleepfor
    - ddsi_conn_locator
    - ddsi_rmsg_commit
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_leasedur_new_proxyrd_impl (bool include_lease_duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: HDR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR(id, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: UDPLOCATOR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDPLOCATOR(a,b,c,d,port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:59,1
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:60,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:61,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:63,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:64,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:65,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:66,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:67,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cfgst != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 21
    functionsReached:
    - assert
    - ddsrt_getenv
    - ddsrt_init
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_rbufpool_new
    - ddsi_config_prep
    - ddsi_config_init
    linkageType: ''
    returnType: void
    signature: void setup (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:73,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:74,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:75,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:76,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:77,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 14
    functionsReached:
    - ddsi_iid_fini
    - ddsi_thread_states_fini
    - ddsrt_fini
    - ddsi_rbufpool_free
    - ddsi_config_fini
    - ddsi_fini
    linkageType: ''
    returnType: void
    signature: void teardown (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:84,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:85,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:90,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: logger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 0
    functionsReached:
    - strstr
    - ddsrt_atomic_inc32
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void logger (void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:96,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:97,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:98,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:100,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:102,1
    - Dst: ddsi_start
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:103,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:107,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:108,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: setup_and_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 2
    functionsReached:
    - setup
    - ddsi_lookup_thread_state
    - dds_set_log_sink
    - dds_set_trace_sink
    - ddsrt_atomic_stvoidp
    - assert
    - dds_log_cfg_init
    - ddsi_start
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void setup_and_start (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:115,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:116,1
    - Dst: ddsi_set_deafmute
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:120,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:123,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:125,1
    - Dst: teardown
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: stop_and_teardown
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 2
    functionsReached:
    - dds_set_log_sink
    - dds_set_trace_sink
    - ddsi_stop
    - teardown
    - ddsi_lookup_thread_state
    - ddsi_set_deafmute
    linkageType: ''
    returnType: void
    signature: void stop_and_teardown (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:138,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:140,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: wait_for_dqueue_helper_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void wait_for_dqueue_helper_cb (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:147,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:148,1
    - Dst: ddsi_dqueue_enqueue_callback
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:150,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:151,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:153,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:154,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:155,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: wait_for_dqueue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_destroy
    - ddsrt_mutex_destroy
    - ddsrt_cond_wait
    - ddsrt_mutex_init
    - ddsi_dqueue_enqueue_callback
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void wait_for_dqueue (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:161,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:178,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:179,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:180,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:180,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:183,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:184,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:185,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:186,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:187,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:188,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:189,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:189,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:190,1
    - Dst: UDPLOCATOR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:190,1
    - Dst: HDR
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:191,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:191,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:191,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:195,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:200,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:207,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:208,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:210,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:212,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:213,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:214,1
    - Dst: wait_for_dqueue
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:216,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:221,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:222,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:223,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:224,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:229,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:230,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:231,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:232,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:233,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:234,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:235,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 237
    functionName: create_fake_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_new
    - ddsi_new_participant
    - ddsi_entidx_lookup_proxy_participant_guid
    - CU_ASSERT_EQ_FATAL
    - memcpy
    - wait_for_dqueue
    - ddsi_thread_state_asleep
    - ddsi_generate_participant_guid
    - ddsi_xqos_mergein_missing
    - CU_ASSERT_NEQ_FATAL
    - ddsi_thread_state_awake
    - HDR
    - DDSI_RMSG_PAYLOAD
    - UDPLOCATOR
    - ddsi_rmsg_setsize
    - ddsi_ntoh_guid_prefix
    - ddsi_lookup_thread_state
    - SER32BE
    - ddsi_handle_rtps_message
    - ddsi_plist_init_empty
    - ddsi_plist_fini
    - ddsi_conn_locator
    - ddsi_rmsg_commit
    linkageType: ''
    returnType: void
    signature: void create_fake_proxy_participant (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:243,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:245,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:257,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:257,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:257,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:260,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:261,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:262,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:262,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:263,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:263,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:264,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:270,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:271,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:272,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:272,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:277,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:278,1
    - Dst: SER32BE
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:279,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:282,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:288,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:291,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:292,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:294,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:296,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:297,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:298,1
    - Dst: wait_for_dqueue
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:300,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:302,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 7
    argNames:
    - seqlo
    - encoding
    - options
    - kind
    - seq_length
    - act_payload_size
    - msg_is_valid
    argTypes:
    - uint32_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts:
    - condition: (act_payload_size <= 24)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    constantsTouched: []
    func_position:
      end: 303
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 303
    functionName: send_pmd_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    functionUses: 0
    functionsReached:
    - ddsi_handle_rtps_message
    - ddsrt_atomic_ld32
    - ddsi_rmsg_new
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOAD
    - ddsi_rmsg_setsize
    - wait_for_dqueue
    - ddsi_conn_locator
    - ddsrt_atomic_st32
    - ddsi_rmsg_commit
    - ddsi_lookup_thread_state
    - CU_ASSERT_FATAL
    - SER32BE
    linkageType: ''
    returnType: void
    signature: void send_pmd_message (uint32_t seqlo, uint16_t encoding, uint16_t
      options, uint32_t kind, uint32_t seq_length, uint32_t act_payload_size, bool
      msg_is_valid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: sertype_plist_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sertype_plist_equal (const struct ddsi_sertype *acmn, const struct
      ddsi_sertype *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:39,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:40,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:41,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sertype_plist_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_init
    - ddsrt_md5_finish
    - ddsrt_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_plist_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:49,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sertype_plist_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_sertype_fini
    linkageType: ''
    returnType: void
    signature: void sertype_plist_free (struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sertype_common
    - sample
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: sertype_plist_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_empty
    linkageType: ''
    returnType: void
    signature: void sertype_plist_zero_samples (const struct ddsi_sertype *sertype_common,
      void *sample, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:64,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ptrs
    - sertype_common
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: sertype_plist_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_empty
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void sertype_plist_realloc_samples (void **ptrs, const struct ddsi_sertype
      *sertype_common, void *old, size_t oldcount, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:81,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:85,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - sertype_common
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts:
    - condition: ((char *)ptrs[i] == (char *)ptrs[0] + off)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: sertype_plist_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
    functionUses: 0
    functionsReached:
    - dds_free
    - assert
    - ddsi_plist_fini
    linkageType: ''
    returnType: void
    signature: void sertype_plist_free_samples (const struct ddsi_sertype *sertype_common,
      void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: ddsi_omg_security_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_enabled (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1119
    functionName: ddsi_omg_participant_is_access_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_access_protected(UNUSED_ARG(const struct
      ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: ddsi_omg_participant_is_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_rtps_protected(UNUSED_ARG(const struct
      ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1129
    functionName: ddsi_omg_participant_is_liveliness_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_liveliness_protected(UNUSED_ARG(const
      struct ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: ddsi_omg_participant_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_discovery_protected(UNUSED_ARG(const struct
      ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: ddsi_omg_proxy_participant_is_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_proxy_participant_is_secure (UNUSED_ARG(const struct
      ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1144
    functionName: ddsi_determine_subscription_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_subscription_writer(UNUSED_ARG(const struct
      ddsi_reader *rd))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: ddsi_determine_publication_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_publication_writer(UNUSED_ARG(const struct
      ddsi_writer *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1155
    functionName: ddsi_determine_topic_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_topic_writer(UNUSED_ARG(const struct ddsi_topic
      *tp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: ddsi_is_proxy_participant_deletion_allowed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_proxy_participant_deletion_allowed(UNUSED_ARG(struct ddsi_domaingv
      * const gv), UNUSED_ARG(const struct ddsi_guid *guid), UNUSED_ARG(const ddsi_entityid_t
      pwr_entityid))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: ddsi_omg_is_similar_participant_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_similar_participant_security_info (UNUSED_ARG(struct
      ddsi_participant *pp), UNUSED_ARG(struct ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1171
    functionName: ddsi_omg_participant_allow_unauthenticated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_allow_unauthenticated(UNUSED_ARG(struct ddsi_participant
      *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1176
    functionName: ddsi_omg_security_check_create_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_participant (UNUSED_ARG(struct
      ddsi_participant *pp), UNUSED_ARG(uint32_t domain_id))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1180
    functionName: ddsi_omg_security_deregister_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_participant (UNUSED_ARG(struct ddsi_participant
      *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: ddsi_omg_security_get_local_participant_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_omg_security_get_local_participant_handle (UNUSED_ARG(const
      struct ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1189
    functionName: ddsi_omg_security_register_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_register_writer (UNUSED_ARG(struct ddsi_writer
      *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionName: ddsi_omg_security_deregister_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_writer (UNUSED_ARG(struct ddsi_writer
      *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1197
    functionName: ddsi_omg_security_register_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_register_reader (UNUSED_ARG(struct ddsi_reader
      *rd))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1201
    functionName: ddsi_omg_security_deregister_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_reader (UNUSED_ARG(struct ddsi_reader
      *rd))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1206
    functionName: ddsi_omg_security_is_remote_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_is_remote_rtps_protected (UNUSED_ARG(const struct
      ddsi_proxy_participant *proxypp), UNUSED_ARG(ddsi_entityid_t entityid))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1210
    functionName: ddsi_omg_security_init_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_init_remote_participant (UNUSED_ARG(struct ddsi_proxy_participant
      *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: ddsi_omg_security_check_remote_participant_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_omg_security_check_remote_participant_permissions (UNUSED_ARG(uint32_t
      domain_id), UNUSED_ARG(struct ddsi_participant *pp), UNUSED_ARG(struct ddsi_proxy_participant
      *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: ddsi_omg_security_register_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_register_remote_participant (UNUSED_ARG(struct
      ddsi_participant *pp), UNUSED_ARG(struct ddsi_proxy_participant *proxypp), UNUSED_ARG(int64_t
      identity_handle), UNUSED_ARG(int64_t shared_secret))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1224
    functionName: ddsi_omg_security_deregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_participant (UNUSED_ARG(struct
      ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1228
    functionName: ddsi_omg_security_participant_send_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_participant_send_tokens (UNUSED_ARG(struct ddsi_participant
      *pp), UNUSED_ARG(struct ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1233
    functionName: ddsi_omg_security_get_remote_participant_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_omg_security_get_remote_participant_handle (UNUSED_ARG(struct
      ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: ddsi_omg_security_match_remote_writer_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_match_remote_writer_enabled (UNUSED_ARG(struct
      ddsi_reader *rd), UNUSED_ARG(struct ddsi_proxy_writer *pwr), UNUSED_ARG(int64_t
      *crypto_handle))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: ddsi_omg_security_match_remote_reader_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_match_remote_reader_enabled (UNUSED_ARG(struct
      ddsi_writer *wr), UNUSED_ARG(struct ddsi_proxy_reader *prd), UNUSED_ARG(bool
      relay_only), UNUSED_ARG(int64_t *crypto_handle))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1247
    functionName: ddsi_omg_get_proxy_writer_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_get_proxy_writer_security_info (UNUSED_ARG(struct ddsi_proxy_writer
      *pwr), UNUSED_ARG(const ddsi_plist_t *plist), UNUSED_ARG(ddsi_security_info_t
      *info))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1252
    functionName: ddsi_omg_writer_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_discovery_protected (UNUSED_ARG(const struct
      ddsi_writer *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1257
    functionName: ddsi_omg_writer_is_submessage_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_submessage_protected (UNUSED_ARG(const struct
      ddsi_writer *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1262
    functionName: ddsi_omg_writer_is_payload_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_payload_protected (UNUSED_ARG(const struct
      ddsi_writer *wr))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    functionName: ddsi_omg_security_check_remote_writer_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_remote_writer_permissions (UNUSED_ARG(const
      struct ddsi_proxy_writer *pwr), UNUSED_ARG(uint32_t domain_id), UNUSED_ARG(struct
      ddsi_participant *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1271
    functionName: ddsi_omg_security_deregister_remote_writer_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_writer_match (UNUSED_ARG(const
      struct ddsi_proxy_writer *pwr), UNUSED_ARG(const struct ddsi_reader *rd), UNUSED_ARG(struct
      ddsi_rd_pwr_match *match))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1276
    functionName: ddsi_omg_reader_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_reader_is_discovery_protected (UNUSED_ARG(const struct
      ddsi_reader *rd))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: ddsi_omg_reader_is_submessage_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_reader_is_submessage_protected (UNUSED_ARG(const struct
      ddsi_reader *rd))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1288
    functionName: ddsi_omg_security_check_remote_reader_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_remote_reader_permissions (UNUSED_ARG(const
      struct ddsi_proxy_reader *prd), UNUSED_ARG(uint32_t domain_id), UNUSED_ARG(struct
      ddsi_participant *pp), UNUSED_ARG(bool *relay_only))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: ddsi_set_proxy_participant_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_set_proxy_participant_security_info(UNUSED_ARG(struct ddsi_proxy_participant
      *prd), UNUSED_ARG(const ddsi_plist_t *plist))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: ddsi_set_proxy_writer_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_set_proxy_writer_security_info(UNUSED_ARG(struct ddsi_proxy_writer
      *pwr), UNUSED_ARG(const ddsi_plist_t *plist))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1307
    functionName: ddsi_security_decode_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ddsi_security_decode_data(\n  UNUSED_ARG(const struct ddsi_domaingv
      *gv),\n  UNUSED_ARG(struct ddsi_rsample_info *sampleinfo),\n  UNUSED_ARG(unsigned
      char *payloadp),\n  UNUSED_ARG(uint32_t payloadsz),\n  UNUSED_ARG(size_t *submsg_len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: ddsi_security_decode_datafrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ddsi_security_decode_datafrag(\n  UNUSED_ARG(const struct ddsi_domaingv
      *gv),\n  UNUSED_ARG(struct ddsi_rsample_info *sampleinfo),\n  UNUSED_ARG(unsigned
      char *payloadp),\n  UNUSED_ARG(uint32_t payloadsz),\n  UNUSED_ARG(size_t *submsg_len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: ddsi_security_encode_datareader_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsi_security_encode_datareader_submsg(\n  UNUSED_ARG(struct
      ddsi_xmsg *msg),\n  UNUSED_ARG(struct ddsi_xmsg_marker sm_marker),\n  UNUSED_ARG(const
      struct ddsi_proxy_writer *pwr),\n  UNUSED_ARG(const struct ddsi_guid *rd_guid))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1335
    functionName: ddsi_security_encode_datawriter_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsi_security_encode_datawriter_submsg(\n  UNUSED_ARG(struct
      ddsi_xmsg *msg),\n  UNUSED_ARG(struct ddsi_xmsg_marker sm_marker),\n  UNUSED_ARG(struct
      ddsi_writer *wr))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1346
    functionName: ddsi_security_validate_msg_decoding
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ddsi_security_validate_msg_decoding(\n  UNUSED_ARG(const struct
      ddsi_entity_common *e),\n  UNUSED_ARG(const struct ddsi_proxy_endpoint_common
      *c),\n  UNUSED_ARG(struct ddsi_proxy_participant *proxypp),\n  UNUSED_ARG(struct
      ddsi_receiver_state *rst),\n  UNUSED_ARG(ddsi_rtps_submessage_kind_t prev_smid))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1360
    functionName: ddsi_security_decode_sec_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ddsi_security_decode_sec_prefix(\n  UNUSED_ARG(struct ddsi_receiver_state
      *rst),\n  UNUSED_ARG(unsigned char *submsg),\n  UNUSED_ARG(size_t submsg_size),\n
      \ UNUSED_ARG(unsigned char * const msg_end),\n  UNUSED_ARG(const ddsi_guid_prefix_t
      * const src_prefix),\n  UNUSED_ARG(const ddsi_guid_prefix_t * const dst_prefix),\n
      \ UNUSED_ARG(int byteswap))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1374
    functionName: ddsi_security_decode_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsi_rtps_msg_state_t
    signature: "ddsi_rtps_msg_state_t ddsi_security_decode_rtps_message (\n  UNUSED_ARG(struct
      ddsi_thread_state * const thrst),\n  UNUSED_ARG(struct ddsi_domaingv *gv),\n
      \ UNUSED_ARG(struct ddsi_rmsg **rmsg),\n  UNUSED_ARG(ddsi_rtps_header_t **hdr),\n
      \ UNUSED_ARG(unsigned char **buff),\n  UNUSED_ARG(size_t *sz),\n  UNUSED_ARG(struct
      ddsi_rbufpool *rbpool),\n  UNUSED_ARG(bool isstream))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1379
    functionName: ddsi_omg_security_load
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_omg_security_load ( UNUSED_ARG( struct dds_security_context
      *security_context ), UNUSED_ARG( const dds_qos_t *property_seq), UNUSED_ARG
      ( struct ddsi_domaingv *gv ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1381
    functionName: ddsi_omg_is_security_loaded
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_security_loaded (  UNUSED_ARG( struct dds_security_context
      *sc ))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1385
    functionName: ddsi_omg_security_deregister_remote_reader_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_reader_match (UNUSED_ARG(const
      struct ddsi_proxy_reader *prd), UNUSED_ARG(const struct ddsi_writer *wr), UNUSED_ARG(struct
      ddsi_wr_prd_match *match))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: ddsi_omg_plist_keyhash_is_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_plist_keyhash_is_protected (UNUSED_ARG(const ddsi_plist_t
      *plist))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1395
    functionName: ddsi_omg_is_endpoint_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_endpoint_protected (UNUSED_ARG(const ddsi_plist_t
      *plist))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1399
    functionName: ddsi_omg_log_endpoint_protection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_log_endpoint_protection (UNUSED_ARG(struct ddsi_domaingv
      * const gv), UNUSED_ARG(const ddsi_plist_t *plist))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ddsi_writer_read_seq_xmit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld64
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t ddsi_writer_read_seq_xmit (const struct ddsi_writer *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h:48,1
    - Dst: ddsrt_atomic_cas64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wr
    - nv
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ddsi_writer_update_seq_xmit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_cas64
    - ddsrt_atomic_ld64
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_update_seq_xmit (struct ddsi_writer *wr, ddsi_seqno_t
      nv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_deadline_adm*::deadline_missed_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:28,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:32,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:32,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: instance_deadline_missed_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - DDS_MSECS
    - ddsi_resched_xevent_if_earlier
    - struct ddsi_deadline_adm*::deadline_missed_cb
    linkageType: ''
    returnType: void
    signature: void instance_deadline_missed_cb (struct ddsi_domaingv *gv, struct
      ddsi_xevent *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tnow
    - deadline_elem
    - deadline_dur
    argTypes:
    - ddsrt_mtime_t
    - struct deadline_elem*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: ddsi_deadline_compute_deadlines_missed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_deadline_compute_deadlines_missed (ddsrt_mtime_t tnow,
      const struct deadline_elem *deadline_elem, dds_duration_t deadline_dur)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:69,1
    - Dst: ddsrt_circlist_oldest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:71,1
    - Dst: DDSRT_FROM_CIRCLIST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:72,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - deadline_adm
    - tnow
    - instance
    argTypes:
    - struct ddsi_deadline_adm*
    - ddsrt_mtime_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: ddsi_deadline_next_missed_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 2
    functionsReached:
    - ddsrt_circlist_remove
    - ddsrt_circlist_isempty
    - DDSRT_FROM_CIRCLIST
    - ddsrt_circlist_oldest
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsi_deadline_next_missed_locked (struct ddsi_deadline_adm
      *deadline_adm, ddsrt_mtime_t tnow, void **instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:88,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - gv
    - deadline_adm
    - list_offset
    - elem_offset
    - deadline_missed_cb
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_deadline_adm*
    - size_t
    - size_t
    - deadline_missed_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: ddsi_deadline_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 2
    functionsReached:
    - ddsrt_circlist_init
    - ddsi_qxev_callback
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_init (const struct ddsi_domaingv *gv, struct ddsi_deadline_adm
      *deadline_adm, size_t list_offset, size_t elem_offset, deadline_missed_cb_t
      deadline_missed_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - deadline_adm
    argTypes:
    - struct ddsi_deadline_adm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ddsi_deadline_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 2
    functionsReached:
    - ddsi_delete_xevent
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_stop (const struct ddsi_deadline_adm *deadline_adm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_deadline_next_missed_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - deadline_adm
    argTypes:
    - struct ddsi_deadline_adm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ddsi_deadline_clear
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 1
    functionsReached:
    - ddsi_deadline_next_missed_locked
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_clear (struct ddsi_deadline_adm *deadline_adm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:108,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - deadline_adm
    argTypes:
    - struct ddsi_deadline_adm*
    assertStmts:
    - condition: (ddsrt_circlist_isempty (&deadline_adm->list))
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ddsi_deadline_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 2
    functionsReached:
    - ddsrt_circlist_isempty
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_fini (const struct ddsi_deadline_adm *deadline_adm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:117,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:120,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - deadline_adm
    - elem
    - tnow
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: ddsi_deadline_register_instance_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - ddsrt_circlist_append
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_register_instance_real (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:126,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:134,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - deadline_adm
    - elem
    - tprev
    - tnow
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    - ddsrt_mtime_t
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: ddsi_deadline_reregister_instance_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - ddsrt_circlist_append
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_reregister_instance_real (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem, ddsrt_mtime_t tprev, ddsrt_mtime_t
      tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - deadline_adm
    - elem
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: ddsi_deadline_unregister_instance_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 0
    functionsReached:
    - ddsrt_circlist_remove
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_unregister_instance_real (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:160,1
    - Dst: ddsi_deadline_compute_deadlines_missed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:161,1
    - Dst: ddsrt_circlist_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:165,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:166,1
    - Dst: ddsrt_circlist_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - deadline_adm
    - elem
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: ddsi_deadline_renew_instance_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    functionUses: 0
    functionsReached:
    - ddsi_deadline_compute_deadlines_missed
    - ddsrt_circlist_remove
    - ddsrt_mtime_add_duration
    - ddsrt_circlist_append
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_renew_instance_real (struct ddsi_deadline_adm *deadline_adm,
      struct deadline_elem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:46,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: participant_builtin_writers_ready
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool participant_builtin_writers_ready (struct ddsi_participant *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:57,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:57,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:58,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:59,1
    - Dst: participant_builtin_writers_ready
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:61,1
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:62,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:64,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:65,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - wr_eid
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: get_typelookup_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_get_builtin_writer
    - ddsi_entidx_enum_participant_init
    - participant_builtin_writers_ready
    - ddsi_thread_state_asleep
    - ddsi_entidx_enum_participant_fini
    - ddsi_lookup_thread_state
    - ddsi_entidx_enum_participant_next
    linkageType: ''
    returnType: struct ddsi_writer
    signature: struct ddsi_writer *get_typelookup_writer (const struct ddsi_domaingv
      *gv, uint32_t wr_eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:72,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:73,1
    - Dst: ddsrt_avl_iter_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:76,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:76,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:76,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:78,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:79,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:80,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:82,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:82,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:83,1
    - Dst: tl_request_get_deps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:87,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - gv
    - deps
    - cnt
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsrt_hh*
    - int32_t
    - struct ddsi_type*
    assertStmts:
    - condition: (dep_type)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    - condition: (ddsi_typeid_is_hash (&dep_type->xt.id))
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: tl_request_get_deps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - tl_request_get_deps
    - ddsrt_hh_add
    - ddsi_typeid_fini
    - ddsi_typeid_is_hash
    - ddsrt_avl_iter_succ
    - assert
    - ddsi_type_lookup_locked
    - memset
    - ddsi_typeid_copy
    - ddsi_type_resolved_locked
    - ddsi_typeid_compare
    linkageType: ''
    returnType: int32_t
    signature: int32_t tl_request_get_deps (struct ddsi_domaingv * const gv, struct
      ddsrt_hh *deps, int32_t cnt, struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id_a
    - type_id_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: deps_typeid_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare
    linkageType: ''
    returnType: bool
    signature: bool deps_typeid_equal (const void *type_id_a, const void *type_id_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:102,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:102,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:103,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - void*
    assertStmts:
    - condition: (ddsi_typeid_is_hash (type_id))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: deps_typeid_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ddsi_typeid_get_equivalence_hash
    - ddsi_typeid_is_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t deps_typeid_hash (const void *type_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:113,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:114,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:115,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:123,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:127,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:131,1
    - Dst: tl_request_get_deps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:132,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:137,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:143,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:145,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:152,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:152,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:153,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - gv
    - request
    - wr
    - proxypp_guid
    - type
    - resolve_deps
    argTypes:
    - struct ddsi_domaingv*
    - DDS_Builtin_TypeLookup_Request*
    - struct ddsi_writer*
    - ddsi_guid_t*
    - struct ddsi_type*
    - enum ddsi_type_include_deps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: create_tl_request_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - snprintf
    - tl_request_get_deps
    - memcpy
    - memset
    - ddsrt_hh_free
    - ddsrt_hh_iter_next
    - ddsi_type_resolved_locked
    - ddsrt_hh_new
    - ddsrt_hh_iter_first
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t create_tl_request_msg (struct ddsi_domaingv * const gv,
      DDS_Builtin_TypeLookup_Request *request, const struct ddsi_writer *wr, const
      ddsi_guid_t *proxypp_guid, struct ddsi_type *type, enum ddsi_type_include_deps
      resolve_deps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:166,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:166,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:167,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:168,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:169,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:172,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:172,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:173,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:177,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:181,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:181,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:182,1
    - Dst: get_typelookup_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:186,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:189,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:190,1
    - Dst: create_tl_request_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:196,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:199,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:200,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:204,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:205,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:208,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:209,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:212,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:213,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:215,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:215,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:216,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:216,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:216,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:217,1
    - Dst: ddsi_write_sample_gc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:218,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:218,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:219,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:220,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - gv
    - type_id
    - proxypp_guid
    - deps
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - ddsi_guid_t*
    - enum ddsi_type_include_deps
    assertStmts:
    - condition: (ddsi_typeid_is_hash (type_id))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    constantsTouched: []
    func_position:
      end: 223
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 223
    functionName: ddsi_tl_request_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_write_sample_gc
    - get_typelookup_writer
    - ddsi_make_typeid_str
    - ddsi_type_resolved_locked
    - ddsi_serdata_from_sample
    - ddsrt_mutex_lock
    - create_tl_request_msg
    - ddsi_thread_state_asleep
    - ddsrt_time_wallclock
    - ddsi_thread_state_awake
    - ddsi_typeid_is_hash
    - ddsrt_free
    - assert
    - PGUID
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_lookup_thread_state
    - ddsi_tkmap_instance_unref
    - ddsi_type_lookup_locked
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_tl_request_type (struct ddsi_domaingv * const gv, const ddsi_typeid_t
      *type_id, const ddsi_guid_t *proxypp_guid, enum ddsi_type_include_deps deps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:227,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:228,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - reply
    - wr
    - seqno
    - types
    argTypes:
    - DDS_Builtin_TypeLookup_Reply*
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct DDS_XTypes_TypeIdentifierTypeObjectPairSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: create_tl_reply_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void create_tl_reply_msg (DDS_Builtin_TypeLookup_Reply *reply, const
      struct ddsi_writer *wr, ddsi_seqno_t seqno, const struct DDS_XTypes_TypeIdentifierTypeObjectPairSeq
      *types)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_tl_reply_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:244,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:245,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:246,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:249,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:252,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:254,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:254,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:255,1
    - Dst: ddsi_write_sample_gc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:256,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:256,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - wr
    - seqno
    - types
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct DDS_XTypes_TypeIdentifierTypeObjectPairSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: write_typelookup_reply
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsi_write_sample_gc
    - create_tl_reply_msg
    - PGUID
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_serdata_from_sample
    - ddsrt_time_wallclock
    - GVTRACE
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void write_typelookup_reply (struct ddsi_writer *wr, ddsi_seqno_t seqno,
      const struct DDS_XTypes_TypeIdentifierTypeObjectPairSeq *types)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:263,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - guid
    argTypes:
    - DDS_GUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: from_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t from_guid (const DDS_GUID_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seqno
    argTypes:
    - DDS_SequenceNumber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: from_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 1
    functionsReached:
    - ddsi_from_seqno
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t from_seqno (const DDS_SequenceNumber *seqno)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:275,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:278,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:279,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:281,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:287,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:287,1
    - Dst: from_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:287,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:288,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:292,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:294,1
    - Dst: ddsi_typeid_is_hash_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:300,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:302,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:302,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:305,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:305,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:306,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:307,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:309,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:310,1
    - Dst: ddsi_xt_get_typeobject_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:311,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:315,1
    - Dst: get_typelookup_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:317,1
    - Dst: write_typelookup_reply
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:319,1
    - Dst: from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:319,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:321,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:323,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:326,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:327,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - gv
    - d
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (!(d->statusinfo & (DDSI_STATUSINFO_DISPOSE | DDSI_STATUSINFO_UNREGISTER)))
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    constantsTouched: []
    func_position:
      end: 330
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 330
    functionName: ddsi_tl_handle_request
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - get_typelookup_writer
    - ddsi_typeobj_fini_impl
    - ddsi_type_resolved_locked
    - ddsi_make_typeid_str_impl
    - ddsi_typeid_fini_impl
    - ddsrt_mutex_lock
    - write_typelookup_reply
    - ddsi_sertype_free_sample
    - ddsi_serdata_to_sample
    - ddsi_typeid_is_hash_impl
    - ddsi_typeid_copy_impl
    - ddsrt_free
    - PGUID
    - assert
    - ddsrt_realloc
    - from_seqno
    - from_guid
    - memset
    - GVTRACE
    - ddsi_xt_get_typeobject_impl
    - ddsrt_mutex_unlock
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_tl_handle_request (struct ddsi_domaingv *gv, struct ddsi_serdata
      *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:335,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:339,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:345,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:345,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:346,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:353,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:355,1
    - Dst: ddsi_type_add_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:359,1
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:361,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:363,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:363,1
    - Dst: ddsi_type_get_gpe_matches
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:364,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:369,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:369,1
    - Dst: ddsi_type_get_gpe_matches
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:370,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:376,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:380,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - gv
    - reply
    - gpe_match_upd
    - n_match_upd
    argTypes:
    - struct ddsi_domaingv*
    - DDS_Builtin_TypeLookup_Reply*
    - struct ddsi_generic_proxy_endpoint***
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 382
    functionName: ddsi_tl_add_types
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsi_make_typeid_str_impl
    - ddsi_type_get_gpe_matches
    - ddsrt_mutex_lock
    - ddsi_type_add_typeobj
    - ddsrt_cond_etime_broadcast
    - ddsi_type_resolved_locked
    - ddsi_typeid_is_minimal_impl
    - GVTRACE
    - ddsrt_mutex_unlock
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_tl_add_types (struct ddsi_domaingv *gv, const DDS_Builtin_TypeLookup_Reply
      *reply, struct ddsi_generic_proxy_endpoint ***gpe_match_upd, uint32_t *n_match_upd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:388,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:391,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:392,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:394,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:399,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:399,1
    - Dst: from_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:399,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:400,1
    - Dst: ddsi_tl_add_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:403,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:404,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:410,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:410,1
    - Dst: ddsi_update_proxy_endpoint_matching
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:411,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - gv
    - d
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (!(d->statusinfo & (DDSI_STATUSINFO_DISPOSE | DDSI_STATUSINFO_UNREGISTER)))
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    constantsTouched: []
    func_position:
      end: 415
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 415
    functionName: ddsi_tl_handle_reply
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - PGUID
    - assert
    - memset
    - ddsi_tl_add_types
    - ddsi_sertype_free_sample
    - ddsi_update_proxy_endpoint_matching
    - from_guid
    - GVTRACE
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_tl_handle_reply (struct ddsi_domaingv *gv, struct ddsi_serdata
      *d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:59,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:59,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:60,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:60,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:63,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:63,1
    - Dst: wildcard_wildcard_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:65,1
    - Dst: wildcard_wildcard_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:65,1
    - Dst: wildcard_wildcard_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:67,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: wildcard_wildcard_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 1
    functionsReached:
    - strcmp
    - wildcard_wildcard_match
    linkageType: ''
    returnType: int
    signature: int wildcard_wildcard_match (const char * p1, char * p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:75,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:75,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:76,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - partition
    - topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: get_partition_search_pattern
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_partition_search_pattern (const char *partition, const char
      *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_partition_search_pattern
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:83,1
    - Dst: wildcard_wildcard_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:86,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - partition
    - topic
    argTypes:
    - struct ddsi_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: ddsi_find_nwpart_mapping
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - get_partition_search_pattern
    - ddsrt_free
    - wildcard_wildcard_match
    linkageType: ''
    returnType: struct ddsi_config_partitionmapping_listelem
    signature: struct ddsi_config_partitionmapping_listelem *ddsi_find_nwpart_mapping
      (const struct ddsi_config *cfg, const char *partition, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_partition_search_pattern
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:94,1
    - Dst: wildcard_wildcard_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:97,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - cfg
    - partition
    - topic
    argTypes:
    - struct ddsi_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: ddsi_is_ignored_nwpart_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - get_partition_search_pattern
    - ddsrt_free
    - wildcard_wildcard_match
    linkageType: ''
    returnType: int
    signature: int ddsi_is_ignored_nwpart_one (const struct ddsi_config *cfg, const
      char *partition, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ps
    - nps
    - xqos
    argTypes:
    - char***
    - uint32_t*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: get_partition_set_from_xqos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_partition_set_from_xqos (char const * const * *ps, uint32_t
      *nps, const struct dds_qos *xqos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_partition_set_from_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:119,1
    - Dst: ddsi_is_ignored_nwpart_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - xqos
    - topic_name
    argTypes:
    - struct ddsi_domaingv*
    - struct dds_qos*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ddsi_is_ignored_nwpart
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - get_partition_set_from_xqos
    - ddsi_is_ignored_nwpart_one
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_ignored_nwpart (const struct ddsi_domaingv *gv, const
      struct dds_qos *xqos, const char *topic_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_find_nwpart_mapping
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:129,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - logcfg
    - config
    - partition
    - topic
    argTypes:
    - struct ddsrt_log_cfg*
    - struct ddsi_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: ddsi_get_nwpart_from_mapping_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - ddsi_find_nwpart_mapping
    linkageType: ''
    returnType: struct ddsi_config_networkpartition_listelem
    signature: struct ddsi_config_networkpartition_listelem *ddsi_get_nwpart_from_mapping_one
      (const struct ddsrt_log_cfg *logcfg, const struct ddsi_config *config, const
      char *partition, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_partition_set_from_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:142,1
    - Dst: ddsi_get_nwpart_from_mapping_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - logcfg
    - config
    - xqos
    - topic_name
    argTypes:
    - struct ddsrt_log_cfg*
    - struct ddsi_config*
    - struct dds_qos*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: ddsi_get_nwpart_from_mapping
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - ddsi_get_nwpart_from_mapping_one
    - get_partition_set_from_xqos
    linkageType: ''
    returnType: struct ddsi_config_networkpartition_listelem
    signature: struct ddsi_config_networkpartition_listelem *ddsi_get_nwpart_from_mapping
      (const struct ddsrt_log_cfg *logcfg, const struct ddsi_config *config, const
      struct dds_qos *xqos, const char *topic_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - np
    argTypes:
    - struct ddsi_config_networkpartition_listelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: ddsi_free_config_nwpart_addresses_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_config_nwpart_addresses_one (struct ddsi_config_networkpartition_listelem
      *np)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_free_config_nwpart_addresses_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ddsi_free_config_nwpart_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - ddsi_free_config_nwpart_addresses_one
    linkageType: ''
    returnType: void
    signature: void ddsi_free_config_nwpart_addresses (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - it
    - gv
    argTypes:
    - struct nwpart_iter*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: nwpart_iter_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nwpart_iter_init (struct nwpart_iter *it, struct ddsi_domaingv
      *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - it
    - tok
    - msg
    argTypes:
    - struct nwpart_iter*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: nwpart_iter_error
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - GVERROR
    linkageType: ''
    returnType: void
    signature: void nwpart_iter_error (struct nwpart_iter *it, const char *tok, const
      char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct nwpart_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: nwpart_iter_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_config_networkpartition_listelem
    signature: struct ddsi_config_networkpartition_listelem *nwpart_iter_next (struct
      nwpart_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct nwpart_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: nwpart_iter_ok
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nwpart_iter_ok (const struct nwpart_iter *it)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:218,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:219,1
    - Dst: ddsi_tran_get_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:220,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:223,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:226,1
    - Dst: ddsi_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:235,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:248,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:249,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:251,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:257,1
    - Dst: nwpart_iter_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:267,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:269,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:270,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:273,1
    - Dst: ddsi_tran_set_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:274,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:277,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:279,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - it
    - tok
    - loc
    - port
    argTypes:
    - struct nwpart_iter*
    - char*
    - ddsi_locator_t*
    - uint32_t
    assertStmts:
    - condition: (tran != NULL)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    constantsTouched: []
    func_position:
      end: 281
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 281
    functionName: nwpart_iter_append_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - ddsi_is_nearby_address
    - ddsi_factory_find_supported_kind
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - ddsi_tran_set_locator_port
    - ddsi_is_ssm_mcaddr
    - DDSRT_WARNING_MSVC_ON
    - ddsi_ipaddr_from_loc
    - nwpart_iter_ok
    - nwpart_iter_error
    - ddsrt_malloc
    - ddsi_tran_get_locator_aux
    - ddsi_tran_set_locator_aux
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void nwpart_iter_append_address (struct nwpart_iter *it, const char
      *tok, const ddsi_locator_t *loc, uint32_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct nwpart_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: nwpart_iter_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nwpart_iter_fini (struct nwpart_iter *it)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:292,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:295,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:296,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:297,1
    - Dst: ddsi_tran_get_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:299,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:300,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:301,1
    - Dst: nwpart_iter_append_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:302,1
    - Dst: strspn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:303,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:303,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:304,1
    - Dst: nwpart_iter_append_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - npit
    - np
    - port_mc
    - port_data_uc
    - tok
    argTypes:
    - struct nwpart_iter*
    - struct ddsi_config_networkpartition_listelem*
    - uint32_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: convert_network_partition_addresses_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_from_string
    - nwpart_iter_append_address
    - ddsi_tran_get_locator_port
    - strspn
    - strlen
    - nwpart_iter_error
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void convert_network_partition_addresses_one (struct nwpart_iter *npit,
      struct ddsi_config_networkpartition_listelem *np, uint32_t port_mc, uint32_t
      port_data_uc, const char *tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:311,1
    - Dst: nwpart_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:313,1
    - Dst: nwpart_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:315,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:317,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:318,1
    - Dst: convert_network_partition_addresses_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:319,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:320,1
    - Dst: nwpart_iter_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - port_data_uc
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: convert_network_partition_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - nwpart_iter_fini
    - ddsrt_free
    - nwpart_iter_next
    - convert_network_partition_addresses_one
    - ddsrt_strdup
    - ddsi_get_port
    - nwpart_iter_init
    - ddsrt_strsep
    linkageType: ''
    returnType: int
    signature: int convert_network_partition_addresses (struct ddsi_domaingv *gv,
      uint32_t port_data_uc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nwpart_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:328,1
    - Dst: nwpart_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:330,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:332,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:333,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:337,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:340,1
    - Dst: nwpart_iter_append_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:344,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:347,1
    - Dst: nwpart_iter_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - gv
    - port_data_uc
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: convert_network_partition_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - nwpart_iter_fini
    - ddsrt_free
    - nwpart_iter_next
    - nwpart_iter_append_address
    - strcmp
    - ddsrt_strdup
    - nwpart_iter_init
    - ddsrt_strsep
    - nwpart_iter_error
    linkageType: ''
    returnType: int
    signature: int convert_network_partition_interfaces (struct ddsi_domaingv *gv,
      uint32_t port_data_uc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - np
    argTypes:
    - struct ddsi_config_networkpartition_listelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: nwpart_has_multicast
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nwpart_has_multicast (const struct ddsi_config_networkpartition_listelem
      *np)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: mc_capable_ifs_exist
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mc_capable_ifs_exist (const struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mc_capable_ifs_exist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:378,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:394,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - gv
    - np
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_config_networkpartition_listelem*
    assertStmts:
    - condition: (i < gv->n_interfaces)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    constantsTouched: []
    func_position:
      end: 403
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 403
    functionName: mc_capable_ifs_used_in_nwpart
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - assert
    - mc_capable_ifs_exist
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool mc_capable_ifs_used_in_nwpart (const struct ddsi_domaingv *gv,
      const struct ddsi_config_networkpartition_listelem *np)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nwpart_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:411,1
    - Dst: nwpart_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:413,1
    - Dst: nwpart_has_multicast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:415,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:416,1
    - Dst: nwpart_has_multicast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:417,1
    - Dst: mc_capable_ifs_used_in_nwpart
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:417,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:418,1
    - Dst: nwpart_iter_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 421
    functionName: check_nwpart_address_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - nwpart_iter_fini
    - nwpart_iter_next
    - mc_capable_ifs_used_in_nwpart
    - nwpart_iter_init
    - nwpart_has_multicast
    - nwpart_iter_error
    linkageType: ''
    returnType: int
    signature: int check_nwpart_address_consistency (struct ddsi_domaingv *gv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nwpart_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:426,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:432,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:433,1
    - Dst: nwpart_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:435,1
    - Dst: ddsi_tran_get_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:440,1
    - Dst: ddsi_tran_get_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:442,1
    - Dst: ddsi_tran_get_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:448,1
    - Dst: ddsi_tran_set_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:449,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:452,1
    - Dst: ddsi_tran_get_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:458,1
    - Dst: ddsi_tran_set_locator_aux
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:459,1
    - Dst: nwpart_iter_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:462,1
    - Dst: nwpart_iter_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:468,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (tran != NULL)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    constantsTouched: []
    func_position:
      end: 469
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 469
    functionName: correct_nwpart_aux_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - nwpart_iter_fini
    - ddsi_factory_find_supported_kind
    - nwpart_iter_next
    - assert
    - nwpart_iter_init
    - nwpart_iter_error
    - ddsi_tran_get_locator_aux
    - ddsi_tran_set_locator_aux
    linkageType: ''
    returnType: int
    signature: int correct_nwpart_aux_locator (struct ddsi_domaingv *gv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: convert_network_partition_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:474,1
    - Dst: convert_network_partition_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:476,1
    - Dst: check_nwpart_address_consistency
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:478,1
    - Dst: correct_nwpart_aux_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - port_data_uc
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: ddsi_convert_nwpart_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached:
    - convert_network_partition_interfaces
    - convert_network_partition_addresses
    - check_nwpart_address_consistency
    - correct_nwpart_aux_locator
    linkageType: ''
    returnType: int
    signature: int ddsi_convert_nwpart_config (struct ddsi_domaingv *gv, uint32_t
      port_data_uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: ddsi_free_config_nwpart_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_free_config_nwpart_addresses (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - gv
    - xqos
    - topic_name
    argTypes:
    - struct ddsi_domaingv*
    - struct dds_qos*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: ddsi_is_ignored_nwpart
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_ignored_nwpart (const struct ddsi_domaingv *gv, const
      struct dds_qos *xqos, const char *topic_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - port_data_uc
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: ddsi_convert_nwpart_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_convert_nwpart_config (struct ddsi_domaingv *gv, uint32_t
      port_data_uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - d
    - tp
    - kind
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: ddsi_serdata_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c
    functionUses: 6
    functionsReached:
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_serdata_init (struct ddsi_serdata *d, const struct ddsi_sertype
      *tp, enum ddsi_serdata_kind kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:39,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:40,1
    - Dst: ddsi_serdata_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:41,1
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - type
    - serdata
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: ddsi_serdata_copy_as_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c
    functionUses: 2
    functionsReached:
    - ddsi_serdata_size
    - ddsi_serdata_to_ser_unref
    - ddsi_serdata_from_ser_iov
    - ddsi_serdata_to_ser_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_copy_as_type (const struct ddsi_sertype
      *type, const struct ddsi_serdata *serdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:53,1
    - Dst: ddsi_serdata_copy_as_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - type
    - serdata
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ddsi_serdata_ref_as_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c
    functionUses: 2
    functionsReached:
    - ddsi_serdata_copy_as_type
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_ref_as_type (const struct ddsi_sertype
      *type, struct ddsi_serdata *serdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:63,1
    - Dst: DDSI_RDATA_KEYHASH_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fragchain
    argTypes:
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: ddsi_serdata_keyhash_from_fragchain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c
    functionUses: 1
    functionsReached:
    - DDSI_RMSG_PAYLOADOFF
    - DDSI_RDATA_KEYHASH_OFF
    linkageType: ''
    returnType: ddsi_keyhash_t
    signature: ddsi_keyhash_t *ddsi_serdata_keyhash_from_fragchain (const struct ddsi_rdata
      *fragchain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name_
    - ','
    - n_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: DDSI_DECL_TRAN_WRITE_MSGFRAGS_PTR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_TRAN_WRITE_MSGFRAGS_PTR(name_, n_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name_
    - ','
    - idx_
    - ','
    - e_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_1(name_, idx_, e_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name_
    - ','
    - idx_
    - ','
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_2(name_, idx_, e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name_
    - ','
    - idx_
    - ','
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_3
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_3(name_, idx_, e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name_
    - ','
    - idx_
    - ','
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_4(name_, idx_, e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name_
    - ','
    - n_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR2(name_, n_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name_
    - ','
    - n_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR1(name_, n_, ...)
  - 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: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR(name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_supports_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - factory
    - kind
    argTypes:
    - struct ddsi_tran_factory*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: ddsi_factory_supports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_supports_fn
    linkageType: ''
    returnType: bool
    signature: bool ddsi_factory_supports (const struct ddsi_tran_factory *factory,
      int32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_get_locator_port_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - factory
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: ddsi_tran_get_locator_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 1
    functionsReached:
    - struct ddsi_tran_factory*::m_get_locator_port_fn
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_tran_get_locator_port (const struct ddsi_tran_factory
      *factory, const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_get_locator_aux_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - factory
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: ddsi_tran_get_locator_aux
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 2
    functionsReached:
    - struct ddsi_tran_factory*::m_get_locator_aux_fn
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_tran_get_locator_aux (const struct ddsi_tran_factory
      *factory, const ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_set_locator_port_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - factory
    - loc
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: ddsi_tran_set_locator_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 1
    functionsReached:
    - struct ddsi_tran_factory*::m_set_locator_port_fn
    linkageType: ''
    returnType: void
    signature: void ddsi_tran_set_locator_port (const struct ddsi_tran_factory *factory,
      ddsi_locator_t *loc, uint32_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:329,1
    - Dst: struct ddsi_tran_factory*::m_set_locator_aux_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - factory
    - loc
    - aux
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - uint32_t
    assertStmts:
    - condition: (factory->m_set_locator_aux_fn || aux == 0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: ddsi_tran_set_locator_aux
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 2
    functionsReached:
    - assert
    - struct ddsi_tran_factory*::m_set_locator_aux_fn
    linkageType: ''
    returnType: void
    signature: void ddsi_tran_set_locator_aux (const struct ddsi_tran_factory *factory,
      ddsi_locator_t *loc, uint32_t aux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_is_valid_port_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - factory
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: ddsi_is_valid_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_is_valid_port_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_is_valid_port (const struct ddsi_tran_factory *factory, uint32_t
      port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_receive_buffer_size_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: ddsi_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_receive_buffer_size_fn
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_receive_buffer_size (const struct ddsi_tran_factory *factory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:349,1
    - Dst: struct ddsi_tran_factory*::m_create_conn_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - conn
    - factory
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: ddsi_factory_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - ddsi_is_valid_port
    - struct ddsi_tran_factory*::m_create_conn_fn
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_factory_create_conn (struct ddsi_tran_conn **conn,
      struct ddsi_tran_factory * factory, uint32_t port, const struct ddsi_tran_qos
      *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:357,1
    - Dst: struct ddsi_tran_factory*::m_create_listener_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - listener
    - factory
    - port
    - qos
    argTypes:
    - struct ddsi_tran_listener**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: ddsi_factory_create_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - ddsi_is_valid_port
    - struct ddsi_tran_factory*::m_create_listener_fn
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_factory_create_listener (struct ddsi_tran_listener
      **listener, struct ddsi_tran_factory * factory, uint32_t port, const struct
      ddsi_tran_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_base*::m_handle_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: ddsi_tran_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_base*::m_handle_fn
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_tran_handle (struct ddsi_tran_base * base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_conn*::m_base::m_handle_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: ddsi_conn_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_conn*::m_base::m_handle_fn
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_conn_handle (struct ddsi_tran_conn * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: ddsi_conn_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_conn_type (const struct ddsi_tran_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: ddsi_conn_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_conn_port (const struct ddsi_tran_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_conn*::m_locator_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - loc
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: ddsi_conn_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 5
    functionsReached:
    - struct ddsi_tran_conn*::m_locator_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_conn_locator (struct ddsi_tran_conn * conn, ddsi_locator_t
      * loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: ddsi_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_conn_write (struct ddsi_tran_conn * conn, const ddsi_locator_t
      *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_conn*::m_read_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - conn
    - buf
    - len
    - allow_spurious
    - pktinfo
    argTypes:
    - struct ddsi_tran_conn*
    - unsigned char*
    - size_t
    - bool
    - struct ddsi_network_packet_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: ddsi_conn_read
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_conn*::m_read_fn
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_conn_read (struct ddsi_tran_conn * conn, unsigned char
      * buf, size_t len, bool allow_spurious, struct ddsi_network_packet_info *pktinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_listener*::m_locator_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - listener
    - loc
    argTypes:
    - struct ddsi_tran_listener*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: ddsi_listener_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_listener*::m_locator_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_listener_locator (struct ddsi_tran_listener * listener, ddsi_locator_t
      *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_listener*::m_listen_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: ddsi_listener_listen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_listener*::m_listen_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_listener_listen (struct ddsi_tran_listener * listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_listener*::m_accept_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: ddsi_listener_accept
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_listener*::m_accept_fn
    linkageType: ''
    returnType: struct ddsi_tran_conn
    signature: struct ddsi_tran_conn * ddsi_listener_accept (struct ddsi_tran_listener
      * listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ddsi_guid_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ddsi_guid_prefix_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_guid_prefix_zero (const ddsi_guid_prefix_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_guid_prefix_t*
    - ddsi_guid_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ddsi_guid_prefix_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_guid_prefix_eq (const ddsi_guid_prefix_t *a, const ddsi_guid_prefix_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ddsi_guid_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c
    functionUses: 0
    functionsReached:
    - ddsi_guid_prefix_eq
    linkageType: ''
    returnType: int
    signature: int ddsi_guid_eq (const struct ddsi_guid *a, const struct ddsi_guid
      *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pat
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: ddsi_patmatch
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c
    functionUses: 6
    functionsReached:
    - ddsi_patmatch
    linkageType: ''
    returnType: int
    signature: int ddsi_patmatch (const char *pat, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: root_rdmatch
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_root
    linkageType: ''
    returnType: struct ddsi_wr_prd_match
    signature: struct ddsi_wr_prd_match *root_rdmatch (const struct ddsi_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hbc
    argTypes:
    - struct ddsi_hbcontrol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: ddsi_writer_hbcontrol_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_hbcontrol_init (struct ddsi_hbcontrol *hbc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wr
    - tnow
    - ansreq
    argTypes:
    - struct ddsi_writer*
    - ddsrt_mtime_t
    - enum ddsi_hbcontrol_ack_required
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: writer_hbcontrol_note_hb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writer_hbcontrol_note_hb (struct ddsi_writer *wr, ddsrt_mtime_t
      tnow, enum ddsi_hbcontrol_ack_required ansreq)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - wr
    - whcst
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: ddsi_writer_hbcontrol_intv
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_writer_hbcontrol_intv (const struct ddsi_writer *wr, const
      struct ddsi_whc_state *whcst, UNUSED_ARG (ddsrt_mtime_t tnow))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wr
    - tnow
    argTypes:
    - struct ddsi_writer*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: ddsi_writer_hbcontrol_note_asyncwrite
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_hbcontrol_note_asyncwrite (struct ddsi_writer *wr,
      ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_writer_hbcontrol_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wr
    - whcst
    - tnow
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: ddsi_writer_hbcontrol_must_send
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsi_writer_hbcontrol_intv
    linkageType: ''
    returnType: int
    signature: int ddsi_writer_hbcontrol_must_send (const struct ddsi_writer *wr,
      const struct ddsi_whc_state *whcst, ddsrt_mtime_t tnow /* monotonic */)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:121,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:122,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:124,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:128,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:137,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:147,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:152,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:152,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:156,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:160,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:160,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:162,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:164,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:164,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:165,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:167,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:172,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:174,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:176,1
    - Dst: ddsi_xmsg_setdst_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:181,1
    - Dst: ddsi_add_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:182,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:182,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:187,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:189,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:189,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:189,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:190,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:195,1
    - Dst: ddsi_add_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:198,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:198,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:202,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:204,1
    - Dst: writer_hbcontrol_note_hb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 5
    argNames:
    - wr
    - whcst
    - tnow
    - hbansreq
    - issync
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    - enum ddsi_hbcontrol_ack_required
    - int
    assertStmts:
    - condition: (wr->reliable)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    - condition: (root_rdmatch (wr)->arbitrary_unacked_reader.entityid.u != DDSI_ENTITYID_UNKNOWN)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    constantsTouched: []
    func_position:
      end: 210
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 210
    functionName: ddsi_writer_hbcontrol_create_heartbeat
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - root_rdmatch
    - ddsi_xmsg_setdst_addrset
    - ddsi_xmsg_setdst_prd
    - writer_hbcontrol_note_hb
    - ddsrt_avl_is_empty
    - assert
    - PGUID
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ASSERT_MUTEX_HELD
    - ETRACE
    - ddsi_xmsg_size
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_to_entityid
    - ddsi_add_heartbeat
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *ddsi_writer_hbcontrol_create_heartbeat (struct ddsi_writer
      *wr, const struct ddsi_whc_state *whcst, ddsrt_mtime_t tnow, enum ddsi_hbcontrol_ack_required
      hbansreq, int issync)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - wr
    - whcst
    - tlast
    - tnow
    - piggyback
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    - ddsrt_mtime_t
    - int
    assertStmts:
    - condition: (wr->heartbeat_xevent != NULL && whcst != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    constantsTouched: []
    func_position:
      end: 246
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 246
    functionName: writer_hbcontrol_ack_required_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: enum ddsi_hbcontrol_ack_required
    signature: enum ddsi_hbcontrol_ack_required writer_hbcontrol_ack_required_generic
      (const struct ddsi_writer *wr, const struct ddsi_whc_state *whcst, ddsrt_mtime_t
      tlast, ddsrt_mtime_t tnow, int piggyback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_hbcontrol_ack_required_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wr
    - whcst
    - tnow
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: ddsi_writer_hbcontrol_ack_required
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - writer_hbcontrol_ack_required_generic
    linkageType: ''
    returnType: enum ddsi_hbcontrol_ack_required
    signature: enum ddsi_hbcontrol_ack_required ddsi_writer_hbcontrol_ack_required
      (const struct ddsi_writer *wr, const struct ddsi_whc_state *whcst, ddsrt_mtime_t
      tnow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_writer_hbcontrol_note_asyncwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:272,1
    - Dst: writer_hbcontrol_ack_required_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:274,1
    - Dst: ddsi_writer_hbcontrol_create_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:278,1
    - Dst: DDS_USECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:281,1
    - Dst: ddsi_writer_hbcontrol_create_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:293,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:301,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:303,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:304,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:307,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:311,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:312,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:315,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:316,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - wr
    - whcst
    - tnow
    - packetid
    - hbansreq
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    - uint32_t
    - enum ddsi_hbcontrol_ack_required*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 322
    functionName: ddsi_writer_hbcontrol_piggyback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - root_rdmatch
    - ddsi_writer_hbcontrol_create_heartbeat
    - ddsrt_avl_is_empty
    - PGUID
    - writer_hbcontrol_ack_required_generic
    - DDS_USECS
    - ETRACE
    - ddsi_writer_hbcontrol_note_asyncwrite
    - ddsi_writer_read_seq_xmit
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *ddsi_writer_hbcontrol_piggyback (struct ddsi_writer
      *wr, const struct ddsi_whc_state *whcst, ddsrt_mtime_t tnow, uint32_t packetid,
      enum ddsi_hbcontrol_ack_required *hbansreq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:331,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:333,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:336,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:336,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:336,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:337,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:339,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:343,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:345,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:347,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:352,1
    - Dst: ddsi_add_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:353,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:355,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - wr
    - whcst
    - hbansreq
    - prd
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - enum ddsi_hbcontrol_ack_required
    - struct ddsi_proxy_reader*
    assertStmts:
    - condition: (wr->reliable)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    constantsTouched: []
    func_position:
      end: 362
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 362
    functionName: ddsi_writer_hbcontrol_p2p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - root_rdmatch
    - ddsi_add_heartbeat
    - PGUID
    - assert
    - ddsrt_avl_is_empty
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ETRACE
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_size
    - ddsi_xmsg_setdst_prd
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *ddsi_writer_hbcontrol_p2p(struct ddsi_writer *wr,
      const struct ddsi_whc_state *whcst, enum ddsi_hbcontrol_ack_required hbansreq,
      struct ddsi_proxy_reader *prd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:372,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:374,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:375,1
    - Dst: ddsi_xmsg_add_timestamp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:381,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:381,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:384,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:385,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:392,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:393,1
    - Dst: DDSI_WHCST_ISEMPTY
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:394,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:404,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:405,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:423,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:424,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:428,1
    - Dst: ddsi_security_encode_datawriter_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 7
    argNames:
    - msg
    - wr
    - whcst
    - hbansreq
    - hbliveliness
    - dst
    - issync
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - enum ddsi_hbcontrol_ack_required
    - int
    - ddsi_entityid_t
    - int
    assertStmts:
    - condition: (wr->reliable)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    - condition: (hbliveliness >= 0)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    - condition: (min <= max)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    constantsTouched: []
    func_position:
      end: 430
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 430
    functionName: ddsi_add_heartbeat
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 2
    functionsReached:
    - ddsi_security_encode_datawriter_submsg
    - ddsi_writer_read_seq_xmit
    - assert
    - ddsi_xmsg_add_timestamp
    - ASSERT_MUTEX_HELD
    - DDSI_WHCST_ISEMPTY
    - ddsi_xmsg_submsg_setnext
    - ddsrt_time_wallclock
    - ddsi_to_seqno
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    - ddsi_hton_entityid
    linkageType: ''
    returnType: void
    signature: void ddsi_add_heartbeat (struct ddsi_xmsg *msg, struct ddsi_writer
      *wr, const struct ddsi_whc_state *whcst, enum ddsi_hbcontrol_ack_required hbansreq,
      int hbliveliness, ddsi_entityid_t dst, int issync)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_writer_must_have_hb_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:436,1
    - Dst: ddsi_writer_hbcontrol_must_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:438,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:439,1
    - Dst: ddsi_writer_hbcontrol_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:439,1
    - Dst: ddsi_writer_hbcontrol_ack_required
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:442,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:443,1
    - Dst: ddsi_writer_hbcontrol_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:443,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - ev
    - wr
    - whcst
    - tnow
    - t_next
    - hbansreq
    argTypes:
    - struct ddsi_xevent*
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsrt_mtime_t
    - ddsrt_mtime_t*
    - enum ddsi_hbcontrol_ack_required*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: send_heartbeat_to_all_readers_check_and_sched
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsi_writer_hbcontrol_ack_required
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - ddsi_writer_hbcontrol_must_send
    - ddsi_writer_hbcontrol_intv
    - ddsi_writer_must_have_hb_scheduled
    linkageType: ''
    returnType: bool
    signature: bool send_heartbeat_to_all_readers_check_and_sched (struct ddsi_xevent
      *ev, struct ddsi_writer *wr, const struct ddsi_whc_state *whcst, ddsrt_mtime_t
      tnow, ddsrt_mtime_t *t_next, enum ddsi_hbcontrol_ack_required *hbansreq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:457,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:459,1
    - Dst: send_heartbeat_to_all_readers_check_and_sched
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:461,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:466,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:473,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:476,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:476,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:477,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:478,1
    - Dst: ddsi_writer_hbcontrol_p2p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:484,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:487,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:488,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:489,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:499,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:501,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:502,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:505,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:509,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:510,1
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:512,1
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:513,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:515,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - xp
    - ev
    - wr
    - tnow
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_xevent*
    - struct ddsi_writer*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 520
    functionName: send_heartbeat_to_all_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsrt_avl_root
    - send_heartbeat_to_all_readers_check_and_sched
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - PGUID
    - s
    - ddsrt_avl_is_empty
    - ddsi_writer_hbcontrol_p2p
    - ETRACE
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsrt_mutex_unlock
    - ddsi_xpack_addmsg
    - ddsi_writer_read_seq_xmit
    linkageType: ''
    returnType: void
    signature: void send_heartbeat_to_all_readers (struct ddsi_xpack *xp, struct ddsi_xevent
      *ev, struct ddsi_writer *wr, ddsrt_mtime_t tnow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:527,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:529,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:529,1
    - Dst: send_heartbeat_to_all_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:541,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:546,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:547,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:548,1
    - Dst: ddsi_writer_must_have_hb_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:549,1
    - Dst: ddsi_writer_hbcontrol_must_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:555,1
    - Dst: ddsi_writer_hbcontrol_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:559,1
    - Dst: ddsi_writer_hbcontrol_ack_required
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:563,1
    - Dst: ddsi_writer_hbcontrol_create_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:564,1
    - Dst: ddsi_writer_hbcontrol_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:565,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:568,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:570,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:571,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:575,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:579,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:580,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:584,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:585,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:586,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:588,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:590,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:600,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:603,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - gv
    - ev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (wr->reliable)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    constantsTouched: []
    func_position:
      end: 607
      start: 523
    functionDepth: 4
    functionLinenumber: 523
    functionLinenumberEnd: 607
    functionName: ddsi_heartbeat_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
    functionUses: 0
    functionsReached:
    - ddsi_writer_hbcontrol_create_heartbeat
    - ddsi_writer_hbcontrol_ack_required
    - ddsi_xmsg_free
    - send_heartbeat_to_all_readers
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - ddsi_writer_hbcontrol_intv
    - ddsi_entidx_lookup_writer_guid
    - ddsi_xpack_addmsg
    - PGUID
    - assert
    - ddsrt_avl_is_empty
    - ddsi_writer_hbcontrol_must_send
    - ddsi_writer_must_have_hb_scheduled
    - ddsi_writer_read_seq_xmit
    - ddsi_resched_xevent_if_earlier
    - GVTRACE
    - ddsrt_mutex_unlock
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void ddsi_heartbeat_xevent_cb (struct ddsi_domaingv *gv, struct ddsi_xevent
      *ev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: ddsi_thread_vtime_trace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - backtrace
    linkageType: ''
    returnType: void
    signature: void ddsi_thread_vtime_trace (struct ddsi_thread_state *thrst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: ddsrt_malloc_aligned_cacheline
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void *ddsrt_malloc_aligned_cacheline (size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: ddsrt_free_aligned
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_free_aligned (void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:99,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:102,1
    - Dst: ddsrt_malloc_aligned_cacheline
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:103,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:106,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:107,1
    - Dst: ddsi_lookup_thread_state_real
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:117,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:118,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ts0 == NULL || ts0 == thrst)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: ddsi_thread_states_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 9
    functionsReached:
    - ddsrt_atomic_stvoidp
    - assert
    - ddsrt_malloc_aligned_cacheline
    - memset
    - ddsrt_atomic_st32
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_init
    - ddsi_lookup_thread_state_real
    linkageType: ''
    returnType: void
    signature: void ddsi_thread_states_init (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:131,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:131,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:131,1
    - Dst: reap_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:132,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:141,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:142,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:156,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:160,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:164,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:165,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:166,1
    - Dst: ddsrt_free_aligned
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ddsi_vtime_asleep_p (ddsrt_atomic_ld32 (&thrst->vtime)))
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 179
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 179
    functionName: ddsi_thread_states_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 8
    functionsReached:
    - ddsi_vtime_asleep_p
    - ddsrt_atomic_ld32
    - ddsrt_atomic_stvoidp
    - assert
    - ddsrt_mutex_lock
    - ddsrt_free_aligned
    - reap_thread_state
    - ddsrt_mutex_destroy
    - ddsrt_atomic_ldvoidp
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_thread_states_fini (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:183,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:185,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:186,1
    - Dst: ddsrt_thread_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:190,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:192,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - tid
    argTypes:
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: find_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    - ddsrt_thread_equal
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *find_thread_state (ddsrt_thread_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:204,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:204,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:208,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:209,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:209,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:209,1
    - Dst: reap_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:210,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (ddsi_vtime_asleep_p (ddsrt_atomic_ld32 (&thrst->vtime)))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: cleanup_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsi_vtime_asleep_p
    - ddsrt_atomic_ld32
    - ddsrt_fini
    - ddsrt_thread_self
    - assert
    - reap_thread_state
    - find_thread_state
    linkageType: ''
    returnType: void
    signature: void cleanup_thread_state (void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_getname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:222,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:223,1
    - Dst: init_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:224,1
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:226,1
    - Dst: DDS_LOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:228,1
    - Dst: ddsrt_thread_cleanup_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:229,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: lazy_create_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - DDS_LOG
    - init_thread_state
    - ddsrt_mutex_lock
    - ddsrt_init
    - ddsrt_thread_getname
    - ddsrt_thread_cleanup_push
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *lazy_create_thread_state (ddsrt_thread_t
      self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:240,1
    - Dst: find_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:241,1
    - Dst: lazy_create_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:242,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst != NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: ddsi_lookup_thread_state_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 1
    functionsReached:
    - find_thread_state
    - assert
    - lazy_create_thread_state
    - ddsrt_thread_self
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *ddsi_lookup_thread_state_real (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:252,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:254,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:254,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:255,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:257,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:259,1
    - Dst: struct ddsi_thread_state*::f
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:260,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:261,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_INIT)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: create_thread_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_gettid
    - struct ddsi_thread_state*::f
    - ddsrt_mutex_lock
    - assert
    - ddsrt_atomic_ldvoidp
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t create_thread_wrapper (void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - config
    - name
    argTypes:
    - struct ddsi_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: ddsi_lookup_thread_properties
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct ddsi_config_thread_properties_listelem
    signature: struct ddsi_config_thread_properties_listelem *ddsi_lookup_thread_properties
      (const struct ddsi_config *config, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_aligned_cacheline
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:280,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:282,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:284,1
    - Dst: ddsrt_atomic_casvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: grow_thread_states
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ldvoidp
    - ddsrt_atomic_casvoidp
    - ddsrt_malloc_aligned_cacheline
    - memset
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *grow_thread_states (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:294,1
    - Dst: grow_thread_states
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: get_available_thread_slot
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ldvoidp
    - grow_thread_states
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *get_available_thread_slot (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_available_thread_slot
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:303,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:307,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:307,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:307,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:308,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:310,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tname
    - gv
    - state
    argTypes:
    - char*
    - struct ddsi_domaingv*
    - enum ddsi_thread_state_kind
    assertStmts:
    - condition: (ddsi_vtime_asleep_p (ddsrt_atomic_ld32 (&thrst->vtime)))
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: init_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 1
    functionsReached:
    - ddsi_vtime_asleep_p
    - ddsrt_atomic_ld32
    - get_available_thread_slot
    - ddsrt_atomic_stvoidp
    - assert
    - ddsrt_strlcpy
    linkageType: ''
    returnType: struct ddsi_thread_state
    signature: struct ddsi_thread_state *init_thread_state (const char *tname, const
      struct ddsi_domaingv *gv, enum ddsi_thread_state_kind state)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:321,1
    - Dst: init_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:323,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:329,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:342,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:345,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:348,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:351,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:354,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:356,1
    - Dst: create_thread_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:362,1
    - Dst: ddsi_lookup_thread_properties
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:367,1
    - Dst: create_thread_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:368,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:373,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:394,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:401,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:403,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:409,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:418,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:420,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:421,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: reap_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:423,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:429,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:434,1
    - Dst: ddsi_log_stacktrace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 5
    argNames:
    - ts1_out
    - gv
    - tprops
    - name
    - arg
    argTypes:
    - struct ddsi_thread_state**
    - struct ddsi_domaingv*
    - struct ddsi_config_thread_properties_listelem*
    - char*
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (0)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (ddsi_vtime_asleep_p (ddsrt_atomic_ld32 (&thrst->vtime)))
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (0)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (in_ddsi_thread_states_fini)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 444
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 444
    functionName: create_thread_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 1
    functionsReached:
    - ddsi_vtime_asleep_p
    - ddsrt_thread_join
    - ddsrt_atomic_ld32
    - ddsi_lookup_thread_properties
    - init_thread_state
    - ddsrt_mutex_lock
    - ddsrt_thread_create
    - assert
    - ddsi_log_stacktrace
    - reap_thread_state
    - DDS_FATAL
    - create_thread_int
    - ddsrt_threadattr_init
    - abort
    - ddsrt_atomic_ldvoidp
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t create_thread_int (struct ddsi_thread_state **ts1_out,
      const struct ddsi_domaingv *gv, struct ddsi_config_thread_properties_listelem
      const * const tprops, const char *name, uint32_t (*f) (void *arg), void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_thread_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - thrst
    - tprops
    - name
    - arg
    argTypes:
    - struct ddsi_thread_state**
    - struct ddsi_config_thread_properties_listelem*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: ddsi_create_thread_with_properties
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - create_thread_int
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_create_thread_with_properties (struct ddsi_thread_state
      **thrst, struct ddsi_config_thread_properties_listelem const * const tprops,
      const char *name, uint32_t (*f) (void *arg), void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_properties
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:367,1
    - Dst: create_thread_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - thrst
    - gv
    - name
    - arg
    argTypes:
    - struct ddsi_thread_state**
    - struct ddsi_domaingv*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 5
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: ddsi_create_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 1
    functionsReached:
    - ddsi_lookup_thread_properties
    - create_thread_int
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_create_thread (struct ddsi_thread_state **thrst,
      const struct ddsi_domaingv *gv, const char *name, uint32_t (*f) (void *arg),
      void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:373,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:394,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:401,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - thrst
    - in_ddsi_thread_states_fini
    argTypes:
    - struct ddsi_thread_state*
    - bool
    assertStmts:
    - condition: (0)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (in_ddsi_thread_states_fini)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (0)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: reap_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 3
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void reap_thread_state (struct ddsi_thread_state *thrst, bool in_ddsi_thread_states_fini)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:409,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:418,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:420,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:421,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:422,1
    - Dst: reap_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    - condition: (ddsi_vtime_asleep_p (ddsrt_atomic_ld32 (&thrst->vtime)))
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    constantsTouched: []
    func_position:
      end: 425
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 425
    functionName: ddsi_join_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 1
    functionsReached:
    - ddsi_vtime_asleep_p
    - ddsrt_thread_join
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_mutex_lock
    - reap_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_join_thread (struct ddsi_thread_state *thrst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:429,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:434,1
    - Dst: ddsi_log_stacktrace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - logcfg
    - gv
    argTypes:
    - struct ddsrt_log_cfg*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 444
    functionName: ddsi_log_stack_traces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ldvoidp
    - ddsi_log_stacktrace
    linkageType: ''
    returnType: void
    signature: void ddsi_log_stack_traces (const struct ddsrt_log_cfg *logcfg, const
      struct ddsi_domaingv *gv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:80,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:81,1
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:94,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:95,1
    - Dst: EV_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:100,1
    - Dst: kevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ws
    - conn
    - fd
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    - int
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: add_entry_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_realloc
    - EV_SET
    - kevent
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: int
    signature: int add_entry_locked (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn, int fd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:114,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:116,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:117,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:124,1
    - Dst: kqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:126,1
    - Dst: pipe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:128,1
    - Dst: add_entry_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:132,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:133,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:133,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:135,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:135,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:137,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:137,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:139,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:144,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:145,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:147,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:149,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:151,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:153,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ws->entries[0].fd == ws->pipe[0])
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 156
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 156
    functionName: ddsi_sock_waitset_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - add_entry_locked
    - fcntl
    - ddsrt_free
    - close
    - assert
    - kqueue
    - pipe
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct ddsi_sock_waitset
    signature: struct ddsi_sock_waitset * ddsi_sock_waitset_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:160,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:161,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:162,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:163,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:164,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:165,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: ddsi_sock_waitset_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - close
    - ddsrt_mutex_destroy
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free (struct ddsi_sock_waitset * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:173,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: ddsi_sock_waitset_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - write
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_trigger (struct ddsi_sock_waitset * ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:183,1
    - Dst: add_entry_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:184,1
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:184,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: ddsi_sock_waitset_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - add_entry_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_conn_handle
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_add (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:197,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:198,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:199,1
    - Dst: kqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:200,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:204,1
    - Dst: EV_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:205,1
    - Dst: kevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:206,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:207,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ws
    - index
    argTypes:
    - struct ddsi_sock_waitset*
    - unsigned
    assertStmts:
    - condition: (ws->entries[i].fd >= 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: ddsi_sock_waitset_purge
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - close
    - ddsrt_mutex_lock
    - assert
    - EV_SET
    - kevent
    - kqueue
    - abort
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_purge (struct ddsi_sock_waitset * ws, unsigned
      index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:221,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:222,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:223,1
    - Dst: EV_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:230,1
    - Dst: kevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:231,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:232,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: ddsi_sock_waitset_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - assert
    - EV_SET
    - kevent
    - ddsi_conn_handle
    - abort
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_remove (struct ddsi_sock_waitset * ws, struct
      ddsi_tran_conn * conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:243,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:248,1
    - Dst: kevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:250,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: ddsi_sock_waitset_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - ddsrt_atomic_ld32
    - ddsrt_realloc
    - kevent
    linkageType: ''
    returnType: struct ddsi_sock_waitset_ctx
    signature: struct ddsi_sock_waitset_ctx * ddsi_sock_waitset_wait (struct ddsi_sock_waitset
      * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - conn
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    - struct ddsi_tran_conn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: ddsi_sock_waitset_next_event
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_next_event (struct ddsi_sock_waitset_ctx * ctx,
      struct ddsi_tran_conn **conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:322,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:323,1
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:336,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:337,1
    - Dst: epoll_ctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ws
    - conn
    - fd
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    - int
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 350
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 350
    functionName: add_entry_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_realloc
    - ddsrt_atomic_add32_nv
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int add_entry_locked (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn, int fd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:357,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:359,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:360,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:367,1
    - Dst: epoll_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:369,1
    - Dst: pipe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:371,1
    - Dst: add_entry_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:373,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:375,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:376,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:376,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:378,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:378,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:380,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:380,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:382,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:387,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:388,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:390,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:392,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:394,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:396,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ws->entries[0].fd == ws->pipe[0])
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 399
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 399
    functionName: ddsi_sock_waitset_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - add_entry_locked
    - fcntl
    - ddsrt_free
    - close
    - assert
    - pipe
    - ddsrt_atomic_st32
    - epoll_create
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct ddsi_sock_waitset
    signature: struct ddsi_sock_waitset * ddsi_sock_waitset_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:403,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:404,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:405,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:406,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:407,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:408,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: ddsi_sock_waitset_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - close
    - ddsrt_mutex_destroy
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free (struct ddsi_sock_waitset * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:416,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: ddsi_sock_waitset_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - write
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_trigger (struct ddsi_sock_waitset * ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:426,1
    - Dst: add_entry_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:427,1
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:427,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: ddsi_sock_waitset_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - add_entry_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_conn_handle
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_add (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:440,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:441,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:442,1
    - Dst: epoll_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:443,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:444,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:447,1
    - Dst: epoll_ctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:450,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:451,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ws
    - index
    argTypes:
    - struct ddsi_sock_waitset*
    - unsigned
    assertStmts:
    - condition: (ws->entries[i].fd >= 0)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 459
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 459
    functionName: ddsi_sock_waitset_purge
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - close
    - ddsrt_mutex_lock
    - assert
    - epoll_ctl
    - epoll_create
    - abort
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_purge (struct ddsi_sock_waitset * ws, unsigned
      index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:463,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:465,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:466,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:467,1
    - Dst: epoll_ctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:475,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:476,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: ddsi_sock_waitset_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - assert
    - ddsi_conn_handle
    - epoll_ctl
    - abort
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_remove (struct ddsi_sock_waitset * ws, struct
      ddsi_tran_conn * conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:487,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:492,1
    - Dst: epoll_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:494,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 508
    functionName: ddsi_sock_waitset_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - ddsrt_atomic_ld32
    - ddsrt_realloc
    - epoll_wait
    linkageType: ''
    returnType: struct ddsi_sock_waitset_ctx
    signature: struct ddsi_sock_waitset_ctx * ddsi_sock_waitset_wait (struct ddsi_sock_waitset
      * ws)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:525,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - conn
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    - struct ddsi_tran_conn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 531
    functionName: ddsi_sock_waitset_next_event
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - abort
    - read
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_next_event (struct ddsi_sock_waitset_ctx * ctx,
      struct ddsi_tran_conn **conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:552,1
    - Dst: WSACreateEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:554,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: ddsi_sock_waitset_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - WSACreateEvent
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct ddsi_sock_waitset
    signature: struct ddsi_sock_waitset * ddsi_sock_waitset_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACloseEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:565,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:567,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: ddsi_sock_waitset_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_free
    - WSACloseEvent
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free (struct ddsi_sock_waitset * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:573,1
    - Dst: WSACloseEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:577,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:579,1
    - Dst: os_getErrno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:579,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ws
    - index
    argTypes:
    - struct ddsi_sock_waitset*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: ddsi_sock_waitset_purge
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - os_getErrno
    - DDS_WARNING
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - WSACloseEvent
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_purge (struct ddsi_sock_waitset * ws, unsigned
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:588,1
    - Dst: WSACloseEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:593,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 604
    functionName: ddsi_sock_waitset_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - WSACloseEvent
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_remove (struct ddsi_sock_waitset * ws, struct
      ddsi_tran_conn * conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSASetEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:608,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:610,1
    - Dst: os_getErrno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: ddsi_sock_waitset_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - os_getErrno
    - WSASetEvent
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_trigger (struct ddsi_sock_waitset * ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:617,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:621,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:632,1
    - Dst: WSACreateEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:633,1
    - Dst: WSAEventSelect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:637,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:639,1
    - Dst: os_getErrno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:639,1
    - Dst: WSACloseEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:640,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts:
    - condition: (ws->n < MAXIMUM_WAIT_OBJECTS)
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 655
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 655
    functionName: ddsi_sock_waitset_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - os_getErrno
    - WSAEventSelect
    - assert
    - ddsrt_mutex_lock
    - DDS_WARNING
    - WSACreateEvent
    - ddsi_conn_handle
    - ddsrt_mutex_unlock
    - WSACloseEvent
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_add (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:661,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:663,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:665,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:667,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:669,1
    - Dst: os_getErrno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:669,1
    - Dst: WSAResetEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:683,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:692,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts:
    - condition: (ws->index == -1)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 703
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 703
    functionName: ddsi_sock_waitset_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - os_getErrno
    - DDS_WARNING
    - ddsrt_mutex_lock
    - assert
    - WSAWaitForMultipleEvents
    - WSAResetEvent
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_sock_waitset_ctx
    signature: struct ddsi_sock_waitset_ctx * ddsi_sock_waitset_wait (struct ddsi_sock_waitset
      * ws)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:714,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:715,1
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:727,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:728,1
    - Dst: os_getErrno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:730,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - conn
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    - struct ddsi_tran_conn**
    assertStmts:
    - condition: (-1 <= ctx->index && ctx->index < ctx->n)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - condition: (0 < ctx->n && ctx->n <= ctx->sz)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 743
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 743
    functionName: ddsi_sock_waitset_next_event
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - os_getErrno
    - DDS_ERROR
    - assert
    - WSAEnumNetworkEvents
    - ddsi_conn_handle
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_next_event (struct ddsi_sock_waitset_ctx * ctx,
      struct ddsi_tran_conn ** conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:801,1
    - Dst: socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:802,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:806,1
    - Dst: bind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:808,1
    - Dst: getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:810,1
    - Dst: listen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:812,1
    - Dst: connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:814,1
    - Dst: accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:816,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:818,1
    - Dst: SetHandleInformation
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:820,1
    - Dst: SetHandleInformation
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:821,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:827,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:828,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:829,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - fd
    argTypes:
    - ddsrt_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 831
    functionName: make_pipe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - bind
    - htonl
    - SetHandleInformation
    - getsockname
    - listen
    - socket
    - connect
    - closesocket
    - accept
    linkageType: ''
    returnType: int
    signature: int make_pipe (ddsrt_socket_t fd[2])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:839,1
    - Dst: pipeDevCreate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:840,1
    - Dst: errnoGet
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:840,1
    - Dst: open
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:843,1
    - Dst: open
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:845,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:850,1
    - Dst: pipeDevDelete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 855
    functionName: make_pipe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - snprintf
    - open
    - close
    - pipeDevCreate
    - pipeDevDelete
    - errnoGet
    linkageType: ''
    returnType: int
    signature: int make_pipe (int pfd[2])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: make_pipe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - socketpair
    linkageType: ''
    returnType: int
    signature: int make_pipe (int pfd[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: make_pipe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - pipe
    linkageType: ''
    returnType: int
    signature: int make_pipe (int pfd[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:876,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - ddsi_sock_waitset_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: ddsi_sock_waitset_new_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_new_set (ddsi_sock_waitset_set_t * set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:884,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - ddsi_sock_waitset_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 886
    functionName: ddsi_sock_waitset_free_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free_set (ddsi_sock_waitset_set_t * set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sock_waitset_new_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:890,1
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: ddsi_sock_waitset_new_ctx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - ddsi_sock_waitset_new_set
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_new_ctx (struct ddsi_sock_waitset_ctx * ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sock_waitset_free_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: ddsi_sock_waitset_free_ctx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsi_sock_waitset_free_set
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free_ctx (struct ddsi_sock_waitset_ctx * ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:902,1
    - Dst: ddsi_sock_waitset_new_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:904,1
    - Dst: ddsi_sock_waitset_new_ctx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:905,1
    - Dst: make_pipe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:918,1
    - Dst: ddsi_sock_waitset_free_ctx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:922,1
    - Dst: ddsi_sock_waitset_free_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:923,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:924,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:936,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:936,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:937,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:937,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:940,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 949
    functionName: ddsi_sock_waitset_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - fcntl
    - ddsrt_free
    - make_pipe
    - ddsi_sock_waitset_free_set
    - ddsi_sock_waitset_new_ctx
    - ddsrt_malloc
    - ddsrt_mutex_init
    - FD_SET
    - ddsi_sock_waitset_free_ctx
    - ddsi_sock_waitset_new_set
    linkageType: ''
    returnType: struct ddsi_sock_waitset
    signature: struct ddsi_sock_waitset * ddsi_sock_waitset_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:954,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - set
    argTypes:
    - ddsi_sock_waitset_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: ddsi_sock_waitset_grow
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_realloc
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_grow (ddsi_sock_waitset_set_t * set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:962,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:965,1
    - Dst: closesocket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:966,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:968,1
    - Dst: close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:969,1
    - Dst: pipeDevDelete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:972,1
    - Dst: ddsi_sock_waitset_free_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:974,1
    - Dst: ddsi_sock_waitset_free_ctx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:975,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:976,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 978
    functionName: ddsi_sock_waitset_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - close
    - ddsi_sock_waitset_free_set
    - ioctl
    - pipeDevDelete
    - ddsi_sock_waitset_free_ctx
    - ddsrt_mutex_destroy
    - closesocket
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_free (struct ddsi_sock_waitset * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:989,1
    - Dst: write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:991,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 998
    functionName: ddsi_sock_waitset_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - send
    - DDS_WARNING
    - write
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_trigger (struct ddsi_sock_waitset * ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1002,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1008,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1009,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1012,1
    - Dst: ddsi_sock_waitset_grow
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1023,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts:
    - condition: (handle >= 0)
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - condition: (handle < FD_SETSIZE)
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 1035
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1035
    functionName: ddsi_sock_waitset_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_sock_waitset_grow
    - ddsi_conn_handle
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_add (struct ddsi_sock_waitset * ws, struct ddsi_tran_conn
      * conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1041,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ws
    - index
    argTypes:
    - struct ddsi_sock_waitset*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1052
    functionName: ddsi_sock_waitset_purge
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_purge (struct ddsi_sock_waitset * ws, unsigned
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1058,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1073
    functionName: ddsi_sock_waitset_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sock_waitset_remove (struct ddsi_sock_waitset * ws, struct
      ddsi_tran_conn * conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1086,1
    - Dst: ddsi_sock_waitset_grow
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1096,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1106,1
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1111,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1115,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1120,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1122,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1129,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1132,1
    - Dst: FD_ISSET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1142,1
    - Dst: recv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1147,1
    - Dst: read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1149,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1153,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ddsi_sock_waitset*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1153
        line_start: 1153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 1162
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1162
    functionName: ddsi_sock_waitset_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - DDS_WARNING
    - ddsrt_mutex_lock
    - DDSRT_WARNING_GNUC_ON
    - assert
    - ddsi_sock_waitset_grow
    - DDSRT_WARNING_GNUC_OFF
    - read
    - FD_ISSET
    - ddsrt_select
    - recv
    - FD_SET
    - ddsrt_mutex_unlock
    - FD_ZERO
    linkageType: ''
    returnType: struct ddsi_sock_waitset_ctx
    signature: struct ddsi_sock_waitset_ctx * ddsi_sock_waitset_wait (struct ddsi_sock_waitset
      * ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1175,1
    - Dst: FD_ISSET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - conn
    argTypes:
    - struct ddsi_sock_waitset_ctx*
    - struct ddsi_tran_conn**
    assertStmts:
    - condition: (idx > 0)
      pos:
        line_end: 1174
        line_start: 1174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    constantsTouched: []
    func_position:
      end: 1185
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1185
    functionName: ddsi_sock_waitset_next_event
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - assert
    linkageType: ''
    returnType: int
    signature: int ddsi_sock_waitset_next_event (struct ddsi_sock_waitset_ctx * ctx,
      struct ddsi_tran_conn ** conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:35,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: log_stacktrace_sigh
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - backtrace
    linkageType: ''
    returnType: void
    signature: void log_stacktrace_sigh (int sig __attribute__ ((unused)))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:46,1
    - Dst: sigfillset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:49,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:50,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:51,1
    - Dst: sigaction
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:52,1
    - Dst: pthread_kill
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:53,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:54,1
    - Dst: pthread_kill
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:54,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:55,1
    - Dst: sigaction
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:56,1
    - Dst: pthread_kill
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:57,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:58,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:61,1
    - Dst: backtrace_symbols
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:62,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:64,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:65,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:66,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - logcfg
    - name
    - tid
    argTypes:
    - struct ddsrt_log_cfg*
    - char*
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 69
    functionName: ddsi_log_stacktrace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 2
    functionsReached:
    - pthread_kill
    - sigaction
    - DDS_CLOG
    - sigfillset
    - dds_sleepfor
    - ddsrt_atomic_cas32
    - backtrace_symbols
    - free
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_log_stacktrace (const struct ddsrt_log_cfg *logcfg, const
      char *name, ddsrt_thread_t tid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:77,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:81,1
    - Dst: SymInitialize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:83,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:83,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: really_do_stacktrace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - GetCurrentProcess
    - ddsrt_atomic_cas32
    - ddsrt_atomic_st32
    - SymInitialize
    linkageType: ''
    returnType: bool
    signature: bool really_do_stacktrace (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - frame
    - context
    argTypes:
    - STACKFRAME64*
    - CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: init_stackframe
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: DWORD
    signature: DWORD init_stackframe (STACKFRAME64 *frame, const CONTEXT *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - ep
    argTypes:
    - CONTEXT*
    - struct _EXCEPTION_POINTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: copy_thread_context
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int copy_thread_context (CONTEXT *dst, struct _EXCEPTION_POINTERS *ep)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: really_do_stacktrace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:141,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:144,1
    - Dst: GetCurrentThreadId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:155,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:156,1
    - Dst: OpenThread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:158,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:168,1
    - Dst: SuspendThread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:171,1
    - Dst: GetThreadContext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:184,1
    - Dst: ResumeThread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:186,1
    - Dst: copy_thread_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:205,1
    - Dst: GetExceptionInformation
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:205,1
    - Dst: init_stackframe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:212,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:215,1
    - Dst: StackWalk64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:218,1
    - Dst: ResumeThread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:228,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:237,1
    - Dst: SymGetModuleBase64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:249,1
    - Dst: GetModuleFileNameA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:251,1
    - Dst: strcpy_s
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:252,1
    - Dst: SymFromAddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:253,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:254,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:258,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:261,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:266,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:267,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - logcfg
    - name
    - tid
    argTypes:
    - struct ddsrt_log_cfg*
    - char*
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 268
    functionName: ddsi_log_stacktrace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 2
    functionsReached:
    - GetCurrentProcess
    - DDS_CLOG
    - CloseHandle
    - copy_thread_context
    - GetCurrentThread
    - init_stackframe
    - SymGetModuleBase64
    - GetExceptionInformation
    - GetThreadContext
    - SuspendThread
    - strcpy_s
    - really_do_stacktrace
    - GetCurrentThreadId
    - ResumeThread
    - GetModuleFileNameA
    - memset
    - StackWalk64
    - SymFromAddr
    - OpenThread
    linkageType: ''
    returnType: void
    signature: void ddsi_log_stacktrace (const struct ddsrt_log_cfg *logcfg, const
      char *name, ddsrt_thread_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:272,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:273,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - logcfg
    - name
    - tid
    argTypes:
    - struct ddsrt_log_cfg*
    - char*
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: ddsi_log_stacktrace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    functionUses: 2
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void ddsi_log_stacktrace (const struct ddsrt_log_cfg *logcfg, const
      char *name, ddsrt_thread_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: compare_ldur
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_ldur (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:62,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:63,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - logcfg
    - delay
    argTypes:
    - ddsrt_log_cfg_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ddsi_deleted_participants_admin_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: struct ddsi_deleted_participants_admin
    signature: struct ddsi_deleted_participants_admin *ddsi_deleted_participants_admin_new
      (const ddsrt_log_cfg_t *logcfg, int64_t delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:72,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:73,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - admin
    argTypes:
    - struct ddsi_deleted_participants_admin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: ddsi_deleted_participants_admin_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_avl_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_deleted_participants_admin_free (struct ddsi_deleted_participants_admin
      *admin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:83,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:86,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:89,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:89,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:90,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - admin
    - tnow
    argTypes:
    - struct ddsi_deleted_participants_admin*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: ddsi_prune_deleted_participant_guids_unlocked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_CLOG
    - PGUID
    - ddsrt_avl_delete
    - ddsrt_avl_find_succ
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void ddsi_prune_deleted_participant_guids_unlocked (struct ddsi_deleted_participants_admin
      *admin, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:99,1
    - Dst: ddsi_prune_deleted_participant_guids_unlocked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:100,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - admin
    - tnow
    argTypes:
    - struct ddsi_deleted_participants_admin*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: ddsi_prune_deleted_participant_guids
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_prune_deleted_participant_guids_unlocked
    linkageType: ''
    returnType: void
    signature: void ddsi_prune_deleted_participant_guids (struct ddsi_deleted_participants_admin
      *admin, ddsrt_mtime_t tnow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:108,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:109,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:117,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:121,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - admin
    - guid
    argTypes:
    - struct ddsi_deleted_participants_admin*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: ddsi_remember_deleted_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_avl_lookup_ipath
    - ddsrt_mutex_lock
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_remember_deleted_participant_guid (struct ddsi_deleted_participants_admin
      *admin, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:130,1
    - Dst: ddsi_prune_deleted_participant_guids_unlocked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:131,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:131,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:132,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - admin
    - guid
    argTypes:
    - struct ddsi_deleted_participants_admin*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ddsi_is_deleted_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 1
    functionsReached:
    - ddsi_prune_deleted_participant_guids_unlocked
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int ddsi_is_deleted_participant_guid (struct ddsi_deleted_participants_admin
      *admin, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:140,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:140,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:141,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:142,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:143,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:143,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - admin
    - guid
    argTypes:
    - struct ddsi_deleted_participants_admin*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: ddsi_remove_deleted_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup
    - DDS_CLOG
    - PGUID
    - ddsrt_mutex_lock
    - ddsrt_mtime_add_duration
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_remove_deleted_participant_guid (struct ddsi_deleted_participants_admin
      *admin, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:151,1
    - Dst: ddsi_inverse_uint32_set_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:152,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:154,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:159,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:159,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - id
    - kind
    - pp
    argTypes:
    - ddsi_entityid_t*
    - uint32_t
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: ddsi_participant_allocate_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - PGUID
    - ddsi_to_entityid
    - DDS_CERROR
    - ddsi_inverse_uint32_set_alloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_participant_allocate_entityid (ddsi_entityid_t *id,
      uint32_t kind, struct ddsi_participant *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:168,1
    - Dst: ddsi_inverse_uint32_set_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:169,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pp
    - id
    argTypes:
    - struct ddsi_participant*
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: ddsi_participant_release_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_inverse_uint32_set_free
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_participant_release_entityid (struct ddsi_participant *pp,
      ddsi_entityid_t id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:180,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:181,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:182,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:182,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:183,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:187,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:188,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:189,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:189,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:190,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:193,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:194,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:195,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:195,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:196,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:199,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:201,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:202,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:202,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:205,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:206,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:206,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:209,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:210,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:210,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:213,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:218,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:219,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:222,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:223,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:231,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:232,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:235,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:236,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:239,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:240,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:243,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 6
    argNames:
    - pp
    - subguid
    - group_guid
    - gv
    - add_writers
    - add_readers
    argTypes:
    - struct ddsi_participant*
    - ddsi_guid_t*
    - ddsi_guid_t*
    - struct ddsi_domaingv*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 246
    functionName: add_security_builtin_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - dds_whc_make_wrinfo
    - ddsi_new_reader
    - dds_whc_free_wrinfo
    - dds_whc_new
    - ddsi_new_writer
    - ddsi_to_entityid
    linkageType: ''
    returnType: void
    signature: void add_security_builtin_endpoints (struct ddsi_participant *pp, ddsi_guid_t
      *subguid, const ddsi_guid_t *group_guid, struct ddsi_domaingv *gv, bool add_writers,
      bool add_readers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:253,1
    - Dst: ddsi_omg_security_participant_set_initialized
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:255,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:257,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:258,1
    - Dst: ddsi_omg_security_remote_participant_is_initialized
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:261,1
    - Dst: ddsi_omg_is_similar_participant_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:261,1
    - Dst: ddsi_handshake_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:262,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - pp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: connect_participant_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_omg_security_remote_participant_is_initialized
    - ddsi_omg_is_similar_participant_security_info
    - ddsi_handshake_register
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_omg_security_participant_set_initialized
    - ddsi_entidx_enum_proxy_participant_init
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void connect_participant_secure (struct ddsi_domaingv *gv, struct ddsi_participant
      *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:274,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:276,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:277,1
    - Dst: ddsi_handshake_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:279,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: disconnect_participant_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_handshake_remove
    - ddsi_entidx_enum_proxy_participant_init
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void disconnect_participant_secure (struct ddsi_participant *pp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:290,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:293,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:294,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:294,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:297,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:298,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:298,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:302,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:303,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:303,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:310,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:311,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:311,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:317,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:320,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:321,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:321,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:324,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:325,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:325,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:337,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:339,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:345,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:346,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:350,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:351,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:354,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:355,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:359,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:360,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:367,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:368,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:374,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:375,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:378,1
    - Dst: ddsi_new_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:379,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:385,1
    - Dst: add_security_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 6
    argNames:
    - pp
    - subguid
    - group_guid
    - gv
    - add_writers
    - add_readers
    argTypes:
    - struct ddsi_participant*
    - ddsi_guid_t*
    - ddsi_guid_t*
    - struct ddsi_domaingv*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 388
    functionName: add_builtin_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - dds_whc_make_wrinfo
    - ddsi_new_reader
    - dds_whc_free_wrinfo
    - dds_whc_new
    - ddsi_new_writer
    - add_security_builtin_endpoints
    - ddsi_to_entityid
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void add_builtin_endpoints (struct ddsi_participant *pp, ddsi_guid_t
      *subguid, const ddsi_guid_t *group_guid, struct ddsi_domaingv *gv, bool add_writers,
      bool add_readers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lease_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:392,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: ddsi_gc_participant_lease
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_lease_free
    - ddsi_gcreq_free
    linkageType: ''
    returnType: void
    signature: void ddsi_gc_participant_lease (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:402,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:403,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:404,1
    - Dst: ddsi_lease_unregister
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:405,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:407,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - lnew
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_lease*
    assertStmts:
    - condition: (lease_old != NULL)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: participant_replace_minl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_stvoidp
    - ddsi_gcreq_enqueue
    - assert
    - ddsi_lease_unregister
    - ddsi_gcreq_new
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void participant_replace_minl (struct ddsi_participant *pp, struct
      ddsi_lease *lnew)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:416,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:417,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:418,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:419,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:423,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:423,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:424,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:427,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:427,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:428,1
    - Dst: participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:432,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pp
    - wr
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_writer*
    assertStmts:
    - condition: (wr->lease != NULL)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (ddsrt_atomic_ldvoidp (&pp->minl_man) == NULL)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 436
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 436
    functionName: ddsi_participant_add_wr_lease_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - participant_replace_minl
    - ddsrt_atomic_stvoidp
    - ddsrt_fibheap_insert
    - assert
    - ddsrt_etime_add_duration
    - ddsi_lease_register
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void ddsi_participant_add_wr_lease_locked (struct ddsi_participant
      * pp, const struct ddsi_writer * wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:443,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:444,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:445,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:446,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:447,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:454,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:455,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:455,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:456,1
    - Dst: participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:457,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:458,1
    - Dst: participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pp
    - wr
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_writer*
    assertStmts:
    - condition: (wr->lease != NULL)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (wr->xqos->liveliness.kind == DDS_LIVELINESS_MANUAL_BY_PARTICIPANT)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (trem >= 0)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 465
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 465
    functionName: ddsi_participant_remove_wr_lease_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - participant_replace_minl
    - ddsrt_etime_add_duration
    - assert
    - ddsrt_fibheap_delete
    - ddsi_lease_register
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void ddsi_participant_remove_wr_lease_locked (struct ddsi_participant
      * pp, struct ddsi_writer * wr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_has_prop_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:483,1
    - Dst: ddsi_xqos_has_prop_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:483,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:503,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:503,1
    - Dst: ddsi_xqos_find_prop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:510,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:510,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:512,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:512,1
    - Dst: ddsi_xqos_find_prop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:523,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:525,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:525,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:536,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:536,1
    - Dst: ddsi_xqos_mergein_security_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:537,1
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:545,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:547,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:547,1
    - Dst: ddsi_omg_security_load
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:550,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:552,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - gv
    - ppguid
    - qos
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 559
    functionName: check_and_load_security_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_is_security_loaded
    - GVLOGDISC
    - PGUID
    - ddsi_xqos_find_prop
    - strlen
    - ddsi_xqos_has_prop_prefix
    - ddsi_omg_security_load
    - ddsi_xqos_mergein_security_config
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t check_and_load_security_config (struct ddsi_domaingv *
      const gv, const ddsi_guid_t *ppguid, dds_qos_t *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:564,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:566,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:571,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pp
    - guid_of_refing_entity
    - n
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_guid*
    - int
    assertStmts:
    - condition: (n == -1 || n == 1)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (pp->user_refc >= 0)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (pp->builtin_refc >= 0)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: update_pp_refc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void update_pp_refc (struct ddsi_participant *pp, const struct ddsi_guid
      *guid_of_refing_entity, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:580,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:580,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:580,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:581,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:581,1
    - Dst: ddsi_delete_writer_nolinger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:582,1
    - Dst: ddsi_delete_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - ppguid
    - entityid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - unsigned
    assertStmts:
    - condition: (ddsi_is_builtin_entityid (ddsi_to_entityid (entityid), DDSI_VENDORID_ECLIPSE))
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: delete_builtin_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_delete_writer_nolinger
    - ddsi_is_writer_entityid
    - ddsi_delete_reader
    - ddsi_to_entityid
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void delete_builtin_endpoint (struct ddsi_domaingv *gv, const struct
      ddsi_guid *ppguid, unsigned entityid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:589,1
    - Dst: update_pp_refc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:590,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:595,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:596,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:597,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pp
    - guid_of_refing_entity
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: ddsi_ref_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - PGUID
    - ddsrt_mutex_lock
    - memset
    - update_pp_refc
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_participant
    signature: struct ddsi_participant *ddsi_ref_participant (struct ddsi_participant
      *pp, const struct ddsi_guid *guid_of_refing_entity)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:642,1
    - Dst: update_pp_refc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:643,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:648,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:649,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:650,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:676,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:679,1
    - Dst: update_participant_spdp_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:681,1
    - Dst: ddsi_spdp_unregister_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:682,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:683,1
    - Dst: delete_builtin_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:686,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:690,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:692,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:693,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:695,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:696,1
    - Dst: ddsrt_atomic_fence_rel
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:699,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:700,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:705,1
    - Dst: ddsi_omg_security_deregister_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:708,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:710,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:711,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:712,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:713,1
    - Dst: ddsi_remove_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:714,1
    - Dst: ddsi_inverse_uint32_set_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:715,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:716,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - pp
    - guid_of_refing_entity
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_guid*
    assertStmts:
    - condition: (gv->nparticipants > 0)
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 722
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 722
    functionName: ddsi_unref_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - delete_builtin_endpoint
    - ddsi_delete_xevent
    - ddsi_entity_common_fini
    - ddsi_spdp_unregister_participant
    - ddsrt_mutex_lock
    - ddsrt_cond_broadcast
    - ddsrt_atomic_fence_rel
    - ddsi_remove_deleted_participant_guid
    - ddsrt_mutex_destroy
    - update_participant_spdp_sample
    - ddsrt_free
    - ddsi_serdata_unref
    - ddsi_inverse_uint32_set_fini
    - PGUID
    - assert
    - ddsi_conn_free
    - ddsi_plist_fini
    - memset
    - update_pp_refc
    - ddsi_omg_security_deregister_participant
    - ddsrt_atomic_inc32
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_unref_participant (struct ddsi_participant *pp, const struct
      ddsi_guid *guid_of_refing_entity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_participant_builtin_topic_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:733,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:736,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:740,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:741,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:743,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pp
    - isalive
    argTypes:
    - struct ddsi_participant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 749
    functionName: update_participant_spdp_sample_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_get_participant_builtin_topic_data
    - ddsi_serdata_unref
    - ddsi_plist_init_empty
    - ddsi_plist_fini
    - ddsi_serdata_from_sample
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all update_participant_spdp_sample_locked (struct ddsi_participant
      *pp, bool isalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:754,1
    - Dst: update_participant_spdp_sample_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:755,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pp
    - isalive
    argTypes:
    - struct ddsi_participant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: update_participant_spdp_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - update_participant_spdp_sample_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all update_participant_spdp_sample (struct ddsi_participant
      *pp, bool isalive)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:768,1
    - Dst: ddsi_prune_deleted_participant_guids
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:770,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:770,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:775,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:783,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:785,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:785,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:792,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:794,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:798,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:802,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:806,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:807,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:807,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:809,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:815,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:815,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:817,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:819,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:819,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:824,1
    - Dst: ddsi_inverse_uint32_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:825,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:826,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:827,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:828,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:829,1
    - Dst: ddsi_plist_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:830,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:831,1
    - Dst: check_and_load_security_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:837,1
    - Dst: ddsi_omg_security_check_create_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:839,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:845,1
    - Dst: ddsi_builtintopic_get_tkmap_entry
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:846,1
    - Dst: ddsi_xqos_has_prop_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:850,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:860,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:869,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:869,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:870,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:871,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:877,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:878,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:881,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:882,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:892,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:897,1
    - Dst: dds_whc_make_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:898,1
    - Dst: ddsi_new_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:899,1
    - Dst: dds_whc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:899,1
    - Dst: dds_whc_free_wrinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:900,1
    - Dst: ddsi_entidx_insert_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:905,1
    - Dst: add_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:908,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:912,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:914,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:921,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:922,1
    - Dst: ddsi_trigger_recv_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:923,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:926,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:926,1
    - Dst: update_participant_spdp_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:930,1
    - Dst: ddsi_spdp_register_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:931,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:933,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:933,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:934,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:939,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:943,1
    - Dst: connect_participant_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:944,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:950,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:951,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:952,1
    - Dst: ddsi_inverse_uint32_set_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:953,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:954,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:955,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:956,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:957,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:959,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 132
    argCount: 4
    argNames:
    - ppguid
    - gv
    - flags
    - plist
    argTypes:
    - ddsi_guid_t*
    - struct ddsi_domaingv*
    - unsigned
    - ddsi_plist_t*
    assertStmts:
    - condition: (plist->qos.present & DDSI_QP_LIVELINESS)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (plist->qos.liveliness.kind == DDS_LIVELINESS_AUTOMATIC)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: (pp->m_conn)
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    - condition: ((flags & ~(RTPS_PF_NO_BUILTIN_READERS | RTPS_PF_NO_BUILTIN_WRITERS))
        == 0)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 962
      start: 759
    functionDepth: 6
    functionLinenumber: 759
    functionLinenumberEnd: 962
    functionName: ddsi_new_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 5
    functionsReached:
    - ddsi_qxev_callback
    - GVLOGDISC
    - connect_participant_secure
    - ddsrt_atomic_stvoidp
    - ddsi_entity_common_init
    - ddsi_prune_deleted_participant_guids
    - ddsi_omg_security_check_create_participant
    - ddsi_entity_common_fini
    - dds_whc_free_wrinfo
    - dds_whc_new
    - ddsi_xqos_has_prop_prefix
    - ddsrt_malloc
    - abort
    - ddsrt_atomic_fence
    - ddsi_factory_create_conn
    - ddsi_spdp_register_participant
    - ddsi_builtintopic_get_tkmap_entry
    - ddsi_xqos_log
    - check_and_load_security_config
    - ddsrt_mutex_lock
    - ddsrt_time_wallclock
    - ddsrt_mutex_destroy
    - ddsi_xqos_mergein_missing
    - update_participant_spdp_sample
    - GVERROR
    - dds_whc_make_wrinfo
    - ddsrt_free
    - ddsi_inverse_uint32_set_fini
    - assert
    - PGUID
    - ddsi_entidx_insert_participant_guid
    - ddsi_new_writer
    - ddsrt_mutex_init
    - ddsrt_time_monotonic
    - ddsi_entidx_lookup_participant_guid
    - ddsi_to_entityid
    - add_builtin_endpoints
    - ddsi_inverse_uint32_set_init
    - ddsi_tkmap_instance_unref
    - ddsi_builtintopic_write_endpoint
    - ddsi_conn_free
    - ddsi_plist_fini
    - ddsi_plist_copy
    - memset
    - ddsi_conn_locator
    - ddsrt_atomic_inc32
    - ddsrt_fibheap_init
    - GVTRACE
    - ddsi_trigger_recv_threads
    - ddsrt_mutex_unlock
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_new_participant (ddsi_guid_t *ppguid, struct ddsi_domaingv
      *gv, unsigned flags, const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ppguid
    - gv
    argTypes:
    - ddsi_guid_t*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 975
    functionName: ddsi_generate_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 5
    functionsReached:
    - ddsi_iid_gen
    linkageType: ''
    returnType: void
    signature: void ddsi_generate_participant_guid (ddsi_guid_t *ppguid, struct ddsi_domaingv
      *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:979,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:980,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:980,1
    - Dst: update_participant_spdp_sample_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:981,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:982,1
    - Dst: ddsi_spdp_force_republish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - plist
    argTypes:
    - struct ddsi_participant*
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 984
    functionName: ddsi_update_participant_plist
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_spdp_force_republish
    - update_participant_spdp_sample_locked
    - ddsi_update_qos_locked
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_participant_plist (struct ddsi_participant *pp, const
      ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:989,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:989,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:990,1
    - Dst: ddsi_unref_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 992
    functionName: gc_delete_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_unref_participant
    - PGUID
    - ELOGDISC
    - ddsi_gcreq_free
    linkageType: ''
    returnType: void
    signature: void gc_delete_participant (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:996,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1000
    functionName: gcreq_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_participant (struct ddsi_participant *pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1005,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1005,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1006,1
    - Dst: ddsi_remember_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1009,1
    - Dst: ddsi_entidx_tryremove_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1013,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1014,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1017,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1017,1
    - Dst: disconnect_participant_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1019,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1021,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1023,1
    - Dst: gcreq_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - gv
    - ppguid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts:
    - condition: (tryremove_ret == pp)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 1026
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1026
    functionName: ddsi_delete_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 1
    functionsReached:
    - gcreq_participant
    - GVLOGDISC
    - ddsi_remember_deleted_participant_guid
    - ddsi_builtintopic_write_endpoint
    - disconnect_participant_secure
    - PGUID
    - assert
    - ddsrt_mutex_lock
    - ddsi_entidx_tryremove_participant_guid
    - ddsrt_time_wallclock
    - ddsrt_mutex_unlock
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_delete_participant (struct ddsi_domaingv *gv, const
      struct ddsi_guid *ppguid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1033,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1095,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - pp
    - entityid
    - bwr
    argTypes:
    - struct ddsi_participant*
    - unsigned
    - struct ddsi_writer**
    assertStmts:
    - condition: (bwr)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    constantsTouched: []
    func_position:
      end: 1113
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1113
    functionName: ddsi_get_builtin_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 3
    functionsReached:
    - DDS_FATAL
    - assert
    - ddsi_entidx_lookup_writer_guid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_get_builtin_writer (const struct ddsi_participant
      *pp, unsigned entityid, struct ddsi_writer **bwr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1119,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1120,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1126
    functionName: ddsi_participant_get_pmd_interval
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t ddsi_participant_get_pmd_interval (struct ddsi_participant
      *pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - struct ddsi_tcp_conn*
    - struct ddsi_tcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: ddsi_tcp_cmp_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_cmp_conn (const struct ddsi_tcp_conn *c1, const struct
      ddsi_tcp_conn *c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_cmp_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ddsi_tcp_cmp_conn_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_cmp_conn
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_cmp_conn_wrap (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:117,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - src
    argTypes:
    - char*
    - size_t
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: sockaddr_to_string_with_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string
    - ddsi_ipaddr_to_loc
    linkageType: ''
    returnType: char
    signature: char *sockaddr_to_string_with_port (char *dst, size_t sizeof_dst, const
      struct sockaddr *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:153,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:155,1
    - Dst: ddsrt_sockaddr_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - socket
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: get_socket_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_sockaddr_get_port
    - GVERROR
    - ddsrt_getsockname
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_socket_port (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      socket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_socket_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - sock
    argTypes:
    - ddsi_tcp_conn_t
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: ddsi_tcp_conn_set_socket
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - get_socket_port
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_conn_set_socket (ddsi_tcp_conn_t conn, ddsrt_socket_t
      sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:173,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - sock
    - msg
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: ddsi_tcp_sock_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_sock_free (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      sock, const char *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:187,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:192,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:193,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:199,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:203,1
    - Dst: ddsrt_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:205,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:207,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:207,1
    - Dst: ddsrt_setsockreuse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:212,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:214,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:214,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:220,1
    - Dst: ddsrt_bind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:224,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:224,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:226,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:227,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:232,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:234,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:234,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:239,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:241,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:241,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:248,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - fact
    - sock
    - port
    argTypes:
    - struct ddsi_tran_factory_tcp*
    - ddsrt_socket_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 252
    functionName: ddsi_tcp_sock_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - ddsrt_bind
    - htons
    - htonl
    - ddsrt_sockaddr_get_size
    - memset
    - DDS_FATAL
    - ddsrt_setsockreuse
    - ddsrt_socket
    - dds_strretcode
    - ddsrt_setsockopt
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_tcp_sock_new (struct ddsi_tran_factory_tcp * const
      fact, ddsrt_socket_t *sock, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:257,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: ddsi_tcp_node_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_node_free (void * ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_sock_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:269,1
    - Dst: ddsrt_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:277,1
    - Dst: ddsi_tcp_conn_set_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:282,1
    - Dst: ddsi_tcp_conn_set_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:289,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:295,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:296,1
    - Dst: get_socket_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:296,1
    - Dst: ddsrt_setsocknonblocking
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:300,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:302,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:303,1
    - Dst: ddsi_sock_waitset_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:304,1
    - Dst: ddsi_sock_waitset_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:305,1
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - conn
    - msg
    argTypes:
    - ddsi_tcp_conn_t
    - ddsrt_msghdr_t*
    assertStmts:
    - condition: (conn->m_base.m_base.gv->n_recv_threads > 0)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - condition: (conn->m_base.m_base.gv->recv_threads[0].arg.mode == DDSI_RTM_MANY)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 310
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 310
    functionName: ddsi_tcp_conn_connect
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_sock_waitset_add
    - ddsi_tcp_sock_free
    - ddsi_tcp_conn_set_socket
    - ddsi_sock_waitset_trigger
    - assert
    - ddsrt_connect
    - sockaddr_to_string_with_port
    - get_socket_port
    - ddsrt_setsocknonblocking
    - ddsi_tcp_sock_new
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_conn_connect (ddsi_tcp_conn_t conn, const ddsrt_msghdr_t
      * msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:319,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:324,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:326,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:330,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:335,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:341,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:343,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:347,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - fact
    - conn
    - path
    argTypes:
    - struct ddsi_tran_factory_tcp*
    - ddsi_tcp_conn_t
    - ddsrt_avl_ipath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 349
    functionName: ddsi_tcp_cache_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_avl_insert
    - sockaddr_to_string_with_port
    - ddsrt_avl_lookup
    - ddsi_conn_free
    - ddsrt_atomic_inc32
    - ddsrt_malloc
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_cache_add (struct ddsi_tran_factory_tcp *fact, ddsi_tcp_conn_t
      conn, ddsrt_avl_ipath_t * path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:359,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:360,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:363,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:364,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:365,1
    - Dst: ddsi_tcp_node_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:366,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ddsi_tcp_conn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: ddsi_tcp_cache_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_tcp_node_free
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    - sockaddr_to_string_with_port
    - ddsrt_mutex_unlock
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_cache_remove (ddsi_tcp_conn_t conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:383,1
    - Dst: ddsrt_sockaddr_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:384,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:385,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:389,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:390,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:395,1
    - Dst: ddsi_tcp_node_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:396,1
    - Dst: ddsi_tcp_new_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:405,1
    - Dst: ddsi_tcp_cache_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:406,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - fact
    - msg
    argTypes:
    - struct ddsi_tran_factory_tcp*
    - ddsrt_msghdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 411
    functionName: ddsi_tcp_cache_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup_ipath
    - memcpy
    - ddsrt_mutex_lock
    - ddsi_tcp_node_free
    - memset
    - ddsrt_avl_delete
    - ddsi_tcp_new_conn
    - ddsi_tcp_cache_add
    - ddsrt_sockaddr_get_port
    linkageType: ''
    returnType: ddsi_tcp_conn_t
    signature: ddsi_tcp_conn_t ddsi_tcp_cache_find (struct ddsi_tran_factory_tcp *fact,
      const ddsrt_msghdr_t * msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:417,1
    - Dst: ddsrt_recv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - tcp
    - buf
    - len
    - rc
    argTypes:
    - ddsi_tcp_conn_t
    - void*
    - size_t
    - dds_return_t*
    assertStmts:
    - condition: (rc != NULL)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: ddsi_tcp_conn_read_plain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_recv
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_tcp_conn_read_plain (ddsi_tcp_conn_t tcp, void * buf,
      size_t len, dds_return_t *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tcp
    - buf
    - len
    - rc
    argTypes:
    - ddsi_tcp_conn_t
    - void*
    - size_t
    - dds_return_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: ddsi_tcp_conn_read_ssl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_tcp_conn_read_ssl (ddsi_tcp_conn_t tcp, void * buf, size_t
      len, dds_return_t *rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:439,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:441,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:443,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:445,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:448,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:450,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - gv
    - sock
    - read
    - pos
    - timeout
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - bool
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: ddsi_tcp_select
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_select
    - FD_SET
    - FD_ZERO
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool ddsi_tcp_select (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      sock, bool read, size_t pos, int64_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts:
    - condition: (af == AF_INET || af == AF_INET6)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: addrfam_to_locator_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t addrfam_to_locator_kind (int af)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - conn
    - buf
    - len
    - rc
    argTypes:
    - ddsi_tcp_conn_t
    - void*
    - size_t
    - dds_return_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: ddsi_tcp_conn_write_plain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_tcp_conn_write_plain (ddsi_tcp_conn_t conn, const void
      * buf, size_t len, dds_return_t *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - buf
    - len
    - rc
    argTypes:
    - ddsi_tcp_conn_t
    - void*
    - size_t
    - dds_return_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: ddsi_tcp_conn_write_ssl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_tcp_conn_write_ssl (ddsi_tcp_conn_t conn, const void *
      buf, size_t len, dds_return_t *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - niov
    - iov
    argTypes:
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: iovlen_sum
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t iovlen_sum (size_t niov, const ddsrt_iovec_t *iov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mhdr
    - iov
    - iovlen
    argTypes:
    - ddsrt_msghdr_t*
    - ddsrt_iovec_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: set_msghdr_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_msghdr_iov (ddsrt_msghdr_t *mhdr, ddsrt_iovec_t *iov, size_t
      iovlen)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:625,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:626,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:627,1
    - Dst: set_msghdr_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:628,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:630,1
    - Dst: iovlen_sum
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:634,1
    - Dst: ddsi_tcp_cache_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:637,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:643,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:649,1
    - Dst: ddsi_tcp_conn_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:650,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:653,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:663,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:664,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:680,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:684,1
    - Dst: ddsrt_sendmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:705,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:722,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:726,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:735,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:752,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:757,1
    - Dst: ddsi_tcp_block_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:758,1
    - Dst: ddsi_tcp_block_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:761,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:767,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:770,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:772,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:775,1
    - Dst: ddsi_tcp_cache_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:779,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 4
    argNames:
    - base
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts:
    - condition: (i < (int) msg.msg_iovlen)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - condition: (msgfrags->niov <= INT_MAX)
      pos:
        line_end: 624
        line_start: 624
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - condition: (!conn->m_base.m_server)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - condition: (msg.msg_iov[i].iov_len > 0)
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 783
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 783
    functionName: ddsi_tcp_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_block_write
    - ddsrt_sockaddr_get_size
    - ddsi_tcp_conn_connect
    - ddsrt_sendmsg
    - ddsrt_malloc
    - GVLOG
    - memcpy
    - ddsrt_mutex_lock
    - DDSRT_WARNING_MSVC_ON
    - ddsi_tcp_cache_find
    - iovlen_sum
    - GVWARNING
    - ddsi_tcp_cache_remove
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - set_msghdr_iov
    - ddsi_ipaddr_from_loc
    - memset
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_tcp_conn_write (struct ddsi_tran_conn * base, const ddsi_locator_t
      *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: ddsi_tcp_conn_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_tcp_conn_handle (struct ddsi_tran_base * base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fact_cmn
    - kind
    argTypes:
    - struct ddsi_tran_factory*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 795
    functionName: ddsi_tcp_supports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_tcp_supports (const struct ddsi_tran_factory *fact_cmn, int32_t
      kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fact_cmn
    - base
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - struct ddsi_tran_base*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 804
    functionName: ddsi_tcp_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_locator (struct ddsi_tran_factory *fact_cmn, struct ddsi_tran_base
      * base, ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - conn_out
    - fact_cmn
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 817
    functionName: ddsi_tcp_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_tcp_create_conn (struct ddsi_tran_conn **conn_out,
      struct ddsi_tran_factory *fact_cmn, uint32_t port, const struct ddsi_tran_qos
      *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: listen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 838
    functionName: ddsi_tcp_listen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - listen
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_listen (struct ddsi_tran_listener * listener)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:858,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:865,1
    - Dst: ddsrt_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:872,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:874,1
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:876,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:883,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:884,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:885,1
    - Dst: getpeername
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:887,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:889,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:890,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:894,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:895,1
    - Dst: ddsrt_setsocknonblocking
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:897,1
    - Dst: ddsi_tcp_new_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:898,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:908,1
    - Dst: ddsi_tcp_cache_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:909,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts:
    - condition: (sock == DDSRT_INVALID_SOCKET)
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 913
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 913
    functionName: ddsi_tcp_accept
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsrt_atomic_ld32
    - ddsrt_close
    - ddsrt_mutex_unlock
    - ddsi_tcp_sock_free
    - assert
    - ddsrt_mutex_lock
    - memset
    - ddsrt_getsockname
    - getpeername
    - ddsi_tcp_cache_add
    - sockaddr_to_string_with_port
    - ddsrt_accept
    - ddsrt_setsocknonblocking
    - ddsi_tcp_new_conn
    - GVLOG
    linkageType: ''
    returnType: struct ddsi_tran_conn
    signature: struct ddsi_tran_conn * ddsi_tcp_accept (struct ddsi_tran_listener
      * listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: ddsi_tcp_listener_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_tcp_listener_handle (struct ddsi_tran_base * base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:928,1
    - Dst: addrfam_to_locator_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - loc
    - addr
    argTypes:
    - ddsi_locator_t*
    - union addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: addr_to_loc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 2
    functionsReached:
    - addrfam_to_locator_kind
    - ddsi_ipaddr_to_loc
    linkageType: ''
    returnType: void
    signature: void addr_to_loc (ddsi_locator_t *loc, const union addr *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:936,1
    - Dst: addr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:937,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:938,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - loc
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    assertStmts:
    - condition: (tc->m_sock != DDSRT_INVALID_SOCKET)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: ddsi_tcp_conn_peer_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - addr_to_loc
    - ddsi_locator_to_string
    - assert
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_conn_peer_locator (struct ddsi_tran_conn * conn, ddsi_locator_t
      * loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_conn_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - fact
    - interf
    - base
    argTypes:
    - struct ddsi_tran_factory_tcp*
    - struct ddsi_network_interface*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 952
    functionName: ddsi_tcp_base_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_conn_init
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_base_init (const struct ddsi_tran_factory_tcp *fact,
      const struct ddsi_network_interface *interf, struct ddsi_tran_conn *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:956,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:958,1
    - Dst: ddsi_tcp_base_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:959,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:960,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:962,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:962,1
    - Dst: ddsrt_sockaddr_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:963,1
    - Dst: ddsi_tcp_conn_set_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - fact
    - interf
    - sock
    - server
    - peer
    argTypes:
    - struct ddsi_tran_factory_tcp*
    - struct ddsi_network_interface*
    - ddsrt_socket_t
    - bool
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 969
    functionName: ddsi_tcp_new_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 2
    functionsReached:
    - ddsi_tcp_conn_set_socket
    - memcpy
    - ddsrt_sockaddr_get_size
    - memset
    - ddsi_tcp_base_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_sockaddr_get_port
    linkageType: ''
    returnType: ddsi_tcp_conn_t
    signature: ddsi_tcp_conn_t ddsi_tcp_new_conn (struct ddsi_tran_factory_tcp *fact,
      const struct ddsi_network_interface *interf, ddsrt_socket_t sock, bool server,
      struct sockaddr * peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_sock_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:978,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:985,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:987,1
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:988,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:991,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:992,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:994,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:995,1
    - Dst: get_socket_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - listener_out
    - fact
    - port
    - qos
    argTypes:
    - struct ddsi_tran_listener**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 1010
    functionName: ddsi_tcp_create_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_sock_free
    - ddsrt_getsockname
    - memset
    - sockaddr_to_string_with_port
    - get_socket_port
    - ddsrt_malloc
    - GVERROR
    - ddsi_tcp_sock_new
    - GVLOG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_tcp_create_listener (struct ddsi_tran_listener **listener_out,
      struct ddsi_tran_factory * fact, uint32_t port, const struct ddsi_tran_qos *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1017,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1018,1
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1028,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1030,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ddsi_tcp_conn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1032
    functionName: ddsi_tcp_conn_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_sock_free
    - ddsrt_free
    - ddsrt_mutex_destroy
    - sockaddr_to_string_with_port
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_conn_delete (ddsi_tcp_conn_t conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1043,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1044,1
    - Dst: ddsrt_shutdown
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1045,1
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1046,1
    - Dst: addrfam_to_locator_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1046,1
    - Dst: ddsi_purge_proxy_participants
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1051
    functionName: ddsi_tcp_close_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_purge_proxy_participants
    - ddsi_ipaddr_to_loc
    - ddsrt_shutdown
    - addrfam_to_locator_kind
    - sockaddr_to_string_with_port
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_close_conn (struct ddsi_tran_conn * tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_conn_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: ddsi_tcp_release_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_conn_delete
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_release_conn (struct ddsi_tran_conn * conn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_sock_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1071,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1076,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1078,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1084,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1085,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1089,1
    - Dst: ddsrt_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1096,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1096,1
    - Dst: sockaddr_to_string_with_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1101,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1102,1
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1109
    functionName: ddsi_tcp_unblock_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_tcp_sock_free
    - memcmp
    - htonl
    - ddsrt_sockaddr_get_size
    - ddsrt_getsockname
    - ddsrt_connect
    - sockaddr_to_string_with_port
    - ddsi_tcp_sock_new
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_unblock_listener (struct ddsi_tran_listener * listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_sock_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1122,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1124
    functionName: ddsi_tcp_release_listener
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_tcp_sock_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_release_listener (struct ddsi_tran_listener * listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1130,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1131,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1138,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fact_cmn
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1140
    functionName: ddsi_tcp_release_factory
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_avl_free
    - ddsrt_free
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_tcp_release_factory (struct ddsi_tran_factory *fact_cmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fact_cmn
    - loc
    - str
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: ddsi_tcp_address_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_from_string
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_tcp_address_from_string (const
      struct ddsi_tran_factory *fact_cmn, ddsi_locator_t *loc, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1166
    functionName: ddsi_tcp_is_loopbackaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_is_loopbackaddr (const struct ddsi_tran_factory *tran,
      const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1173
    functionName: ddsi_tcp_is_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_is_mcaddr (const struct ddsi_tran_factory *tran, const
      ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1180
    functionName: ddsi_tcp_is_ssm_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_is_ssm_mcaddr (const struct ddsi_tran_factory *tran, const
      ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - loc
    - ninterf
    - interf
    - interf_idx
    argTypes:
    - ddsi_locator_t*
    - size_t
    - struct ddsi_network_interface[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: ddsi_tcp_is_nearby_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_is_nearby_address
    linkageType: ''
    returnType: enum ddsi_nearby_address_result
    signature: enum ddsi_nearby_address_result ddsi_tcp_is_nearby_address (const ddsi_locator_t
      *loc, size_t ninterf, const struct ddsi_network_interface interf[], size_t *interf_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fact
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: ddsi_tcp_is_valid_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_is_valid_port (const struct ddsi_tran_factory *fact, uint32_t
      port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fact
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: ddsi_tcp_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_tcp_receive_buffer_size (const struct ddsi_tran_factory
      *fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dst
    - sizeof_dst
    - loc
    - conn
    - with_port
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    - struct ddsi_tran_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1203
    functionName: ddsi_tcp_locator_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_to_string
    linkageType: ''
    returnType: char
    signature: char *ddsi_tcp_locator_to_string (char *dst, size_t sizeof_dst, const
      ddsi_locator_t *loc, struct ddsi_tran_conn * conn, int with_port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tran_cmn
    - loc
    - sockaddr
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1221
    functionName: ddsi_tcp_locator_from_sockaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_to_loc
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_locator_from_sockaddr (const struct ddsi_tran_factory
      *tran_cmn, ddsi_locator_t *loc, const struct sockaddr *sockaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1225,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1227,1
    - Dst: ddsi_factory_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1262,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1264,1
    - Dst: ddsi_tcp_base_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1265,1
    - Dst: ddsi_ssl_config_plugin
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1270,1
    - Dst: struct ddsi_tran_factory_tcp*::ddsi_tcp_ssl_plugin::init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1271,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1273,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1279,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1280,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c:1282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1284
    functionName: ddsi_tcp_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    functionUses: 2
    functionsReached:
    - struct ddsi_tran_factory_tcp*::ddsi_tcp_ssl_plugin::init
    - ddsrt_avl_init
    - memset
    - ddsi_factory_add
    - ddsi_ssl_config_plugin
    - ddsi_tcp_base_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_tcp_init (struct ddsi_domaingv *gv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_empty_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:61,1
    - Dst: ddsi_addrset_any_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:66,1
    - Dst: ddsi_spdp_ref_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:70,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:71,1
    - Dst: ddsi_spdp_unref_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - gv
    - as_meta
    - op
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - enum maybe_update_as_disc_for_proxypp_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: maybe_update_as_disc_for_proxypp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_spdp_ref_locator
    - ddsi_addrset_empty_mc
    - ddsi_addrset_any_uc
    - abort
    - ddsi_spdp_unref_locator
    linkageType: ''
    returnType: void
    signature: void maybe_update_as_disc_for_proxypp (struct ddsi_domaingv *gv, const
      struct ddsi_addrset *as_meta, enum maybe_update_as_disc_for_proxypp_op op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:87,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:88,1
    - Dst: ddsi_lease_unregister
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:89,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:91,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - proxypp
    - manbypp
    - lnew
    argTypes:
    - struct ddsi_proxy_participant*
    - bool
    - struct ddsi_lease*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: proxy_participant_replace_minl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_stvoidp
    - ddsi_gcreq_enqueue
    - ddsi_lease_unregister
    - ddsi_gcreq_new
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void proxy_participant_replace_minl (struct ddsi_proxy_participant
      *proxypp, bool manbypp, struct ddsi_lease *lnew)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_fini_mask
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:99,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:100,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:102,1
    - Dst: ddsi_new_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:105,1
    - Dst: ddsi_addrset_contains_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:111,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:112,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - gv
    - timestamp
    - ppguid
    - proxypp
    - ep_guid
    - plist
    - topic_name
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_wctime_t
    - struct ddsi_guid*
    - struct ddsi_proxy_participant*
    - struct ddsi_guid*
    - ddsi_plist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: create_proxy_builtin_endpoint_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_fini_mask
    - dds_string_dup
    - ddsi_addrset_contains_ssm
    - ddsi_new_proxy_reader
    - ddsi_is_writer_entityid
    - ddsi_new_proxy_writer
    linkageType: ''
    returnType: void
    signature: "void create_proxy_builtin_endpoint_impl (struct ddsi_domaingv *gv,
      ddsrt_wctime_t timestamp, const struct ddsi_guid *ppguid,\n    struct ddsi_proxy_participant
      *proxypp, const struct ddsi_guid *ep_guid, ddsi_plist_t *plist, const char *topic_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:124,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:125,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:126,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:127,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:134,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:134,1
    - Dst: create_proxy_builtin_endpoint_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:135,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:135,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:138,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 8
    argNames:
    - gv
    - bestab
    - nbes
    - ppguid
    - proxypp
    - timestamp
    - xqos_wr
    - xqos_rd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_bestab*
    - int
    - struct ddsi_guid*
    - struct ddsi_proxy_participant*
    - ddsrt_wctime_t
    - dds_qos_t*
    - dds_qos_t*
    assertStmts:
    - condition: (ddsi_is_builtin_entityid (ep_guid.entityid, proxypp->vendor))
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: create_proxy_builtin_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_empty
    - assert
    - ddsi_plist_fini
    - ddsi_xqos_copy
    - create_proxy_builtin_endpoint_impl
    - ddsi_is_writer_entityid
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void create_proxy_builtin_endpoints (struct ddsi_domaingv *gv, const
      struct ddsi_bestab *bestab, int nbes, const struct ddsi_guid *ppguid, struct
      ddsi_proxy_participant *proxypp, ddsrt_wctime_t timestamp, dds_qos_t *xqos_wr,
      dds_qos_t *xqos_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:154,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:156,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:157,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:158,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:159,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:160,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:161,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:162,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:164,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:165,1
    - Dst: create_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:168,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:175,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:176,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:177,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:178,1
    - Dst: create_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:180,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:188,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:189,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:190,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:191,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:192,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:193,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:194,1
    - Dst: TE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:195,1
    - Dst: create_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:197,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:203,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:204,1
    - Dst: create_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:206,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:212,1
    - Dst: LTE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:213,1
    - Dst: create_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - gv
    - ppguid
    - proxypp
    - timestamp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - struct ddsi_proxy_participant*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 222
    functionName: add_proxy_builtin_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - TE
    - LTE
    - create_proxy_builtin_endpoints
    linkageType: ''
    returnType: void
    signature: void add_proxy_builtin_endpoints (struct ddsi_domaingv *gv, const struct
      ddsi_guid *ppguid, struct ddsi_proxy_participant *proxypp, ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ap_
    - ','
    - a_
    - ','
    - bp_
    - ','
    - b_
    - ','
    - c_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: TE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE(ap_, a_, bp_, b_, c_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a_
    - ','
    - bp_
    - ','
    - b_
    - ','
    - c_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: LTE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LTE(a_, bp_, b_, c_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:231,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:234,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:235,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:236,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:240,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:240,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:241,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:244,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:245,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:245,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:246,1
    - Dst: proxy_participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:250,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - proxypp
    - pwr
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_writer*
    assertStmts:
    - condition: (pwr->lease != NULL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (manbypp)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (ddsrt_atomic_ldvoidp (&proxypp->minl_man) == NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: ddsi_proxy_participant_add_pwr_lease_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_stvoidp
    - proxy_participant_replace_minl
    - ddsrt_fibheap_insert
    - assert
    - ddsrt_etime_add_duration
    - ddsi_lease_register
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_participant_add_pwr_lease_locked (struct ddsi_proxy_participant
      * proxypp, const struct ddsi_proxy_writer * pwr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:263,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:266,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:267,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:268,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:275,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:276,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:276,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:277,1
    - Dst: proxy_participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:278,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:279,1
    - Dst: proxy_participant_replace_minl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - proxypp
    - pwr
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_writer*
    assertStmts:
    - condition: (pwr->lease != NULL)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (trem >= 0)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: ddsi_proxy_participant_remove_pwr_lease_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - proxy_participant_replace_minl
    - ddsrt_etime_add_duration
    - assert
    - ddsrt_fibheap_delete
    - ddsi_lease_register
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_participant_remove_pwr_lease_locked (struct ddsi_proxy_participant
      * proxypp, struct ddsi_proxy_writer * pwr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:290,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:291,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:292,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:292,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:293,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:293,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:294,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:294,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:295,1
    - Dst: ddsi_compare_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:295,1
    - Dst: ddsi_lease_unregister
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:299,1
    - Dst: ddsi_lease_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:300,1
    - Dst: ddsi_lease_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:301,1
    - Dst: ddsi_disconnect_proxy_participant_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:303,1
    - Dst: ddsi_omg_security_deregister_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:304,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:306,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:307,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:308,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:309,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:310,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts:
    - condition: (ddsrt_fibheap_min (&ddsi_lease_fhdef_pp, &proxypp->leaseheap_man)
        == NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (ddsrt_fibheap_min (&ddsi_lease_fhdef_pp, &proxypp->leaseheap_auto)
        == NULL)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (ddsrt_atomic_ldvoidp (&proxypp->minl_man) == NULL)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (!ddsi_compare_guid (&minl_auto->entity->guid, &proxypp->e.guid))
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 312
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 312
    functionName: free_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_guid
    - ddsi_disconnect_proxy_participant_secure
    - ddsrt_free
    - assert
    - ddsi_plist_fini
    - ddsrt_fibheap_delete
    - ddsi_omg_security_deregister_remote_participant
    - ddsi_entity_common_fini
    - ddsi_lease_unregister
    - ddsi_lease_free
    - ddsi_unref_addrset
    - ddsrt_atomic_ldvoidp
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void free_proxy_participant (struct ddsi_proxy_participant *proxypp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:322,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:325,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:326,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:326,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:327,1
    - Dst: ddsi_prune_deleted_participant_guids
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:329,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:329,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:331,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:333,1
    - Dst: ddsi_receive_buffer_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:343,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:354,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:355,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:356,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:366,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:366,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:368,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:372,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:379,1
    - Dst: ddsi_lease_clone
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:379,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:386,1
    - Dst: ddsi_plist_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:388,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:389,1
    - Dst: ddsi_set_proxy_participant_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:393,1
    - Dst: ddsi_omg_security_init_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:396,1
    - Dst: ddsi_proxy_participant_has_pp_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:398,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:400,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:400,1
    - Dst: free_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:401,1
    - Dst: ddsi_entidx_insert_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:408,1
    - Dst: add_proxy_builtin_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:409,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:412,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:415,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:416,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:416,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:417,1
    - Dst: ddsi_proxy_participant_create_handshakes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:422,1
    - Dst: maybe_update_as_disc_for_proxypp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 11
    argNames:
    - proxy_participant
    - gv
    - ppguid
    - bes
    - as_default
    - as_meta
    - plist
    - tlease_dur
    - vendor
    - timestamp
    - seq
    argTypes:
    - struct ddsi_proxy_participant**
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - uint32_t
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    - ddsi_plist_t*
    - dds_duration_t
    - ddsi_vendorid_t
    - ddsrt_wctime_t
    - ddsi_seqno_t
    assertStmts:
    - condition: (ddsi_entidx_lookup_proxy_participant_guid (gv->entity_index, ppguid)
        == NULL)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (ppguid->entityid.u == DDSI_ENTITYID_PARTICIPANT)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (!is_secure || (plist->present & PP_IDENTITY_TOKEN))
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (is_secure || (bes & ~DDSI_BES_MASK_NON_SECURITY) == 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (proxy_participant)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 428
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 428
    functionName: ddsi_new_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 3
    functionsReached:
    - add_proxy_builtin_endpoints
    - ddsrt_atomic_stvoidp
    - ddsi_entity_common_init
    - ddsi_prune_deleted_participant_guids
    - maybe_update_as_disc_for_proxypp
    - ddsi_omg_security_init_remote_participant
    - ddsrt_malloc
    - ddsi_entidx_lookup_proxy_participant_guid
    - ddsi_set_proxy_participant_security_info
    - ddsi_entidx_insert_proxy_participant_guid
    - ddsi_proxy_participant_create_handshakes
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - ddsi_lease_register
    - ddsi_xqos_mergein_missing
    - GVWARNING
    - ddsi_plist_dup
    - assert
    - ddsrt_etime_add_duration
    - PGUID
    - ddsrt_avl_init
    - free_proxy_participant
    - ddsi_receive_buffer_size
    - ddsrt_time_monotonic
    - ddsi_lease_clone
    - ddsi_builtintopic_write_endpoint
    - ddsi_proxy_participant_has_pp_match
    - ddsrt_fibheap_init
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_new_proxy_participant (struct ddsi_proxy_participant **proxy_participant,
      struct ddsi_domaingv *gv, const struct ddsi_guid *ppguid, uint32_t bes, struct
      ddsi_addrset *as_default, struct ddsi_addrset *as_meta, const ddsi_plist_t *plist,
      dds_duration_t tlease_dur, ddsi_vendorid_t vendor, ddsrt_wctime_t timestamp,
      ddsi_seqno_t seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:439,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:440,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:441,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:442,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:443,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:444,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - proxypp
    - seq
    - datap
    - timestamp
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsi_seqno_t
    - struct ddsi_plist*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 448
    functionName: ddsi_update_proxy_participant_plist_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_plist_mergein_missing
    - ddsi_plist_init_empty
    - ddsi_plist_fini
    - ddsi_update_qos_locked
    - ddsrt_malloc
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: int
    signature: int ddsi_update_proxy_participant_plist_locked (struct ddsi_proxy_participant
      *proxypp, ddsi_seqno_t seq, const struct ddsi_plist *datap, ddsrt_wctime_t timestamp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:452,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:455,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - proxypp
    - c
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_endpoint_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: ddsi_ref_proxy_participant_begin
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_ref_proxy_participant_begin (struct ddsi_proxy_participant
      *proxypp, struct ddsi_proxy_endpoint_common *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:473,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: ddsi_ref_proxy_participant_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_ref_proxy_participant_complete (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:488,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:505,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:509,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:509,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:510,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:512,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:513,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:513,1
    - Dst: free_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:514,1
    - Dst: ddsi_remove_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:515,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:519,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:520,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - proxypp
    - c
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_endpoint_common*
    assertStmts:
    - condition: (proxypp->endpoints == NULL)
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    - condition: (ddsrt_avl_is_empty (&proxypp->topics))
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 522
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 522
    functionName: ddsi_unref_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_avl_is_empty
    - PGUID
    - free_proxy_participant
    - ddsrt_avl_free
    - ddsi_remove_deleted_participant_guid
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_unref_proxy_participant (struct ddsi_proxy_participant *proxypp,
      struct ddsi_proxy_endpoint_common *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:527,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:527,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:528,1
    - Dst: ddsi_unref_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: gc_delete_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_unref_proxy_participant
    - PGUID
    - ELOGDISC
    - ddsi_gcreq_free
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_participant (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:534,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: gcreq_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_proxy_participant (struct ddsi_proxy_participant *proxypp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:545,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:552,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:552,1
    - Dst: ddsi_delete_proxy_topic_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:554,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:562,1
    - Dst: ddsi_entity_common_from_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:566,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:571,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:573,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:573,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:578,1
    - Dst: ddsi_delete_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:579,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:580,1
    - Dst: ddsi_delete_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:581,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:583,1
    - Dst: maybe_update_as_disc_for_proxypp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:585,1
    - Dst: gcreq_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - proxypp
    - timestamp
    - lease_expired
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 587
    functionName: delete_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_delete_proxy_topic_locked
    - ddsi_delete_proxy_writer
    - ddsi_entity_common_from_proxy_endpoint_common
    - ddsi_delete_proxy_reader
    - ddsrt_free
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - PGUID
    - ddsi_is_reader_entityid
    - maybe_update_as_disc_for_proxypp
    - ddsi_is_writer_entityid
    - ddsrt_malloc
    - ELOGDISC
    - gcreq_proxy_participant
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void delete_proxy_participant (struct ddsi_proxy_participant *proxypp,
      ddsrt_wctime_t timestamp, bool lease_expired)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:592,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - n
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: purge_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_proxy_participant_by_guid
    - ddsi_compare_xlocators
    linkageType: ''
    returnType: void
    signature: void purge_helper (const ddsi_xlocator_t *n, void * varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:600,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:604,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:606,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:607,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:608,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:609,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:610,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 612
    functionName: ddsi_purge_proxy_participants
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_thread_state_awake
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_thread_state_asleep
    - ddsi_addrset_forall
    - ddsrt_time_wallclock
    - ddsi_lookup_thread_state
    - ddsi_entidx_enum_proxy_participant_init
    linkageType: ''
    returnType: void
    signature: void ddsi_purge_proxy_participants (struct ddsi_domaingv *gv, const
      ddsi_xlocator_t *loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:639,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:639,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:640,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:642,1
    - Dst: ddsi_remember_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:649,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:651,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:655,1
    - Dst: ddsi_entidx_tryremove_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:658,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:659,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:662,1
    - Dst: delete_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - gv
    - guid
    - timestamp
    - lease_expired
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - ddsrt_wctime_t
    - bool
    assertStmts:
    - condition: (tryremove_ret == proxypp)
      pos:
        line_end: 658
        line_start: 658
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    constantsTouched: []
    func_position:
      end: 665
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 665
    functionName: ddsi_delete_proxy_participant_by_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    functionUses: 3
    functionsReached:
    - GVLOGDISC
    - ddsi_remember_deleted_participant_guid
    - ddsi_builtintopic_write_endpoint
    - PGUID
    - assert
    - ddsi_entidx_tryremove_proxy_participant_guid
    - delete_proxy_participant
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: int
    signature: int ddsi_delete_proxy_participant_by_guid (struct ddsi_domaingv *gv,
      const struct ddsi_guid *guid, ddsrt_wctime_t timestamp, bool lease_expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: HSTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: HSWARNING
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSWARNING(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: HSERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: HSEXCEPTION
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSEXCEPTION(e, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: TRACE_FUNC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_FUNC(ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:111,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: compare_handshake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare_handshake(const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:119,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:124,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - handshake
    - pp
    - proxypp
    argTypes:
    - struct ddsi_handshake*
    - struct ddsi_participant**
    - struct ddsi_proxy_participant**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: validate_handshake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_entidx_lookup_proxy_participant_guid
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool validate_handshake(struct ddsi_handshake *handshake, struct ddsi_participant
      **pp, struct ddsi_proxy_participant **proxypp)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:191,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:192,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:240,1
    - Dst: s
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:240,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:242,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 85
    argCount: 5
    argNames:
    - fsm
    - act
    - current
    - event_id
    - arg
    argTypes:
    - struct dds_security_fsm*
    - DDS_SECURITY_FSM_DEBUG_ACT
    - dds_security_fsm_state*
    - int
    - void*
    assertStmts:
    - condition: (handshake)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    constantsTouched: []
    func_position:
      end: 247
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 247
    functionName: handshake_fsm_debug
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - PGUID
    - assert
    - DDSRT_UNUSED_ARG
    - s
    linkageType: ''
    returnType: void
    signature: "void handshake_fsm_debug(\n    struct dds_security_fsm *fsm,\n    DDS_SECURITY_FSM_DEBUG_ACT
      act,\n    const dds_security_fsm_state *current,\n    int event_id,\n    void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_copyout_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:522,1
    - Dst: ddsi_write_auth_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:524,1
    - Dst: HSWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:526,1
    - Dst: ddsi_omg_shallow_free_ddsi_dataholderseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - handshake
    - token
    - pp
    - proxypp
    - request
    argTypes:
    - struct ddsi_handshake*
    - DDS_Security_DataHolder*
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 532
    functionName: send_handshake_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_ddsi_dataholderseq
    - ddsi_omg_shallow_copyout_DataHolderSeq
    - HSWARNING
    - ddsi_write_auth_handshake_message
    linkageType: ''
    returnType: bool
    signature: bool send_handshake_message(const struct ddsi_handshake *handshake,
      DDS_Security_DataHolder *token, struct ddsi_participant *pp, struct ddsi_proxy_participant
      *proxypp, int request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HSERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:545,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:545,1
    - Dst: ddsi_hton_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:550,1
    - Dst: ddsi_omg_security_dataholder_copyout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:551,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:553,1
    - Dst: dds_security_authentication*::validate_remote_identity
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:554,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:557,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:565,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:570,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:575,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:581,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - handshake
    - auth
    - pp
    - proxypp
    argTypes:
    - struct ddsi_handshake*
    - dds_security_authentication*
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 587
    functionName: validate_remote_identity_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - ddsi_omg_security_dataholder_copyout
    - ddsi_hton_guid
    - HSEXCEPTION
    - ddsrt_mutex_lock
    - PGUID
    - strlen
    - HSERROR
    - DDS_Security_DataHolder_deinit
    - dds_security_authentication*::validate_remote_identity
    - ddsrt_mutex_unlock
    - send_handshake_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t validate_remote_identity_impl(struct
      ddsi_handshake *handshake, dds_security_authentication *auth,\n    struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:597,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:600,1
    - Dst: validate_remote_identity_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:602,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: func_validate_remote_identity
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    - validate_handshake
    - validate_remote_identity_impl
    - TRACE_FUNC
    linkageType: ''
    returnType: void
    signature: void func_validate_remote_identity(struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:612,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:614,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:617,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:619,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:621,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 623
    functionName: func_handshake_init_message_resend
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - DDSRT_UNUSED_ARG
    - strlen
    - validate_handshake
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: void func_handshake_init_message_resend(struct dds_security_fsm *fsm,
      void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:631,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:634,1
    - Dst: DDS_Security_DataHolder_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:635,1
    - Dst: dds_security_authentication*::begin_handshake_reply
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:637,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:641,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:643,1
    - Dst: d
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:643,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:651,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:657,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:662,1
    - Dst: dds_security_authentication*::get_shared_secret
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:670,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:673,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:680,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - handshake
    - auth
    - pp
    - proxypp
    argTypes:
    - struct ddsi_handshake*
    - dds_security_authentication*
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 683
    functionName: begin_handshake_reply_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - HSEXCEPTION
    - ddsrt_mutex_lock
    - DDS_Security_DataHolder_alloc
    - dds_security_authentication*::get_shared_secret
    - dds_security_authentication*::begin_handshake_reply
    - DDS_Security_DataHolder_free
    - d
    - ddsrt_mutex_unlock
    - send_handshake_message
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: "DDS_Security_ValidationResult_t begin_handshake_reply_impl(struct
      ddsi_handshake *handshake, dds_security_authentication *auth,\n    struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:693,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:696,1
    - Dst: begin_handshake_reply_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:698,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: func_begin_handshake_reply
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    - validate_handshake
    - begin_handshake_reply_impl
    - TRACE_FUNC
    linkageType: ''
    returnType: void
    signature: void func_begin_handshake_reply(struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:710,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:713,1
    - Dst: validate_remote_identity_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:715,1
    - Dst: HSWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:723,1
    - Dst: begin_handshake_reply_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:727,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: func_validate_remote_and_begin_reply
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSWARNING
    - TRACE_FUNC
    - dds_security_fsm_dispatch
    - validate_handshake
    - begin_handshake_reply_impl
    - validate_remote_identity_impl
    linkageType: ''
    returnType: void
    signature: void func_validate_remote_and_begin_reply(struct dds_security_fsm *fsm,
      void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:741,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:744,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:746,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:749,1
    - Dst: DDS_Security_DataHolder_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:750,1
    - Dst: dds_security_authentication*::begin_handshake_request
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:752,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:753,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:755,1
    - Dst: d
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:755,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:763,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:770,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:778,1
    - Dst: dds_security_authentication*::get_shared_secret
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:789,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:792,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:798,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:802,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:805,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 732
    functionDepth: 8
    functionLinenumber: 732
    functionLinenumberEnd: 806
    functionName: func_begin_handshake_request
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - HSEXCEPTION
    - ddsrt_mutex_lock
    - dds_security_authentication*::begin_handshake_request
    - dds_security_fsm_dispatch
    - DDS_Security_DataHolder_alloc
    - dds_security_authentication*::get_shared_secret
    - validate_handshake
    - DDS_Security_DataHolder_free
    - d
    - ddsrt_mutex_unlock
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: void func_begin_handshake_request(struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:817,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:820,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:822,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:825,1
    - Dst: DDS_Security_DataHolder_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:826,1
    - Dst: dds_security_authentication*::process_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:828,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:829,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:831,1
    - Dst: d
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:831,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:838,1
    - Dst: dds_security_authentication*::get_shared_secret
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:845,1
    - Dst: HSEXCEPTION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:848,1
    - Dst: struct ddsi_handshake*::end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:852,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:857,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:864,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:868,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 808
    functionDepth: 7
    functionLinenumber: 808
    functionLinenumberEnd: 872
    functionName: func_process_handshake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - HSEXCEPTION
    - ddsrt_mutex_lock
    - dds_security_fsm_dispatch
    - DDS_Security_DataHolder_alloc
    - dds_security_authentication*::get_shared_secret
    - validate_handshake
    - struct ddsi_handshake*::end_cb
    - DDS_Security_DataHolder_free
    - d
    - dds_security_authentication*::process_handshake
    - ddsrt_mutex_unlock
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: void func_process_handshake(struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:880,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:883,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:891,1
    - Dst: end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:891,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 894
    functionName: func_send_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - dds_security_fsm_dispatch
    - validate_handshake
    - end_cb
    linkageType: ''
    returnType: void
    signature: void func_send_crypto_tokens(struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:902,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:905,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:913,1
    - Dst: end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:913,1
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 916
    functionName: func_send_crypto_tokens_final
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - dds_security_fsm_dispatch
    - validate_handshake
    - end_cb
    linkageType: ''
    returnType: void
    signature: void func_send_crypto_tokens_final(struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:924,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:925,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:927,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:930,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:932,1
    - Dst: send_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 936
    functionName: func_handshake_message_resend
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - DDSRT_UNUSED_ARG
    - validate_handshake
    - send_handshake_message
    linkageType: ''
    returnType: void
    signature: void func_handshake_message_resend(struct dds_security_fsm *fsm, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:944,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:946,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:949,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:951,1
    - Dst: struct ddsi_handshake*::end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 954
    functionName: func_validation_ok
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - DDSRT_UNUSED_ARG
    - struct ddsi_handshake*::end_cb
    - validate_handshake
    linkageType: ''
    returnType: void
    signature: void func_validation_ok(struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:962,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:964,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:967,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:969,1
    - Dst: struct ddsi_handshake*::end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: func_validation_failed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - DDSRT_UNUSED_ARG
    - struct ddsi_handshake*::end_cb
    - validate_handshake
    linkageType: ''
    returnType: void
    signature: void func_validation_failed(struct dds_security_fsm *fsm, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:980,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:982,1
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:985,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:987,1
    - Dst: struct ddsi_handshake*::end_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fsm
    - arg
    argTypes:
    - struct dds_security_fsm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 990
    functionName: func_handshake_timeout
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - HSTRACE
    - TRACE_FUNC
    - DDSRT_UNUSED_ARG
    - struct ddsi_handshake*::end_cb
    - validate_handshake
    linkageType: ''
    returnType: void
    signature: void func_handshake_timeout(struct dds_security_fsm *fsm, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_FUNC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1001,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1003,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1004,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1005,1
    - Dst: ddsi_omg_participant_get_authentication
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1006,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1007,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1008,1
    - Dst: ddsi_auth_get_serialized_participant_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1014,1
    - Dst: dds_security_fsm_control_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1024,1
    - Dst: dds_security_fsm_control_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1025,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1028,1
    - Dst: dds_security_fsm_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1033,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1036,1
    - Dst: dds_security_fsm_set_timeout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1039,1
    - Dst: dds_security_fsm_set_debug
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1042,1
    - Dst: dds_security_fsm_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1044,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - pp
    - proxypp
    - callback
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_handshake_end_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1052
    functionName: ddsi_handshake_create
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsi_auth_get_serialized_participant_data
    - dds_security_fsm_start
    - TRACE_FUNC
    - dds_security_fsm_control_create
    - ddsrt_free
    - memset
    - dds_security_fsm_set_timeout
    - ddsi_omg_participant_get_authentication
    - dds_security_fsm_set_debug
    - ddsrt_atomic_st32
    - dds_security_fsm_create
    - dds_security_fsm_control_start
    - ddsrt_malloc
    - ddsrt_mutex_init
    - GVERROR
    linkageType: ''
    returnType: struct ddsi_handshake
    signature: struct ddsi_handshake * ddsi_handshake_create(struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp, ddsi_handshake_end_cb_t callback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1058,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1060,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1062,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1063,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1064,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1065,1
    - Dst: dds_security_fsm_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1066,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1067,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - handshake
    argTypes:
    - struct ddsi_handshake*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1070
    functionName: ddsi_handshake_release
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_free
    - HSTRACE
    - ddsrt_free
    - DDS_Security_DataHolder_deinit
    - DDS_Security_OctetSeq_deinit
    - DDS_Security_DataHolder_free
    - ddsrt_mutex_destroy
    - ddsrt_atomic_dec32_nv
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_release(struct ddsi_handshake *handshake)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1155,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1156,1
    - Dst: validate_handshake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1158,1
    - Dst: HSTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handshake
    argTypes:
    - struct ddsi_handshake*
    assertStmts:
    - condition: (handshake)
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    - condition: (handshake->fsm)
      pos:
        line_end: 1155
        line_start: 1155
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    constantsTouched: []
    func_position:
      end: 1164
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1164
    functionName: ddsi_handshake_crypto_tokens_received
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - assert
    - HSTRACE
    - validate_handshake
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_crypto_tokens_received(struct ddsi_handshake *handshake)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake
    argTypes:
    - struct ddsi_handshake*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    functionName: ddsi_handshake_get_shared_secret
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_handshake_get_shared_secret(const struct ddsi_handshake
      *handshake)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handshake
    argTypes:
    - struct ddsi_handshake*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: ddsi_handshake_get_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_handshake_get_handle(const struct ddsi_handshake *handshake)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1180,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1181,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1186
    functionName: ddsi_handshake_admin_create
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: struct ddsi_hsadmin
    signature: struct ddsi_hsadmin * ddsi_handshake_admin_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: release_handshake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_release
    linkageType: ''
    returnType: void
    signature: void release_handshake(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hsadmin
    - pp
    - proxypp
    argTypes:
    - struct ddsi_hsadmin*
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1204
    functionName: ddsi_handshake_find_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: struct ddsi_handshake
    signature: "struct ddsi_handshake * ddsi_handshake_find_locked(\n    struct ddsi_hsadmin
      *hsadmin,\n    struct ddsi_participant *pp,\n    struct ddsi_proxy_participant
      *proxypp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1210,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1212
    functionName: gc_delete_handshale
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_release
    - ddsi_gcreq_free
    linkageType: ''
    returnType: void
    signature: void gc_delete_handshale (struct ddsi_gcreq *gcreq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1219,1
    - Dst: ddsi_handshake_find_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1220,1
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1223,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1224,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1225,1
    - Dst: dds_security_fsm_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1226,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1228,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1214
    functionDepth: 4
    functionLinenumber: 1214
    functionLinenumberEnd: 1231
    functionName: ddsi_handshake_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 1
    functionsReached:
    - dds_security_fsm_stop
    - ddsi_gcreq_enqueue
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_handshake_find_locked
    - ddsrt_atomic_st32
    - ddsi_gcreq_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_remove(struct ddsi_participant *pp, struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1238,1
    - Dst: ddsi_handshake_find_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1239,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1241,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1245
    functionName: ddsi_handshake_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsi_handshake_find_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_handshake
    signature: struct ddsi_handshake * ddsi_handshake_find(struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1252,1
    - Dst: ddsi_handshake_find_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1253,1
    - Dst: ddsi_handshake_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1256,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1258,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pp
    - proxypp
    - callback
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_handshake_end_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1247
    functionDepth: 5
    functionLinenumber: 1247
    functionLinenumberEnd: 1261
    functionName: ddsi_handshake_register
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - ddsi_handshake_create
    - ddsrt_mutex_lock
    - ddsi_handshake_find_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_register(struct ddsi_participant *pp, struct ddsi_proxy_participant
      *proxypp, ddsi_handshake_end_cb_t callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1265,1
    - Dst: ddsi_handshake_admin_create
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (gv)
      pos:
        line_end: 1264
        line_start: 1264
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: ddsi_handshake_admin_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_handshake_admin_create
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_admin_init(struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1274,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1275,1
    - Dst: dds_security_fsm_control_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1277,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1269
    functionDepth: 5
    functionLinenumber: 1269
    functionLinenumberEnd: 1280
    functionName: ddsi_handshake_admin_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_avl_free
    - dds_security_fsm_control_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_admin_deinit(struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_control_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: ddsi_handshake_admin_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_control_stop
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_admin_stop(struct ddsi_domaingv *gv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:37,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:46,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sa1
    - sa2
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: ddsi_ipaddr_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 1
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ddsi_ipaddr_compare (const struct sockaddr *const sa1, const struct
      sockaddr *const sa2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:73,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:82,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:83,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 96
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 96
    functionName: ipaddr_prefixlen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_fromBE4u
    - ddsrt_ffs32u
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ipaddr_prefixlen (const struct sockaddr * const addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:112,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:113,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:123,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:129,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:130,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:131,1
    - Dst: ddsrt_sockaddr_insamesubnet
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:132,1
    - Dst: ddsrt_sockaddr_insamesubnet
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:133,1
    - Dst: ipaddr_prefixlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:138,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - loc
    - ninterf
    - interf
    - interf_idx
    argTypes:
    - ddsi_locator_t*
    - size_t
    - struct ddsi_network_interface[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 147
    functionName: ddsi_ipaddr_is_nearby_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 2
    functionsReached:
    - ipaddr_prefixlen
    - ddsi_ipaddr_from_loc
    - ddsrt_sockaddr_insamesubnet
    - memcmp
    linkageType: ''
    returnType: enum ddsi_nearby_address_result
    signature: enum ddsi_nearby_address_result ddsi_ipaddr_is_nearby_address (const
      ddsi_locator_t *loc, size_t ninterf, const struct ddsi_network_interface interf[],
      size_t *interf_idx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:151,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:175,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:179,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:180,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:192,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:223,1
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:232,1
    - Dst: ddsrt_gethostbyname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:236,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:239,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:240,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:251,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:254,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:256,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:258,1
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:261,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:263,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 3
    argNames:
    - loc
    - str
    - kind
    argTypes:
    - ddsi_locator_t*
    - char*
    - int32_t
    assertStmts:
    - condition: (portstr > copy)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    - condition: (af == AF_INET6)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 264
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 264
    functionName: ddsi_ipaddr_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 1
    functionsReached:
    - ddsi_ipaddr_to_loc
    - strrchr
    - sscanf
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - ddsrt_strlcpy
    - assert
    - ddsrt_gethostbyname
    - htons
    - DDSRT_WARNING_MSVC_ON
    - strchr
    - abort
    - ddsrt_sockaddrfromstr
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_ipaddr_from_string (ddsi_locator_t
      *loc, const char *str, int32_t kind)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:268,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:270,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:276,1
    - Dst: ddsrt_sockaddrtostr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:280,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:281,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:283,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:284,1
    - Dst: ddsrt_sockaddrtostr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:290,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:291,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:293,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:294,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:296,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:301,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - dst
    - sizeof_dst
    - loc
    - with_port
    - interf
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    - int
    - struct ddsi_network_interface*
    assertStmts:
    - condition: (sizeof_dst > 1)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    - condition: (pos <= sizeof_dst)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    - condition: (pos <= sizeof_dst)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    - condition: (0)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 311
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 311
    functionName: ddsi_ipaddr_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 1
    functionsReached:
    - snprintf
    - assert
    - strlen
    - ddsi_ipaddr_from_loc
    - ddsrt_sockaddrtostr
    linkageType: ''
    returnType: char
    signature: char *ddsi_ipaddr_to_string (char *dst, size_t sizeof_dst, const ddsi_locator_t
      *loc, int with_port, const struct ddsi_network_interface *interf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:321,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:322,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:326,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:330,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:331,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:332,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:340,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:341,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:345,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:349,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:350,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - dst
    - src
    - kind
    argTypes:
    - ddsi_locator_t*
    - struct sockaddr*
    - int32_t
    assertStmts:
    - condition: (kind == DDSI_LOCATOR_KIND_UDPv4 || kind == DDSI_LOCATOR_KIND_TCPv4)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    - condition: (kind == DDSI_LOCATOR_KIND_UDPv6 || kind == DDSI_LOCATOR_KIND_TCPv6)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 358
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 358
    functionName: ddsi_ipaddr_to_loc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 5
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - htonl
    - memcpy
    - assert
    - memset
    - DDS_FATAL
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ddsi_ipaddr_to_loc (ddsi_locator_t *dst, const struct sockaddr
      *src, int32_t kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:362,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:366,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:373,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:374,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:383,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:384,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct sockaddr_storage*
    - ddsi_locator_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    constantsTouched: []
    func_position:
      end: 395
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 395
    functionName: ddsi_ipaddr_from_loc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
    functionUses: 4
    functionsReached:
    - htons
    - IN6_IS_ADDR_LINKLOCAL
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_ipaddr_from_loc (struct sockaddr_storage *dst, const ddsi_locator_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: root_rdmatch
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 3
    functionsReached:
    - ddsrt_avl_root
    linkageType: ''
    returnType: struct ddsi_wr_prd_match
    signature: struct ddsi_wr_prd_match *root_rdmatch (const struct ddsi_writer *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:51,1
    - Dst: root_rdmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: have_reliable_subs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - root_rdmatch
    - ddsrt_avl_is_empty
    linkageType: ''
    returnType: int
    signature: int have_reliable_subs (const struct ddsi_writer *wr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:84,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:87,1
    - Dst: ddsi_xmsg_setdst_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:90,1
    - Dst: ddsi_xmsg_setmaxdelay
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:91,1
    - Dst: ddsi_xmsg_add_timestamp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:92,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:93,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:95,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:98,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:99,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:100,1
    - Dst: ddsi_xmsg_setwriterseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:104,1
    - Dst: ddsi_xmsg_addpar_keyhash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:108,1
    - Dst: ddsi_xmsg_addpar_statusinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:110,1
    - Dst: ddsi_xmsg_addpar_sentinel_ifparam
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:111,1
    - Dst: ddsi_xmsg_submsg_from_marker
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:113,1
    - Dst: ddsi_xmsg_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:119,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:119,1
    - Dst: ddsi_xmsg_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:121,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:121,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - wr
    - seq
    - serdata
    - pmsg
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_xmsg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 125
    functionName: ddsi_create_fragment_message_simple
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_addpar_statusinfo
    - ddsi_xmsg_addpar_keyhash
    - ddsi_xmsg_setdst_addrset
    - ddsi_xmsg_serdata
    - ddsi_to_seqno
    - ddsi_xmsg_add_timestamp
    - ddsi_xmsg_setwriterseq
    - ddsi_xmsg_new
    - ddsi_xmsg_addpar_sentinel_ifparam
    - ddsi_serdata_size
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_submsg_setnext
    - ddsi_xmsg_setmaxdelay
    - ddsi_to_entityid
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_from_marker
    - ddsi_xmsg_submsg_init
    - ddsi_hton_entityid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_create_fragment_message_simple (struct ddsi_writer
      *wr, ddsi_seqno_t seq, struct ddsi_serdata *serdata, struct ddsi_xmsg **pmsg)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:150,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:153,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:167,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:172,1
    - Dst: ddsi_xmsg_setdst_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:177,1
    - Dst: ddsi_xmsg_setmaxdelay
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:178,1
    - Dst: ddsi_xmsg_add_timestamp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:184,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:187,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:200,1
    - Dst: ddsi_xmsg_setwriterseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:208,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:215,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:216,1
    - Dst: ddsi_xmsg_setwriterseq_fragid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:236,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:241,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:241,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:242,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:243,1
    - Dst: ddsi_xmsg_set_data_reader_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:246,1
    - Dst: DDSRT_STATIC_ASSERT_CODE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:248,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:249,1
    - Dst: ddsi_xmsg_addpar_keyhash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:257,1
    - Dst: ddsi_xmsg_addpar_statusinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:261,1
    - Dst: ddsi_xmsg_addpar_sentinel_ifparam
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:263,1
    - Dst: ddsi_xmsg_submsg_from_marker
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:266,1
    - Dst: ddsi_xmsg_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:271,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:272,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:274,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:275,1
    - Dst: ddsi_security_encode_datawriter_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:279,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:283,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 9
    argNames:
    - wr
    - seq
    - serdata
    - fragnum
    - nfrags
    - prd
    - pmsg
    - isnew
    - advertised_fragnum
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - uint32_t
    - uint16_t
    - struct ddsi_proxy_reader*
    - struct ddsi_xmsg**
    - int
    - uint32_t
    assertStmts:
    - condition: (!(ddcmn->smhdr.flags & DDSI_DATAFRAG_FLAG_INLINE_QOS))
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (serdata->kind != SDK_EMPTY)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 289
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 289
    functionName: ddsi_create_fragment_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_setdst_addrset
    - DDSRT_STATIC_ASSERT_CODE
    - ddsi_xmsg_free
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_setmaxdelay
    - ddsi_xmsg_setwriterseq_fragid
    - ddsi_xmsg_submsg_from_marker
    - ddsi_xmsg_submsg_init
    - ddsi_xmsg_serdata
    - ddsi_xmsg_setwriterseq
    - ddsi_xmsg_new
    - ddsi_serdata_size
    - ddsi_to_seqno
    - ddsi_xmsg_addpar_sentinel_ifparam
    - ddsi_xmsg_setdst_prd
    - ddsi_xmsg_set_data_reader_id
    - assert
    - PGUID
    - ddsi_xmsg_add_timestamp
    - ddsi_hton_entityid
    - ddsi_xmsg_addpar_statusinfo
    - GVTRACE
    - ddsi_xmsg_addpar_keyhash
    - ddsi_xmsg_size
    - ddsi_xmsg_submsg_setnext
    - ddsi_to_entityid
    - ddsi_xmsg_append
    - ddsi_security_encode_datawriter_submsg
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_create_fragment_message (struct ddsi_writer *wr,
      ddsi_seqno_t seq, struct ddsi_serdata *serdata, uint32_t fragnum, uint16_t nfrags,
      const struct ddsi_proxy_reader *prd, struct ddsi_xmsg **pmsg, int isnew, uint32_t
      advertised_fragnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:296,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:297,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:300,1
    - Dst: ddsi_xmsg_setdst_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:302,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:303,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:304,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:305,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:305,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:306,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:307,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:312,1
    - Dst: ddsi_security_encode_datawriter_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:313,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:317,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - wr
    - seq
    - fragnum
    - prd
    - pmsg
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - unsigned
    - struct ddsi_proxy_reader*
    - struct ddsi_xmsg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: create_HeartbeatFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_security_encode_datawriter_submsg
    - ddsi_xmsg_setdst_addrset
    - ddsi_to_seqno
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_size
    - ddsi_xmsg_submsg_setnext
    - ddsi_to_entityid
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    - ddsi_xmsg_setdst_prd
    - ddsi_hton_entityid
    linkageType: ''
    returnType: void
    signature: void create_HeartbeatFrag (struct ddsi_writer *wr, ddsi_seqno_t seq,
      unsigned fragnum, struct ddsi_proxy_reader *prd, struct ddsi_xmsg **pmsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:328,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:331,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:332,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:335,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:335,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:339,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:340,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:340,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:342,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:342,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:344,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:346,1
    - Dst: ddsi_xmsg_setdst_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:347,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:348,1
    - Dst: ddsi_add_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:349,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:349,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:350,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:351,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:352,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - gv
    - wr_guid
    - xp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - struct ddsi_xpack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 355
    functionName: ddsi_write_hb_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 1
    functionsReached:
    - ddsi_xpack_addmsg
    - ddsi_xpack_send
    - ddsi_thread_state_awake
    - ddsi_xmsg_setdst_addrset
    - ddsi_add_heartbeat
    - PGUID
    - ddsrt_time_elapsed
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - ddsi_xmsg_new
    - ddsi_thread_state_asleep
    - ddsi_to_entityid
    - ddsrt_atomic_ldvoidp
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    - ddsi_lease_renew
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_write_hb_liveliness (struct ddsi_domaingv * const
      gv, struct ddsi_guid *wr_guid, struct ddsi_xpack *xp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:365,1
    - Dst: strstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:366,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:368,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:371,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:373,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - frags_to_skip
    - frag
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: must_skip_frag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - strstr
    - snprintf
    - strcmp
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int must_skip_frag (const char *frags_to_skip, unsigned frag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:383,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:385,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:386,1
    - Dst: must_skip_frag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:398,1
    - Dst: ddsi_create_fragment_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:409,1
    - Dst: create_HeartbeatFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:413,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:415,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:417,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:418,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 8
    argNames:
    - xp
    - wr
    - seq
    - serdata
    - prd
    - isnew
    - nfrags
    - nfrags_lim
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_proxy_reader*
    - int
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (xp)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (0 < nfrags_lim && nfrags_lim <= nfrags)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 422
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 422
    functionName: transmit_sample_lgmsg_unlocks_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_addmsg
    - getenv
    - assert
    - ddsrt_mutex_lock
    - must_skip_frag
    - create_HeartbeatFrag
    - ddsrt_mutex_unlock
    - ddsi_create_fragment_message
    linkageType: ''
    returnType: void
    signature: void transmit_sample_lgmsg_unlocks_wr (struct ddsi_xpack *xp, struct
      ddsi_writer *wr, ddsi_seqno_t seq, struct ddsi_serdata *serdata, struct ddsi_proxy_reader
      *prd, int isnew, uint32_t nfrags, uint32_t nfrags_lim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:432,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:434,1
    - Dst: ddsi_omg_writer_is_submessage_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:435,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:437,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:438,1
    - Dst: transmit_sample_lgmsg_unlocks_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:447,1
    - Dst: ddsi_create_fragment_message_simple
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:452,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:453,1
    - Dst: ddsi_writer_hbcontrol_piggyback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:457,1
    - Dst: ddsi_xpack_packetid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:457,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:458,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:461,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 7
    argNames:
    - xp
    - wr
    - whcst
    - seq
    - serdata
    - prd
    - isnew
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_proxy_reader*
    - int
    assertStmts:
    - condition: (xp)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: ((wr->heartbeat_xevent != NULL) == (whcst != NULL))
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (wr->init_burst_size_limit <= UINT32_MAX - UINT16_MAX)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (wr->rexmit_burst_size_limit <= UINT32_MAX - UINT16_MAX)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 464
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 464
    functionName: transmit_sample_unlocks_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_addmsg
    - ddsi_xpack_send
    - ddsi_omg_writer_is_submessage_protected
    - assert
    - ddsi_serdata_size
    - ddsi_create_fragment_message_simple
    - ddsi_writer_hbcontrol_piggyback
    - ddsi_xpack_packetid
    - ddsrt_mutex_unlock
    - transmit_sample_lgmsg_unlocks_wr
    linkageType: ''
    returnType: void
    signature: void transmit_sample_unlocks_wr (struct ddsi_xpack *xp, struct ddsi_writer
      *wr, const struct ddsi_whc_state *whcst, ddsi_seqno_t seq, struct ddsi_serdata
      *serdata, struct ddsi_proxy_reader *prd, int isnew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:468,1
    - Dst: ddsi_create_fragment_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:470,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wr
    - seq
    - serdata
    - prd
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_proxy_reader*
    assertStmts:
    - condition: (wr->e.guid.entityid.u == DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: ddsi_enqueue_spdp_sample_wrlock_held
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_create_fragment_message
    - ddsi_qxev_msg
    linkageType: ''
    returnType: void
    signature: void ddsi_enqueue_spdp_sample_wrlock_held (struct ddsi_writer *wr,
      ddsi_seqno_t seq, struct ddsi_serdata *serdata, struct ddsi_proxy_reader *prd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:480,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:482,1
    - Dst: ddsi_create_fragment_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:506,1
    - Dst: create_HeartbeatFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:509,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:513,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:514,1
    - Dst: ddsi_qxev_msg_rexmit_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:526,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:536,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:539,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - wr
    - seq
    - serdata
    - prd
    - isnew
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_proxy_reader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 546
    functionName: ddsi_enqueue_sample_wrlock_held
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_qxev_msg
    - ddsi_xmsg_free
    - create_HeartbeatFrag
    - ddsi_serdata_size
    - ASSERT_MUTEX_HELD
    - ddsi_qxev_msg_rexmit_wrlock_held
    - ddsi_create_fragment_message
    linkageType: ''
    returnType: int
    signature: int ddsi_enqueue_sample_wrlock_held (struct ddsi_writer *wr, ddsi_seqno_t
      seq, struct ddsi_serdata *serdata, struct ddsi_proxy_reader *prd, int isnew)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:554,1
    - Dst: ddsi_serdata_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:563,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:564,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:564,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:565,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:568,1
    - Dst: have_reliable_subs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:568,1
    - Dst: have_reliable_subs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:577,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:585,1
    - Dst: ddsi_whc_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:587,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:587,1
    - Dst: have_reliable_subs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:590,1
    - Dst: ddsi_whc_remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:595,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:597,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:598,1
    - Dst: ddsi_whc_free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:599,1
    - Dst: ddsi_is_local_orphan_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:607,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:610,1
    - Dst: DDSI_WHCST_ISEMPTY
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:611,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:612,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - wr
    - seq
    - serdata
    - tk
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts:
    - condition: (wr->reliable || have_reliable_subs (wr) == 0)
      pos:
        line_end: 567
        line_start: 567
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (n <= 1)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (wr->c.pp->state >= DDSI_PARTICIPANT_STATE_DELETING_BUILTINS)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (whcst.min_seq == 0 && whcst.max_seq == 0)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 616
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 616
    functionName: insert_sample_in_whc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_print
    - PGUID
    - assert
    - ddsi_writer_max_drop_seq
    - ddsi_whc_remove_acked_messages
    - ddsi_whc_get_state
    - ddsrt_mtime_add_duration
    - ddsi_whc_free_deferred_free_list
    - ETRACE
    - ASSERT_MUTEX_HELD
    - ddsi_whc_insert
    - ddsi_is_local_orphan_endpoint
    - DDSI_WHCST_ISEMPTY
    - have_reliable_subs
    linkageType: ''
    returnType: int
    signature: int insert_sample_in_whc (struct ddsi_writer *wr, ddsi_seqno_t seq,
      struct ddsi_serdata *serdata, struct ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - wr
    - whcst
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: writer_may_continue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int writer_may_continue (const struct ddsi_writer *wr, const struct
      ddsi_whc_state *whcst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:660,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:661,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:664,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:667,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:668,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:669,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:669,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:670,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:670,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:673,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:675,1
    - Dst: ddsi_writer_hbcontrol_create_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:684,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:685,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:688,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:690,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:691,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:692,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:695,1
    - Dst: writer_may_continue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:695,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:698,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:699,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:701,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:702,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:708,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:712,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:715,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - thrst
    - xp
    - wr
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    assertStmts:
    - condition: (!ddsi_is_builtin_entityid(wr->e.guid.entityid, DDSI_VENDORID_ECLIPSE))
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (wr->throttling == 0)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 719
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 719
    functionName: throttle_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_writer_hbcontrol_create_heartbeat
    - ddsi_thread_state_awake_domain_ok
    - writer_may_continue
    - ASSERT_MUTEX_HELD
    - GVLOG
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - ddsi_is_builtin_entityid
    - ddsi_thread_state_asleep
    - ddsi_xpack_addmsg
    - ddsi_xpack_send
    - assert
    - PGUID
    - ddsrt_cond_mtime_broadcast
    - ddsrt_time_monotonic
    - ddsrt_cond_mtime_waituntil
    - ddsrt_mtime_add_duration
    - ddsi_thread_is_awake
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t throttle_writer (struct ddsi_thread_state * const thrst,
      struct ddsi_xpack *xp, struct ddsi_writer *wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:726,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:727,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 737
    functionName: maybe_grow_whc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    - DDS_MSECS
    linkageType: ''
    returnType: int
    signature: int maybe_grow_whc (struct ddsi_writer *wr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:749,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:751,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:756,1
    - Dst: struct ddsi_proxy_reader*::filter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:761,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:767,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:767,1
    - Dst: ddsi_gap_info_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:769,1
    - Dst: ddsi_whc_borrow_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:773,1
    - Dst: struct ddsi_proxy_reader*::filter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:775,1
    - Dst: ddsi_gap_info_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:777,1
    - Dst: ddsi_whc_return_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:779,1
    - Dst: ddsi_gap_info_create_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:782,1
    - Dst: insert_sample_in_whc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:788,1
    - Dst: ddsi_enqueue_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:790,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:793,1
    - Dst: ddsi_writer_hbcontrol_note_asyncwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:796,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:800,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - wr
    - seq
    - serdata
    - tk
    - prd
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 805
    functionName: ddsi_write_sample_p2p_wrlock_held
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_whc_return_sample
    - ddsi_qxev_msg
    - insert_sample_in_whc
    - ddsrt_avl_lookup
    - ddsi_whc_borrow_sample
    - PGUID
    - ddsi_xmsg_free
    - ddsi_gap_info_update
    - ddsi_gap_info_create_gap
    - ddsi_enqueue_sample_wrlock_held
    - struct ddsi_proxy_reader*::filter
    - ddsrt_time_wallclock
    - ddsi_writer_hbcontrol_note_asyncwrite
    - ddsrt_time_monotonic
    - ddsi_gap_info_init
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_write_sample_p2p_wrlock_held(struct ddsi_writer *wr, ddsi_seqno_t
      seq, struct ddsi_serdata *serdata, struct ddsi_tkmap_instance *tk, struct ddsi_proxy_reader
      *prd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:816,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:819,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:825,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:826,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:827,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:833,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:834,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:834,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:836,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:836,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:838,1
    - Dst: ddsi_writer_set_alive_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:841,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:846,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:850,1
    - Dst: throttle_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:852,1
    - Dst: maybe_grow_whc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:855,1
    - Dst: throttle_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:859,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:863,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:873,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:878,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:882,1
    - Dst: insert_sample_in_whc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:883,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:886,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:890,1
    - Dst: ddsi_writer_update_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:891,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:892,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:894,1
    - Dst: ddsi_writer_update_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:902,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:903,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:917,1
    - Dst: transmit_sample_unlocks_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:920,1
    - Dst: ddsi_writer_hbcontrol_note_asyncwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:925,1
    - Dst: ddsi_enqueue_spdp_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:927,1
    - Dst: ddsi_enqueue_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:929,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:930,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:936,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 6
    argNames:
    - thrst
    - xp
    - wr
    - serdata
    - tk
    - gc_allowed
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    - int
    assertStmts:
    - condition: (gc_allowed || (wr->xqos->history.kind == DDS_HISTORY_KEEP_LAST &&
        wr->whc_low == INT32_MAX))
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    - condition: (gc_allowed)
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 938
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 938
    functionName: write_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 7
    functionsReached:
    - ddsi_writer_set_alive_may_unlock
    - insert_sample_in_whc
    - ddsi_writer_hbcontrol_note_asyncwrite
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - ddsi_serdata_size
    - ddsi_lease_renew
    - GVWARNING
    - ddsi_serdata_unref
    - transmit_sample_unlocks_wr
    - PGUID
    - assert
    - throttle_writer
    - maybe_grow_whc
    - ddsrt_time_monotonic
    - ddsi_enqueue_spdp_sample_wrlock_held
    - GVTRACE
    - ddsi_addrset_empty
    - ddsi_writer_update_seq_xmit
    - ddsi_enqueue_sample_wrlock_held
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int write_sample (struct ddsi_thread_state * const thrst, struct ddsi_xpack
      *xp, struct ddsi_writer *wr, struct ddsi_serdata *serdata, struct ddsi_tkmap_instance
      *tk, int gc_allowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - thrst
    - xp
    - wr
    - serdata
    - tk
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 5
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: ddsi_write_sample_gc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 4
    functionsReached:
    - write_sample
    linkageType: ''
    returnType: int
    signature: int ddsi_write_sample_gc (struct ddsi_thread_state * const thrst, struct
      ddsi_xpack *xp, struct ddsi_writer *wr, struct ddsi_serdata *serdata, struct
      ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - thrst
    - xp
    - wr
    - serdata
    - tk
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 5
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: ddsi_write_sample_nogc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - write_sample
    linkageType: ''
    returnType: int
    signature: int ddsi_write_sample_nogc (struct ddsi_thread_state * const thrst,
      struct ddsi_xpack *xp, struct ddsi_writer *wr, struct ddsi_serdata *serdata,
      struct ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:954,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:954,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:955,1
    - Dst: write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:956,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - thrst
    - xp
    - wr
    - serdata
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 953
        line_start: 953
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 5
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: ddsi_write_sample_gc_notk
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - assert
    - write_sample
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_thread_is_awake
    linkageType: ''
    returnType: int
    signature: int ddsi_write_sample_gc_notk (struct ddsi_thread_state * const thrst,
      struct ddsi_xpack *xp, struct ddsi_writer *wr, struct ddsi_serdata *serdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:965,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:965,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:966,1
    - Dst: write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:967,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - thrst
    - xp
    - wr
    - serdata
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_writer*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 5
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: ddsi_write_sample_nogc_notk
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - assert
    - write_sample
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_thread_is_awake
    linkageType: ''
    returnType: int
    signature: int ddsi_write_sample_nogc_notk (struct ddsi_thread_state * const thrst,
      struct ddsi_xpack *xp, struct ddsi_writer *wr, struct ddsi_serdata *serdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:974,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:975,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:977,1
    - Dst: ddsi_write_sample_nogc_notk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:978,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wr
    - ps
    - alive
    argTypes:
    - struct ddsi_writer*
    - ddsi_plist_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 6
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: ddsi_write_and_fini_plist
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
    functionUses: 0
    functionsReached:
    - ddsi_write_sample_nogc_notk
    - ddsi_plist_fini
    - ddsi_serdata_from_sample
    - ddsrt_time_wallclock
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: int
    signature: int ddsi_write_and_fini_plist (struct ddsi_writer *wr, ddsi_plist_t
      *ps, bool alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - numbits
    - bits
    - idx
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ddsi_bitset_isset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int
    signature: int ddsi_bitset_isset (uint32_t numbits, const uint32_t *bits, uint32_t
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:34,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bits
    - idx
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (idx < numbits)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ddsi_bitset_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    functionUses: 0
    functionsReached:
    - assert
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void ddsi_bitset_set (UNUSED_ARG_NDEBUG (uint32_t numbits), uint32_t
      *bits, uint32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:41,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bits
    - idx
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (idx < numbits)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ddsi_bitset_clear
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    functionUses: 0
    functionsReached:
    - assert
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void ddsi_bitset_clear (UNUSED_ARG_NDEBUG (uint32_t numbits), uint32_t
      *bits, uint32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - numbits
    - bits
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: ddsi_bitset_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_bitset_zero (uint32_t numbits, uint32_t *bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:54,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - numbits
    - bits
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: ddsi_bitset_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
    functionUses: 0
    functionsReached:
    - UINT32_C
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_bitset_one (uint32_t numbits, uint32_t *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: _PUSH
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PUSH(fn,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: PUSH_OP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_OP(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: PUSH_ARG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_ARG(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - idx
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: OR_OP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OR_OP(idx,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - idx
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: SET_OP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OP(idx,val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:211,1
    - Dst: typebuilder_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:229,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tb_type
    argTypes:
    - struct typebuilder_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 236
    functionName: DDSI_LIST_TYPES_TMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_type_fini
    - ddsrt_calloc
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void DDSI_LIST_TYPES_TMPL(typebuilder_dep_types, struct typebuilder_aggregated_type
      *, NOARG, 32)\n#undef NOARG\n\nstruct typebuilder_data\n{\n  struct ddsi_domaingv
      *gv;\n  const struct ddsi_type *type;\n  struct typebuilder_aggregated_type
      toplevel_type;\n  struct typebuilder_dep_types dep_types;\n  uint32_t n_keys;\n
      \ struct typebuilder_key *keys;\n  bool fixed_size;\n};\n\nDDSI_LIST_DECLS_TMPL(static,
      typebuilder_dep_types, struct typebuilder_aggregated_type *, ddsrt_attribute_unused)\nDDSI_LIST_CODE_TMPL(static,
      typebuilder_dep_types, struct typebuilder_aggregated_type *, NULL, ddsrt_malloc,
      ddsrt_free)\n\nstatic dds_return_t typebuilder_add_aggrtype (struct typebuilder_data
      *tbd, struct typebuilder_aggregated_type *tb_aggrtype, const struct ddsi_type
      *type);\nstatic dds_return_t typebuilder_add_type (struct typebuilder_data *tbd,
      uint32_t *size, uint32_t *align, struct typebuilder_type *tb_type, const struct
      ddsi_type *type, bool is_ext, bool use_ext_type);\nstatic dds_return_t resolve_ops_offsets_aggrtype
      (const struct typebuilder_aggregated_type *tb_aggrtype, struct typebuilder_ops
      *ops);\nstatic dds_return_t get_keys_aggrtype (struct typebuilder_data *tbd,
      struct typebuilder_key_path *path, const struct typebuilder_aggregated_type
      *tb_aggrtype, bool parent_key);\nstatic dds_return_t set_implicit_keys_aggrtype
      (struct typebuilder_aggregated_type *tb_aggrtype, bool is_toplevel, bool parent_is_key);\n\nstatic
      struct typebuilder_data *typebuilder_data_new (struct ddsi_domaingv *gv, const
      struct ddsi_type *type) ddsrt_nonnull_all;\nstatic struct typebuilder_data *typebuilder_data_new
      (struct ddsi_domaingv *gv, const struct ddsi_type *type)\n{\n  struct typebuilder_data
      *tbd;\n  if (!(tbd = ddsrt_calloc (1, sizeof (*tbd))))\n    return NULL;\n  tbd->gv
      = gv;\n  tbd->type = type;\n  typebuilder_dep_types_init (&tbd->dep_types);\n
      \ tbd->fixed_size = true;\n  return tbd;\n}\n\nstatic void typebuilder_type_fini
      (struct typebuilder_type *tb_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:244,1
    - Dst: typebuilder_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:245,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tb_struct
    argTypes:
    - struct typebuilder_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: typebuilder_struct_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_type_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void typebuilder_struct_fini (struct typebuilder_struct *tb_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typebuilder_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:256,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tb_union
    argTypes:
    - struct typebuilder_union*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: typebuilder_union_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_type_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void typebuilder_union_fini (struct typebuilder_union *tb_union)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:263,1
    - Dst: typebuilder_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:266,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:267,1
    - Dst: typebuilder_struct_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:272,1
    - Dst: typebuilder_union_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - tb_aggrtype
    argTypes:
    - struct typebuilder_aggregated_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: typebuilder_aggrtype_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_union_fini
    - typebuilder_struct_fini
    - typebuilder_type_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void typebuilder_aggrtype_fini (struct typebuilder_aggregated_type
      *tb_aggrtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: typebuilder_ops_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void typebuilder_ops_fini (struct typebuilder_ops *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:287,1
    - Dst: typebuilder_aggrtype_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:288,1
    - Dst: typebuilder_dep_types_iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:291,1
    - Dst: typebuilder_dep_types_iter_d_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:291,1
    - Dst: typebuilder_aggrtype_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:293,1
    - Dst: typebuilder_dep_types_iter_d_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:294,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:295,1
    - Dst: typebuilder_dep_types_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:297,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:301,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:302,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:303,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:305,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - tbd
    argTypes:
    - struct typebuilder_data*
    assertStmts:
    - condition: (tbd->keys[n].path && tbd->keys[n].path->parts && tbd->keys[n].path->n_parts)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: typebuilder_data_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_aggrtype_fini
    - ddsrt_free
    - ddsi_typeid_is_none
    - assert
    - typebuilder_dep_types_iter_d_next
    - typebuilder_dep_types_iter_d_remove
    - typebuilder_dep_types_free
    - typebuilder_dep_types_iter_d_first
    linkageType: ''
    returnType: void
    signature: void typebuilder_data_free (struct typebuilder_data *tbd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flags
    argTypes:
    - DDS_XTypes_TypeFlag
    assertStmts:
    - condition: (flags & DDS_XTypes_IS_FINAL)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: get_extensibility
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_extensibility (DDS_XTypes_TypeFlag flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bit_bound
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: get_bitbound_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_bitbound_flags (uint32_t bit_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offs
    - align
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: align_to
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void align_to (uint32_t *offs, uint32_t align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:341,1
    - Dst: typebuilder_dep_types_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:346,1
    - Dst: typebuilder_dep_types_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:346,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - tbd
    - type
    argTypes:
    - struct typebuilder_data*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: typebuilder_find_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_dep_types_iter_next
    - ddsi_typeid_compare
    - typebuilder_dep_types_iter_first
    linkageType: ''
    returnType: struct typebuilder_aggregated_type
    signature: struct typebuilder_aggregated_type *typebuilder_find_aggrtype (struct
      typebuilder_data *tbd, const struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - ext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: ALGN
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALGN(type,ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - ext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: SZ
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SZ(type,ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: type_unalias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - type_unalias
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type *type_unalias (const struct ddsi_type *t)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:366,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:372,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:373,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:381,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:382,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:388,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:389,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:394,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:395,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:403,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:403,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:404,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:412,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:412,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:413,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:419,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:443,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:450,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:451,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:464,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:465,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:469,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:470,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:474,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:475,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:479,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:480,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:489,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:494,1
    - Dst: ALGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:500,1
    - Dst: SZ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:501,1
    - Dst: type_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:510,1
    - Dst: type_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:515,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:520,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:525,1
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:531,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:536,1
    - Dst: typebuilder_find_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:547,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:549,1
    - Dst: typebuilder_dep_types_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:554,1
    - Dst: typebuilder_add_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:555,1
    - Dst: dds_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:559,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 186
    argCount: 7
    argNames:
    - tbd
    - size
    - align
    - tb_type
    - type
    - is_ext
    - use_ext_type
    argTypes:
    - struct typebuilder_data*
    - uint32_t*
    - uint32_t*
    - struct typebuilder_type*
    - struct ddsi_type*
    - bool
    - bool
    assertStmts:
    - condition: (tbd)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (type->xt._u.enum_type.literals.seq[n].value >= 0)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 579
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 579
    functionName: typebuilder_add_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - ddsrt_calloc
    - type_unalias
    - dds_alignof
    - typebuilder_dep_types_append
    - assert
    - ALGN
    - typebuilder_find_aggrtype
    - SZ
    - typebuilder_add_type
    - typebuilder_add_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_add_type (struct typebuilder_data *tbd, uint32_t
      *size, uint32_t *align, struct typebuilder_type *tb_type, const struct ddsi_type
      *type, bool is_ext, bool use_ext_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: supported_key_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:590,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - tb_type
    argTypes:
    - struct typebuilder_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: supported_key_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - supported_key_type
    linkageType: ''
    returnType: bool
    signature: bool supported_key_type (const struct typebuilder_type *tb_type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:599,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:600,1
    - Dst: get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:605,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:609,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:614,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:629,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:630,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:637,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:640,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:655,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:670,1
    - Dst: supported_key_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:673,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:682,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:684,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:689,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 3
    argNames:
    - tbd
    - tb_aggrtype
    - type
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_aggregated_type*
    - struct ddsi_type*
    assertStmts:
    - condition: (tbd)
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (member->type.size <= UINT32_MAX - offs)
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (sz <= UINT32_MAX - offs)
      pos:
        line_end: 683
        line_start: 683
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 693
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 693
    functionName: typebuilder_add_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - get_extensibility
    - assert
    - ddsrt_strdup
    - align_to
    - supported_key_type
    - typebuilder_add_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_add_struct (struct typebuilder_data *tbd,
      struct typebuilder_aggregated_type *tb_aggrtype, const struct ddsi_type *type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:700,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:701,1
    - Dst: get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:703,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:705,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:725,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:741,1
    - Dst: typebuilder_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:751,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:763,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:769,1
    - Dst: align_to
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:773,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - tbd
    - tb_aggrtype
    - type
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_aggregated_type*
    - struct ddsi_type*
    assertStmts:
    - condition: (tbd)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 777
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 777
    functionName: typebuilder_add_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - get_extensibility
    - assert
    - ddsrt_strdup
    - align_to
    - typebuilder_add_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_add_union (struct typebuilder_data *tbd, struct
      typebuilder_aggregated_type *tb_aggrtype, const struct ddsi_type *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:781,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:783,1
    - Dst: typebuilder_add_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:788,1
    - Dst: typebuilder_add_union
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - tbd
    - tb_aggrtype
    - type
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_aggregated_type*
    - struct ddsi_type*
    assertStmts:
    - condition: (tbd)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 798
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 798
    functionName: typebuilder_add_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - assert
    - typebuilder_add_struct
    - typebuilder_add_union
    - ddsi_typeid_copy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_add_aggrtype (struct typebuilder_data *tbd,
      struct typebuilder_aggregated_type *tb_aggrtype, const struct ddsi_type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:802,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:805,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:807,1
    - Dst: typebuilder_ops_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ops
    - op
    - index
    argTypes:
    - struct typebuilder_ops*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (ops)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (UINT16_MAX - OPS_CHUNK_SZ > ops->maximum)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 818
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 818
    functionName: push_op_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    - typebuilder_ops_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t push_op_impl (struct typebuilder_ops *ops, uint32_t op,
      uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_op_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ops
    - index
    - op
    argTypes:
    - struct typebuilder_ops*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: set_op
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - push_op_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_op (struct typebuilder_ops *ops, uint32_t index, uint32_t
      op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_op_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ops
    - op
    argTypes:
    - struct typebuilder_ops*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: push_op
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - push_op_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t push_op (struct typebuilder_ops *ops, uint32_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_op_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ops
    - op
    argTypes:
    - struct typebuilder_ops*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: push_op_arg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - push_op_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t push_op_arg (struct typebuilder_ops *ops, uint32_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:837,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ops
    - index
    - value
    argTypes:
    - struct typebuilder_ops*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (ops)
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (index <= ops->index)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 840
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 840
    functionName: or_op
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void or_op (struct typebuilder_ops *ops, uint32_t index, uint32_t value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_bitbound_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:855,1
    - Dst: get_bitbound_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - tb_type
    argTypes:
    - struct typebuilder_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 864
    functionName: get_type_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - get_bitbound_flags
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_type_flags (const struct typebuilder_type *tb_type)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:875,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:876,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:877,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:880,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:881,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:884,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:885,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:886,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:887,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:890,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:891,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:892,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:893,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:894,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:898,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:899,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:903,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:904,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:907,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:908,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:909,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:912,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:913,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:914,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:917,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:918,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:919,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:925,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:926,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:928,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:929,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:931,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:938,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:941,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:942,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:946,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:950,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:952,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:955,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:957,1
    - Dst: get_ops_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:958,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:960,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:961,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:973,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:974,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:976,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:978,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:983,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:984,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:986,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:987,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:988,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:995,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:998,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:999,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1002,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1003,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1008,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1009,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1013,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1014,1
    - Dst: get_ops_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1015,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1017,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1018,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 179
    argCount: 4
    argNames:
    - tb_type
    - flags
    - member_offset
    - ops
    argTypes:
    - struct typebuilder_type*
    - uint32_t
    - uint32_t
    - struct typebuilder_ops*
    assertStmts:
    - condition: (element_type)
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (element_type)
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1034
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 1034
    functionName: get_ops_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - PUSH_OP
    - OR_OP
    - assert
    - get_type_flags
    - get_ops_type
    - PUSH_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_ops_type (struct typebuilder_type *tb_type, uint32_t
      flags, uint32_t member_offset, struct typebuilder_ops *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aggrtype_has_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tb_aggrtype
    argTypes:
    - struct typebuilder_aggregated_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: aggrtype_has_key
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - aggrtype_has_key
    linkageType: ''
    returnType: bool
    signature: bool aggrtype_has_key (struct typebuilder_aggregated_type *tb_aggrtype)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1046,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1050,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1053,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1059,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1060,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1064,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1066,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1067,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1069,1
    - Dst: aggrtype_has_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1073,1
    - Dst: get_ops_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1074,1
    - Dst: get_ops_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1086,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1089,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - tb_struct
    - tb_base_type
    - extensibility
    - parent_insn_offs
    - ops
    argTypes:
    - struct typebuilder_struct*
    - struct typebuilder_type*
    - uint16_t
    - uint32_t
    - struct typebuilder_ops*
    assertStmts:
    - condition: (extensibility == DDS_XTypes_IS_FINAL)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (parent_insn_offs < ops->index)
      pos:
        line_end: 1063
        line_start: 1063
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1093
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1093
    functionName: get_ops_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - aggrtype_has_key
    - PUSH_OP
    - assert
    - get_ops_type
    - PUSH_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_ops_struct (const struct typebuilder_struct *tb_struct,
      struct typebuilder_type *tb_base_type, uint16_t extensibility, uint32_t parent_insn_offs,
      struct typebuilder_ops *ops)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1104,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1105,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1106,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1107,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1110,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1111,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1112,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1113,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1116,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1117,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1118,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1119,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1120,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1124,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1125,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1126,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1127,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1131,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1132,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1133,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1134,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1137,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1138,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1139,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1140,1
    - Dst: get_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1144,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1147,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1148,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1149,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1150,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1162,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1163,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1164,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1166,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1169,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1170,1
    - Dst: get_ops_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1177,1
    - Dst: SET_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 7
    argNames:
    - tb_type
    - flags
    - disc_value
    - offset
    - include_inline_type
    - inline_types_offs
    - ops
    argTypes:
    - struct typebuilder_type*
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    - uint32_t*
    - struct typebuilder_ops*
    assertStmts:
    - condition: (inst_offs_idx < *inline_types_offs)
      pos:
        line_end: 1168
        line_start: 1168
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1190
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1190
    functionName: get_ops_union_case
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - PUSH_OP
    - OR_OP
    - assert
    - SET_OP
    - get_type_flags
    - get_ops_type
    - PUSH_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_ops_union_case (struct typebuilder_type *tb_type,
      uint32_t flags, uint32_t disc_value, uint32_t offset, bool include_inline_type,
      uint32_t *inline_types_offs, struct typebuilder_ops *ops)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1199,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1202,1
    - Dst: get_bitbound_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1212,1
    - Dst: get_bitbound_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1215,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1224,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1225,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1226,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1228,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1230,1
    - Dst: get_ops_union_case
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1237,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - tb_union
    - extensibility
    - ops
    argTypes:
    - struct typebuilder_union*
    - uint16_t
    - struct typebuilder_ops*
    assertStmts:
    - condition: (extensibility == DDS_XTypes_IS_FINAL)
      pos:
        line_end: 1201
        line_start: 1201
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1245
      start: 1192
    functionDepth: 4
    functionLinenumber: 1192
    functionLinenumberEnd: 1245
    functionName: get_ops_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - PUSH_OP
    - OR_OP
    - assert
    - get_ops_union_case
    - get_bitbound_flags
    - PUSH_ARG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_ops_union (const struct typebuilder_union *tb_union,
      uint16_t extensibility, struct typebuilder_ops *ops)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_ops_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1254,1
    - Dst: typebuilder_ops_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1256,1
    - Dst: get_ops_union
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1261,1
    - Dst: typebuilder_ops_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1263,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1268,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - tb_aggrtype
    - ops
    argTypes:
    - struct typebuilder_aggregated_type*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1247
    functionDepth: 5
    functionLinenumber: 1247
    functionLinenumberEnd: 1276
    functionName: get_ops_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - get_ops_struct
    - PUSH_OP
    - get_ops_union
    - abort
    - typebuilder_ops_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_ops_aggrtype (struct typebuilder_aggregated_type *tb_aggrtype,
      struct typebuilder_ops *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ops_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1281,1
    - Dst: typebuilder_dep_types_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1285,1
    - Dst: typebuilder_dep_types_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1285,1
    - Dst: get_ops_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tbd
    - ops
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1278
    functionDepth: 6
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionName: typebuilder_get_ops
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - get_ops_aggrtype
    - typebuilder_dep_types_iter_first
    - typebuilder_dep_types_iter_next
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_get_ops (struct typebuilder_data *tbd, struct
      typebuilder_ops *ops)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1302,1
    - Dst: resolve_ops_offsets_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1303,1
    - Dst: resolve_ops_offsets_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1312,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1322,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1323,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1324,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - tb_type
    - ops
    argTypes:
    - struct typebuilder_type*
    - struct typebuilder_ops*
    assertStmts:
    - condition: (element_type)
      pos:
        line_end: 1301
        line_start: 1301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (ref_op <= INT16_MAX)
      pos:
        line_end: 1321
        line_start: 1321
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (offs_base <= INT16_MAX)
      pos:
        line_end: 1322
        line_start: 1322
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (offs_target <= INT16_MAX)
      pos:
        line_end: 1323
        line_start: 1323
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1330
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1330
    functionName: resolve_ops_offsets_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - OR_OP
    - assert
    - resolve_ops_offsets_aggrtype
    - resolve_ops_offsets_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t resolve_ops_offsets_type (struct typebuilder_type *tb_type,
      struct typebuilder_ops *ops)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1340,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1340,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1341,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1341,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1342,1
    - Dst: resolve_ops_offsets_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1344,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1351,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1351,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1352,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1353,1
    - Dst: resolve_ops_offsets_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - tb_struct
    - tb_base_type
    - extensibility
    - parent_insn_offs
    - ops
    argTypes:
    - struct typebuilder_struct*
    - struct typebuilder_type*
    - uint16_t
    - uint32_t
    - struct typebuilder_ops*
    assertStmts:
    - condition: (DDS_OP (ops->ops[plm_insn_idx]) == DDS_OP_PLM)
      pos:
        line_end: 1339
        line_start: 1339
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (DDS_PLM_FLAGS (ops->ops[plm_insn_idx]) == DDS_OP_FLAG_BASE)
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (DDS_OP (ops->ops[plm_insn_idx]) == DDS_OP_PLM)
      pos:
        line_end: 1350
        line_start: 1350
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (ops->ops[plm_insn_idx + 1] == mem->member_id)
      pos:
        line_end: 1351
        line_start: 1351
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1362
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1362
    functionName: resolve_ops_offsets_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - resolve_ops_offsets_struct
    - DDS_PLM_FLAGS
    - OR_OP
    - assert
    - DDS_OP
    - resolve_ops_offsets_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t resolve_ops_offsets_struct (const struct typebuilder_struct
      *tb_struct, struct typebuilder_type *tb_base_type, uint16_t extensibility, uint32_t
      parent_insn_offs, struct typebuilder_ops *ops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resolve_ops_offsets_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - tb_union
    - ops
    argTypes:
    - struct typebuilder_union*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1379
    functionName: resolve_ops_offsets_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - resolve_ops_offsets_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t resolve_ops_offsets_union (const struct typebuilder_union
      *tb_union, struct typebuilder_ops *ops)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: resolve_ops_offsets_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1386,1
    - Dst: resolve_ops_offsets_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1393,1
    - Dst: resolve_ops_offsets_union
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1396,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - tb_aggrtype
    - ops
    argTypes:
    - struct typebuilder_aggregated_type*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1402
    functionName: resolve_ops_offsets_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - abort
    - resolve_ops_offsets_struct
    - resolve_ops_offsets_union
    - resolve_ops_offsets_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t resolve_ops_offsets_aggrtype (const struct typebuilder_aggregated_type
      *tb_aggrtype, struct typebuilder_ops *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resolve_ops_offsets_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbd
    - ops
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1404
    functionDepth: 4
    functionLinenumber: 1404
    functionLinenumberEnd: 1407
    functionName: typebuilder_resolve_ops_offsets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - resolve_ops_offsets_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_resolve_ops_offsets (const struct typebuilder_data
      *tbd, struct typebuilder_ops *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1411,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - struct typebuilder_key_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1413
    functionName: path_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void path_free (struct typebuilder_key_path *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1418,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1424,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1426,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - dst
    - path
    - name
    - member
    - part_kind
    argTypes:
    - struct typebuilder_key_path**
    - struct typebuilder_key_path*
    - char*
    - struct typebuilder_struct_member*
    - key_path_part_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1446
    functionName: extend_path
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - strlen
    - ddsrt_calloc
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t extend_path (struct typebuilder_key_path **dst, const
      struct typebuilder_key_path *path, const char *name, const struct typebuilder_struct_member
      *member, key_path_part_kind_t part_kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extend_path
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1457,1
    - Dst: get_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1462,1
    - Dst: path_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1463,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1470,1
    - Dst: path_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1472,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - tbd
    - path
    - tb_struct
    - has_explicit_keys
    - parent_is_key
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_key_path*
    - struct typebuilder_struct*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1484
    functionName: get_keys_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - get_keys_aggrtype
    - path_free
    - ddsrt_realloc
    - extend_path
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_keys_struct (struct typebuilder_data *tbd, struct
      typebuilder_key_path *path, const struct typebuilder_struct *tb_struct, bool
      has_explicit_keys, bool parent_is_key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: extend_path
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1494,1
    - Dst: get_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1496,1
    - Dst: path_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1497,1
    - Dst: get_keys_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1503,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tbd
    - path
    - tb_aggrtype
    - parent_is_key
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_key_path*
    - struct typebuilder_aggregated_type*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1515
    functionName: get_keys_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 2
    functionsReached:
    - get_keys_struct
    - path_free
    - extend_path
    - get_keys_aggrtype
    - abort
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_keys_aggrtype (struct typebuilder_data *tbd, struct
      typebuilder_key_path *path, const struct typebuilder_aggregated_type *tb_aggrtype,
      bool parent_is_key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1522,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1525,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1532,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: ((*a)->path->n_parts && (*a)->path->parts)
      pos:
        line_end: 1521
        line_start: 1521
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: ((*a)->path->n_parts == (*b)->path->n_parts)
      pos:
        line_end: 1539
        line_start: 1539
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: ((*b)->path->parts[n].kind == (*a)->path->parts[n].kind)
      pos:
        line_end: 1531
        line_start: 1531
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (n < (*b)->path->n_parts)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1542
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1542
    functionName: key_id_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int key_id_cmp (const void *va, const void *vb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1547,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1550,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1556,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1562,1
    - Dst: push_op_arg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1565,1
    - Dst: push_op_arg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1575,1
    - Dst: push_op_arg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1582,1
    - Dst: OR_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1592,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1597,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - tbd
    - ops
    - p_keys_by_id
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct typebuilder_key***
    assertStmts:
    - condition: (tbd->n_keys > 0)
      pos:
        line_end: 1546
        line_start: 1546
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (key->path && key->path->parts && key->path->n_parts)
      pos:
        line_end: 1561
        line_start: 1561
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1599
      start: 1544
    functionDepth: 3
    functionLinenumber: 1544
    functionLinenumberEnd: 1599
    functionName: typebuilder_get_keys_push_ops
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_free
    - OR_OP
    - assert
    - push_op_arg
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_get_keys_push_ops (struct typebuilder_data
      *tbd, struct typebuilder_ops *ops, struct typebuilder_key ***p_keys_by_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1603,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1611,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1612,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1616,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1617,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1621,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct typebuilder_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1626
    functionName: typebuilder_get_keys_make_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char *typebuilder_get_keys_make_name (const struct typebuilder_key
      *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1631,1
    - Dst: typebuilder_get_keys_make_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1637,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1644,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tbd
    - keys_by_id
    - key_desc
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_key**
    - struct dds_key_descriptor**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1650
    functionName: typebuilder_get_keys_build_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_free
    - typebuilder_get_keys_make_name
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_get_keys_build_descriptor (const struct typebuilder_data
      *tbd, struct typebuilder_key **keys_by_id, struct dds_key_descriptor **key_desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1655,1
    - Dst: typebuilder_get_keys_push_ops
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1661,1
    - Dst: typebuilder_get_keys_build_descriptor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1665,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tbd
    - ops
    - key_desc
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct dds_key_descriptor**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1652
    functionDepth: 4
    functionLinenumber: 1652
    functionLinenumberEnd: 1668
    functionName: typebuilder_get_keys
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - typebuilder_get_keys_build_descriptor
    - ddsrt_free
    - typebuilder_get_keys_push_ops
    - get_keys_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_get_keys (struct typebuilder_data *tbd, struct
      typebuilder_ops *ops, struct dds_key_descriptor **key_desc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_implicit_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1676,1
    - Dst: set_implicit_keys_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tb_collection
    - is_toplevel
    - parent_is_key
    argTypes:
    - struct typebuilder_type*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1684
    functionName: set_implicit_keys_collection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - set_implicit_keys_collection
    - set_implicit_keys_aggrtype
    linkageType: ''
    returnType: void
    signature: void set_implicit_keys_collection (struct typebuilder_type *tb_collection,
      bool is_toplevel, bool parent_is_key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_implicit_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1695,1
    - Dst: set_implicit_keys_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 4
    argNames:
    - tb_struct
    - has_explicit_key
    - is_toplevel
    - parent_is_key
    argTypes:
    - struct typebuilder_struct*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1699
    functionName: set_implicit_keys_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - set_implicit_keys_collection
    - set_implicit_keys_aggrtype
    linkageType: ''
    returnType: void
    signature: void set_implicit_keys_struct (struct typebuilder_struct *tb_struct,
      bool has_explicit_key, bool is_toplevel, bool parent_is_key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_implicit_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1706,1
    - Dst: set_implicit_keys_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1713,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - tb_aggrtype
    - is_toplevel
    - parent_is_key
    argTypes:
    - struct typebuilder_aggregated_type*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1701
    functionDepth: 3
    functionLinenumber: 1701
    functionLinenumberEnd: 1723
    functionName: set_implicit_keys_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 3
    functionsReached:
    - set_implicit_keys_struct
    - abort
    - set_implicit_keys_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_implicit_keys_aggrtype (struct typebuilder_aggregated_type
      *tb_aggrtype, bool is_toplevel, bool parent_is_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tbd
    argTypes:
    - struct typebuilder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1733
    functionName: get_descriptor_flagset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_descriptor_flagset (const struct typebuilder_data *tbd)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: add_memberids_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1751,1
    - Dst: add_memberids_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1755,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - tbd
    - ops
    - tb_collection
    - visited_aggrtypes
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct typebuilder_type*
    - struct visited_aggrtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1767
    functionName: add_memberids_collection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 1
    functionsReached:
    - add_memberids_collection
    - abort
    - add_memberids_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_memberids_collection (struct typebuilder_data *tbd,
      struct typebuilder_ops *ops, const struct typebuilder_type *tb_collection, struct
      visited_aggrtype *visited_aggrtypes)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1777,1
    - Dst: PUSH_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1778,1
    - Dst: add_memberids_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1783,1
    - Dst: add_memberids_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1787,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1795,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 5
    argNames:
    - tbd
    - ops
    - tb_struct
    - visited_aggrtypes
    - is_mutable_struct
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct typebuilder_struct*
    - struct visited_aggrtype*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1800
    functionName: add_memberids_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - PUSH_OP
    - add_memberids_collection
    - abort
    - PUSH_ARG
    - add_memberids_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_memberids_struct (struct typebuilder_data *tbd, struct
      typebuilder_ops *ops, const struct typebuilder_struct *tb_struct, struct visited_aggrtype
      *visited_aggrtypes, bool is_mutable_struct)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: add_memberids_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1811,1
    - Dst: add_memberids_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1815,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - tbd
    - ops
    - tb_union
    - visited_aggrtypes
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct typebuilder_union*
    - struct visited_aggrtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1828
    functionName: add_memberids_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - add_memberids_collection
    - abort
    - add_memberids_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_memberids_union (struct typebuilder_data *tbd, struct
      typebuilder_ops *ops, const struct typebuilder_union *tb_union, struct visited_aggrtype
      *visited_aggrtypes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1843,1
    - Dst: add_memberids_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1851,1
    - Dst: add_memberids_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1858,1
    - Dst: add_memberids_union
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1862,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1866,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - tbd
    - ops
    - tb_aggrtype
    - visited_aggrtypes
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    - struct typebuilder_aggregated_type*
    - struct visited_aggrtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1871
    functionName: add_memberids_aggrtype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 4
    functionsReached:
    - ddsrt_calloc
    - add_memberids_struct
    - add_memberids_union
    - abort
    - add_memberids_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_memberids_aggrtype (struct typebuilder_data *tbd,
      struct typebuilder_ops *ops, const struct typebuilder_aggregated_type *tb_aggrtype,
      struct visited_aggrtype *visited_aggrtypes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_memberids_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1879,1
    - Dst: PUSH_OP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1883,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tbd
    - ops
    argTypes:
    - struct typebuilder_data*
    - struct typebuilder_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1873
    functionDepth: 4
    functionLinenumber: 1873
    functionLinenumberEnd: 1894
    functionName: typebuilder_add_mid_table
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - PUSH_OP
    - add_memberids_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t typebuilder_add_mid_table (struct typebuilder_data *tbd,
      struct typebuilder_ops *ops)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_get_typeinfo_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1904,1
    - Dst: ddsi_type_get_typemap_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1907,1
    - Dst: typebuilder_get_ops
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1910,1
    - Dst: typebuilder_resolve_ops_offsets
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1911,1
    - Dst: typebuilder_get_keys
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1915,1
    - Dst: typebuilder_add_mid_table
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1918,1
    - Dst: get_descriptor_flagset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1925,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1926,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1940,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1941,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1942,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1947,1
    - Dst: typebuilder_ops_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1951,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1952,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1953,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - desc
    - tbd
    argTypes:
    - dds_topic_descriptor_t*
    - struct typebuilder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1897
    functionDepth: 7
    functionLinenumber: 1897
    functionLinenumberEnd: 1955
    functionName: get_topic_descriptor
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - typebuilder_get_keys
    - ddsi_type_get_typeinfo_ser
    - typebuilder_add_mid_table
    - ddsrt_strdup
    - ddsi_type_get_typemap_ser
    - typebuilder_resolve_ops_offsets
    - typebuilder_get_ops
    - get_descriptor_flagset
    - typebuilder_ops_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_topic_descriptor (dds_topic_descriptor_t *desc, struct
      typebuilder_data *tbd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1959,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1960,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1961,1
    - Dst: typebuilder_data_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1965,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1971,1
    - Dst: type_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1978,1
    - Dst: typebuilder_add_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1979,1
    - Dst: set_implicit_keys_aggrtype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1981,1
    - Dst: get_topic_descriptor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1982,1
    - Dst: typebuilder_data_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - gv
    - desc
    - type
    argTypes:
    - struct ddsi_domaingv*
    - dds_topic_descriptor_t*
    - struct ddsi_type*
    assertStmts:
    - condition: (gv)
      pos:
        line_end: 1958
        line_start: 1958
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (type)
      pos:
        line_end: 1960
        line_start: 1960
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - condition: (desc)
      pos:
        line_end: 1959
        line_start: 1959
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    constantsTouched: []
    func_position:
      end: 1988
      start: 1957
    functionDepth: 8
    functionLinenumber: 1957
    functionLinenumberEnd: 1988
    functionName: ddsi_topic_descriptor_from_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 2
    functionsReached:
    - assert
    - get_topic_descriptor
    - typebuilder_data_free
    - typebuilder_data_new
    - ddsi_type_resolved_locked
    - set_implicit_keys_aggrtype
    - type_unalias
    - typebuilder_add_aggrtype
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_topic_descriptor_from_type (struct ddsi_domaingv
      *gv, dds_topic_descriptor_t *desc, const struct ddsi_type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1992,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1993,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1997,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:1998,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:2000,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2002
    functionName: ddsi_topic_descriptor_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_topic_descriptor_fini (dds_topic_descriptor_t *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_rhc*::ops::unregister_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - wrinfo
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ddsi_rhc_unregister_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_rhc*::ops::unregister_wr
    linkageType: ''
    returnType: void
    signature: void ddsi_rhc_unregister_wr (struct ddsi_rhc *rhc, const struct ddsi_writer_info
      *wrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_rhc*::ops::relinquish_ownership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - wr_iid
    argTypes:
    - struct ddsi_rhc*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ddsi_rhc_relinquish_ownership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_rhc*::ops::relinquish_ownership
    linkageType: ''
    returnType: void
    signature: void ddsi_rhc_relinquish_ownership (struct ddsi_rhc *rhc, const uint64_t
      wr_iid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_rhc*::ops::set_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rhc
    - qos
    argTypes:
    - struct ddsi_rhc*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ddsi_rhc_set_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_rhc*::ops::set_qos
    linkageType: ''
    returnType: void
    signature: void ddsi_rhc_set_qos (struct ddsi_rhc *rhc, const struct dds_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_rhc*::ops::free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct ddsi_rhc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ddsi_rhc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_rhc*::ops::free
    linkageType: ''
    returnType: void
    signature: void ddsi_rhc_free (struct ddsi_rhc *rhc)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: ddsi_is_builtin_volatile_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_is_builtin_volatile_endpoint (ddsi_entityid_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:87,1
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - id
    - vendorid
    argTypes:
    - ddsi_entityid_t
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ddsi_is_builtin_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsi_is_topic_entityid
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_is_builtin_endpoint (ddsi_entityid_t id, ddsi_vendorid_t vendorid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ddsi_is_local_orphan_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_is_builtin_endpoint
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_local_orphan_endpoint (const struct ddsi_entity_common
      *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: ddsi_is_writer_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_is_writer_entityid (ddsi_entityid_t id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: ddsi_is_reader_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_is_reader_entityid (ddsi_entityid_t id)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: ddsi_is_keyed_endpoint_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_is_keyed_endpoint_entityid (ddsi_entityid_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:138,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:139,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:147,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - wrinfo
    - wr_guid
    - ownership_strength
    - autodispose_unregistered_instances
    - iid
    - statusinfo
    - lifespan_duration
    argTypes:
    - struct ddsi_writer_info*
    - ddsi_guid_t*
    - int32_t
    - bool
    - uint64_t
    - uint32_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: ddsi_make_writer_info_params
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_mtime_add_duration
    - DDSRT_UNUSED_ARG
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_make_writer_info_params (struct ddsi_writer_info *wrinfo,
      const ddsi_guid_t *wr_guid, int32_t ownership_strength, bool autodispose_unregistered_instances,
      uint64_t iid, uint32_t statusinfo, dds_duration_t lifespan_duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_make_writer_info_params
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wrinfo
    - e
    - xqos
    - statusinfo
    argTypes:
    - struct ddsi_writer_info*
    - struct ddsi_entity_common*
    - struct dds_qos*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: ddsi_make_writer_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsi_make_writer_info_params
    linkageType: ''
    returnType: void
    signature: void ddsi_make_writer_info (struct ddsi_writer_info *wrinfo, const
      struct ddsi_entity_common *e, const struct dds_qos *xqos, uint32_t statusinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:163,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:163,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: get_min_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - ddsi_entidx_lookup_proxy_reader_guid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_min_receive_buffer_size (struct ddsi_writer *wr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:182,1
    - Dst: ddsi_compute_writer_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:187,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:188,1
    - Dst: get_min_receive_buffer_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:200,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:217,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:217,1
    - Dst: ddsi_log_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:218,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 220
    functionName: ddsi_rebuild_writer_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_compute_writer_addrset
    - PGUID
    - get_min_receive_buffer_size
    - ASSERT_MUTEX_HELD
    - ddsi_unref_addrset
    - ddsi_log_addrset
    - ELOGDISC
    linkageType: ''
    returnType: void
    signature: void ddsi_rebuild_writer_addrset (struct ddsi_writer *wr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - gv
    - np
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_config_networkpartition_listelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: nwpart_includes_ssm_enabled_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool nwpart_includes_ssm_enabled_interfaces (const struct ddsi_domaingv
      *gv, const struct ddsi_config_networkpartition_listelem *np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wr
    - st
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: writer_get_alive_state_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writer_get_alive_state_locked (struct ddsi_writer *wr, struct
      ddsi_alive_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:261,1
    - Dst: writer_get_alive_state_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:262,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wr
    - st
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: ddsi_writer_get_alive_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - writer_get_alive_state_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_get_alive_state (struct ddsi_writer *wr, struct ddsi_alive_state
      *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - rd
    - iid
    - notify
    - delta
    - alive_state
    argTypes:
    - struct ddsi_reader*
    - uint64_t
    - bool
    - int
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 295
    functionName: reader_update_notify_alive_state_invoke_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reader_update_notify_alive_state_invoke_cb (struct ddsi_reader
      *rd, uint64_t iid, bool notify, int delta, const struct ddsi_alive_state *alive_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:302,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:303,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:313,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:318,1
    - Dst: ddsi_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:319,1
    - Dst: reader_update_notify_alive_state_invoke_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rd
    - wr
    - alive_state
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: ddsi_reader_update_notify_wr_alive_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_make_writer_info
    - ddsrt_avl_lookup
    - ddsi_rhc_unregister_wr
    - ddsrt_mutex_lock
    - reader_update_notify_alive_state_invoke_cb
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_update_notify_wr_alive_state (struct ddsi_reader *rd,
      const struct ddsi_writer *wr, const struct ddsi_alive_state *alive_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:328,1
    - Dst: ddsi_reader_update_notify_wr_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rd_guid
    - wr
    - alive_state
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: ddsi_reader_update_notify_wr_alive_state_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_reader_update_notify_wr_alive_state
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_update_notify_wr_alive_state_guid (const struct ddsi_guid
      *rd_guid, const struct ddsi_writer *wr, const struct ddsi_alive_state *alive_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:337,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:338,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:348,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:353,1
    - Dst: ddsi_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:354,1
    - Dst: reader_update_notify_alive_state_invoke_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rd
    - pwr
    - alive_state
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 358
    functionName: ddsi_reader_update_notify_pwr_alive_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_make_writer_info
    - ddsrt_avl_lookup
    - ddsi_rhc_unregister_wr
    - ddsrt_mutex_lock
    - reader_update_notify_alive_state_invoke_cb
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_update_notify_pwr_alive_state (struct ddsi_reader
      *rd, const struct ddsi_proxy_writer *pwr, const struct ddsi_alive_state *alive_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:363,1
    - Dst: ddsi_reader_update_notify_pwr_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rd_guid
    - pwr
    - alive_state
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_proxy_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: ddsi_reader_update_notify_pwr_alive_state_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - ddsi_reader_update_notify_pwr_alive_state
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_update_notify_pwr_alive_state_guid (const struct ddsi_guid
      *rd_guid, const struct ddsi_proxy_writer *pwr, const struct ddsi_alive_state
      *alive_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:373,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:373,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:374,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:376,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:377,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:380,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:381,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - logcfg
    - entidx
    - rd_guid
    - count
    argTypes:
    - ddsrt_log_cfg_t*
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    - ddsi_count_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: ddsi_update_reader_init_acknack_count
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - DDS_CLOG
    - PGUID
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_reader_init_acknack_count (const ddsrt_log_cfg_t *logcfg,
      const struct ddsi_entity_index *entidx, const struct ddsi_guid *rd_guid, ddsi_count_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_whc_sample_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:396,1
    - Dst: ddsi_whc_sample_iter_borrow_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:397,1
    - Dst: ddsi_serdata_ref_as_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:400,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:402,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:408,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:409,1
    - Dst: ddsi_rhc_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:410,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:411,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wr
    - rd
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 415
    functionName: ddsi_deliver_historical_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_whc_sample_iter_init
    - ddsi_serdata_ref_as_type
    - GVWARNING
    - ddsi_make_writer_info
    - ddsi_tkmap_instance_unref
    - ddsi_rhc_store
    - ddsi_serdata_unref
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_whc_sample_iter_borrow_next
    linkageType: ''
    returnType: void
    signature: void ddsi_deliver_historical_data (const struct ddsi_writer *wr, const
      struct ddsi_reader *rd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:421,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:422,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:423,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:430,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:436,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:437,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - logcfg
    - guid
    - topic_name
    - type_name
    - xqos
    argTypes:
    - struct ddsrt_log_cfg*
    - struct ddsi_guid*
    - char*
    - char*
    - struct dds_qos*
    assertStmts:
    - condition: (topic_name != NULL)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (type_name != NULL)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 442
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 442
    functionName: new_reader_writer_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - assert
    - strcmp
    - PGUID
    - ddsi_is_writer_entityid
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void new_reader_writer_common (const struct ddsrt_log_cfg *logcfg,
      const struct ddsi_guid *guid, const char *topic_name, const char *type_name,
      const struct dds_qos *xqos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_builtintopic_is_builtintopic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:446,1
    - Dst: ddsi_is_ignored_nwpart
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pp
    - topic_name
    - type
    - xqos
    argTypes:
    - struct ddsi_participant*
    - char*
    - struct ddsi_sertype*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: is_onlylocal_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_builtintopic_is_builtintopic
    - ddsi_is_ignored_nwpart
    linkageType: ''
    returnType: bool
    signature: bool is_onlylocal_endpoint (struct ddsi_participant *pp, const char
      *topic_name, const struct ddsi_sertype *type, const struct dds_qos *xqos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:458,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:460,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:460,1
    - Dst: ddsi_ref_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:461,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:465,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:471,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:479,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:486,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:487,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:488,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 10
    argNames:
    - e
    - c
    - gv
    - kind
    - guid
    - group_guid
    - pp
    - onlylocal
    - sertype
    - psmx_locators
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_endpoint_common*
    - struct ddsi_domaingv*
    - enum ddsi_entity_kind
    - struct ddsi_guid*
    - struct ddsi_guid*
    - struct ddsi_participant*
    - bool
    - struct ddsi_sertype*
    - struct ddsi_psmx_locators_set*
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 494
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 494
    functionName: endpoint_common_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_type_ref_local
    - ddsi_ref_participant
    - ddsi_entity_common_init
    - ddsrt_memdup
    - assert
    - DDSRT_UNUSED_ARG
    - memset
    - ddsrt_time_wallclock
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void endpoint_common_init (struct ddsi_entity_common *e, struct ddsi_endpoint_common
      *c, struct ddsi_domaingv *gv, enum ddsi_entity_kind kind, const struct ddsi_guid
      *guid, const struct ddsi_guid *group_guid, struct ddsi_participant *pp, bool
      onlylocal, const struct ddsi_sertype *sertype, struct ddsi_psmx_locators_set
      *psmx_locators)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:498,1
    - Dst: ddsi_participant_release_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:499,1
    - Dst: ddsi_unref_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:502,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:506,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:507,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:508,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:515,1
    - Dst: ddsi_is_local_orphan_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:515,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:518,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - e
    - c
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_endpoint_common*
    assertStmts:
    - condition: (ddsi_is_local_orphan_endpoint (e))
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 521
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 521
    functionName: endpoint_common_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_unref_participant
    - ddsrt_free
    - assert
    - ddsi_entity_common_fini
    - ddsi_is_local_orphan_endpoint
    - ddsi_type_unref
    - ddsi_is_builtin_entityid
    - ddsi_participant_release_entityid
    linkageType: ''
    returnType: void
    signature: void endpoint_common_fini (struct ddsi_entity_common *e, struct ddsi_endpoint_common
      *c)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 3
    argNames:
    - vnode
    - vleft
    - vright
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 616
    functionName: augment_wr_prd_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void augment_wr_prd_match (void *vnode, const void *vleft, const void
      *vright)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:624,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: ddsi_writer_max_drop_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_is_empty
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t ddsi_writer_max_drop_seq (const struct ddsi_writer *wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:632,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:643,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wr
    - whcst
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 658
    functionName: ddsi_writer_must_have_hb_scheduled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_is_empty
    - ddsi_writer_max_drop_seq
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: int
    signature: int ddsi_writer_must_have_hb_scheduled (const struct ddsi_writer *wr,
      const struct ddsi_whc_state *whcst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:662,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (!wr->retransmitting)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: ddsi_writer_set_retransmitting
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_time_elapsed
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_set_retransmitting (struct ddsi_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:675,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: ddsi_writer_clear_retransmitting
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_broadcast
    - ddsrt_time_elapsed
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_clear_retransmitting (struct ddsi_writer *wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:683,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:684,1
    - Dst: ddsi_whc_remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:685,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:685,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:687,1
    - Dst: ddsi_writer_clear_retransmitting
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:689,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:692,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:692,1
    - Dst: delete_writer_nolinger_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - wr
    - whcst
    - deferred_free_list
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - struct ddsi_whc_node**
    assertStmts:
    - condition: (wr->e.guid.entityid.u != DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 696
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 696
    functionName: ddsi_remove_acked_messages
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_writer_max_drop_seq
    - ddsi_whc_remove_acked_messages
    - PGUID
    - ddsrt_cond_mtime_broadcast
    - ASSERT_MUTEX_HELD
    - ddsi_writer_clear_retransmitting
    - ELOGDISC
    - delete_writer_nolinger_locked
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_remove_acked_messages (struct ddsi_writer *wr, struct
      ddsi_whc_state *whcst, struct ddsi_whc_node **deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writer_get_alive_state_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:701,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:705,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:707,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:710,1
    - Dst: ddsi_reader_update_notify_wr_alive_state_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:713,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: writer_notify_liveliness_change_may_unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ
    - writer_get_alive_state_locked
    - ddsrt_mutex_lock
    - memset
    - ddsi_reader_update_notify_wr_alive_state_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void writer_notify_liveliness_change_may_unlock (struct ddsi_writer
      *wr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:722,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:725,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:727,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:727,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:731,1
    - Dst: ddsi_participant_add_wr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:737,1
    - Dst: ddsi_lease_set_expiry
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:739,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:739,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:739,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:741,1
    - Dst: writer_notify_liveliness_change_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - wr
    - notify
    argTypes:
    - struct ddsi_writer*
    - bool
    assertStmts:
    - condition: (!wr->alive)
      pos:
        line_end: 721
        line_start: 721
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 745
      start: 718
    functionDepth: 6
    functionLinenumber: 718
    functionLinenumberEnd: 745
    functionName: ddsi_writer_set_alive_may_unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_lease_set_expiry
    - ddsi_entidx_lookup_writer_guid
    - PGUID
    - assert
    - ddsrt_mutex_lock
    - ddsi_participant_add_wr_lease_locked
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    - writer_notify_liveliness_change_may_unlock
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_set_alive_may_unlock (struct ddsi_writer *wr, bool
      notify)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:754,1
    - Dst: ddsi_participant_remove_wr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:758,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:759,1
    - Dst: writer_notify_liveliness_change_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - wr
    - notify
    argTypes:
    - struct ddsi_writer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 773
    functionName: writer_set_notalive_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - writer_notify_liveliness_change_may_unlock
    - ddsrt_mutex_lock
    - ddsi_participant_remove_wr_lease_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int writer_set_notalive_locked (struct ddsi_writer *wr, bool notify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:777,1
    - Dst: writer_set_notalive_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:778,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wr
    - notify
    argTypes:
    - struct ddsi_writer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 7
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: ddsi_writer_set_notalive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - writer_set_notalive_locked
    linkageType: ''
    returnType: int
    signature: int ddsi_writer_set_notalive (struct ddsi_writer *wr, bool notify)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:967,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:969,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:969,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:970,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:970,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:971,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:971,1
    - Dst: new_reader_writer_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:973,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:974,1
    - Dst: is_onlylocal_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:982,1
    - Dst: endpoint_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:983,1
    - Dst: ddsi_new_writer_guid_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:984,1
    - Dst: ddsi_omg_security_register_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:987,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:995,1
    - Dst: ddsi_entidx_insert_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:996,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:997,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:997,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:998,1
    - Dst: ddsi_match_writer_with_proxy_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1006,1
    - Dst: ddsi_match_writer_with_local_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1007,1
    - Dst: ddsi_sedp_write_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1008,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1012,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1013,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1013,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1017,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1018,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1019,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1022,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1022,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1026,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1026,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1027,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1030,1
    - Dst: ddsi_participant_add_wr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1031,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1032,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 11
    argNames:
    - wr_out
    - guid
    - group_guid
    - pp
    - topic_name
    - type
    - xqos
    - whc
    - status_cb
    - status_entity
    - psmx_locators
    argTypes:
    - struct ddsi_writer**
    - struct ddsi_guid*
    - struct ddsi_guid*
    - struct ddsi_participant*
    - char*
    - struct ddsi_sertype*
    - struct dds_qos*
    - struct ddsi_whc*
    - ddsi_status_cb_t
    - void*
    - struct ddsi_psmx_locators_set*
    assertStmts:
    - condition: (ddsi_entidx_lookup_writer_guid (pp->e.gv->entity_index, guid) ==
        NULL)
      pos:
        line_end: 969
        line_start: 969
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (wr->lease_duration->ldur != DDS_INFINITY)
      pos:
        line_end: 1011
        line_start: 1011
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (!ddsi_is_builtin_entityid (wr->e.guid.entityid, DDSI_VENDORID_ECLIPSE))
      pos:
        line_end: 1012
        line_start: 1012
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 968
        line_start: 968
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (memcmp (&guid->prefix, &pp->e.guid.prefix, sizeof (guid->prefix))
        == 0)
      pos:
        line_end: 970
        line_start: 970
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1046
      start: 964
    functionDepth: 5
    functionLinenumber: 964
    functionLinenumberEnd: 1046
    functionName: ddsi_new_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 5
    functionsReached:
    - memcmp
    - ddsi_match_writer_with_local_readers
    - ddsi_is_writer_entityid
    - ddsrt_malloc
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - ddsi_lease_register
    - ddsi_is_builtin_entityid
    - ddsrt_time_wallclock
    - endpoint_common_init
    - ddsi_entidx_lookup_writer_guid
    - ddsi_match_writer_with_proxy_readers
    - ddsi_omg_security_register_writer
    - assert
    - ddsrt_etime_add_duration
    - ddsi_participant_add_wr_lease_locked
    - new_reader_writer_common
    - ddsi_sedp_write_writer
    - ddsi_new_writer_guid_common_init
    - ddsrt_time_monotonic
    - ddsi_builtintopic_write_endpoint
    - is_onlylocal_endpoint
    - ddsi_entidx_insert_writer_guid
    - ddsi_resched_xevent_if_earlier
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_new_writer (struct ddsi_writer **wr_out, const struct
      ddsi_guid *guid, const struct ddsi_guid *group_guid, struct ddsi_participant
      *pp, const char *topic_name, const struct ddsi_sertype *type, const struct dds_qos
      *xqos, struct ddsi_whc *whc, ddsi_status_cb_t status_cb, void *status_entity,
      struct ddsi_psmx_locators_set *psmx_locators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_participant_allocate_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wrguid
    - participant
    - sertype
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_participant*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1055
    functionName: ddsi_generate_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsi_participant_allocate_entityid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_generate_writer_guid (struct ddsi_guid *wrguid, struct
      ddsi_participant *participant, const struct ddsi_sertype *sertype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1062,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1064,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1065,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1068,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1070,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1070,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1074,1
    - Dst: ddsi_new_writer_guid_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1081,1
    - Dst: ddsi_entidx_insert_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1082,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1083,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1083,1
    - Dst: ddsi_match_writer_with_local_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 6
    argNames:
    - gv
    - entityid
    - topic_name
    - type
    - xqos
    - whc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_entityid_t
    - char*
    - struct ddsi_sertype*
    - struct dds_qos*
    - struct ddsi_whc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1086
    functionName: ddsi_new_local_orphan_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - GVLOGDISC
    - ddsi_builtintopic_write_endpoint
    - ddsi_entity_common_init
    - ddsi_match_writer_with_local_readers
    - memset
    - ddsi_entidx_insert_writer_guid
    - ddsi_new_writer_guid_common_init
    - ddsrt_time_wallclock
    - ddsrt_malloc
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: struct ddsi_local_orphan_writer
    signature: struct ddsi_local_orphan_writer *ddsi_new_local_orphan_writer (struct
      ddsi_domaingv *gv, ddsi_entityid_t entityid, const char *topic_name, struct
      ddsi_sertype *type, const struct dds_qos *xqos, struct ddsi_whc *whc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1090,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1091,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1091,1
    - Dst: ddsi_sedp_write_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1092,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wr
    - xqos
    argTypes:
    - struct ddsi_writer*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: ddsi_update_writer_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_sedp_write_writer
    - ddsi_update_qos_locked
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_writer_qos (struct ddsi_writer *wr, const struct dds_qos
      *xqos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1099,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1099,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1100,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1103,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1104,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1109,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1116,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1118,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1119,1
    - Dst: ddsi_proxy_reader_drop_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1120,1
    - Dst: ddsi_free_wr_prd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1121,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1123,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1125,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1126,1
    - Dst: ddsi_reader_drop_local_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1127,1
    - Dst: ddsi_free_wr_rd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1128,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1132,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1133,1
    - Dst: ddsi_lease_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1135,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1139,1
    - Dst: ddsi_sedp_dispose_unregister_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1140,1
    - Dst: ddsi_whc_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1141,1
    - Dst: ddsi_omg_security_deregister_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1146,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1150,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1152,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1153,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1154,1
    - Dst: ddsi_local_reader_ary_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1155,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1156,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1158,1
    - Dst: endpoint_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1159,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts:
    - condition: (wr->state == WRST_DELETING)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (wr->lease_duration->ldur == DDS_DURATION_INVALID)
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (!wr->throttling)
      pos:
        line_end: 1103
        line_start: 1103
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1161
      start: 1096
    functionDepth: 4
    functionLinenumber: 1096
    functionLinenumberEnd: 1161
    functionName: gc_delete_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_unref
    - ddsi_delete_xevent
    - ddsi_local_reader_ary_fini
    - ddsi_xqos_fini
    - ELOGDISC
    - ddsi_free_wr_prd_match
    - ddsrt_avl_delete
    - ddsi_is_builtin_entityid
    - ddsrt_cond_mtime_destroy
    - ddsrt_free
    - ddsi_omg_security_deregister_writer
    - assert
    - PGUID
    - ddsrt_avl_is_empty
    - endpoint_common_fini
    - ddsi_free_wr_rd_match
    - ddsi_whc_free
    - ddsi_reader_drop_local_connection
    - ddsi_proxy_reader_drop_connection
    - ddsi_lease_free
    - ddsi_gcreq_free
    - ddsi_unref_addrset
    - ddsi_sedp_dispose_unregister_writer
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void gc_delete_writer (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1166,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1166,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1168,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1169,1
    - Dst: ddsrt_cond_mtime_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1171,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1172,1
    - Dst: ddsi_gcreq_requeue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts:
    - condition: (wr->state == WRST_DELETING)
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: gc_delete_writer_throttlewait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_wait
    - ddsrt_mutex_lock
    - assert
    - PGUID
    - ddsi_gcreq_requeue
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void gc_delete_writer_throttlewait (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1178,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1182
    functionName: gcreq_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_writer (struct ddsi_writer *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1186,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1187,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1187,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1188,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wr
    - newstate
    argTypes:
    - struct ddsi_writer*
    - enum ddsi_writer_state
    assertStmts:
    - condition: (newstate > wr->state)
      pos:
        line_end: 1187
        line_start: 1187
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1200
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1200
    functionName: writer_set_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - assert
    - PGUID
    - ddsrt_cond_mtime_broadcast
    - ASSERT_MUTEX_HELD
    - ELOGDISC
    linkageType: ''
    returnType: void
    signature: void writer_set_state (struct ddsi_writer *wr, enum ddsi_writer_state
      newstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1205,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1205,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1206,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1208,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1208,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1211,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1211,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1212,1
    - Dst: writer_set_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1213,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 1204
        line_start: 1204
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1216
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1216
    functionName: ddsi_unblock_throttled_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - GVLOGDISC
    - writer_set_state
    - PGUID
    - assert
    - ddsrt_mutex_lock
    - ddsi_is_writer_entityid
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_unblock_throttled_writer (struct ddsi_domaingv *gv,
      const struct ddsi_guid *guid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1222,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1226,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1227,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1229,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1233,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1236,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1238,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - wr
    - rdguid
    - abstimeout
    argTypes:
    - struct ddsi_writer*
    - ddsi_guid_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1244
    functionName: ddsi_writer_wait_for_acks
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 3
    functionsReached:
    - ddsrt_cond_mtime_waituntil
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsi_writer_max_drop_seq
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_writer_wait_for_acks (struct ddsi_writer *wr, const
      ddsi_guid_t *rdguid, ddsrt_mtime_t abstimeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1248,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1260,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1260,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1264,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1264,1
    - Dst: ddsi_entidx_tryremove_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1265,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1266,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1269,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1269,1
    - Dst: ddsi_local_reader_ary_setinvalid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1270,1
    - Dst: writer_set_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1271,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1276,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1277,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1278,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1279,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1279,1
    - Dst: ddsi_lease_unregister
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1284,1
    - Dst: writer_set_notalive_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1285,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1286,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1286,1
    - Dst: gcreq_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (tryremove_result == NULL || tryremove_result == wr)
      pos:
        line_end: 1265
        line_start: 1265
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1292
      start: 1246
    functionDepth: 7
    functionLinenumber: 1246
    functionLinenumberEnd: 1292
    functionName: delete_writer_nolinger_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_builtintopic_write_endpoint
    - writer_set_state
    - assert
    - PGUID
    - ddsrt_mutex_lock
    - ddsrt_fibheap_delete
    - writer_set_notalive_locked
    - ddsi_entidx_tryremove_writer_guid
    - ddsi_local_reader_ary_setinvalid
    - ddsi_lease_unregister
    - ASSERT_MUTEX_HELD
    - gcreq_writer
    - ddsi_resched_xevent_if_earlier
    - ddsrt_time_wallclock
    - ELOGDISC
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t delete_writer_nolinger_locked (struct ddsi_writer *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1303,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1303,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1304,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1306,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1306,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1309,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1309,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1311,1
    - Dst: delete_writer_nolinger_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1312,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 1302
        line_start: 1302
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1315
      start: 1294
    functionDepth: 8
    functionLinenumber: 1294
    functionLinenumberEnd: 1315
    functionName: ddsi_delete_writer_nolinger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - GVLOGDISC
    - PGUID
    - assert
    - ddsrt_mutex_lock
    - ddsi_is_writer_entityid
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    - delete_writer_nolinger_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_delete_writer_nolinger (struct ddsi_domaingv *gv,
      const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1319,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1319,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1320,1
    - Dst: delete_writer_nolinger_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1321,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lowr
    argTypes:
    - struct ddsi_local_orphan_writer*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 1318
        line_start: 1318
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 8
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    functionName: ddsi_delete_local_orphan_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_thread_is_awake
    - delete_writer_nolinger_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_delete_local_orphan_writer (struct ddsi_local_orphan_writer
      *lowr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1333,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1333,1
    - Dst: ddsi_delete_writer_nolinger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1334,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - ev
    - varg
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1329
    functionDepth: 9
    functionLinenumber: 1329
    functionLinenumberEnd: 1336
    functionName: ddsi_delete_writer_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_writer_nolinger
    - PGUID
    - GVTRACE
    - ddsi_delete_xevent
    linkageType: ''
    returnType: void
    signature: void ddsi_delete_writer_xevent_cb (struct ddsi_domaingv *gv, struct
      ddsi_xevent *ev, UNUSED_ARG (struct ddsi_xpack *xp), void *varg, UNUSED_ARG
      (ddsrt_mtime_t tnow))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1342,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1344,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1344,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1347,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1347,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1348,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1354,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1357,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1357,1
    - Dst: delete_writer_nolinger_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1358,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1359,1
    - Dst: writer_set_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1365,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1366,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1367,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1367,1
    - Dst: ddsrt_mtime_to_sec_usec
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1368,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1369,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1370,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1338
    functionDepth: 8
    functionLinenumber: 1338
    functionLinenumberEnd: 1376
    functionName: ddsi_delete_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_qxev_callback
    - GVLOGDISC
    - writer_set_state
    - PGUID
    - ddsi_whc_get_state
    - ddsrt_mutex_lock
    - ddsrt_mtime_to_sec_usec
    - ddsrt_mtime_add_duration
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    - delete_writer_nolinger_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_delete_writer (struct ddsi_domaingv *gv, const struct
      ddsi_guid *guid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1385,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1385,1
    - Dst: joinleave
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1389,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1390,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1390,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1397,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1399,1
    - Dst: ntohl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1400,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1407,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1408,1
    - Dst: joinleave
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1409,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1410,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - gv
    - conn
    - n
    - joinleavestr
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - char*
    assertStmts:
    - condition: (ddsi_is_mcaddr (gv, n))
      pos:
        line_end: 1384
        line_start: 1384
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1414
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1414
    functionName: joinleave_mcast_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - htonl
    - memcpy
    - assert
    - ntohl
    - memset
    - joinleave
    - ddsi_locator_to_string
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void joinleave_mcast_helper (struct ddsi_domaingv *gv, struct ddsi_tran_conn
      * conn, const ddsi_locator_t *n, const char *joinleavestr, int (*joinleave)
      (const struct ddsi_domaingv *gv, struct ddsi_mcgroup_membership *mship, struct
      ddsi_tran_conn * conn, const ddsi_locator_t *srcloc, const ddsi_locator_t *mcloc))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joinleave_mcast_helper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - conn
    - n
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 3
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: join_mcast_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - joinleave_mcast_helper
    linkageType: ''
    returnType: void
    signature: void join_mcast_helper (struct ddsi_domaingv *gv, struct ddsi_tran_conn
      * conn, const ddsi_locator_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joinleave_mcast_helper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - conn
    - n
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1424
    functionName: leave_mcast_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - joinleave_mcast_helper
    linkageType: ''
    returnType: void
    signature: void leave_mcast_helper (struct ddsi_domaingv *gv, struct ddsi_tran_conn
      * conn, const ddsi_locator_t *n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_nwpart_from_mapping
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1434,1
    - Dst: nwpart_includes_ssm_enabled_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1440,1
    - Dst: join_mcast_helper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1451,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1459,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1459,1
    - Dst: nwpart_includes_ssm_enabled_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1459,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1466,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1466,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1471,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1471,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1473,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1473,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1475,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1475,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1426
    functionDepth: 5
    functionLinenumber: 1426
    functionLinenumberEnd: 1478
    functionName: reader_init_network_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - PGUID
    - ddsi_is_ssm_mcaddr
    - ddsi_get_nwpart_from_mapping
    - if
    - join_mcast_helper
    - ddsi_locator_to_string
    - ELOGDISC
    - nwpart_includes_ssm_enabled_interfaces
    linkageType: ''
    returnType: void
    signature: void reader_init_network_partition (struct ddsi_reader *rd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1486,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1488,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1488,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1489,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1489,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1490,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1490,1
    - Dst: new_reader_writer_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1492,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1493,1
    - Dst: is_onlylocal_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1497,1
    - Dst: endpoint_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1498,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1501,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1502,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1503,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1504,1
    - Dst: ddsi_set_xqos_topic_and_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1505,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1509,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1509,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1510,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1511,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1513,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1515,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1525,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1538,1
    - Dst: ddsi_rhc_set_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1542,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1544,1
    - Dst: ddsi_omg_security_register_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1547,1
    - Dst: reader_init_network_partition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1551,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1554,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1555,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1557,1
    - Dst: ddsi_entidx_insert_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1558,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1559,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1559,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1560,1
    - Dst: ddsi_match_reader_with_proxy_writers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1562,1
    - Dst: ddsi_match_reader_with_local_writers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1563,1
    - Dst: ddsi_sedp_write_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 11
    argNames:
    - rd_out
    - guid
    - group_guid
    - pp
    - topic_name
    - type
    - xqos
    - rhc
    - status_cb
    - status_entity
    - psmx_locators
    argTypes:
    - struct ddsi_reader**
    - struct ddsi_guid*
    - struct ddsi_guid*
    - struct ddsi_participant*
    - char*
    - struct ddsi_sertype*
    - struct dds_qos*
    - struct ddsi_rhc*
    - ddsi_status_cb_t
    - void*
    - struct ddsi_psmx_locators_set*
    assertStmts:
    - condition: (!ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 1487
        line_start: 1487
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (ddsi_entidx_lookup_reader_guid (pp->e.gv->entity_index, guid) ==
        NULL)
      pos:
        line_end: 1488
        line_start: 1488
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (memcmp (&guid->prefix, &pp->e.guid.prefix, sizeof (guid->prefix))
        == 0)
      pos:
        line_end: 1489
        line_start: 1489
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (rd->xqos->present & DDSI_QP_DURABILITY)
      pos:
        line_end: 1514
        line_start: 1514
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (rd->xqos->present & DDSI_QP_RELIABILITY)
      pos:
        line_end: 1512
        line_start: 1512
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (rd->xqos->present & DDSI_QP_LIVELINESS)
      pos:
        line_end: 1543
        line_start: 1543
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    - condition: (rd->xqos->aliased == 0)
      pos:
        line_end: 1503
        line_start: 1503
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1566
      start: 1481
    functionDepth: 6
    functionLinenumber: 1481
    functionLinenumberEnd: 1566
    functionName: ddsi_new_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 4
    functionsReached:
    - memcmp
    - ddsi_match_reader_with_local_writers
    - ddsi_rhc_set_qos
    - ddsi_is_writer_entityid
    - ddsrt_malloc
    - ELOGDISC
    - ddsi_omg_security_register_reader
    - ddsi_xqos_log
    - ddsrt_mutex_lock
    - ddsi_xqos_copy
    - ddsrt_time_wallclock
    - endpoint_common_init
    - ddsi_xqos_mergein_missing
    - assert
    - PGUID
    - ddsi_sertype_ref
    - ddsrt_atomic_st64
    - new_reader_writer_common
    - ddsrt_avl_init
    - ddsrt_time_monotonic
    - reader_init_network_partition
    - ddsi_entidx_lookup_reader_guid
    - ddsi_match_reader_with_proxy_writers
    - ddsi_builtintopic_write_endpoint
    - is_onlylocal_endpoint
    - ddsi_sedp_write_reader
    - ddsi_set_xqos_topic_and_type
    - ddsi_entidx_insert_reader_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_new_reader (struct ddsi_reader **rd_out, const struct
      ddsi_guid *guid, const struct ddsi_guid *group_guid, struct ddsi_participant
      *pp, const char *topic_name, const struct ddsi_sertype *type, const struct dds_qos
      *xqos, struct ddsi_rhc *rhc, ddsi_status_cb_t status_cb, void * status_entity,
      struct ddsi_psmx_locators_set *psmx_locators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_participant_allocate_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rdguid
    - participant
    - sertype
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_participant*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1573
    functionName: ddsi_generate_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsi_participant_allocate_entityid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_generate_reader_guid (struct ddsi_guid *rdguid, struct
      ddsi_participant *participant, const struct ddsi_sertype *sertype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1579,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1579,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1580,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1582,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1584,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1585,1
    - Dst: ddsi_proxy_writer_drop_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1586,1
    - Dst: ddsi_free_rd_pwr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1587,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1589,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1591,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1592,1
    - Dst: ddsi_writer_drop_local_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1593,1
    - Dst: ddsi_free_rd_wr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1594,1
    - Dst: ddsi_omg_security_deregister_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1598,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1601,1
    - Dst: ddsi_sedp_dispose_unregister_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1602,1
    - Dst: leave_mcast_helper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1607,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1610,1
    - Dst: ddsi_rhc_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1612,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1618,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1620,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1621,1
    - Dst: endpoint_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1622,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1575
    functionDepth: 4
    functionLinenumber: 1575
    functionLinenumberEnd: 1624
    functionName: gc_delete_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_unref
    - ddsi_xqos_fini
    - ELOGDISC
    - leave_mcast_helper
    - ddsi_omg_security_deregister_reader
    - ddsrt_avl_delete
    - ddsi_proxy_writer_drop_connection
    - ddsrt_free
    - ddsi_writer_drop_local_connection
    - ddsrt_avl_is_empty
    - PGUID
    - ddsi_free_rd_wr_match
    - endpoint_common_fini
    - ddsi_rhc_free
    - ddsi_sedp_dispose_unregister_reader
    - ddsi_gcreq_free
    - ddsi_is_builtin_entityid
    - ddsrt_avl_root_non_empty
    - ddsi_free_rd_pwr_match
    linkageType: ''
    returnType: void
    signature: void gc_delete_reader (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1628,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1632
    functionName: gcreq_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_reader (struct ddsi_reader *rd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1637,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1637,1
    - Dst: ddsi_entidx_tryremove_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1638,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1640,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1640,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1643,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1643,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1644,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1644,1
    - Dst: gcreq_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts:
    - condition: (!ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 1636
        line_start: 1636
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1647
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1647
    functionName: ddsi_delete_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 2
    functionsReached:
    - GVLOGDISC
    - ddsi_entidx_tryremove_reader_guid
    - gcreq_reader
    - ddsi_builtintopic_write_endpoint
    - PGUID
    - assert
    - ddsi_is_writer_entityid
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_delete_reader (struct ddsi_domaingv *gv, const struct
      ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1651,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1652,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1652,1
    - Dst: ddsi_sedp_write_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1653,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rd
    - xqos
    argTypes:
    - struct ddsi_reader*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1655
    functionName: ddsi_update_reader_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_sedp_write_reader
    - ddsi_update_qos_locked
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_reader_qos (struct ddsi_reader *rd, const struct dds_qos
      *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1659,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1661,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - entity_index
    - wrcmn
    - it
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    - ddsrt_avl_iter_t*
    assertStmts:
    - condition: (wrcmn->kind == DDSI_EK_WRITER)
      pos:
        line_end: 1658
        line_start: 1658
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    constantsTouched: []
    func_position:
      end: 1663
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1663
    functionName: ddsi_writer_first_in_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - assert
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *ddsi_writer_first_in_sync_reader (struct ddsi_entity_index
      *entity_index, struct ddsi_entity_common *wrcmn, ddsrt_avl_iter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1667,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entity_index
    - it
    argTypes:
    - struct ddsi_entity_index*
    - ddsrt_avl_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1669
    functionName: ddsi_writer_next_in_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *ddsi_writer_next_in_sync_reader (struct ddsi_entity_index
      *entity_index, ddsrt_avl_iter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ddsi_guid_prefix_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: ddsi_hton_guid_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c
    functionUses: 2
    functionsReached:
    - ddsrt_toBE4u
    linkageType: ''
    returnType: ddsi_guid_prefix_t
    signature: ddsi_guid_prefix_t ddsi_hton_guid_prefix (ddsi_guid_prefix_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - ddsi_guid_prefix_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: ddsi_ntoh_guid_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c
    functionUses: 4
    functionsReached:
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: ddsi_guid_prefix_t
    signature: ddsi_guid_prefix_t ddsi_ntoh_guid_prefix (ddsi_guid_prefix_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:33,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - ddsi_guid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ddsi_hton_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c
    functionUses: 1
    functionsReached:
    - ddsi_hton_guid_prefix
    - ddsi_hton_entityid
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t ddsi_hton_guid (ddsi_guid_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:40,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - ddsi_guid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: ddsi_ntoh_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c
    functionUses: 4
    functionsReached:
    - ddsi_ntoh_guid_prefix
    - ddsi_ntoh_entityid
    linkageType: ''
    returnType: ddsi_guid_t
    signature: ddsi_guid_t ddsi_ntoh_guid (ddsi_guid_t g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ispowerof2_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ispowerof2_size (size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:40,1
    - Dst: ispowerof2_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (ispowerof2_size (a))
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: alignup_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 4
    functionsReached:
    - assert
    - ispowerof2_size
    linkageType: ''
    returnType: size_t
    signature: size_t alignup_size (size_t x, size_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:49,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:50,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - struct ddsi_serdata_cdr**
    - size_t
    assertStmts:
    - condition: ((*d)->pos + n <= (*d)->size)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: serdata_cdr_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    - alignup_size
    linkageType: ''
    returnType: void
    signature: void *serdata_cdr_append (struct ddsi_serdata_cdr **d, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:61,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - sz
    - data
    argTypes:
    - struct ddsi_serdata_cdr**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: serdata_cdr_append_blob
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - serdata_cdr_append
    linkageType: ''
    returnType: void
    signature: void serdata_cdr_append_blob (struct ddsi_serdata_cdr **d, size_t sz,
      const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - basehash
    argTypes:
    - struct ddsi_serdata_cdr*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: fix_serdata_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *fix_serdata_cdr (struct ddsi_serdata_cdr *d, uint32_t
      basehash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: serdata_cdr_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_cdr_get_size (const struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: serdata_cdr_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool serdata_cdr_eqkey (const struct ddsi_serdata *acmn, const struct
      ddsi_serdata *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:90,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:90,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&d->c.refc) == 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: serdata_cdr_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsrt_atomic_ld32
    - assert
    linkageType: ''
    returnType: void
    signature: void serdata_cdr_free (struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:96,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - d
    - tp
    - kind
    argTypes:
    - struct ddsi_serdata_cdr*
    - struct ddsi_sertype_cdr*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: serdata_cdr_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_get_native_enc_identifier
    - ddsi_serdata_init
    linkageType: ''
    returnType: void
    signature: void serdata_cdr_init (struct ddsi_serdata_cdr *d, const struct ddsi_sertype_cdr
      *tp, enum ddsi_serdata_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - init_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: serdata_cdr_allocnew
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_serdata_cdr
    signature: struct ddsi_serdata_cdr *serdata_cdr_allocnew (uint32_t init_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_allocnew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:112,1
    - Dst: serdata_cdr_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tp
    - kind
    - size
    argTypes:
    - struct ddsi_sertype_cdr*
    - enum ddsi_serdata_kind
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: serdata_cdr_new_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - serdata_cdr_allocnew
    - serdata_cdr_init
    linkageType: ''
    returnType: struct ddsi_serdata_cdr
    signature: struct ddsi_serdata_cdr *serdata_cdr_new_size (const struct ddsi_sertype_cdr
      *tp, enum ddsi_serdata_kind kind, uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_new_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tp
    - kind
    argTypes:
    - struct ddsi_sertype_cdr*
    - enum ddsi_serdata_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: serdata_cdr_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - serdata_cdr_new_size
    linkageType: ''
    returnType: struct ddsi_serdata_cdr
    signature: struct ddsi_serdata_cdr *serdata_cdr_new (const struct ddsi_sertype_cdr
      *tp, enum ddsi_serdata_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: is_valid_xcdr_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_xcdr_id (unsigned short cdr_identifier)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:136,1
    - Dst: serdata_cdr_new_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:145,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:151,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:152,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:154,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:154,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:154,1
    - Dst: is_valid_xcdr_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:155,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:160,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:161,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:165,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:165,1
    - Dst: serdata_cdr_append_blob
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:166,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:171,1
    - Dst: DDSI_RTPS_CDR_ENC_TO_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:172,1
    - Dst: ddsrt_fromBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:173,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:174,1
    - Dst: ddsi_sertype_enc_id_enc_format
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:175,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:180,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:184,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts:
    - condition: (kind == SDK_DATA)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (fragchain->maxp1 >= off)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (frag->maxp1 <= size)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (frag->min <= off)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (fragchain->min == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 190
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 190
    functionName: serdata_cdr_from_ser_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - DDSI_RTPS_CDR_ENC_TO_NATIVE
    - ddsrt_fromBE2u
    - ddsi_serdata_unref
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - ddsi_sertype_enc_id_xcdr_version
    - dds_stream_normalize
    - DDSI_RDATA_PAYLOAD_OFF
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - serdata_cdr_append_blob
    - is_valid_xcdr_id
    - serdata_cdr_new_size
    - ddsi_sertype_enc_id_enc_format
    linkageType: ''
    returnType: struct ddsi_serdata_cdr
    signature: struct ddsi_serdata_cdr *serdata_cdr_from_ser_common (const struct
      ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_from_ser_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:195,1
    - Dst: fix_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: serdata_cdr_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - fix_serdata_cdr
    - serdata_cdr_from_ser_common
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_cdr_from_ser (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:206,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:206,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:208,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:208,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_istream_t*
    - struct ddsi_serdata_cdr*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (!DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: istream_from_serdata_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - DDSI_RTPS_CDR_ENC_LE
    - ddsi_sertype_enc_id_xcdr_version
    - assert
    linkageType: ''
    returnType: void
    signature: void istream_from_serdata_cdr (dds_istream_t *s, const struct ddsi_serdata_cdr
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:219,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:221,1
    - Dst: DDSI_RTPS_CDR_ENC_LE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:221,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_ostream_t*
    - struct ddsi_serdata_cdr*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (!DDSI_RTPS_CDR_ENC_LE (d->hdr.identifier))
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: ostream_from_serdata_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - DDSI_RTPS_CDR_ENC_LE
    - ddsi_sertype_enc_id_xcdr_version
    - assert
    linkageType: ''
    returnType: void
    signature: void ostream_from_serdata_cdr (dds_ostream_t *s, const struct ddsi_serdata_cdr
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto4_clear_and_resize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:229,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:230,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - d
    argTypes:
    - dds_ostream_t*
    - struct ddsi_serdata_cdr**
    assertStmts:
    - condition: (pad <= 3)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: ostream_add_to_serdata_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto4_clear_and_resize
    - assert
    - ddsrt_toBE2u
    linkageType: ''
    returnType: void
    signature: void ostream_add_to_serdata_cdr (dds_ostream_t *s, struct ddsi_serdata_cdr
      **d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:243,1
    - Dst: ostream_from_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:248,1
    - Dst: ostream_add_to_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:252,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:255,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:258,1
    - Dst: ostream_add_to_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 264
    functionName: serdata_cdr_from_sample_cdr_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - serdata_cdr_new
    - ostream_add_to_serdata_cdr
    - dds_stream_write_sample
    - abort
    - ostream_from_serdata_cdr
    linkageType: ''
    returnType: struct ddsi_serdata_cdr
    signature: struct ddsi_serdata_cdr *serdata_cdr_from_sample_cdr_common (const
      struct ddsi_sertype *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: serdata_cdr_from_sample_cdr_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:269,1
    - Dst: fix_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: serdata_cdr_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - fix_serdata_cdr
    - serdata_cdr_from_sample_cdr_common
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_cdr_from_sample (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:279,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:279,1
    - Dst: serdata_cdr_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_IS_NATIVE (d->hdr.identifier))
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: serdata_cdr_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - assert
    - serdata_cdr_new
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_cdr_to_untyped (const struct ddsi_serdata
      *serdata_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:293,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:294,1
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:294,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts:
    - condition: (off < d->pos + sizeof(struct dds_cdr_header))
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (sz <= alignup_size (d->pos + sizeof(struct dds_cdr_header), 4) -
        off)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: serdata_cdr_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - alignup_size
    linkageType: ''
    returnType: void
    signature: void serdata_cdr_to_ser (const struct ddsi_serdata *serdata_common,
      size_t off, size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:301,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:302,1
    - Dst: alignup_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:302,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts:
    - condition: (off < d->pos + sizeof(struct dds_cdr_header))
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (sz <= alignup_size (d->pos + sizeof(struct dds_cdr_header), 4) -
        off)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: serdata_cdr_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - assert
    - alignup_size
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_cdr_to_ser_ref (const struct ddsi_serdata
      *serdata_common, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: serdata_cdr_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void serdata_cdr_to_ser_unref (struct ddsi_serdata *serdata_common,
      const ddsrt_iovec_t *ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:319,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:320,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:320,1
    - Dst: istream_from_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:321,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (DDSI_RTPS_CDR_ENC_IS_NATIVE (d->hdr.identifier))
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: serdata_cdr_to_sample_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - istream_from_serdata_cdr
    - assert
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - dds_stream_read_sample
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_cdr_to_sample_cdr (const struct ddsi_serdata *serdata_common,
      void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:329,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - sertype_common
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (serdata_common->type == NULL)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    - condition: (serdata_common->kind == SDK_KEY)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: serdata_cdr_untyped_to_sample_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool serdata_cdr_untyped_to_sample_cdr (const struct ddsi_sertype *sertype_common,
      const struct ddsi_serdata *serdata_common, void *sample, void **bufptr, void
      *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: istream_from_serdata_cdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:339,1
    - Dst: dds_stream_print_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sertype_common
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: serdata_cdr_print_cdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
    functionUses: 0
    functionsReached:
    - istream_from_serdata_cdr
    - dds_stream_print_sample
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_cdr_print_cdr (const struct ddsi_sertype *sertype_common,
      const struct ddsi_serdata *serdata_common, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: DU
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DU(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: PF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PF(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: DUPF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUPF(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: DF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DF(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: DI
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DI(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - name
    - ','
    - elems
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - relofst
    - ','
    - elemofst
    - ','
    - init
    - ','
    - update
    - ','
    - free
    - ','
    - print
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: ELEMENT
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ELEMENT( \\\n  name, elems, attrs, multip, dflt, \\\n  relofst, elemofst,
      \\\n  init, update, free, print, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: DEPRECATED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEPRECATED(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: MEMBER
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parent
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: MEMBEROF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBEROF(parent, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - init
    - ','
    - update
    - ','
    - free
    - ','
    - print
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: FUNCTIONS
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNCTIONS(init, update, free, print)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - whereto
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: MOVED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVED(name, whereto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: NOP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - macro
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: EXPAND
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND(macro, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: BOOL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOL(name, attrs, multip, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: INT
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(name, attrs, multip, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: STRING
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING(name, attrs, multip, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: ENUM
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM(name, attrs, multip, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - attrs
    - ','
    - multip
    - ','
    - dflt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: LIST
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST(name, attrs, multip, dflt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - elems
    - ','
    - attrs
    - ','
    - multip
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: GROUP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GROUP(name, elems, attrs, multip, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:336,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - cfgst
    - isattr
    - elem
    - parent
    - allow_reservespace
    argTypes:
    - struct ddsi_cfgst*
    - int
    - struct cfgelem*
    - void*
    - bool
    assertStmts:
    - condition: (isattr == 0 || isattr == 1)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: cfgst_push_maybe_reservespace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_error
    - assert
    linkageType: ''
    returnType: bool
    signature: bool cfgst_push_maybe_reservespace (struct ddsi_cfgst *cfgst, int isattr,
      const struct cfgelem *elem, void *parent, bool allow_reservespace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_push_maybe_reservespace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - isattr
    - elem
    - parent
    argTypes:
    - struct ddsi_cfgst*
    - int
    - struct cfgelem*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: cfgst_push
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfgst_push_maybe_reservespace
    linkageType: ''
    returnType: bool
    signature: bool cfgst_push (struct ddsi_cfgst *cfgst, int isattr, const struct
      cfgelem *elem, void *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_push_maybe_reservespace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:359,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cfgst
    - isattr
    - elem
    - parent
    argTypes:
    - struct ddsi_cfgst*
    - int
    - struct cfgelem*
    - void*
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: cfgst_push_nofail
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - cfgst_push_maybe_reservespace
    linkageType: ''
    returnType: void
    signature: void cfgst_push_nofail (struct ddsi_cfgst *cfgst, int isattr, const
      struct cfgelem *elem, void *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_push_maybe_reservespace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:366,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cfgst
    - isattr
    - elem
    - parent
    argTypes:
    - struct ddsi_cfgst*
    - int
    - struct cfgelem*
    - void*
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: cfgst_push_errorhandling
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - cfgst_push_maybe_reservespace
    linkageType: ''
    returnType: void
    signature: void cfgst_push_errorhandling (struct ddsi_cfgst *cfgst, int isattr,
      const struct cfgelem *elem, void *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (cfgst->path_depth > 0)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: cfgst_pop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cfgst_pop (struct ddsi_cfgst *cfgst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfgst
    - isattr
    argTypes:
    - struct ddsi_cfgst*
    - bool*
    assertStmts:
    - condition: (cfgst->path_depth > 0)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: cfgst_tos_w_isattr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *cfgst_tos_w_isattr (const struct ddsi_cfgst *cfgst,
      bool *isattr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_tos_w_isattr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: cfgst_tos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfgst_tos_w_isattr
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *cfgst_tos (const struct ddsi_cfgst *cfgst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (cfgst->path_depth > 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: cfgst_parent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void *cfgst_parent (const struct ddsi_cfgst *cfgst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:405,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:409,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bb
    - fmt
    - ap
    argTypes:
    - struct cfg_note_buf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: cfg_note_vsnprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_FATAL
    - vsnprintf
    - ddsrt_realloc
    linkageType: ''
    returnType: size_t
    signature: size_t cfg_note_vsnprintf (struct cfg_note_buf *bb, const char *fmt,
      va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:430,1
    - Dst: cfg_note_vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:431,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:432,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:435,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:436,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:438,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bb
    - fmt
    argTypes:
    - struct cfg_note_buf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 442
    functionName: cfg_note_snprintf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_note_vsnprintf
    - DDS_FATAL
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void cfg_note_snprintf (struct cfg_note_buf *bb, const char *fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:460,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:461,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:463,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:476,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:477,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:482,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:483,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:484,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:498,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:499,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:500,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:505,1
    - Dst: cfg_note_vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:506,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:511,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:515,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:520,1
    - Dst: cfg_note_snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:523,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:529,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:531,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - cfgst
    - cat
    - bsz
    - fmt
    - suffix
    - ap
    argTypes:
    - struct ddsi_cfgst*
    - uint32_t
    - size_t
    - char*
    - char*
    - va_list
    assertStmts:
    - condition: (i > sidx)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 535
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 535
    functionName: cfg_note
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_CLOG
    - assert
    - cfg_note_vsnprintf
    - cfg_note_snprintf
    - strlen
    - DDS_ILOG
    - DDS_FATAL
    - strchr
    - ddsrt_malloc
    linkageType: ''
    returnType: size_t
    signature: size_t cfg_note (struct ddsi_cfgst *cfgst, uint32_t cat, size_t bsz,
      const char *fmt, const char *suffix, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:544,1
    - Dst: cfg_note
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:545,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cfgst
    - fmt
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: cfg_warning
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - va_start
    - cfg_note
    - va_end
    linkageType: ''
    returnType: void
    signature: void cfg_warning (struct ddsi_cfgst *cfgst, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:555,1
    - Dst: cfg_note
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:556,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cfgst
    - fmt
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: cfg_error
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - va_start
    - cfg_note
    - va_end
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result cfg_error (struct ddsi_cfgst *cfgst, const char
      *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:578,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:581,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:583,1
    - Dst: cfg_note
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:584,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cfgst
    - sources
    - fmt
    argTypes:
    - struct ddsi_cfgst*
    - uint32_t
    - char*
    assertStmts:
    - condition: ((size_t) pos <= sizeof (srcinfo) - 2)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 587
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 587
    functionName: cfg_logelem
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - snprintf
    - cfg_note
    - assert
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void cfg_logelem (struct ddsi_cfgst *cfgst, uint32_t sources, const
      char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - list
    - elem
    argTypes:
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: list_index
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    linkageType: ''
    returnType: int
    signature: int list_index (const char *list[], const char *elem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:602,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:602,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:608,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:620,1
    - Dst: cfg_warning
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:623,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:630,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:633,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 7
    argNames:
    - cfgst
    - unittab
    - value
    - unit_pos
    - value_is_zero
    - def_mult
    - err_on_unrecognised
    argTypes:
    - struct ddsi_cfgst*
    - struct unit*
    - char*
    - int
    - int
    - int64_t
    - int
    assertStmts:
    - condition: (0 <= unit_pos && (size_t) unit_pos <= strlen(value))
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 636
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 636
    functionName: lookup_multiplier
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 3
    functionsReached:
    - cfg_error
    - assert
    - strcmp
    - strlen
    - cfg_warning
    linkageType: ''
    returnType: int64_t
    signature: int64_t lookup_multiplier (struct ddsi_cfgst *cfgst, const struct unit
      *unittab, const char *value, int unit_pos, int value_is_zero, int64_t def_mult,
      int err_on_unrecognised)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - cfgelem
    argTypes:
    - void*
    - struct cfgelem*
    assertStmts:
    - condition: (cfgelem->multiplicity <= 1)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: cfg_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 12
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void *cfg_address (UNUSED_ARG (struct ddsi_cfgst *cfgst), void *parent,
      struct cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cfgelem->multiplicity > 1)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: cfg_list_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct ddsi_config_listelem
    signature: struct ddsi_config_listelem **cfg_list_address (UNUSED_ARG (struct
      ddsi_cfgst *cfgst), void *parent, struct cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:652,1
    - Dst: cfg_list_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts:
    - condition: (cfgelem->multiplicity > 1)
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: cfg_deref_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - assert
    - cfg_list_address
    linkageType: ''
    returnType: void
    signature: void *cfg_deref_address (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parent
    - cfgelem
    - size
    argTypes:
    - void*
    - struct cfgelem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: if_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void *if_common (UNUSED_ARG (struct ddsi_cfgst *cfgst), void *parent,
      struct cfgelem const * const cfgelem, unsigned size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 673
    functionName: if_thread_properties
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_thread_properties (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:677,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:680,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: if_network_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg::cfg
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_network_interfaces(struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:687,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:690,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:691,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: if_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg::cfg
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_psmx(struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: if_network_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_network_partition (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: if_ignored_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_ignored_partition (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: if_partition_mapping
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_partition_mapping (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:736,1
    - Dst: prune_delay::prune_delay
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:740,1
    - Dst: prune_delay::prune_delay
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 743
    functionName: if_peer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - prune_delay::prune_delay
    - if_common
    linkageType: ''
    returnType: int
    signature: int if_peer (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:748,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:751,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:751,1
    - Dst: cfg::cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: if_omg_security
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg::cfg
    - if_common
    - memset
    linkageType: ''
    returnType: int
    signature: int if_omg_security (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:758,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: ff_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ff_free (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 765
    functionName: uf_nop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_nop (UNUSED_ARG (struct ddsi_cfgst *cfgst), UNUSED_ARG
      (void *parent), UNUSED_ARG (struct cfgelem const * const cfgelem), UNUSED_ARG
      (int first), UNUSED_ARG (const char *value))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: pf_nop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pf_nop (UNUSED_ARG (struct ddsi_cfgst *cfgst), UNUSED_ARG (void
      *parent), UNUSED_ARG (struct cfgelem const * const cfgelem), UNUSED_ARG (uint32_t
      sources))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:773,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:774,1
    - Dst: list_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:776,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:779,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:780,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - cfgst
    - cats
    - names
    - codes
    - value
    argTypes:
    - struct ddsi_cfgst*
    - uint32_t*
    - char**
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 5
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: do_uint32_bitset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - list_index
    - ddsrt_free
    - cfg_error
    - ddsrt_strdup
    - ddsrt_strsep
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result do_uint32_bitset (struct ddsi_cfgst *cfgst, uint32_t
      *cats, const char **names, const uint32_t *codes, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 801
    functionName: uint32_popcnt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned uint32_popcnt (uint32_t x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:812,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:815,1
    - Dst: uint32_popcnt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:827,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:837,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:838,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:845,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:846,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:851,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 7
    argNames:
    - cfgst
    - mask
    - ncodes
    - names
    - codes
    - sources
    - suffix
    argTypes:
    - struct ddsi_cfgst*
    - uint32_t
    - size_t
    - char**
    - uint32_t*
    - uint32_t
    - char*
    assertStmts:
    - condition: (characters_written >= 0)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (max <= sizeof (res))
      pos:
        line_end: 814
        line_start: 814
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (characters_written >= 0)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (res_offset <= sizeof (res))
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 853
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 853
    functionName: do_print_uint32_bitset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - uint32_popcnt
    - cfg_logelem
    - strlen
    linkageType: ''
    returnType: void
    signature: void do_print_uint32_bitset (struct ddsi_cfgst *cfgst, uint32_t mask,
      size_t ncodes, const char **names, const uint32_t *codes, uint32_t sources,
      const char *suffix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:860,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:871,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:872,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:872,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:873,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:875,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:878,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:881,1
    - Dst: lookup_multiplier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:881,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:883,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:901,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:905,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:909,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:911,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - cfgst
    - elem
    - value
    - unittab
    - def_mult
    - min
    - max
    argTypes:
    - struct ddsi_cfgst*
    - int64_t*
    - char*
    - struct unit*
    - int64_t
    - int64_t
    - int64_t
    assertStmts:
    - condition: (mult > 0)
      pos:
        line_end: 872
        line_start: 872
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (dmult > 0)
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 912
      start: 858
    functionDepth: 5
    functionLinenumber: 858
    functionLinenumberEnd: 912
    functionName: uf_int64_unit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - cfg_error
    - DDSRT_WARNING_MSVC_ON
    - lookup_multiplier
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_int64_unit (struct ddsi_cfgst *cfgst, int64_t
      *elem, const char *value, const struct unit *unittab, int64_t def_mult, int64_t
      min, int64_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:920,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:933,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:934,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - cfgst
    - value
    - sources
    - unittab
    - zero_unit
    argTypes:
    - struct ddsi_cfgst*
    - int64_t
    - uint32_t
    - struct unit*
    - char*
    assertStmts:
    - condition: (unit != NULL)
      pos:
        line_end: 933
        line_start: 933
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (m > 0)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 937
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 937
    functionName: pf_int64_unit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_int64_unit (struct ddsi_cfgst *cfgst, int64_t value, uint32_t
      sources, const struct unit *unittab, const char *zero_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_
    - ','
    - c_type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: GENERIC_ENUM_CTYPE_UF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GENERIC_ENUM_CTYPE_UF(type_, c_type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_
    - ','
    - c_type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: GENERIC_ENUM_CTYPE_PF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GENERIC_ENUM_CTYPE_PF(type_, c_type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_
    - ','
    - c_type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: GENERIC_ENUM_CTYPE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GENERIC_ENUM_CTYPE(type_, c_type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 972
    functionName: GENERIC_ENUM_UF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GENERIC_ENUM_UF(type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 973
    functionName: GENERIC_ENUM
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GENERIC_ENUM(type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cfgst
    - value
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 6
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: uf_tracemask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - do_uint32_bitset
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_tracemask (struct ddsi_cfgst *cfgst, UNUSED_ARG
      (void *parent), UNUSED_ARG (struct cfgelem const * const cfgelem), UNUSED_ARG
      (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1038,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1039,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cfgst
    - value
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts:
    - condition: (sizeof (vs) / sizeof (*vs) == sizeof (lc) / sizeof (*lc))
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1045
      start: 1030
    functionDepth: 5
    functionLinenumber: 1030
    functionLinenumberEnd: 1045
    functionName: uf_verbosity
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - list_index
    - cfg_error
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_verbosity (struct ddsi_cfgst *cfgst, UNUSED_ARG
      (void *parent), UNUSED_ARG (struct cfgelem const * const cfgelem), UNUSED_ARG
      (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_element
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1053,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1055,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1056,1
    - Dst: do_print_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cfgst
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - uint32_t
    assertStmts:
    - condition: (key.e != NULL)
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 6
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: pf_tracemask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - lookup_element
    - ddsrt_avl_lookup_succ_eq
    - do_print_uint32_bitset
    linkageType: ''
    returnType: void
    signature: void pf_tracemask (struct ddsi_cfgst *cfgst, UNUSED_ARG (void *parent),
      UNUSED_ARG (struct cfgelem const * const cfgelem), uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1070,1
    - Dst: do_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 6
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: uf_xcheck
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - do_uint32_bitset
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_xcheck (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1076,1
    - Dst: do_print_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: pf_xcheck
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - do_print_uint32_bitset
    linkageType: ''
    returnType: void
    signature: void pf_xcheck (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1094,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1095,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1096,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cfgst
    - value
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts:
    - condition: (sizeof (vs) / sizeof (*vs) == sizeof (ms) / sizeof (*ms))
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1101
      start: 1086
    functionDepth: 5
    functionLinenumber: 1086
    functionLinenumberEnd: 1101
    functionName: uf_min_tls_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - cfg_address
    - list_index
    - cfg_error
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_min_tls_version (struct ddsi_cfgst *cfgst, UNUSED_ARG
      (void *parent), UNUSED_ARG (struct cfgelem const * const cfgelem), UNUSED_ARG
      (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1105,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 5
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: pf_min_tls_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_min_tls_version (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1118,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1120,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts:
    - condition: (sizeof (vs) / sizeof (*vs) == sizeof (ms) / sizeof (*ms))
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1125
      start: 1110
    functionDepth: 5
    functionLinenumber: 1110
    functionLinenumberEnd: 1125
    functionName: uf_protocol_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - cfg_address
    - list_index
    - cfg_error
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_protocol_version (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1129,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 5
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: pf_protocol_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_protocol_version (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1135,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: uf_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - ddsrt_strdup
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_string (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1142,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1140
    functionDepth: 5
    functionLinenumber: 1140
    functionLinenumberEnd: 1144
    functionName: pf_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_string (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1149,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 6
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: uf_memsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_memsize (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1160,1
    - Dst: pf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1162
    functionName: pf_memsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - pf_int64_unit
    - cfg_address
    linkageType: ''
    returnType: void
    signature: void pf_memsize (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1167,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1174
    functionName: uf_memsize16
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_memsize16 (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1178,1
    - Dst: pf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1176
    functionDepth: 6
    functionLinenumber: 1176
    functionLinenumberEnd: 1180
    functionName: pf_memsize16
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - pf_int64_unit
    - cfg_address
    linkageType: ''
    returnType: void
    signature: void pf_memsize16 (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cfgst
    - value
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1187
    functionName: uf_tracingOutputFileName
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_tracingOutputFileName (struct ddsi_cfgst *cfgst,
      UNUSED_ARG (void *parent), UNUSED_ARG (struct cfgelem const * const cfgelem),
      UNUSED_ARG (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1191,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1192,1
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1193,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1197,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1198,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1198,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1199,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1200,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1204
    functionName: uf_random_seed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_prng_makeseed
    - cfg_address
    - ddsrt_md5_finish
    - strcmp
    - memcpy
    - strlen
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_random_seed (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1208,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: pf_random_seed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_random_seed (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: uf_ipv4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_string
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_ipv4 (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1221,1
    - Dst: uf_ipv4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1222,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1229
    functionName: uf_networkAddress
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_ipv4
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_networkAddress (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1233,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 5
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: pf_networkAddress
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_networkAddress (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1239,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1240,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1241,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1242,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1243,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: uf_networkAddresses_simple
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - cfg_address
    - cfg_error
    - ddsrt_strdup
    - ddsrt_malloc
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_networkAddresses_simple (struct ddsi_cfgst *cfgst,
      void *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first),
      const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1257,1
    - Dst: uf_networkAddresses_simple
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1258,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1264,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1278,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1282,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1288,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1289,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts:
    - condition: (idx < count)
      pos:
        line_end: 1287
        line_start: 1287
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1297
      start: 1251
    functionDepth: 6
    functionLinenumber: 1251
    functionLinenumberEnd: 1297
    functionName: uf_networkAddresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - cfg_address
    - assert
    - ddsrt_strcasecmp
    - ddsrt_strdup
    - uf_networkAddresses_simple
    - ddsrt_strsep
    - ddsrt_malloc
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_networkAddresses (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1301,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 5
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    functionName: pf_networkAddresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_networkAddresses (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1308,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1310,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1312
    functionName: ff_networkAddresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ff_networkAddresses (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1324,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1325,1
    - Dst: do_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1322
    functionDepth: 6
    functionLinenumber: 1322
    functionLinenumberEnd: 1335
    functionName: uf_allow_multicast
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - do_uint32_bitset
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_allow_multicast (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG(int first), const
      char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1339,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1341,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1343,1
    - Dst: do_print_uint32_bitset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1337
    functionDepth: 6
    functionLinenumber: 1337
    functionLinenumberEnd: 1348
    functionName: pf_allow_multicast
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    - do_print_uint32_bitset
    linkageType: ''
    returnType: void
    signature: void pf_allow_multicast(struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1352,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1353,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1355,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1359,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1363,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1350
    functionDepth: 5
    functionLinenumber: 1350
    functionLinenumberEnd: 1366
    functionName: uf_maybe_int32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDSRT_WARNING_MSVC_OFF
    - cfg_address
    - cfg_error
    - ddsrt_strcasecmp
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_maybe_int32 (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1370,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1372,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1368
    functionDepth: 5
    functionLinenumber: 1368
    functionLinenumberEnd: 1375
    functionName: pf_maybe_int32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_maybe_int32 (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1379,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1381,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1377
    functionDepth: 6
    functionLinenumber: 1377
    functionLinenumberEnd: 1392
    functionName: uf_maybe_memsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_maybe_memsize (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1396,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1398,1
    - Dst: pf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1394
    functionDepth: 6
    functionLinenumber: 1394
    functionLinenumberEnd: 1401
    functionName: pf_maybe_memsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - pf_int64_unit
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_maybe_memsize (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1405,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1403
    functionDepth: 6
    functionLinenumber: 1403
    functionLinenumberEnd: 1411
    functionName: uf_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_int (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1415,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    - min
    - max
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1413
    functionDepth: 6
    functionLinenumber: 1413
    functionLinenumberEnd: 1421
    functionName: uf_int_min_max
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_int_min_max (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value,
      int min, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1425,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1423
    functionDepth: 5
    functionLinenumber: 1423
    functionLinenumberEnd: 1427
    functionName: pf_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 11
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_int (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_int_min_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1429
    functionDepth: 7
    functionLinenumber: 1429
    functionLinenumberEnd: 1432
    functionName: uf_dyn_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_int_min_max
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_dyn_port(struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_int_min_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1434
    functionDepth: 7
    functionLinenumber: 1434
    functionLinenumberEnd: 1437
    functionName: uf_natint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_int_min_max
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_natint(struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_int_min_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1439
    functionDepth: 7
    functionLinenumber: 1439
    functionLinenumberEnd: 1442
    functionName: uf_natint_255
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_int_min_max
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_natint_255(struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1446,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1444
    functionDepth: 6
    functionLinenumber: 1444
    functionLinenumberEnd: 1452
    functionName: uf_uint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_uint (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1456,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1454
    functionDepth: 6
    functionLinenumber: 1454
    functionLinenumberEnd: 1462
    functionName: uf_pos_uint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_pos_uint (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1466,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1468
    functionName: pf_uint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_uint (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1472,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    - def_mult
    - min_ns
    - max_ns
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1470
    functionDepth: 6
    functionLinenumber: 1470
    functionLinenumberEnd: 1473
    functionName: uf_duration_gen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_gen (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, const char *value, int64_t def_mult,
      int64_t min_ns, int64_t max_ns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1477,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1478,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    - def_mult
    - min_ns
    - max_ns
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1475
    functionDepth: 6
    functionLinenumber: 1475
    functionLinenumberEnd: 1486
    functionName: uf_maybe_duration_gen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_int64_unit
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_maybe_duration_gen (struct ddsi_cfgst *cfgst,
      void *parent, struct cfgelem const * const cfgelem, const char *value, int64_t
      def_mult, int64_t min_ns, int64_t max_ns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1490,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1491,1
    - Dst: uf_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1488
    functionDepth: 7
    functionLinenumber: 1488
    functionLinenumberEnd: 1497
    functionName: uf_duration_inf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_inf (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1501,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1501,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 7
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: uf_duration_ms_1hr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - DDS_MSECS
    - uf_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_ms_1hr (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_maybe_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1506,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1506,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 7
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: uf_maybe_duration_ms_1hr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - DDS_MSECS
    - uf_maybe_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_maybe_duration_ms_1hr (struct ddsi_cfgst *cfgst,
      void *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first),
      const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1511,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1512,1
    - Dst: uf_maybe_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1509
    functionDepth: 7
    functionLinenumber: 1509
    functionLinenumberEnd: 1519
    functionName: uf_maybe_duration_inf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_maybe_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_maybe_duration_inf (struct ddsi_cfgst *cfgst,
      void *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first),
      const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1524,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1524,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cfgst
    - value
    argTypes:
    - struct ddsi_cfgst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1521
    functionDepth: 6
    functionLinenumber: 1521
    functionLinenumberEnd: 1525
    functionName: uf_nop_duration_ms_1hr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - uf_int64_unit
    - DDS_MSECS
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_nop_duration_ms_1hr (struct ddsi_cfgst *cfgst,
      UNUSED_ARG(void *parent), UNUSED_ARG(struct cfgelem const * const cfgelem),
      UNUSED_ARG (int first), const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1529,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1529,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1527
    functionDepth: 7
    functionLinenumber: 1527
    functionLinenumberEnd: 1530
    functionName: uf_duration_ms_1s
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - DDS_MSECS
    - uf_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_ms_1s (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1534,1
    - Dst: DDS_USECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1534,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1532
    functionDepth: 7
    functionLinenumber: 1532
    functionLinenumberEnd: 1535
    functionName: uf_duration_us_1s
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_USECS
    - DDS_SECS
    - uf_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_us_1s (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_duration_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1539,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1539,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1537
    functionDepth: 7
    functionLinenumber: 1537
    functionLinenumberEnd: 1540
    functionName: uf_duration_100ms_1hr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - DDS_MSECS
    - uf_duration_gen
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_duration_100ms_1hr (struct ddsi_cfgst *cfgst,
      void *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first),
      const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1544,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1546,1
    - Dst: pf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1542
    functionDepth: 6
    functionLinenumber: 1542
    functionLinenumberEnd: 1549
    functionName: pf_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - pf_int64_unit
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_duration (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1553,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1555,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1557,1
    - Dst: pf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1551
    functionDepth: 6
    functionLinenumber: 1551
    functionLinenumberEnd: 1560
    functionName: pf_maybe_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - pf_int64_unit
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_maybe_duration (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1564,1
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1565,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1568,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1570,1
    - Dst: cfg_warning
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1574,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1581,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1589,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1562
    functionDepth: 5
    functionLinenumber: 1562
    functionLinenumberEnd: 1592
    functionName: uf_domainId
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDSRT_WARNING_MSVC_OFF
    - cfg_address
    - cfg_error
    - ddsrt_strcasecmp
    - DDSRT_WARNING_MSVC_ON
    - cfg_warning
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_domainId (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1596,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1598,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1594
    functionDepth: 5
    functionLinenumber: 1594
    functionLinenumberEnd: 1601
    functionName: pf_domainId
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_domainId(struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem, uint32_t sources)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1605,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1606,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1609,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1612,1
    - Dst: uf_natint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1603
    functionDepth: 8
    functionLinenumber: 1603
    functionLinenumberEnd: 1618
    functionName: uf_participantIndex
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - cfg_address
    - uf_natint
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_participantIndex (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1622,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1626,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1629,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1620
    functionDepth: 5
    functionLinenumber: 1620
    functionLinenumberEnd: 1635
    functionName: pf_participantIndex
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - cfg_logelem
    linkageType: ''
    returnType: void
    signature: void pf_participantIndex (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uf_boolean
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cfgst
    - parent
    - cfgelem
    - first
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: uf_deaf_mute
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_boolean
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_deaf_mute (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem, int first, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1644,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1653,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1658,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1660,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1662,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1663,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1665,1
    - Dst: uf_int64_unit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1667,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1670,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1671,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1674,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - value
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - char*
    assertStmts:
    - condition: (idx < maxn)
      pos:
        line_end: 1664
        line_start: 1664
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (i64 >= 0 && i64 <= UINT32_MAX)
      pos:
        line_end: 1673
        line_start: 1673
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 1682
      start: 1642
    functionDepth: 6
    functionLinenumber: 1642
    functionLinenumberEnd: 1682
    functionName: uf_uint32_array
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - uf_int64_unit
    - ddsrt_free
    - cfg_address
    - assert
    - ddsrt_strdup
    - ddsrt_strsep
    - strchr
    - ddsrt_malloc
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result uf_uint32_array (struct ddsi_cfgst *cfgst, void
      *parent, struct cfgelem const * const cfgelem, UNUSED_ARG (int first), const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1686,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1688
    functionName: ff_uint32_array
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_address
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ff_uint32_array (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1692,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1694,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1700,1
    - Dst: cfg_logelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1704,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - cfgst
    - parent
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1690
    functionDepth: 5
    functionLinenumber: 1690
    functionLinenumberEnd: 1706
    functionName: pf_uint32_array
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_free
    - cfg_address
    - cfg_logelem
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void pf_uint32_array (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1715,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1717,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1719,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - cfgst
    - cfgelem
    - parent
    - source
    argTypes:
    - struct ddsi_cfgst*
    - struct cfgelem*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1708
    functionDepth: 5
    functionLinenumber: 1708
    functionLinenumberEnd: 1729
    functionName: lookup_or_create_elem_record
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_ipath
    - cfg_error
    - ddsrt_malloc
    - ddsrt_avl_insert_ipath
    linkageType: ''
    returnType: struct ddsi_cfgst_node
    signature: struct ddsi_cfgst_node *lookup_or_create_elem_record (struct ddsi_cfgst
      *cfgst, struct cfgelem const * const cfgelem, void *parent, uint32_t source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_or_create_elem_record
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1735,1
    - Dst: free_configured_element
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1737,1
    - Dst: upd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1739,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - cfgst
    - upd
    - parent
    - cfgelem
    - value
    - source
    argTypes:
    - struct ddsi_cfgst*
    - update_fun_t
    - void*
    - struct cfgelem*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 1748
    functionName: do_update
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - free_configured_element
    - cfg_error
    - lookup_or_create_elem_record
    - upd
    linkageType: ''
    returnType: enum update_result
    signature: enum update_result do_update (struct ddsi_cfgst *cfgst, update_fun_t
      upd, void *parent, struct cfgelem const * const cfgelem, const char *value,
      uint32_t source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1755,1
    - Dst: do_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1750
    functionDepth: 7
    functionLinenumber: 1750
    functionLinenumberEnd: 1760
    functionName: set_default
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_error
    - do_update
    linkageType: ''
    returnType: int
    signature: int set_default (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
      const * const cfgelem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1771,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1774,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1779,1
    - Dst: set_default
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1780,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1781,1
    - Dst: set_defaults
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1786,1
    - Dst: set_defaults
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1788,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1790,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - cfgst
    - parent
    - isattr
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - int
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1762
    functionDepth: 8
    functionLinenumber: 1762
    functionLinenumberEnd: 1793
    functionName: set_defaults
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup
    - cfgst_pop
    - set_default
    - set_defaults
    - cfgst_push_nofail
    linkageType: ''
    returnType: int
    signature: int set_defaults (struct ddsi_cfgst *cfgst, void *parent, int isattr,
      struct cfgelem const * const cfgelem)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1806,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1807,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1812,1
    - Dst: struct cfgelem*::print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1814,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1815,1
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1817,1
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1819,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1823,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1826,1
    - Dst: struct cfgelem*::print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1828,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1829,1
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1831,1
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1833,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1837,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 5
    argNames:
    - cfgst
    - parent
    - isattr
    - cfgelem
    - sources
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - int
    - struct cfgelem*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1839
    functionName: print_configitems
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - cfg_deref_address
    - ddsrt_avl_lookup
    - cfgst_pop
    - struct cfgelem*::print
    - print_configitems
    - cfgst_push_nofail
    linkageType: ''
    returnType: void
    signature: void print_configitems (struct ddsi_cfgst *cfgst, void *parent, int
      isattr, struct cfgelem const * const cfgelem, uint32_t sources)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: struct cfgelem*::free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1850,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1854,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1856,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1858,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1862,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1864,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1865,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1870
    functionName: free_all_elements
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - free_all_elements
    - struct cfgelem*::free
    - cfg_deref_address
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_all_elements (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1880,1
    - Dst: struct cfgelem*::free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1883,1
    - Dst: free_configured_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1890,1
    - Dst: free_configured_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1892,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1899,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1903,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1905,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - cfgst
    - parent
    - ce
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1872
    functionDepth: 2
    functionLinenumber: 1872
    functionLinenumberEnd: 1910
    functionName: free_configured_element
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - cfg_deref_address
    - ddsrt_free
    - ddsrt_avl_lookup
    - free_all_elements
    - free_configured_elements
    - struct cfgelem*::free
    linkageType: ''
    returnType: void
    signature: void free_configured_element (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const ce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_configured_element
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1912
    functionDepth: 3
    functionLinenumber: 1912
    functionLinenumberEnd: 1916
    functionName: free_configured_elements
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - free_configured_element
    linkageType: ''
    returnType: void
    signature: void free_configured_elements (struct ddsi_cfgst *cfgst, void *parent,
      struct cfgelem const * const cfgelem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1924,1
    - Dst: ddsrt_strncasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1934,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1941,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1944,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1953,1
    - Dst: ddsrt_strncasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1956,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - name_w_aliases
    - name
    - partial
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1962
    functionName: matching_name_index
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - ddsrt_strncasecmp
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int matching_name_index (const char *name_w_aliases, const char *name,
      size_t *partial)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1967,1
    - Dst: strcspn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1972,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1982,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1982,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1983,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1988,1
    - Dst: matching_name_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1992,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:1995,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - target
    - isattr
    argTypes:
    - char*
    - bool*
    assertStmts:
    - condition: (p1[1] == '@' && p1[strlen (p1) - 1] == ']')
      pos:
        line_end: 1981
        line_start: 1981
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (0)
      pos:
        line_end: 1987
        line_start: 1987
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (cfgelem->name[0] != '>')
      pos:
        line_end: 1994
        line_start: 1994
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2005
      start: 1964
    functionDepth: 2
    functionLinenumber: 1964
    functionLinenumberEnd: 2005
    functionName: lookup_element
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - assert
    - strlen
    - ddsrt_strdup
    - matching_name_index
    - strcspn
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *lookup_element (const char *target, bool *isattr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2014,1
    - Dst: matching_name_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2019,1
    - Dst: cfg_warning
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2023,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2026,1
    - Dst: cfg_warning
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2028,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2057,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2059,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2061,1
    - Dst: lookup_element
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2066,1
    - Dst: cfgst_push_errorhandling
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2067,1
    - Dst: cfg_warning
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2068,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2069,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - cfgst
    - class
    - elems
    - name
    argTypes:
    - struct ddsi_cfgst*
    - char*
    - struct cfgelem*
    - char*
    assertStmts:
    - condition: (!cfg_subelem || cfg_subelem->name)
      pos:
        line_end: 2060
        line_start: 2060
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2072
      start: 2007
    functionDepth: 5
    functionLinenumber: 2007
    functionLinenumberEnd: 2072
    functionName: find_cfgelem_by_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_error
    - strcmp
    - assert
    - cfgst_pop
    - lookup_element
    - cfgst_push_errorhandling
    - matching_name_index
    - strchr
    - cfg_warning
    linkageType: ''
    returnType: struct cfgelem
    signature: struct cfgelem *find_cfgelem_by_name (struct ddsi_cfgst * const cfgst,
      const char *class, struct cfgelem const * const elems, const char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2081,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2086,1
    - Dst: cfgst_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2086,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2090,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2092,1
    - Dst: cfgst_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2092,1
    - Dst: cfgst_tos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2100,1
    - Dst: cfgst_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2104,1
    - Dst: find_cfgelem_by_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2107,1
    - Dst: cfgst_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2111,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2113,1
    - Dst: cfgst_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2116,1
    - Dst: cfgst_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2121,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2122,1
    - Dst: struct cfgelem*::init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2125,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2132,1
    - Dst: cfgst_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - varg
    - name
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts:
    - condition: (cfgelem->init || cfgelem->multiplicity == 1)
      pos:
        line_end: 2121
        line_start: 2121
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2150
      start: 2074
    functionDepth: 6
    functionLinenumber: 2074
    functionLinenumberEnd: 2150
    functionName: proc_elem_open
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_deref_address
    - cfgst_push
    - struct cfgelem*::init
    - assert
    - strcmp
    - ddsrt_strcasecmp
    - find_cfgelem_by_name
    - cfgst_tos
    - cfgst_push_nofail
    - cfgst_parent
    linkageType: ''
    returnType: int
    signature: int proc_elem_open (void *varg, UNUSED_ARG (uintptr_t parentinfo),
      UNUSED_ARG (uintptr_t *eleminfo), const char *name, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2154,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2155,1
    - Dst: cfgst_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2159,1
    - Dst: do_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2163,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2164,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2166,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2188,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2191,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2192,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - cfgst
    - ce
    - value
    - isattr
    argTypes:
    - struct ddsi_cfgst*
    - struct cfgelem*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2152
    functionDepth: 7
    functionLinenumber: 2152
    functionLinenumberEnd: 2201
    functionName: proc_update_cfgelem
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfgst_push
    - ddsrt_free
    - cfgst_pop
    - do_update
    - ddsrt_expand_envvars
    - cfgst_push_nofail
    - cfgst_parent
    linkageType: ''
    returnType: int
    signature: int proc_update_cfgelem (struct ddsi_cfgst *cfgst, const struct cfgelem
      *ce, const char *value, bool isattr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_tos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2207,1
    - Dst: find_cfgelem_by_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2211,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2216,1
    - Dst: proc_update_cfgelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - varg
    - name
    - value
    - line
    argTypes:
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2203
    functionDepth: 8
    functionLinenumber: 2203
    functionLinenumberEnd: 2223
    functionName: proc_attr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - proc_update_cfgelem
    - cfg_error
    - find_cfgelem_by_name
    - cfgst_tos
    linkageType: ''
    returnType: int
    signature: int proc_attr (void *varg, UNUSED_ARG (uintptr_t eleminfo), const char
      *name, const char *value, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_tos_w_isattr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2229,1
    - Dst: proc_update_cfgelem
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2234,1
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - varg
    - value
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2225
    functionDepth: 8
    functionLinenumber: 2225
    functionLinenumberEnd: 2240
    functionName: proc_elem_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_error
    - proc_update_cfgelem
    - cfgst_tos_w_isattr
    linkageType: ''
    returnType: int
    signature: int proc_elem_data (void *varg, UNUSED_ARG (uintptr_t eleminfo), const
      char *value, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgst_tos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2245,1
    - Dst: cfgst_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2250,1
    - Dst: set_defaults
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2252,1
    - Dst: set_defaults
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2254,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - varg
    - line
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2242
    functionDepth: 9
    functionLinenumber: 2242
    functionLinenumberEnd: 2259
    functionName: proc_elem_close
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - set_defaults
    - cfgst_pop
    - cfgst_tos
    - cfgst_parent
    linkageType: ''
    returnType: int
    signature: int proc_elem_close (void *varg, UNUSED_ARG (uintptr_t eleminfo), int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2261
    functionDepth: 5
    functionLinenumber: 2261
    functionLinenumberEnd: 2265
    functionName: proc_error
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - cfg_error
    linkageType: ''
    returnType: void
    signature: void proc_error (void *varg, const char *msg, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2270
    functionName: cfgst_node_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cfgst_node_cmp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2274,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2274,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2277,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2284,1
    - Dst: fopen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2285,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2287,1
    - Dst: fopen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2287,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2289,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - tok
    - cursor
    - domid
    argTypes:
    - char*
    - char**
    - uint32_t
    assertStmts:
    - condition: (*tok && !(isspace ((unsigned char) *tok) || *tok == ','))
      pos:
        line_end: 2273
        line_start: 2273
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2295
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2295
    functionName: config_open_file
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - isspace
    - DDS_ILOG
    - DDSRT_WARNING_MSVC_ON
    - fopen
    - strchr
    - strncmp
    linkageType: ''
    returnType: FILE
    signature: FILE *config_open_file (char *tok, char **cursor, uint32_t domid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ddsi_config_listelem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2308
    functionName: reverse_config_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_config_list (struct ddsi_config_listelem **list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reverse_lists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2320,1
    - Dst: reverse_lists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2322,1
    - Dst: reverse_config_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2326,1
    - Dst: cfg_list_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2326,1
    - Dst: cfg_deref_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2327,1
    - Dst: reverse_lists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2330,1
    - Dst: reverse_lists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - cfgst
    - parent
    - cfgelem
    argTypes:
    - struct ddsi_cfgst*
    - void*
    - struct cfgelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2336
    functionName: reverse_lists
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 1
    functionsReached:
    - reverse_config_list
    - cfg_deref_address
    - cfg_list_address
    - reverse_lists
    linkageType: ''
    returnType: void
    signature: void reverse_lists (struct ddsi_cfgst *cfgst, void *parent, struct
      cfgelem const * const cfgelem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2342,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2349
    functionName: count_commas
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t count_commas (const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_commas
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2353,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2354,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2355,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2357,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2360,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2365,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (i == *nwords)
      pos:
        line_end: 2366
        line_start: 2366
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2369
      start: 2351
    functionDepth: 2
    functionLinenumber: 2351
    functionLinenumberEnd: 2369
    functionName: split_at_comma
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - strlen
    - count_commas
    - strchr
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char **split_at_comma (const char *str, size_t *nwords)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2377,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2378,1
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2386,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2391,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - cfg
    - allow_append
    - name
    - address
    argTypes:
    - struct ddsi_config*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2401
    functionName: network_interface_find_or_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - malloc
    - ddsrt_strdup
    linkageType: ''
    returnType: struct ddsi_config_network_interface
    signature: struct ddsi_config_network_interface * network_interface_find_or_append(struct
      ddsi_config *cfg, bool allow_append, const char * name, const char * address)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2410,1
    - Dst: malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2413,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2417,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - cfg
    - name
    - library
    argTypes:
    - struct ddsi_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2423
    functionName: psmx_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - malloc
    - ddsrt_strdup
    linkageType: ''
    returnType: struct ddsi_config_psmx
    signature: struct ddsi_config_psmx * psmx_append(struct ddsi_config *cfg, const
      char * name, const char * library)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2434,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2436,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2449,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2425
    functionDepth: 1
    functionLinenumber: 2425
    functionLinenumberEnd: 2464
    functionName: setup_network_partitions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_strcasecmp
    - DDS_ILOG
    linkageType: ''
    returnType: int
    signature: int setup_network_partitions (struct ddsi_cfgst *cfgst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: split_at_comma
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2469,1
    - Dst: network_interface_find_or_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2478,1
    - Dst: network_interface_find_or_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2481,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ddsi_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2466
    functionDepth: 3
    functionLinenumber: 2466
    functionLinenumberEnd: 2486
    functionName: convert_networkinterfaceaddress
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - split_at_comma
    - free
    - network_interface_find_or_append
    linkageType: ''
    returnType: int
    signature: int convert_networkinterfaceaddress (struct ddsi_config * const cfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2490,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2501,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2501,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2503,1
    - Dst: split_at_comma
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2509,1
    - Dst: network_interface_find_or_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2512,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2515,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ddsi_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2488
    functionDepth: 3
    functionLinenumber: 2488
    functionLinenumberEnd: 2523
    functionName: convert_assumemulticastcapable
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - split_at_comma
    - strcmp
    - DDS_ILOG
    - network_interface_find_or_append
    - strchr
    linkageType: ''
    returnType: int
    signature: int convert_assumemulticastcapable (struct ddsi_config * const cfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2533,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2536,1
    - Dst: convert_networkinterfaceaddress
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2546,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2548,1
    - Dst: convert_assumemulticastcapable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2525
    functionDepth: 4
    functionLinenumber: 2525
    functionLinenumberEnd: 2560
    functionName: convert_deprecated_interface_specification
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - convert_networkinterfaceaddress
    - convert_assumemulticastcapable
    - strlen
    - DDS_ILOG
    linkageType: ''
    returnType: int
    signature: int convert_deprecated_interface_specification (struct ddsi_cfgst *cfgst)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: psmx_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2573,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2579,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2579,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2581,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2583,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2583,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2587,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2589,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2602,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2602,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2603,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2604,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2607,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2608,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (strlen (level_str) <= IOX_CONFIG_LOG_LEVEL_MAX_VALUE_LEN)
      pos:
        line_end: 2601
        line_start: 2601
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: ((size_t) pos < sz)
      pos:
        line_end: 2607
        line_start: 2607
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: ((size_t) pos < sz)
      pos:
        line_end: 2602
        line_start: 2602
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2612
      start: 2567
    functionDepth: 2
    functionLinenumber: 2567
    functionLinenumberEnd: 2612
    functionName: convert_deprecated_sharedmemory
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - psmx_append
    - snprintf
    - assert
    - strlen
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int convert_deprecated_sharedmemory (struct ddsi_cfgst *cfgst)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2622,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2624,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2625,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2626,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2647,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2649,1
    - Dst: ddsrt_xmlp_new_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2660,1
    - Dst: ddsrt_xmlp_set_options
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2661,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2663,1
    - Dst: config_open_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2667,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2669,1
    - Dst: ddsrt_xmlp_new_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2674,1
    - Dst: cfgst_push_nofail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2683,1
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2684,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2685,1
    - Dst: cfgst_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2690,1
    - Dst: fclose
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2692,1
    - Dst: ddsrt_xmlp_get_bufpos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2694,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2695,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2696,1
    - Dst: isspace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2699,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2703,1
    - Dst: set_defaults
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2707,1
    - Dst: reverse_lists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2710,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2750,1
    - Dst: setup_network_partitions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2756,1
    - Dst: convert_deprecated_interface_specification
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2757,1
    - Dst: convert_deprecated_sharedmemory
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2758,1
    - Dst: free_configured_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2767,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2768,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2769,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 108
    argCount: 3
    argNames:
    - config
    - cfg
    - domid
    argTypes:
    - char*
    - struct ddsi_config*
    - uint32_t
    assertStmts:
    - condition: (fp == NULL || cfgst->implicit_toplevel <= ITL_ALLOWED)
      pos:
        line_end: 2695
        line_start: 2695
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: "(!ok ||\n            (cfgst->path_depth == 1 && cfgst->implicit_toplevel
        == ITL_DISALLOWED) ||\n            (cfgst->path_depth == 1 + (int) cfgst->implicit_toplevel))"
      pos:
        line_end: 2686
        line_start: 2684
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2771
      start: 2614
    functionDepth: 9
    functionLinenumber: 2614
    functionLinenumberEnd: 2771
    functionName: ddsi_config_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 6
    functionsReached:
    - fclose
    - setup_network_partitions
    - ddsrt_xmlp_new_file
    - ddsrt_xmlp_new_string
    - set_defaults
    - ddsrt_xmlp_get_bufpos
    - ddsrt_malloc
    - cfgst_push_nofail
    - snprintf
    - ddsrt_xmlp_parse
    - free_configured_elements
    - DDS_ILOG
    - ddsrt_strdup
    - reverse_lists
    - ddsrt_xmlp_set_options
    - ddsrt_free
    - assert
    - cfgst_pop
    - convert_deprecated_sharedmemory
    - ddsrt_avl_init
    - ddsrt_xmlp_free
    - isspace
    - memset
    - config_open_file
    - ddsrt_avl_free
    - convert_deprecated_interface_specification
    linkageType: ''
    returnType: struct ddsi_cfgst
    signature: struct ddsi_cfgst *ddsi_config_init (const char *config, struct ddsi_config
      *cfg, uint32_t domid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2777,1
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cfgst
    - logcfg
    argTypes:
    - struct ddsi_cfgst*
    - struct ddsrt_log_cfg*
    assertStmts:
    - condition: (cfgst->logcfg == NULL)
      pos:
        line_end: 2776
        line_start: 2776
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2780
      start: 2773
    functionDepth: 4
    functionLinenumber: 2773
    functionLinenumberEnd: 2780
    functionName: ddsi_config_print_cfgst
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - print_configitems
    linkageType: ''
    returnType: void
    signature: void ddsi_config_print_cfgst (struct ddsi_cfgst *cfgst, const struct
      ddsrt_log_cfg *logcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_configitems
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cfg
    - logcfg
    argTypes:
    - struct ddsi_config*
    - struct ddsrt_log_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2782
    functionDepth: 4
    functionLinenumber: 2782
    functionLinenumberEnd: 2791
    functionName: ddsi_config_print_rawconfig
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - print_configitems
    linkageType: ''
    returnType: void
    signature: void ddsi_config_print_rawconfig (const struct ddsi_config *cfg, const
      struct ddsrt_log_cfg *logcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2795,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (!cfgst->error)
      pos:
        line_end: 2794
        line_start: 2794
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2797
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2797
    functionName: ddsi_config_free_source_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_avl_free
    linkageType: ''
    returnType: void
    signature: void ddsi_config_free_source_info (struct ddsi_cfgst *cfgst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2801,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2802,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2803,1
    - Dst: free_all_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2805,1
    - Dst: dds_set_log_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2806,1
    - Dst: dds_set_trace_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2807,1
    - Dst: fclose
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2809,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2811,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2812,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c:2813,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - cfgst
    argTypes:
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (cfgst)
      pos:
        line_end: 2800
        line_start: 2800
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (cfgst->cfg != NULL)
      pos:
        line_end: 2801
        line_start: 2801
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - condition: (cfgst->cfg->valid)
      pos:
        line_end: 2802
        line_start: 2802
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    constantsTouched: []
    func_position:
      end: 2814
      start: 2799
    functionDepth: 2
    functionLinenumber: 2799
    functionLinenumberEnd: 2814
    functionName: ddsi_config_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    functionUses: 7
    functionsReached:
    - dds_set_log_file
    - fclose
    - ddsrt_free
    - free_all_elements
    - assert
    - memset
    - dds_set_trace_file
    - ddsrt_avl_free
    linkageType: ''
    returnType: void
    signature: void ddsi_config_fini (struct ddsi_cfgst *cfgst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - factory
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: ddsi_factory_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_factory_add (struct ddsi_domaingv *gv, struct ddsi_tran_factory
      * factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: ddsi_tran_factories_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_free
    linkageType: ''
    returnType: void
    signature: void ddsi_tran_factories_fini (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - type
    - len
    - value
    argTypes:
    - char*
    - size_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: type_is_numeric
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool type_is_numeric (const char *type, size_t len, int32_t *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type_is_numeric
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:90,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:91,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - gv
    - type
    - len
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: ddsi_factory_find_with_len
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - strncmp
    - type_is_numeric
    - ddsi_factory_find_supported_kind
    linkageType: ''
    returnType: struct ddsi_tran_factory
    signature: struct ddsi_tran_factory * ddsi_factory_find_with_len (const struct
      ddsi_domaingv *gv, const char *type, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_with_len
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:105,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ddsi_factory_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 3
    functionsReached:
    - ddsi_factory_find_with_len
    - strlen
    linkageType: ''
    returnType: struct ddsi_tran_factory
    signature: struct ddsi_tran_factory * ddsi_factory_find (const struct ddsi_domaingv
      *gv, const char *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_supports_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - kind
    argTypes:
    - struct ddsi_domaingv*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: ddsi_factory_find_supported_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 4
    functionsReached:
    - struct ddsi_tran_factory*::m_supports_fn
    linkageType: ''
    returnType: struct ddsi_tran_factory
    signature: struct ddsi_tran_factory * ddsi_factory_find_supported_kind (const
      struct ddsi_domaingv *gv, int32_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - factory
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: ddsi_factory_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_factory_free (struct ddsi_tran_factory * factory)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:137,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:142,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:142,1
    - Dst: ddsi_sock_waitset_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:148,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:152,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts:
    - condition: (!ddsrt_atomic_ld32 (&conn->m_base.gv->rtps_keepgoing))
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    constantsTouched: []
    func_position:
      end: 168
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 168
    functionName: ddsi_conn_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_dec32_ov
    - assert
    - ddsi_sock_waitset_remove
    - ddsi_conn_handle
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsi_conn_free (struct ddsi_tran_conn * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: ddsi_conn_add_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void ddsi_conn_add_ref (struct ddsi_tran_conn * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - factory
    - interf
    - conn
    argTypes:
    - struct ddsi_tran_factory*
    - struct ddsi_network_interface*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: ddsi_factory_conn_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_factory_conn_init (const struct ddsi_tran_factory *factory,
      const struct ddsi_network_interface *interf, struct ddsi_tran_conn * conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: ddsi_conn_disable_multiplexing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_conn_disable_multiplexing (struct ddsi_tran_conn * conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - loc
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: ddsi_conn_peer_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_conn_peer_locator (struct ddsi_tran_conn * conn, ddsi_locator_t
      * loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_conn*::m_factory::m_join_mc_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: ddsi_conn_join_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_conn*::m_factory::m_join_mc_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_conn_join_mc (struct ddsi_tran_conn * conn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_conn*::m_factory::m_leave_mc_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: ddsi_conn_leave_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_conn*::m_factory::m_leave_mc_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_conn_leave_mc (struct ddsi_tran_conn * conn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:217,1
    - Dst: ddsi_listener_unblock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:221,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: ddsi_tran_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_free
    - ddsi_listener_free
    - ddsi_listener_unblock
    linkageType: ''
    returnType: void
    signature: void ddsi_tran_free (struct ddsi_tran_base * base)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: ddsi_listener_unblock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_listener_unblock (struct ddsi_tran_listener * listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct ddsi_tran_listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: ddsi_listener_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_listener_free (struct ddsi_tran_listener * listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:245,1
    - Dst: struct ddsi_tran_factory*::m_is_loopbackaddr_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: ddsi_is_loopbackaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_is_loopbackaddr_fn
    - ddsi_factory_find_supported_kind
    linkageType: ''
    returnType: int
    signature: int ddsi_is_loopbackaddr (const struct ddsi_domaingv *gv, const ddsi_locator_t
      *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:251,1
    - Dst: struct ddsi_tran_factory*::m_is_mcaddr_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: ddsi_is_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 3
    functionsReached:
    - struct ddsi_tran_factory*::m_is_mcaddr_fn
    - ddsi_factory_find_supported_kind
    linkageType: ''
    returnType: int
    signature: int ddsi_is_mcaddr (const struct ddsi_domaingv *gv, const ddsi_locator_t
      *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:257,1
    - Dst: struct ddsi_tran_factory*::m_is_ssm_mcaddr_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: ddsi_is_ssm_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 2
    functionsReached:
    - struct ddsi_tran_factory*::m_is_ssm_mcaddr_fn
    - ddsi_factory_find_supported_kind
    linkageType: ''
    returnType: int
    signature: int ddsi_is_ssm_mcaddr (const struct ddsi_domaingv *gv, const ddsi_locator_t
      *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:265,1
    - Dst: struct ddsi_tran_factory*::m_is_nearby_address_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - gv
    - loc
    - ninterf
    - interf
    - interf_idx
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    - size_t
    - struct ddsi_network_interface[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ddsi_is_nearby_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached:
    - ddsi_factory_find_supported_kind
    - struct ddsi_tran_factory*::m_is_nearby_address_fn
    linkageType: ''
    returnType: enum ddsi_nearby_address_result
    signature: enum ddsi_nearby_address_result ddsi_is_nearby_address (const struct
      ddsi_domaingv *gv, const ddsi_locator_t *loc, size_t ninterf, const struct ddsi_network_interface
      interf[], size_t *interf_idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:273,1
    - Dst: isalnum
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:280,1
    - Dst: ddsi_factory_find_with_len
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:282,1
    - Dst: struct ddsi_tran_factory*::m_locator_from_string_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - gv
    - loc
    - str
    - default_factory
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    - char*
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 290
    functionName: ddsi_locator_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 5
    functionsReached:
    - struct ddsi_tran_factory*::m_locator_from_string_fn
    - ddsi_factory_find_with_len
    - isalnum
    - strchr
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_locator_from_string (const
      struct ddsi_domaingv *gv, ddsi_locator_t *loc, const char *str, struct ddsi_tran_factory
      * default_factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_locator_from_sockaddr_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tran
    - loc
    - sockaddr
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: ddsi_locator_from_sockaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_locator_from_sockaddr_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_locator_from_sockaddr (const struct ddsi_tran_factory *tran,
      ddsi_locator_t *loc, const struct sockaddr *sockaddr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:309,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - kind
    argTypes:
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 315
    functionName: kindstr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 1
    functionsReached:
    - snprintf
    - ddsrt_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t kindstr (char *dst, size_t sizeof_dst, int32_t kind)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:321,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:324,1
    - Dst: struct ddsi_tran_factory*::m_locator_to_string_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:326,1
    - Dst: kindstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:337,1
    - Dst: ddsi_ipaddr_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:339,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 351
    functionName: ddsi_xlocator_to_string_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - snprintf
    - struct ddsi_tran_factory*::m_locator_to_string_fn
    - ddsi_ipaddr_to_string
    - kindstr
    linkageType: ''
    returnType: char
    signature: char *ddsi_xlocator_to_string_impl (char *dst, size_t sizeof_dst, const
      ddsi_xlocator_t *loc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:356,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:359,1
    - Dst: struct ddsi_tran_factory*::m_locator_to_string_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:361,1
    - Dst: kindstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:369,1
    - Dst: ddsi_ipaddr_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:371,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: ddsi_xlocator_to_string_no_port_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - snprintf
    - struct ddsi_tran_factory*::m_locator_to_string_fn
    - ddsi_ipaddr_to_string
    - kindstr
    linkageType: ''
    returnType: char
    signature: char *ddsi_xlocator_to_string_no_port_impl (char *dst, size_t sizeof_dst,
      const ddsi_xlocator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: ddsi_xlocator_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 2
    functionsReached:
    - ddsi_xlocator_to_string_impl
    linkageType: ''
    returnType: char
    signature: char *ddsi_xlocator_to_string (char *dst, size_t sizeof_dst, const
      ddsi_xlocator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: ddsi_locator_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 5
    functionsReached:
    - ddsi_xlocator_to_string_impl
    linkageType: ''
    returnType: char
    signature: char *ddsi_locator_to_string (char *dst, size_t sizeof_dst, const ddsi_locator_t
      *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string_no_port_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: ddsi_xlocator_to_string_no_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - ddsi_xlocator_to_string_no_port_impl
    linkageType: ''
    returnType: char
    signature: char *ddsi_xlocator_to_string_no_port (char *dst, size_t sizeof_dst,
      const ddsi_xlocator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xlocator_to_string_no_port_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - sizeof_dst
    - loc
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ddsi_locator_to_string_no_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 2
    functionsReached:
    - ddsi_xlocator_to_string_no_port_impl
    linkageType: ''
    returnType: char
    signature: char *ddsi_locator_to_string_no_port (char *dst, size_t sizeof_dst,
      const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_tran_factory*::m_enumerate_interfaces_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - factory
    - transport_selector
    - interfs
    argTypes:
    - struct ddsi_tran_factory*
    - enum ddsi_transport_selector
    - ddsrt_ifaddrs_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: ddsi_enumerate_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
    functionUses: 0
    functionsReached:
    - struct ddsi_tran_factory*::m_enumerate_interfaces_fn
    linkageType: ''
    returnType: int
    signature: int ddsi_enumerate_interfaces (struct ddsi_tran_factory * factory,
      enum ddsi_transport_selector transport_selector, ddsrt_ifaddrs_t **interfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:46,1
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gcreq_queue
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: force_lease_check
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_enqueue
    - ddsi_gcreq_new
    linkageType: ''
    returnType: void
    signature: void force_lease_check (struct ddsi_gcreq_queue *gcreq_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: ddsi_compare_lease_tsched
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_lease_tsched (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ddsi_compare_lease_tdur
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_lease_tdur (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:65,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: ddsi_lease_management_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_init
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_management_init (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:71,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:71,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (ddsrt_fibheap_min (&lease_fhdef, &gv->leaseheap) == NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ddsi_lease_management_term
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - assert
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_management_term (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:78,1
    - Dst: EETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:80,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - texpire
    - tdur
    - e
    argTypes:
    - ddsrt_etime_t
    - dds_duration_t
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: ddsi_lease_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 6
    functionsReached:
    - ddsrt_malloc
    - ddsrt_atomic_st64
    - EETRACE
    linkageType: ''
    returnType: struct ddsi_lease
    signature: struct ddsi_lease *ddsi_lease_new (ddsrt_etime_t texpire, dds_duration_t
      tdur, struct ddsi_entity_common *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:97,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ddsi_lease*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: ddsi_lease_clone
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 1
    functionsReached:
    - ddsi_lease_new
    - ddsrt_atomic_ld64
    linkageType: ''
    returnType: struct ddsi_lease
    signature: struct ddsi_lease *ddsi_lease_clone (const struct ddsi_lease *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:105,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:105,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:106,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:107,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:108,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:112,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:114,1
    - Dst: force_lease_check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ddsi_lease*
    assertStmts:
    - condition: (l->tsched.v == TSCHED_NOT_ON_HEAP)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: ddsi_lease_register
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 6
    functionsReached:
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - assert
    - PGUID
    - force_lease_check
    - GVTRACE
    - ddsrt_atomic_ld64
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_register (struct ddsi_lease *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:123,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:123,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:124,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:127,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:130,1
    - Dst: force_lease_check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ddsi_lease*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: ddsi_lease_unregister
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 4
    functionsReached:
    - force_lease_check
    - ddsrt_mutex_lock
    - PGUID
    - ddsrt_fibheap_delete
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_unregister (struct ddsi_lease *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:139,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:139,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ddsi_lease*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: ddsi_lease_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 3
    functionsReached:
    - PGUID
    - GVTRACE
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_free (struct ddsi_lease *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:149,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:151,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:153,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:153,1
    - Dst: ddsrt_etime_to_sec_usec
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:154,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - l
    - tag
    - tend_new
    argTypes:
    - struct ddsi_lease*
    - char*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: trace_lease_renew
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached:
    - PGUID
    - GVTRACE
    - ddsrt_etime_to_sec_usec
    linkageType: ''
    returnType: void
    signature: void trace_lease_renew (const struct ddsi_lease *l, const char *tag,
      ddsrt_etime_t tend_new)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:161,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:166,1
    - Dst: ddsrt_atomic_cas64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:169,1
    - Dst: trace_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - l
    - tnowE
    argTypes:
    - struct ddsi_lease*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: ddsi_lease_renew
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_cas64
    - trace_lease_renew
    - ddsrt_etime_add_duration
    - ddsrt_atomic_ld64
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_renew (struct ddsi_lease *l, ddsrt_etime_t tnowE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:182,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:183,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:186,1
    - Dst: ddsrt_fibheap_decrease_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:192,1
    - Dst: trace_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:193,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:200,1
    - Dst: trace_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:201,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:204,1
    - Dst: force_lease_check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - l
    - when
    argTypes:
    - struct ddsi_lease*
    - ddsrt_etime_t
    assertStmts:
    - condition: (when.v >= 0)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    constantsTouched: []
    func_position:
      end: 209
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 209
    functionName: ddsi_lease_set_expiry
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 1
    functionsReached:
    - trace_lease_renew
    - ddsrt_fibheap_insert
    - ddsrt_mutex_lock
    - assert
    - force_lease_check
    - ddsrt_atomic_st64
    - ddsrt_mutex_unlock
    - ddsrt_fibheap_decrease_key
    linkageType: ''
    returnType: void
    signature: void ddsi_lease_set_expiry (struct ddsi_lease *l, ddsrt_etime_t when)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:215,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:216,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:221,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:222,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:225,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:233,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:238,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:241,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:246,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:246,1
    - Dst: ddsi_proxy_writer_set_notalive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:249,1
    - Dst: ddsi_writer_set_notalive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:252,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:258,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:261,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - gv
    - tnowE
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_etime_t
    assertStmts:
    - condition: (l->tsched.v != TSCHED_NOT_ON_HEAP)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    - condition: (false)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    constantsTouched: []
    func_position:
      end: 267
      start: 211
    functionDepth: 8
    functionLinenumber: 211
    functionLinenumberEnd: 267
    functionName: ddsi_check_and_handle_lease_expiration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsi_writer_set_notalive
    - GVLOGDISC
    - ddsrt_fibheap_insert
    - assert
    - ddsrt_mutex_lock
    - ddsi_proxy_writer_set_notalive
    - ddsi_delete_proxy_participant_by_guid
    - ddsrt_fibheap_extract_min
    - ddsrt_time_wallclock
    - ddsrt_atomic_ld64
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_check_and_handle_lease_expiration (struct ddsi_domaingv
      *gv, ddsrt_etime_t tnowE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DDSI_SERDATA_PLIST_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_PLIST_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: DDSI_SERDATA_PLIST_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_PLIST_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - whc
    - seq
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: ddsi_whc_next_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_whc*::ops::next_seq
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t ddsi_whc_next_seq (const struct ddsi_whc *whc, ddsi_seqno_t
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - whc
    - st
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ddsi_whc_get_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 9
    functionsReached:
    - struct ddsi_whc*::ops::get_state
    linkageType: ''
    returnType: void
    signature: void ddsi_whc_get_state (const struct ddsi_whc *whc, struct ddsi_whc_state
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::borrow_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - whc
    - seq
    - sample
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - struct ddsi_whc_borrowed_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ddsi_whc_borrow_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::borrow_sample
    linkageType: ''
    returnType: bool
    signature: bool ddsi_whc_borrow_sample (const struct ddsi_whc *whc, ddsi_seqno_t
      seq, struct ddsi_whc_borrowed_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::borrow_sample_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - whc
    - serdata_key
    - sample
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_serdata*
    - struct ddsi_whc_borrowed_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ddsi_whc_borrow_sample_key
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 0
    functionsReached:
    - struct ddsi_whc*::ops::borrow_sample_key
    linkageType: ''
    returnType: bool
    signature: bool ddsi_whc_borrow_sample_key (const struct ddsi_whc *whc, const
      struct ddsi_serdata *serdata_key, struct ddsi_whc_borrowed_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::return_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - whc
    - sample
    - update_retransmit_info
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_borrowed_sample*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ddsi_whc_return_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::return_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_whc_return_sample (struct ddsi_whc *whc, struct ddsi_whc_borrowed_sample
      *sample, bool update_retransmit_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::sample_iter_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - whc
    - it
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_sample_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ddsi_whc_sample_iter_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::sample_iter_init
    linkageType: ''
    returnType: void
    signature: void ddsi_whc_sample_iter_init (const struct ddsi_whc *whc, struct
      ddsi_whc_sample_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc_sample_iter*::c::whc::ops::sample_iter_borrow_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - sample
    argTypes:
    - struct ddsi_whc_sample_iter*
    - struct ddsi_whc_borrowed_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ddsi_whc_sample_iter_borrow_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc_sample_iter*::c::whc::ops::sample_iter_borrow_next
    linkageType: ''
    returnType: bool
    signature: bool ddsi_whc_sample_iter_borrow_next (struct ddsi_whc_sample_iter
      *it, struct ddsi_whc_borrowed_sample *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - whc
    argTypes:
    - struct ddsi_whc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: ddsi_whc_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::free
    linkageType: ''
    returnType: void
    signature: void ddsi_whc_free (struct ddsi_whc *whc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - whc
    - max_drop_seq
    - seq
    - exp
    - serdata
    - tk
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - ddsrt_mtime_t
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: ddsi_whc_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::insert
    linkageType: ''
    returnType: int
    signature: int ddsi_whc_insert (struct ddsi_whc *whc, ddsi_seqno_t max_drop_seq,
      ddsi_seqno_t seq, ddsrt_mtime_t exp, struct ddsi_serdata *serdata, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - whc
    - max_drop_seq
    - whcst
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - ddsi_seqno_t
    - struct ddsi_whc_state*
    - struct ddsi_whc_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: ddsi_whc_remove_acked_messages
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 2
    functionsReached:
    - struct ddsi_whc*::ops::remove_acked_messages
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_whc_remove_acked_messages (struct ddsi_whc *whc, ddsi_seqno_t
      max_drop_seq, struct ddsi_whc_state *whcst, struct ddsi_whc_node **deferred_free_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_whc*::ops::free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - whc
    - deferred_free_list
    argTypes:
    - struct ddsi_whc*
    - struct ddsi_whc_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: ddsi_whc_free_deferred_free_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
    functionUses: 1
    functionsReached:
    - struct ddsi_whc*::ops::free_deferred_free_list
    linkageType: ''
    returnType: void
    signature: void ddsi_whc_free_deferred_free_list (struct ddsi_whc *whc, struct
      ddsi_whc_node *deferred_free_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:30,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:31,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_StringSeq*
    - ddsi_stringseq_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: ddsi_omg_shallow_copy_StringSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_StringSeq(\n    DDS_Security_StringSeq
      *dst,\n    const ddsi_stringseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_StringSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ddsi_omg_shallow_free_StringSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_StringSeq(\n    DDS_Security_StringSeq
      *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:63,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:69,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:69,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:70,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:70,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_PropertySeq*
    - dds_propertyseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: ddsi_omg_copy_PropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - memset
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_copy_PropertySeq (\n    DDS_Security_PropertySeq *dst,\n
      \   const dds_propertyseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:83,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:84,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_PropertySeq*
    - dds_propertyseq_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: ddsi_omg_shallow_copyin_PropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyin_PropertySeq (\n   DDS_Security_PropertySeq
      *dst,\n   const dds_propertyseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:109,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_propertyseq_t*
    - DDS_Security_PropertySeq*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: ddsi_omg_shallow_copyout_PropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyout_PropertySeq (\n    dds_propertyseq_t
      *dst,\n    const DDS_Security_PropertySeq *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:131,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_PropertySeq*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: ddsi_omg_shallow_free_PropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_PropertySeq (\n    DDS_Security_PropertySeq
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - dds_propertyseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: ddsi_omg_shallow_free_dds_propertyseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_dds_propertyseq (\n    dds_propertyseq_t
      *obj)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:153,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:154,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_BinaryPropertySeq*
    - dds_binarypropertyseq_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: ddsi_omg_shallow_copyin_BinaryPropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyin_BinaryPropertySeq (\n    DDS_Security_BinaryPropertySeq
      *dst,\n    const dds_binarypropertyseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:181,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:182,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_binarypropertyseq_t*
    - DDS_Security_BinaryPropertySeq*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 198
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 198
    functionName: ddsi_omg_shallow_copyout_BinaryPropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyout_BinaryPropertySeq (\n    dds_binarypropertyseq_t
      *dst,\n    const DDS_Security_BinaryPropertySeq *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_BinaryPropertySeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: ddsi_omg_shallow_free_BinaryPropertySeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_BinaryPropertySeq (\n    DDS_Security_BinaryPropertySeq
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - dds_binarypropertyseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: ddsi_omg_shallow_free_dds_binarypropertyseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_dds_binarypropertyseq (\n    dds_binarypropertyseq_t
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:224,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:225,1
    - Dst: ddsi_omg_shallow_copyin_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:226,1
    - Dst: ddsi_omg_shallow_copyin_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_PropertyQosPolicy*
    - dds_property_qospolicy_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: ddsi_omg_shallow_copy_PropertyQosPolicy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyin_PropertySeq
    - ddsi_omg_shallow_copyin_BinaryPropertySeq
    - assert
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_PropertyQosPolicy (\n    DDS_Security_PropertyQosPolicy
      *dst,\n    const dds_property_qospolicy_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:235,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:236,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:239,1
    - Dst: ddsi_omg_shallow_copy_PropertyQosPolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:242,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_Qos*
    - struct dds_qos*
    assertStmts:
    - condition: (src)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (dst)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: ddsi_omg_shallow_copy_security_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - ddsi_omg_shallow_copy_PropertyQosPolicy
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_security_qos (\n    DDS_Security_Qos *dst,\n
      \   const struct dds_qos *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:251,1
    - Dst: ddsi_omg_shallow_free_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_PropertyQosPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: ddsi_omg_shallow_free_PropertyQosPolicy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_BinaryPropertySeq
    - ddsi_omg_shallow_free_PropertySeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_PropertyQosPolicy (\n    DDS_Security_PropertyQosPolicy
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_PropertyQosPolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_Qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: ddsi_omg_shallow_free_security_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_PropertyQosPolicy
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_security_qos (\n    DDS_Security_Qos *obj)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:269,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:271,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:275,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:276,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:280,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:284,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:288,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - dh
    - holder
    argTypes:
    - ddsi_dataholder_t*
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 297
    functionName: ddsi_omg_security_dataholder_copyin
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_security_dataholder_copyin (\n    ddsi_dataholder_t
      *dh,\n    const DDS_Security_DataHolder *holder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:306,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:308,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:312,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:313,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:317,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:321,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:325,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - holder
    - dh
    argTypes:
    - DDS_Security_DataHolder*
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 334
    functionName: ddsi_omg_security_dataholder_copyout
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 1
    functionsReached:
    - DDS_Security_BinaryPropertySeq_allocbuf
    - memcpy
    - ddsrt_strdup
    - DDS_Security_PropertySeq_allocbuf
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_security_dataholder_copyout (\n    DDS_Security_DataHolder
      *holder,\n    const ddsi_dataholder_t *dh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:341,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:342,1
    - Dst: ddsi_omg_shallow_copyin_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:344,1
    - Dst: ddsi_omg_shallow_copyin_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_DataHolder*
    - ddsi_dataholder_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: ddsi_omg_shallow_copyin_DataHolder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyin_PropertySeq
    - ddsi_omg_shallow_copyin_BinaryPropertySeq
    - assert
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyin_DataHolder (\n    DDS_Security_DataHolder
      *dst,\n    const ddsi_dataholder_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:353,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:354,1
    - Dst: ddsi_omg_shallow_copyout_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:356,1
    - Dst: ddsi_omg_shallow_copyout_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_dataholder_t*
    - DDS_Security_DataHolder*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (src)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: ddsi_omg_shallow_copyout_DataHolder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_shallow_copyout_PropertySeq
    - ddsi_omg_shallow_copyout_BinaryPropertySeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyout_DataHolder (\n    ddsi_dataholder_t
      *dst,\n    const DDS_Security_DataHolder *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:364,1
    - Dst: ddsi_omg_shallow_free_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_DataHolder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: ddsi_omg_shallow_free_DataHolder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_BinaryPropertySeq
    - ddsi_omg_shallow_free_PropertySeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_DataHolder (\n    DDS_Security_DataHolder
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_dds_propertyseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:372,1
    - Dst: ddsi_omg_shallow_free_dds_binarypropertyseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holder
    argTypes:
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: ddsi_omg_shallow_free_ddsi_dataholder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_dds_propertyseq
    - ddsi_omg_shallow_free_dds_binarypropertyseq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_ddsi_dataholder (\n    ddsi_dataholder_t
      *holder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:389,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_DataHolderSeq*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: ddsi_omg_shallow_copyin_DataHolderSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyin_DataHolder
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyin_DataHolderSeq (\n    DDS_Security_DataHolderSeq
      *dst,\n    const ddsi_dataholderseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:410,1
    - Dst: ddsi_omg_security_dataholder_copyout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_DataHolderSeq*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 416
    functionName: ddsi_omg_copyin_DataHolderSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_omg_security_dataholder_copyout
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_copyin_DataHolderSeq (\n    DDS_Security_DataHolderSeq
      *dst,\n    const ddsi_dataholderseq_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:432,1
    - Dst: ddsi_omg_shallow_copyout_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_dataholderseq_t*
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 438
    functionName: ddsi_omg_shallow_copyout_DataHolderSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_copyout_DataHolder
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copyout_DataHolderSeq (\n    ddsi_dataholderseq_t
      \ *dst,\n    const DDS_Security_DataHolderSeq *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_DataHolderSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: ddsi_omg_shallow_free_DataHolderSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_DataHolder
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_DataHolderSeq (\n    DDS_Security_DataHolderSeq
      *obj)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_shallow_free_ddsi_dataholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:460,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: ddsi_omg_shallow_free_ddsi_dataholderseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_free_ddsi_dataholder
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_ddsi_dataholderseq (\n    ddsi_dataholderseq_t
      *obj)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: convert_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_Security_Duration_t
    signature: DDS_Security_Duration_t convert_duration(dds_duration_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_Security_OctetSeq*
    - ddsi_octetseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: g_omg_shallow_copy_octSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void g_omg_shallow_copy_octSeq(\n    DDS_Security_OctetSeq *dst,\n
      \   const ddsi_octetseq_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_OctetSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: g_omg_shallow_free_octSeq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void g_omg_shallow_free_octSeq(\n    DDS_Security_OctetSeq *obj)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:507,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:508,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:509,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:511,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:520,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:523,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:525,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:527,1
    - Dst: ddsi_omg_shallow_copy_PropertyQosPolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - guid
    - plist
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicDataSecure*
    - ddsi_guid_t*
    - ddsi_plist_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (guid)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    - condition: (plist)
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 535
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 535
    functionName: ddsi_omg_shallow_copy_ParticipantBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyin_DataHolder
    - g_omg_shallow_copy_octSeq
    - assert
    - memset
    - ddsi_omg_shallow_copy_PropertyQosPolicy
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_ParticipantBuiltinTopicDataSecure (\n    DDS_Security_ParticipantBuiltinTopicDataSecure
      *dst,\n    const ddsi_guid_t *guid,\n    const ddsi_plist_t *plist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:541,1
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:542,1
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:543,1
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:544,1
    - Dst: ddsi_omg_shallow_free_PropertyQosPolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_ParticipantBuiltinTopicDataSecure*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: ddsi_omg_shallow_free_ParticipantBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_free_DataHolder
    - assert
    - ddsi_omg_shallow_free_PropertyQosPolicy
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_ParticipantBuiltinTopicDataSecure (\n    DDS_Security_ParticipantBuiltinTopicDataSecure
      *obj)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:555,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:558,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:559,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:560,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:562,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:563,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:564,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:577,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:579,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:583,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:596,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:600,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:604,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:606,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:608,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:610,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - dst
    - guid
    - qos
    - secinfo
    argTypes:
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    - ddsi_guid_t*
    - struct dds_qos*
    - ddsi_security_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 613
    functionName: ddsi_omg_shallow_copy_SubscriptionBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - g_omg_shallow_copy_octSeq
    - convert_duration
    - memset
    - ddsrt_toBE4u
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_SubscriptionBuiltinTopicDataSecure (\n
      \   DDS_Security_SubscriptionBuiltinTopicDataSecure *dst,\n    const ddsi_guid_t
      *guid,\n    const struct dds_qos *qos,\n    const ddsi_security_info_t *secinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:619,1
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:620,1
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:621,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_SubscriptionBuiltinTopicDataSecure*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: ddsi_omg_shallow_free_SubscriptionBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - g_omg_shallow_free_octSeq
    - ddsi_omg_shallow_free_StringSeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_SubscriptionBuiltinTopicDataSecure (\n
      \   DDS_Security_SubscriptionBuiltinTopicDataSecure *obj)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:633,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:636,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:637,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:638,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:640,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:641,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:642,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:655,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:657,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:661,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:678,1
    - Dst: convert_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:682,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:684,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:686,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:689,1
    - Dst: g_omg_shallow_copy_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:691,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 4
    argNames:
    - dst
    - guid
    - qos
    - secinfo
    argTypes:
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    - ddsi_guid_t*
    - struct dds_qos*
    - ddsi_security_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 694
    functionName: ddsi_omg_shallow_copy_PublicationBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - g_omg_shallow_copy_octSeq
    - convert_duration
    - memset
    - ddsrt_toBE4u
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_PublicationBuiltinTopicDataSecure (\n    DDS_Security_PublicationBuiltinTopicDataSecure
      *dst,\n    const ddsi_guid_t *guid,\n    const struct dds_qos *qos,\n    const
      ddsi_security_info_t *secinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:700,1
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:701,1
    - Dst: g_omg_shallow_free_octSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:702,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_PublicationBuiltinTopicDataSecure*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: ddsi_omg_shallow_free_PublicationBuiltinTopicDataSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - g_omg_shallow_free_octSeq
    - ddsi_omg_shallow_free_StringSeq
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_PublicationBuiltinTopicDataSecure (\n    DDS_Security_PublicationBuiltinTopicDataSecure
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - topic_name
    - type_name
    argTypes:
    - DDS_Security_TopicBuiltinTopicData*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 715
    functionName: ddsi_omg_shallow_copy_TopicBuiltinTopicData
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_copy_TopicBuiltinTopicData (\n    DDS_Security_TopicBuiltinTopicData
      *dst,\n    const char *topic_name,\n    const char *type_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - DDS_Security_TopicBuiltinTopicData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: ddsi_omg_shallow_free_TopicBuiltinTopicData
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: "void ddsi_omg_shallow_free_TopicBuiltinTopicData (\n    DDS_Security_TopicBuiltinTopicData
      *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: serdata_plist_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_plist_get_size (const struct ddsi_serdata *dcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: serdata_plist_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool serdata_plist_eqkey (const struct ddsi_serdata *acmn, const struct
      ddsi_serdata *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: serdata_plist_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void serdata_plist_free (struct ddsi_serdata *dcmn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:59,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:62,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - tp
    - kind
    - size
    - cdr_header
    argTypes:
    - struct ddsi_sertype_plist*
    - enum ddsi_serdata_kind
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: serdata_plist_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_free
    - ddsi_serdata_init
    linkageType: ''
    returnType: struct ddsi_serdata_plist
    signature: struct ddsi_serdata_plist *serdata_plist_new (const struct ddsi_sertype_plist
      *tp, enum ddsi_serdata_kind kind, size_t size, const void *cdr_header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:83,1
    - Dst: ddsi_plist_findparam_checking
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:86,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:91,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:94,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:97,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - tp
    - d
    argTypes:
    - struct ddsi_sertype_plist*
    - struct ddsi_serdata_plist*
    assertStmts:
    - condition: (tp->keyparam != DDSI_PID_SENTINEL)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - condition: (needlep)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: serdata_plist_fix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - assert
    - ddsi_plist_findparam_checking
    - ddsrt_mh3
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_fix (const struct ddsi_sertype_plist
      *tp, struct ddsi_serdata_plist *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: serdata_plist_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:108,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:108,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:112,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:113,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:117,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:121,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:121,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:123,1
    - Dst: serdata_plist_fix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts:
    - condition: (fragchain->min == 0)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - condition: (fragchain->maxp1 >= off)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - condition: (frag->min <= off)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - condition: (frag->maxp1 <= size)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: serdata_plist_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - serdata_plist_fix
    - DDSI_RDATA_PAYLOAD_OFF
    - serdata_plist_new
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_from_ser (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:134,1
    - Dst: serdata_plist_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:135,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:138,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:142,1
    - Dst: serdata_plist_fix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts:
    - condition: (niov >= 1)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: serdata_plist_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - serdata_plist_fix
    - serdata_plist_new
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_from_ser_iov (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t
      *iov, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:155,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:156,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:160,1
    - Dst: serdata_plist_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tpcmn
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - ddsi_keyhash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: serdata_plist_from_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - serdata_plist_from_ser_iov
    - ddsrt_toBE2u
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_from_keyhash (const struct ddsi_sertype
      *tpcmn, const ddsi_keyhash_t *keyhash)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - keypid
    argTypes:
    - ddsi_parameterid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: get_plist_context_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ddsi_plist_context_kind
    signature: enum ddsi_plist_context_kind get_plist_context_kind (ddsi_parameterid_t
      keypid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:188,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:189,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:195,1
    - Dst: get_plist_context_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:198,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:199,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - tpcmn
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: serdata_plist_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - DDSI_SC_STRICT_P
    - ddsi_plist_init_frommsg
    - get_plist_context_kind
    - ddsrt_atomic_ldvoidp
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_plist_untyped_to_sample (const struct ddsi_sertype *tpcmn,
      const struct ddsi_serdata *serdata_common, void *sample, void **bufptr, void
      *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_plist_untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: serdata_plist_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - serdata_plist_untyped_to_sample
    linkageType: ''
    returnType: bool
    signature: bool serdata_plist_to_sample (const struct ddsi_serdata *serdata_common,
      void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: serdata_plist_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void serdata_plist_to_ser (const struct ddsi_serdata *serdata_common,
      size_t off, size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: serdata_plist_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_to_ser_ref (const struct ddsi_serdata
      *serdata_common, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: serdata_plist_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void serdata_plist_to_ser_unref (struct ddsi_serdata *serdata_common,
      const ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:235,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:239,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:240,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:241,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:241,1
    - Dst: get_plist_context_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:242,1
    - Dst: ddsi_plist_addtomsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:243,1
    - Dst: ddsi_xmsg_addpar_sentinel
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:244,1
    - Dst: ddsi_xmsg_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:247,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:251,1
    - Dst: ddsi_plist_findparam_checking
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:251,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:252,1
    - Dst: serdata_plist_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:255,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts:
    - condition: (ddsi_plist_findparam_checking (blob + 4, sz, header.identifier,
        tp->keyparam, &needle, &needlesz) == DDS_RETCODE_OK)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - condition: (needle && needlesz == 16)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: serdata_plist_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_addtomsg
    - memcpy
    - assert
    - ddsi_xmsg_payload
    - serdata_plist_from_ser_iov
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ddsi_plist_findparam_checking
    - ddsi_sertype_get_native_enc_identifier
    - get_plist_context_kind
    - ddsrt_atomic_ldvoidp
    - ddsi_xmsg_append
    - ddsi_xmsg_addpar_sentinel
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_from_sample (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_plist_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:269,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (dcmn_tl != NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: serdata_plist_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - serdata_plist_from_ser_iov
    - assert
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_plist_to_untyped (const struct ddsi_serdata
      *serdata_common)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:279,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:283,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:284,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - serdata_common
    - buf
    - force_md5
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_keyhash*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: serdata_plist_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_md5_finish
    - ddsrt_md5_append
    - ddsrt_md5_init
    linkageType: ''
    returnType: void
    signature: void serdata_plist_get_keyhash (const struct ddsi_serdata *serdata_common,
      struct ddsi_keyhash *buf, bool force_md5)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:293,1
    - Dst: get_plist_context_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:303,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:304,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:305,1
    - Dst: ddsi_plist_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:308,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sertype_common
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: serdata_plist_print_plist
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsi_plist_fini
    - ddsi_plist_init_frommsg
    - get_plist_context_kind
    - ddsrt_atomic_ldvoidp
    - ddsi_plist_print
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_plist_print_plist (const struct ddsi_sertype *sertype_common,
      const struct ddsi_serdata *serdata_common, char *buf, size_t size)
  - 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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: PHASH
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PHASH(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: PTYPEID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTYPEID(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:91,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:92,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:98,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:104,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:105,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:107,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:109,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:113,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:121,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:125,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:126,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - gv
    - pdisc
    - pdata
    - ppid
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t*
    - uint32_t*
    - int
    assertStmts:
    - condition: (ppid == DDSI_PARTICIPANT_INDEX_NONE)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->interfaces[i].allow_multicast == gv->interfaces[0].allow_multicast)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 138
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 138
    functionName: make_uc_sockets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_free
    - assert
    - ddsi_is_valid_port
    - ddsi_get_port
    - ddsi_conn_locator
    - ddsi_factory_create_conn
    linkageType: ''
    returnType: enum make_uc_sockets_ret
    signature: enum make_uc_sockets_ret make_uc_sockets (struct ddsi_domaingv *gv,
      uint32_t * pdisc, uint32_t * pdata, int ppid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:142,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: make_builtin_endpoint_xqos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    - ddsi_xqos_copy
    linkageType: ''
    returnType: void
    signature: void make_builtin_endpoint_xqos (dds_qos_t *q, const dds_qos_t *template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:151,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: make_builtin_volatile_endpoint_xqos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    - ddsi_xqos_copy
    linkageType: ''
    returnType: void
    signature: void make_builtin_volatile_endpoint_xqos (dds_qos_t *q, const dds_qos_t
      *template)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:165,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:169,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:177,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:181,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:186,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:190,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:200,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:204,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:206,1
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:209,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:217,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:228,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:230,1
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:235,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:240,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:243,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (gv->n_interfaces == 1)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 251
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 251
    functionName: set_recvips
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_locator_from_string
    - assert
    - ddsrt_strcasecmp
    - ddsi_compare_locators
    - ddsrt_malloc
    - GVERROR
    linkageType: ''
    returnType: int
    signature: int set_recvips (struct ddsi_domaingv *gv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:261,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:261,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:266,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:271,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:274,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:277,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:280,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:284,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:287,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:291,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:291,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - gv
    - loc
    - string
    - port
    - mc
    - tag
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    - char*
    - uint32_t
    - int
    - char*
    assertStmts:
    - condition: (mc == -1 || mc == 0 || mc == 1)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 299
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 299
    functionName: string_to_default_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_from_string
    - ddsi_factory_find_supported_kind
    - assert
    - ddsi_tran_set_locator_port
    - strlen
    - strspn
    - ddsi_is_mcaddr
    - GVERROR
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: int
    signature: int string_to_default_locator (const struct ddsi_domaingv *gv, ddsi_locator_t
      *loc, const char *string, uint32_t port, int mc, const char *tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:303,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:307,1
    - Dst: string_to_default_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:309,1
    - Dst: string_to_default_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:314,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:315,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:318,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (rc > 0)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 325
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 325
    functionName: set_spdp_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - string_to_default_locator
    - assert
    - strcmp
    - ddsi_is_ssm_mcaddr
    - ddsi_get_port
    - GVERROR
    linkageType: ''
    returnType: int
    signature: int set_spdp_address (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:329,1
    - Dst: string_to_default_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: set_default_mc_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_get_port
    - string_to_default_locator
    linkageType: ''
    returnType: int
    signature: int set_default_mc_address (struct ddsi_domaingv *gv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:347,1
    - Dst: string_to_default_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:348,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:352,1
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:353,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:356,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:358,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:364,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:369,1
    - Dst: string_to_default_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:374,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:378,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:395,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:400,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 406
    functionName: set_ext_address_and_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - string_to_default_locator
    - strcmp
    - memset
    - ddsi_set_unspec_locator
    - GVERROR
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: int
    signature: int set_ext_address_and_mask (struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:416,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 425
    functionName: check_thread_properties
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - strcmp
    - DDS_ILOG
    linkageType: ''
    returnType: int
    signature: int check_thread_properties (const struct ddsi_domaingv *gv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:429,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:438,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:443,1
    - Dst: fopen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:448,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:450,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:458,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 461
    functionName: ddsi_config_open_trace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - dds_log_cfg_init
    - DDS_ILOG
    - ddsrt_strcasecmp
    - DDSRT_WARNING_MSVC_ON
    - fopen
    linkageType: ''
    returnType: int
    signature: int ddsi_config_open_trace (struct ddsi_domaingv *gv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:495,1
    - Dst: ddsi_valid_portmapping
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:499,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:501,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:513,1
    - Dst: DDS_ILOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:528,1
    - Dst: check_thread_properties
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:538,1
    - Dst: ddsi_config_open_trace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:544,1
    - Dst: ddsi_config_print_cfgst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:556,1
    - Dst: ddsi_config_free_source_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:557,1
    - Dst: ddsi_config_print_rawconfig
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:561,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 2
    argNames:
    - gv
    - cfgst
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_cfgst*
    assertStmts:
    - condition: (gv->config.participantIndex >= 0)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 567
      start: 463
    functionDepth: 5
    functionLinenumber: 463
    functionLinenumberEnd: 567
    functionName: ddsi_config_prep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 7
    functionsReached:
    - ddsi_config_print_rawconfig
    - check_thread_properties
    - assert
    - ddsi_config_open_trace
    - ddsi_config_print_cfgst
    - DDS_ILOG
    - ddsi_valid_portmapping
    - ddsi_config_free_source_info
    linkageType: ''
    returnType: int
    signature: int ddsi_config_prep (struct ddsi_domaingv *gv, struct ddsi_cfgst *cfgst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:578,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:582,1
    - Dst: ddsi_join_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:586,1
    - Dst: ddsi_join_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:587,1
    - Dst: ddsi_leave_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:590,1
    - Dst: ddsi_leave_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 594
    functionName: joinleave_spdp_defmcip_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_leave_mc
    - ddsi_is_ssm_mcaddr
    - ddsi_join_mc
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void joinleave_spdp_defmcip_helper (const ddsi_xlocator_t *loc, void
      *varg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:618,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:620,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:622,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:623,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:624,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - gv
    - dojoin
    argTypes:
    - struct ddsi_domaingv*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 631
    functionName: joinleave_spdp_defmcip
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_add_locator_to_addrset
    - ddsi_unref_addrset
    - ddsi_addrset_forall
    - ddsi_new_addrset
    - GVERROR
    linkageType: ''
    returnType: int
    signature: int joinleave_spdp_defmcip (struct ddsi_domaingv *gv, int dojoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:639,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:640,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:642,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:646,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:655,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:656,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:658,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:662,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:668,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:669,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 676
    functionName: create_multicast_sockets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_port
    - ddsi_conn_free
    - ddsi_is_valid_port
    - ddsi_get_port
    - GVERROR
    - ddsi_factory_create_conn
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int create_multicast_sockets (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:681,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:683,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:684,1
    - Dst: ddsi_trigger_recv_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 688
    functionName: ddsi_term_prep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_fence
    - ddsi_trigger_recv_threads
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_term_prep (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:699,1
    - Dst: ddsi_trigger_recv_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:700,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:701,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:701,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: wait_for_receive_threads_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - abort
    - ddsi_trigger_recv_threads
    linkageType: ''
    returnType: void
    signature: void wait_for_receive_threads_helper (struct ddsi_domaingv *gv, struct
      ddsi_xevent *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:708,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:708,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:708,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:708,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:713,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:719,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 728
    functionName: wait_for_receive_threads
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_qxev_callback
    - DDS_SECS
    - ddsi_delete_xevent
    - ddsi_join_thread
    - ddsrt_mtime_add_duration
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void wait_for_receive_threads (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:732,1
    - Dst: ddsi_plist_memsize_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:732,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:733,1
    - Dst: ddsi_plist_memsize_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:733,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:734,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:735,1
    - Dst: ddsi_sertype_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - typename
    - memsize
    - nops
    - ops
    - nops_key
    - ops_key
    argTypes:
    - char*
    - size_t
    - size_t
    - enum ddsi_pserop*
    - size_t
    - enum ddsi_pserop*
    assertStmts:
    - condition: (ddsi_plist_memsize_generic (ops) == memsize)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ops_key == NULL || (memsize >= 16 && ddsi_plist_memsize_generic
        (ops_key) == 16))
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 744
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 744
    functionName: make_special_type_pserop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - ddsi_plist_memsize_generic
    - ddsrt_malloc
    - ddsi_sertype_init
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *make_special_type_pserop (const char *typename,
      size_t memsize, size_t nops, const enum ddsi_pserop *ops, size_t nops_key, const
      enum ddsi_pserop *ops_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:748,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:749,1
    - Dst: ddsi_sertype_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - typename
    - keyparam
    argTypes:
    - char*
    - ddsi_parameterid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 754
    functionName: make_special_type_plist
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_sertype_init
    - memset
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *make_special_type_plist (const char *typename,
      ddsi_parameterid_t keyparam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:761,1
    - Dst: ddsi_sertype_cdr_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:762,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - desc
    argTypes:
    - struct ddsi_domaingv*
    - dds_topic_descriptor_t*
    assertStmts:
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: make_special_type_cdrstream
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_cdr_init
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *make_special_type_cdrstream (const struct ddsi_domaingv
      *gv, const dds_topic_descriptor_t *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:773,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:774,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:775,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:776,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:777,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:778,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:782,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:785,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:786,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:788,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:789,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:790,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 792
    functionName: free_special_types
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_unref
    linkageType: ''
    returnType: void
    signature: void free_special_types (struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:796,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:797,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:798,1
    - Dst: make_special_type_pserop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:799,1
    - Dst: make_special_type_cdrstream
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:801,1
    - Dst: make_special_type_cdrstream
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:802,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:806,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:809,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:810,1
    - Dst: make_special_type_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:811,1
    - Dst: make_special_type_pserop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:812,1
    - Dst: make_special_type_pserop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:813,1
    - Dst: make_special_type_pserop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:814,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:817,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:818,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:819,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:820,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:821,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:823,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:824,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:828,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:831,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:832,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:833,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:834,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:835,1
    - Dst: ddsi_sertype_register_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:836,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:838,1
    - Dst: free_special_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 843
    functionName: make_special_types
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - make_special_type_cdrstream
    - ddsrt_mutex_lock
    - ddsi_sertype_register_locked
    - make_special_type_pserop
    - make_special_type_plist
    - free_special_types
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void make_special_types (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ddsi_config*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 863
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 863
    functionName: use_multiple_receive_threads
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool use_multiple_receive_threads (const struct ddsi_config *cfg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: use_multiple_receive_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:867,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:889,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:889,1
    - Dst: ddsi_conn_disable_multiplexing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:896,1
    - Dst: ddsi_conn_disable_multiplexing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:906,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:910,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:918,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:920,1
    - Dst: ddsi_sock_waitset_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:925,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:927,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:931,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:933,1
    - Dst: ddsi_term_prep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:941,1
    - Dst: wait_for_receive_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:942,1
    - Dst: ddsi_sock_waitset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:946,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:948,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (gv->n_recv_threads <= MAX_RECV_THREADS)
      pos:
        line_end: 909
        line_start: 909
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 951
      start: 865
    functionDepth: 6
    functionLinenumber: 865
    functionLinenumberEnd: 951
    functionName: setup_and_start_recv_threads
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_sock_waitset_new
    - ddsi_rbufpool_free
    - assert
    - ddsi_is_ssm_mcaddr
    - ddsi_term_prep
    - ddsi_create_thread
    - use_multiple_receive_threads
    - ddsi_sock_waitset_free
    - wait_for_receive_threads
    - ddsi_rbufpool_new
    - GVERROR
    - ddsi_conn_disable_multiplexing
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: int
    signature: int setup_and_start_recv_threads (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: ddsi_sertype_equal_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_equal
    linkageType: ''
    returnType: bool
    signature: bool ddsi_sertype_equal_wrap (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: ddsi_sertype_hash_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_sertype_hash_wrap (const void *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_topic_definition_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tpd_a
    - tpd_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: topic_definition_equal_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_topic_definition_equal
    linkageType: ''
    returnType: bool
    signature: bool topic_definition_equal_wrap (const void *tpd_a, const void *tpd_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_topic_definition_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tpd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: topic_definition_hash_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_topic_definition_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t topic_definition_hash_wrap (const void *tpd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:978,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - gv
    - xev
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: reset_deaf_mute
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_xevent
    - GVLOGDISC
    linkageType: ''
    returnType: void
    signature: void reset_deaf_mute (struct ddsi_domaingv *gv, struct ddsi_xevent
      *xev, UNUSED_ARG (struct ddsi_xpack *xp), UNUSED_ARG (void *varg), UNUSED_ARG
      (ddsrt_mtime_t tnow))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:986,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:989,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:989,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:990,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:991,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - gv
    - deaf
    - mute
    - reset_after
    argTypes:
    - struct ddsi_domaingv*
    - bool
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 994
    functionName: ddsi_set_deafmute
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 7
    functionsReached:
    - ddsi_qxev_callback
    - GVLOGDISC
    - ddsrt_mtime_add_duration
    - GVTRACE
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_set_deafmute (struct ddsi_domaingv *gv, bool deaf, bool mute,
      int64_t reset_after)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1012
    functionName: free_conns
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_free
    linkageType: ''
    returnType: void
    signature: void free_conns (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1016,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1017,1
    - Dst: ddsi_vnet_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1020,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1022,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1026,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1042,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - gv
    - psmx_instance_name
    - locator
    - mc_capable
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - ddsi_locator_t
    - bool
    assertStmts:
    - condition: (gv)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (psmx_instance_name)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 1051
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1051
    functionName: create_vnet_interface_for_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_find
    - assert
    - memset
    - ddsrt_strdup
    - ddsi_vnet_init
    - GVERROR
    linkageType: ''
    returnType: int
    signature: int create_vnet_interface_for_psmx (struct ddsi_domaingv *gv, const
      char *psmx_instance_name, const ddsi_locator_t locator, bool mc_capable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1055,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1057,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - loc
    - port
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: set_locator_port_if_not_unspec_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsi_tran_set_locator_port
    - ddsi_factory_find_supported_kind
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: void
    signature: void set_locator_port_if_not_unspec_locator (const struct ddsi_domaingv
      *gv, ddsi_locator_t *loc, uint32_t port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1071,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1072,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1087,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1091,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1096,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - gv
    - add_localhost_to_initial_peers
    argTypes:
    - struct ddsi_domaingv*
    - bool*
    assertStmts:
    - condition: ((gv->interfaces[i].allow_multicast & DDSI_AMC_DEFAULT) == 0)
      pos:
        line_end: 1070
        line_start: 1070
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->interfaces[i].allow_multicast == 0 || gv->interfaces[i].mc_capable)
      pos:
        line_end: 1071
        line_start: 1071
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 1108
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1108
    functionName: decide_participant_index_and_add_localhost_to_peers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - assert
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void decide_participant_index_and_add_localhost_to_peers (struct ddsi_domaingv
      *gv, bool *add_localhost_to_initial_peers)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1116,1
    - Dst: ddsi_plist_init_tables
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1118,1
    - Dst: ddsrt_ctime
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1136,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1137,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1138,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1146,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1147,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1147,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1154,1
    - Dst: ddsi_udp_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1159,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1161,1
    - Dst: ddsi_tcp_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1171,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1173,1
    - Dst: ddsi_raweth_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1181,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1183,1
    - Dst: ddsi_vnet_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1190,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1192,1
    - Dst: ddsi_gather_network_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1197,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1200,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1226,1
    - Dst: create_vnet_interface_for_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1242,1
    - Dst: decide_participant_index_and_add_localhost_to_peers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1256,1
    - Dst: set_recvips
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1258,1
    - Dst: set_spdp_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1260,1
    - Dst: set_default_mc_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1262,1
    - Dst: set_ext_address_and_mask
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1264,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1270,1
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1273,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1274,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1274,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1276,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1276,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1276,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1278,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1279,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1279,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1280,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1280,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1281,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1281,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1283,1
    - Dst: ddsi_xmsgpool_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1292,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1293,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1296,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1297,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1299,1
    - Dst: make_builtin_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1300,1
    - Dst: make_builtin_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1301,1
    - Dst: make_builtin_volatile_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1303,1
    - Dst: make_builtin_volatile_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1304,1
    - Dst: make_builtin_volatile_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1307,1
    - Dst: make_builtin_volatile_endpoint_xqos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1308,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1309,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1310,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1316,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1317,1
    - Dst: ddsrt_getprocessname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1322,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1326,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1327,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1330,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1330,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1331,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1334,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1335,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1340,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1341,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1344,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1345,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1346,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1347,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1348,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1350,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1351,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1354,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1355,1
    - Dst: make_special_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1357,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1359,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1360,1
    - Dst: ddsi_lease_management_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1361,1
    - Dst: ddsi_deleted_participants_admin_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1362,1
    - Dst: ddsi_entity_index_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1363,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1365,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1366,1
    - Dst: ddsrt_toBE8u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1381,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1381,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1384,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1385,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1389,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1390,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1392,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1397,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1398,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1399,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1403,1
    - Dst: ddsi_defrag_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1404,1
    - Dst: ddsi_reorder_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1405,1
    - Dst: ddsi_tkmap_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1407,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1411,1
    - Dst: make_uc_sockets
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1414,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1420,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1424,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1436,1
    - Dst: make_uc_sockets
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1439,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1445,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1457,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1464,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1466,1
    - Dst: ddsi_new_pcap_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1472,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1475,1
    - Dst: ddsi_new_mcgroup_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1483,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1492,1
    - Dst: create_multicast_sockets
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1496,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1504,1
    - Dst: ddsi_conn_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1505,1
    - Dst: set_locator_port_if_not_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1509,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1509,1
    - Dst: set_locator_port_if_not_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1510,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1510,1
    - Dst: set_locator_port_if_not_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1511,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1511,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1520,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1522,1
    - Dst: ddsi_factory_create_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1527,1
    - Dst: ddsi_listener_listen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1528,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1530,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1532,1
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1537,1
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1538,1
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1539,1
    - Dst: ddsi_listener_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1541,1
    - Dst: ddsi_listener_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1542,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1564,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1565,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1572,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1572,1
    - Dst: ddsi_conn_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1575,1
    - Dst: ddsi_convert_nwpart_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1581,1
    - Dst: joinleave_spdp_defmcip
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1585,1
    - Dst: ddsi_xeventq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1589,1
    - Dst: ddsi_omg_security_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1592,1
    - Dst: ddsi_spdp_scheduler_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1595,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1597,1
    - Dst: ddsi_gcreq_queue_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1599,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1601,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1605,1
    - Dst: ddsi_dqueue_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1607,1
    - Dst: ddsi_dqueue_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1608,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1611,1
    - Dst: ddsi_omg_security_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1617,1
    - Dst: ddsi_omg_security_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1618,1
    - Dst: ddsi_omg_security_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1619,1
    - Dst: ddsi_free_config_nwpart_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1623,1
    - Dst: free_conns
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1628,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1630,1
    - Dst: ddsi_free_mcgroup_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1631,1
    - Dst: ddsi_tkmap_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1633,1
    - Dst: ddsi_reorder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1634,1
    - Dst: ddsi_defrag_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1635,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1636,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1637,1
    - Dst: ddsi_entity_index_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1639,1
    - Dst: ddsi_deleted_participants_admin_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1641,1
    - Dst: ddsi_lease_management_term
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1642,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1643,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1644,1
    - Dst: free_special_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1645,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1649,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1649,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1652,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1653,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1655,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1656,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1658,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1659,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1661,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1662,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1663,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1664,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1665,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1668,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1669,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1670,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1671,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1674,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1675,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1677,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1678,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1679,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1680,1
    - Dst: ddsi_xmsgpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1682,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1688,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1694,1
    - Dst: ddsi_tran_factories_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1695,1
    - Dst: ddsi_gcreq_queue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1702,1
    - Dst: ddsi_dqueue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1704,1
    - Dst: ddsi_dqueue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1705,1
    - Dst: ddsi_xeventq_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1707,1
    - Dst: setup_and_start_recv_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1710,1
    - Dst: ddsi_xeventq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1712,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1717,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1719,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1720,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1722,1
    - Dst: ddsi_new_debug_monitor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1728,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1730,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1731,1
    - Dst: ddsi_get_debug_monitor_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1738,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1739,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1740,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1757,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1759,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1760,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1765,1
    - Dst: ddsi_free_debug_monitor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1769,1
    - Dst: ddsi_term_prep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1774,1
    - Dst: wait_for_receive_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1776,1
    - Dst: ddsi_listener_unblock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1780,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1781,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1782,1
    - Dst: ddsi_xeventq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1785,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1792,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1793,1
    - Dst: ddsi_dqueue_enqueue_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1795,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1796,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1798,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1799,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1800,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1801,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1812,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1816,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1817,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1818,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1820,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1822,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1823,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1838,1
    - Dst: ddsi_entidx_enum_writer_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1839,1
    - Dst: ddsi_entidx_enum_writer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1840,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1842,1
    - Dst: ddsi_delete_writer_nolinger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1843,1
    - Dst: ddsi_entidx_enum_writer_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1845,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1846,1
    - Dst: ddsi_entidx_enum_reader_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1847,1
    - Dst: ddsi_entidx_enum_reader_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1848,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1850,1
    - Dst: ddsi_delete_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1851,1
    - Dst: ddsi_entidx_enum_reader_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1853,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1854,1
    - Dst: ddsi_entidx_enum_topic_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1858,1
    - Dst: ddsi_entidx_enum_topic_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1859,1
    - Dst: ddsi_delete_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1860,1
    - Dst: ddsi_entidx_enum_topic_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1861,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1862,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1864,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1865,1
    - Dst: ddsi_delete_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1867,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1869,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1870,1
    - Dst: ddsi_omg_security_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1876,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1882,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1884,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1885,1
    - Dst: ddsi_gcreq_queue_drain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1890,1
    - Dst: ddsi_spdp_scheduler_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1896,1
    - Dst: ddsi_reorder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1901,1
    - Dst: ddsi_defrag_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1902,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1903,1
    - Dst: ddsi_gcreq_queue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1906,1
    - Dst: ddsi_dqueue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1911,1
    - Dst: ddsi_dqueue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1912,1
    - Dst: ddsi_omg_security_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1915,1
    - Dst: ddsi_xeventq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1918,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1921,1
    - Dst: ddsi_xpack_sendq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1924,1
    - Dst: ddsi_xpack_sendq_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1925,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1927,1
    - Dst: joinleave_spdp_defmcip
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1929,1
    - Dst: free_conns
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1932,1
    - Dst: ddsi_free_mcgroup_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1933,1
    - Dst: ddsi_tran_factories_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1934,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1938,1
    - Dst: fclose
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1939,1
    - Dst: ddsi_free_config_nwpart_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1942,1
    - Dst: ddsi_sock_waitset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1951,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1952,1
    - Dst: ddsi_tkmap_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1955,1
    - Dst: ddsi_entity_index_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1956,1
    - Dst: ddsi_deleted_participants_admin_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1958,1
    - Dst: ddsi_lease_management_term
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1959,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1960,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1961,1
    - Dst: free_special_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1962,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1963,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1969,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1969,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1972,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1973,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1978,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1978,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1979,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1979,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1980,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1980,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1983,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1984,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1985,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1986,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1991,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1991,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1994,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1995,1
    - Dst: ddsi_omg_security_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1997,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1998,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1999,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2000,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2001,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2004,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2005,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2007,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2008,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2009,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2010,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2016,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2018,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2019,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2023,1
    - Dst: ddsi_xmsgpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2025,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2026,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 583
    argCount: 2
    argNames:
    - gv
    - psmx_locators
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_psmx_instance_locators*
    assertStmts:
    - condition: (ddsrt_hh_iter_first (gv->topic_defs, &it) == NULL)
      pos:
        line_end: 1968
        line_start: 1968
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->default_local_xqos_pp.present & DDSI_QP_LIVELINESS)
      pos:
        line_end: 1291
        line_start: 1291
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->config.participantIndex != DDSI_PARTICIPANT_INDEX_DEFAULT)
      pos:
        line_end: 1410
        line_start: 1410
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_hh_iter_first (gv->sertypes, &it) == NULL)
      pos:
        line_end: 1990
        line_start: 1990
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (0)
      pos:
        line_end: 1153
        line_start: 1153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typedeps))
      pos:
        line_end: 1978
        line_start: 1978
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_hh_iter_first (gv->sertypes, &it) == NULL)
      pos:
        line_end: 1648
        line_start: 1648
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->default_local_xqos_pp.liveliness.kind == DDS_LIVELINESS_AUTOMATIC)
      pos:
        line_end: 1292
        line_start: 1292
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typelib))
      pos:
        line_end: 1977
        line_start: 1977
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (0)
      pos:
        line_end: 1463
        line_start: 1463
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typedeps_reverse))
      pos:
        line_end: 1979
        line_start: 1979
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (gv->spdp_endpoint_xqos.reliability.kind == DDS_RELIABILITY_BEST_EFFORT)
      pos:
        line_end: 1298
        line_start: 1298
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 2027
      start: 1110
    functionDepth: 9
    functionLinenumber: 1110
    functionLinenumberEnd: 2027
    functionName: ddsi_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 6
    functionsReached:
    - ddsi_gcreq_queue_start
    - set_default_mc_address
    - ddsi_dqueue_new
    - ddsi_delete_proxy_participant_by_guid
    - make_builtin_endpoint_xqos
    - ddsrt_md5_init
    - ddsi_xqos_fini
    - abort
    - ddsi_entidx_enum_topic_fini
    - ddsi_xeventq_start
    - ddsi_factory_create_conn
    - ddsi_thread_state_awake_to_awake_no_nest
    - ddsi_xpack_sendq_fini
    - memcpy
    - ddsi_defrag_new
    - ddsrt_cond_etime_destroy
    - ddsi_xqos_copy
    - ddsi_omg_security_stop
    - make_builtin_volatile_endpoint_xqos
    - ddsrt_cond_broadcast
    - ddsi_thread_state_asleep
    - ddsi_compare_locators
    - ddsi_dqueue_enqueue_callback
    - free_conns
    - ddsi_spdp_scheduler_delete
    - DDSRT_WARNING_MSVC_OFF
    - ddsi_listener_locator
    - ddsi_entidx_enum_topic_next
    - ddsi_factory_find_supported_kind
    - ddsi_udp_init
    - ddsi_free_mcgroup_membership
    - ddsi_deleted_participants_admin_free
    - ddsi_new_debug_monitor
    - ddsi_omg_security_deinit
    - ddsrt_ctime
    - ddsi_conn_locator
    - ddsrt_avl_free
    - ddsi_entidx_enum_participant_fini
    - set_spdp_address
    - ddsrt_cond_destroy
    - create_vnet_interface_for_psmx
    - ddsi_omg_security_free
    - ddsi_entidx_enum_participant_next
    - GVLOG
    - ddsrt_cond_etime_init
    - ddsi_locator_to_string_no_port
    - set_ext_address_and_mask
    - ddsrt_md5_finish
    - ddsrt_mutex_lock
    - ddsi_create_thread
    - DDSRT_WARNING_MSVC_ON
    - ddsi_delete_reader
    - ddsrt_time_wallclock
    - setup_and_start_recv_threads
    - ddsi_tkmap_free
    - ddsi_locator_to_string
    - ddsi_listener_free
    - ddsi_thread_state_awake
    - ddsi_stop
    - ddsi_join_thread
    - ddsi_entidx_enum_reader_next
    - ddsi_free_debug_monitor
    - free_special_types
    - ddsi_tkmap_new
    - ddsrt_gethostname
    - ddsi_lookup_thread_state
    - ddsi_entidx_enum_proxy_participant_init
    - ddsrt_cond_init
    - ddsrt_getprocessname
    - ddsi_tcp_init
    - joinleave_spdp_defmcip
    - ddsi_rbufpool_free
    - ddsi_is_valid_port
    - ddsrt_hh_iter_first
    - create_multicast_sockets
    - ddsi_vnet_init
    - ddsrt_cond_wait
    - ddsi_defrag_free
    - GVERROR
    - ddsi_entidx_enum_reader_init
    - ddsi_qxev_callback
    - ddsi_iid_gen
    - ddsi_new_mcgroup_membership
    - ddsi_reorder_new
    - set_recvips
    - ddsi_dqueue_free
    - ddsi_term_prep
    - ddsi_delete_topic
    - ddsi_listener_unblock
    - ddsrt_hh_new
    - ddsi_lease_management_init
    - ddsi_xmsgpool_free
    - make_uc_sockets
    - ddsi_entidx_enum_writer_next
    - snprintf
    - ddsi_tran_factories_fini
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_is_builtin_entityid
    - ddsi_entidx_enum_writer_fini
    - ddsi_sock_waitset_free
    - ddsi_set_unspec_locator
    - ddsi_omg_security_init
    - ddsi_free_config_nwpart_addresses
    - ddsi_reorder_free
    - ddsi_entity_index_free
    - ddsi_entidx_enum_topic_init
    - ddsi_gcreq_queue_drain
    - ddsi_ntoh_guid_prefix
    - ddsi_xeventq_free
    - ddsrt_time_monotonic
    - ddsi_xpack_sendq_stop
    - ddsi_spdp_scheduler_new
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_entidx_enum_writer_init
    - DDSRT_STATIC_ASSERT
    - ddsi_xeventq_stop
    - ddsi_convert_nwpart_config
    - ddsi_gather_network_interfaces
    - make_special_types
    - ddsi_gcreq_queue_new
    - ddsi_listener_listen
    - ddsi_plist_init_tables
    - ddsi_factory_find
    - decide_participant_index_and_add_localhost_to_peers
    - fclose
    - ddsi_new_pcap_file
    - ddsi_lease_management_term
    - ddsrt_prng_init
    - ddsi_deleted_participants_admin_new
    - ddsi_dqueue_start
    - ddsi_delete_participant
    - ddsrt_getpid
    - ddsi_conn_port
    - ddsi_xqos_add_property_if_unset
    - wait_for_receive_threads
    - ddsrt_mutex_destroy
    - ddsi_entidx_enum_reader_fini
    - ddsi_xqos_mergein_missing
    - ddsrt_md5_append
    - ddsrt_free
    - assert
    - ddsi_xmsgpool_new
    - ddsi_get_debug_monitor_locator
    - ddsrt_avl_init
    - ddsrt_avl_is_empty
    - ddsi_entity_index_new
    - ddsrt_hh_free
    - ddsi_xeventq_new
    - ddsi_gcreq_queue_free
    - ddsrt_mutex_init
    - set_locator_port_if_not_unspec_locator
    - ddsrt_toBE8u
    - ddsi_factory_create_listener
    - ddsi_entidx_enum_participant_init
    - ddsrt_mtime_add_duration
    - ddsi_delete_writer_nolinger
    - ddsrt_atomic_st32
    - ddsrt_mutex_unlock
    - ddsi_raweth_init
    linkageType: ''
    returnType: int
    signature: int ddsi_init (struct ddsi_domaingv *gv, struct ddsi_psmx_instance_locators
      *psmx_locators)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_queue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1702,1
    - Dst: ddsi_dqueue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1704,1
    - Dst: ddsi_dqueue_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1705,1
    - Dst: ddsi_xeventq_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1707,1
    - Dst: setup_and_start_recv_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1710,1
    - Dst: ddsi_xeventq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1712,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1717,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1719,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1720,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1722,1
    - Dst: ddsi_new_debug_monitor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1728,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1730,1
    - Dst: ddsi_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1731,1
    - Dst: ddsi_get_debug_monitor_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1738,1
    - Dst: ddsi_xqos_add_property_if_unset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1739,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1740,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1700
    functionDepth: 7
    functionLinenumber: 1700
    functionLinenumberEnd: 1746
    functionName: ddsi_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 5
    functionsReached:
    - ddsi_listener_free
    - GVERROR
    - ddsi_gcreq_queue_start
    - ddsi_stop
    - ddsi_get_debug_monitor_locator
    - ddsi_xeventq_stop
    - ddsi_create_thread
    - ddsi_new_debug_monitor
    - ddsi_xqos_add_property_if_unset
    - setup_and_start_recv_threads
    - ddsi_locator_to_string
    - ddsi_xeventq_start
    - ddsi_dqueue_start
    linkageType: ''
    returnType: int
    signature: int ddsi_start (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1757,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1759,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1761
    functionName: builtins_dqueue_ready_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void builtins_dqueue_ready_cb (void *varg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1765,1
    - Dst: ddsi_free_debug_monitor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1769,1
    - Dst: ddsi_term_prep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1774,1
    - Dst: wait_for_receive_threads
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1776,1
    - Dst: ddsi_listener_unblock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1780,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1781,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1782,1
    - Dst: ddsi_xeventq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1785,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1792,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1793,1
    - Dst: ddsi_dqueue_enqueue_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1795,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1796,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1798,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1799,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1800,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1801,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1812,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1816,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1817,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1818,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1820,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1822,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1823,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1838,1
    - Dst: ddsi_entidx_enum_writer_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1839,1
    - Dst: ddsi_entidx_enum_writer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1840,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1842,1
    - Dst: ddsi_delete_writer_nolinger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1843,1
    - Dst: ddsi_entidx_enum_writer_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1845,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1846,1
    - Dst: ddsi_entidx_enum_reader_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1847,1
    - Dst: ddsi_entidx_enum_reader_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1848,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1850,1
    - Dst: ddsi_delete_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1851,1
    - Dst: ddsi_entidx_enum_reader_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1853,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1854,1
    - Dst: ddsi_entidx_enum_topic_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1858,1
    - Dst: ddsi_entidx_enum_topic_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1859,1
    - Dst: ddsi_delete_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1860,1
    - Dst: ddsi_entidx_enum_topic_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1861,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1862,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1864,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1865,1
    - Dst: ddsi_delete_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1867,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1869,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1870,1
    - Dst: ddsi_omg_security_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1876,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1882,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1884,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1885,1
    - Dst: ddsi_gcreq_queue_drain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1890,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1763
    functionDepth: 9
    functionLinenumber: 1763
    functionLinenumberEnd: 1891
    functionName: ddsi_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 7
    functionsReached:
    - ddsrt_cond_destroy
    - ddsi_term_prep
    - ddsi_delete_topic
    - ddsi_delete_proxy_participant_by_guid
    - ddsi_listener_unblock
    - ddsi_entidx_enum_topic_fini
    - ddsi_entidx_enum_participant_next
    - ddsi_entidx_enum_writer_next
    - ddsi_thread_state_awake_to_awake_no_nest
    - ddsi_delete_participant
    - ddsrt_mutex_lock
    - ddsi_omg_security_stop
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_is_builtin_entityid
    - ddsi_thread_state_asleep
    - ddsi_entidx_enum_writer_fini
    - wait_for_receive_threads
    - ddsrt_time_wallclock
    - ddsrt_mutex_destroy
    - ddsi_delete_reader
    - ddsi_entidx_enum_reader_fini
    - ddsi_dqueue_enqueue_callback
    - ddsi_listener_free
    - ddsi_entidx_enum_participant_fini
    - ddsi_thread_state_awake
    - ddsi_join_thread
    - ddsi_entidx_enum_reader_next
    - ddsi_free_debug_monitor
    - ddsi_entidx_enum_topic_init
    - ddsi_gcreq_queue_drain
    - ddsrt_mutex_init
    - ddsi_lookup_thread_state
    - ddsi_entidx_enum_proxy_participant_init
    - ddsrt_cond_init
    - ddsi_entidx_enum_topic_next
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_entidx_enum_writer_init
    - ddsi_xeventq_stop
    - ddsi_entidx_enum_participant_init
    - ddsi_delete_writer_nolinger
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    - ddsi_entidx_enum_reader_init
    linkageType: ''
    returnType: void
    signature: void ddsi_stop (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_spdp_scheduler_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1896,1
    - Dst: ddsi_reorder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1901,1
    - Dst: ddsi_defrag_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1902,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1903,1
    - Dst: ddsi_gcreq_queue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1906,1
    - Dst: ddsi_dqueue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1911,1
    - Dst: ddsi_dqueue_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1912,1
    - Dst: ddsi_omg_security_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1915,1
    - Dst: ddsi_xeventq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1918,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1921,1
    - Dst: ddsi_xpack_sendq_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1924,1
    - Dst: ddsi_xpack_sendq_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1925,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1927,1
    - Dst: joinleave_spdp_defmcip
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1929,1
    - Dst: free_conns
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1932,1
    - Dst: ddsi_free_mcgroup_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1933,1
    - Dst: ddsi_tran_factories_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1934,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1938,1
    - Dst: fclose
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1939,1
    - Dst: ddsi_free_config_nwpart_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1942,1
    - Dst: ddsi_sock_waitset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1951,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1952,1
    - Dst: ddsi_tkmap_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1955,1
    - Dst: ddsi_entity_index_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1956,1
    - Dst: ddsi_deleted_participants_admin_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1958,1
    - Dst: ddsi_lease_management_term
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1959,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1960,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1961,1
    - Dst: free_special_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1962,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1963,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1969,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1969,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1972,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1973,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1978,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1978,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1979,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1979,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1980,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1980,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1983,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1984,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1985,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1986,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1991,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1991,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1994,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1995,1
    - Dst: ddsi_omg_security_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1997,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1998,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:1999,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2000,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2001,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2004,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2005,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2007,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2008,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2009,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2010,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2016,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2018,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2019,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2023,1
    - Dst: ddsi_xmsgpool_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2025,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c:2026,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (ddsrt_hh_iter_first (gv->topic_defs, &it) == NULL)
      pos:
        line_end: 1968
        line_start: 1968
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typelib))
      pos:
        line_end: 1977
        line_start: 1977
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typedeps))
      pos:
        line_end: 1978
        line_start: 1978
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_hh_iter_first (gv->sertypes, &it) == NULL)
      pos:
        line_end: 1990
        line_start: 1990
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - condition: (ddsrt_avl_is_empty(&gv->typedeps_reverse))
      pos:
        line_end: 1979
        line_start: 1979
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    constantsTouched: []
    func_position:
      end: 2027
      start: 1893
    functionDepth: 4
    functionLinenumber: 1893
    functionLinenumberEnd: 2027
    functionName: ddsi_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    functionUses: 7
    functionsReached:
    - fclose
    - ddsi_dqueue_free
    - ddsi_lease_management_term
    - ddsrt_cond_destroy
    - ddsi_omg_security_free
    - ddsi_xqos_fini
    - ddsi_xpack_sendq_fini
    - ddsi_xmsgpool_free
    - GVLOG
    - ddsi_tran_factories_fini
    - ddsrt_mutex_lock
    - DDSRT_WARNING_MSVC_ON
    - ddsi_sock_waitset_free
    - ddsi_free_config_nwpart_addresses
    - ddsrt_mutex_destroy
    - ddsi_tkmap_free
    - ddsi_reorder_free
    - free_conns
    - ddsi_entity_index_free
    - ddsrt_free
    - ddsi_spdp_scheduler_delete
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - ddsrt_avl_is_empty
    - ddsrt_hh_free
    - free_special_types
    - ddsi_xeventq_free
    - ddsi_gcreq_queue_free
    - ddsi_xpack_sendq_stop
    - joinleave_spdp_defmcip
    - ddsi_rbufpool_free
    - ddsi_free_mcgroup_membership
    - ddsi_deleted_participants_admin_free
    - ddsi_omg_security_deinit
    - ddsrt_avl_free
    - ddsrt_hh_iter_first
    - ddsi_defrag_free
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_fini (struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:50,1
    - Dst: ddsi_vtime_awake_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:51,1
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:53,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:60,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:60,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:62,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - gv
    - nivs
    - ivs
    - tslist
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t*
    - struct ddsi_idx_vtime*
    - struct ddsi_thread_states_list*
    assertStmts:
    - condition: (dstidx < nthreads)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: threads_vtime_gather_for_wait
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_vtime_awake_p
    - assert
    - ddsrt_atomic_fence_ldld
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void threads_vtime_gather_for_wait (const struct ddsi_domaingv *gv,
      uint32_t *nivs, struct ddsi_idx_vtime *ivs, struct ddsi_thread_states_list *tslist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:83,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:84,1
    - Dst: ddsi_vtime_awake_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:84,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:86,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:86,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:88,1
    - Dst: ddsi_vtime_gt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - gv
    - nivs
    - ivs
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t*
    - struct ddsi_idx_vtime*
    assertStmts:
    - condition: (ddsi_vtime_awake_p (ivs[i].vtime))
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: threads_vtime_check
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_vtime_awake_p
    - assert
    - ddsrt_atomic_ldvoidp
    - ddsi_vtime_gt
    linkageType: ''
    returnType: int
    signature: int threads_vtime_check (const struct ddsi_domaingv *gv, uint32_t *nivs,
      struct ddsi_idx_vtime *ivs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:104,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:106,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:110,1
    - Dst: threads_vtime_check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:111,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:116,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:121,1
    - Dst: struct ddsi_gcreq*::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:122,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:123,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:125,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: ddsi_gcreq_queue_step
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 0
    functionsReached:
    - struct ddsi_gcreq*::cb
    - ddsi_thread_state_awake
    - ddsrt_mutex_lock
    - threads_vtime_check
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_gcreq_queue_step (struct ddsi_gcreq_queue *q)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:140,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:142,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:143,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:146,1
    - Dst: LOG_THREAD_CPUTIME
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:149,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:157,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:162,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:162,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:169,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:169,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:169,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:177,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:186,1
    - Dst: ddsi_check_and_handle_lease_expiration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:187,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:187,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:188,1
    - Dst: threads_vtime_check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:192,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:201,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:204,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:212,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:213,1
    - Dst: struct ddsi_gcreq*::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:214,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:215,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:221,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - vq
    argTypes:
    - void*
    assertStmts:
    - condition: (trace_shortsleep)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 225
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 225
    functionName: gcreq_queue_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 0
    functionsReached:
    - struct ddsi_gcreq*::cb
    - ddsi_check_and_handle_lease_expiration
    - DDS_CTRACE
    - DDS_SECS
    - assert
    - ddsrt_mutex_lock
    - ddsrt_etime_add_duration
    - dds_sleepfor
    - LOG_THREAD_CPUTIME
    - ddsi_thread_state_awake_fixed_domain
    - threads_vtime_check
    - ddsi_thread_state_asleep
    - DDS_MSECS
    - ddsrt_cond_etime_waituntil
    - ddsrt_time_elapsed
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gcreq_queue_thread (void *vq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:229,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:235,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: ddsi_gcreq_queue_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_cond_etime_init
    linkageType: ''
    returnType: struct ddsi_gcreq_queue
    signature: struct ddsi_gcreq_queue *ddsi_gcreq_queue_new (struct ddsi_domaingv
      *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 6
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: ddsi_gcreq_queue_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 2
    functionsReached:
    - ddsi_create_thread
    linkageType: ''
    returnType: bool
    signature: bool ddsi_gcreq_queue_start (struct ddsi_gcreq_queue *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:255,1
    - Dst: ddsrt_cond_etime_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:257,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: ddsi_gcreq_queue_drain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_cond_etime_wait
    linkageType: ''
    returnType: void
    signature: void ddsi_gcreq_queue_drain (struct ddsi_gcreq_queue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:269,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:272,1
    - Dst: ddsrt_cond_etime_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:278,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:279,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:285,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:288,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:290,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:291,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts:
    - condition: (q->first == NULL)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 293
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 293
    functionName: ddsi_gcreq_queue_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - ddsi_gcreq_enqueue
    - ddsrt_mutex_lock
    - ddsi_join_thread
    - assert
    - ddsrt_cond_etime_destroy
    - ddsrt_mutex_destroy
    - ddsrt_cond_etime_wait
    - ddsi_gcreq_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_gcreq_queue_free (struct ddsi_gcreq_queue *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:298,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:299,1
    - Dst: threads_vtime_gather_for_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:302,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:303,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - q
    - cb
    argTypes:
    - struct ddsi_gcreq_queue*
    - ddsi_gcreq_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: ddsi_gcreq_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 10
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_atomic_ldvoidp
    - threads_vtime_gather_for_wait
    - ddsrt_mutex_unlock
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_gcreq
    signature: struct ddsi_gcreq *ddsi_gcreq_new (struct ddsi_gcreq_queue *q, ddsi_gcreq_cb_t
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:312,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:315,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:316,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: ddsi_gcreq_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 7
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_gcreq_free (struct ddsi_gcreq *gcreq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:324,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:338,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: gcreq_enqueue_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    linkageType: ''
    returnType: int
    signature: int gcreq_enqueue_common (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcreq_enqueue_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ddsi_gcreq_enqueue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 10
    functionsReached:
    - gcreq_enqueue_common
    linkageType: ''
    returnType: void
    signature: void ddsi_gcreq_enqueue (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcreq_enqueue_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gcreq
    - cb
    argTypes:
    - struct ddsi_gcreq*
    - ddsi_gcreq_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: ddsi_gcreq_requeue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 1
    functionsReached:
    - gcreq_enqueue_common
    linkageType: ''
    returnType: int
    signature: int ddsi_gcreq_requeue (struct ddsi_gcreq *gcreq, ddsi_gcreq_cb_t cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts:
    - condition: (gcreq)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: ddsi_gcreq_get_arg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void * ddsi_gcreq_get_arg (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gcreq
    - arg
    argTypes:
    - struct ddsi_gcreq*
    - void*
    assertStmts:
    - condition: (gcreq)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: ddsi_gcreq_set_arg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_gcreq_set_arg (struct ddsi_gcreq *gcreq, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ty_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: plist_alignof
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: plist_alignof(ty_)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:169,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - op
    argTypes:
    - enum ddsi_pserop
    assertStmts:
    - condition: (false)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (false)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 192
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 192
    functionName: pserop_seralign
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t pserop_seralign(enum ddsi_pserop op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - 'off'
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: alignN
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t alignN(const size_t off, const size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: align2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: size_t
    signature: size_t align2(const size_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: align4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: size_t
    signature: size_t align4(const size_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: align8
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: size_t
    signature: size_t align8(const size_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - dstoff
    - align
    argTypes:
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: deser_generic_dst
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: void
    signature: void *deser_generic_dst (void * restrict dst, size_t * restrict dstoff,
      const size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - srcoff
    - align
    argTypes:
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: deser_generic_src
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: void
    signature: void *deser_generic_src (const void * restrict src, size_t * restrict
      srcoff, const size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - 'off'
    - align
    argTypes:
    - char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: ser_generic_aligned
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - alignN
    linkageType: ''
    returnType: void
    signature: void *ser_generic_aligned (char * restrict p, size_t * restrict off,
      const size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_aligned
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - 'off'
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: ser_generic_align2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ser_generic_aligned
    linkageType: ''
    returnType: void
    signature: void *ser_generic_align2(char * restrict p, size_t * restrict off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_aligned
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - 'off'
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ser_generic_align4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ser_generic_aligned
    linkageType: ''
    returnType: void
    signature: void *ser_generic_align4(char * restrict p, size_t * restrict off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_aligned
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - 'off'
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: ser_generic_align8
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ser_generic_aligned
    linkageType: ''
    returnType: void
    signature: void *ser_generic_align8(char * restrict p, size_t * restrict off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - dd
    - 'off'
    argTypes:
    - uint16_t*
    - struct dd*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: deser_uint16
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap2u
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_uint16 (uint16_t * restrict dst, const struct dd
      *dd, size_t * restrict off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - dd
    - 'off'
    argTypes:
    - uint32_t*
    - struct dd*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: deser_uint32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_uint32 (uint32_t * restrict dst, const struct dd
      *dd, size_t * restrict off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap2
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - dd
    - 'off'
    argTypes:
    - int16_t*
    - struct dd*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: deser_int16
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap2
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_int16 (int16_t * restrict dst, const struct dd *dd,
      size_t * restrict off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap8
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - dd
    - 'off'
    argTypes:
    - int64_t*
    - struct dd*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: deser_int64
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap8
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_int64 (int64_t * restrict dst, const struct dd *dd,
      size_t * restrict off)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:317,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:318,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufsize
    - fmt
    argTypes:
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 337
    functionName: prtf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: bool
    signature: bool prtf (char * restrict *buf, size_t * restrict bufsize, const char
      *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:341,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:344,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:344,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:348,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:348,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:348,1
    - Dst: validate_external_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:354,1
    - Dst: ddsi_duration_to_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: deser_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_duration_to_dds
    - deser_uint32
    - plist_alignof
    - validate_external_duration
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_reliability (void * restrict dst, struct flagset
      *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const
      gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:365,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:367,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:367,1
    - Dst: ddsi_duration_from_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:368,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:369,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:370,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:371,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: ser_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBO4u
    - deser_generic_src
    - DDSRT_STATIC_ASSERT
    - ddsi_duration_from_dds
    - ddsi_xmsg_addpar_bo
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_reliability (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:378,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - src
    - srcoff
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: valid_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_reliability (const void *src, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:387,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:387,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:388,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - srcoff
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: equal_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    linkageType: ''
    returnType: bool
    signature: bool equal_reliability (const void *srcx, const void *srcy, size_t
      srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:394,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:394,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: print_reliability
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_reliability (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:401,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:401,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: deser_statusinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_alignof
    - ddsrt_fromBE4u
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_statusinfo (void * restrict dst, struct flagset
      *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const
      gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:417,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:417,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:418,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: ser_statusinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE4u
    - deser_generic_src
    - plist_alignof
    - ddsi_xmsg_addpar_bo
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_statusinfo (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:425,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:425,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: print_statusinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_statusinfo (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:432,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:432,1
    - Dst: do_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: deser_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - do_locator
    - plist_alignof
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_locator (void * restrict dst, struct flagset *flagset,
      uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:458,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:458,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:461,1
    - Dst: ddsrt_toBO4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:462,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:463,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:464,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:465,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: ser_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBO4u
    - deser_generic_src
    - ddsrt_toBO4
    - memcpy
    - ddsi_xmsg_addpar_bo
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_locator (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:473,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:473,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - dstoff
    - gen_seq_aliased
    argTypes:
    - void*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: unalias_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    - plist_alignof
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t unalias_locator (void * restrict dst, size_t * restrict
      dstoff, bool gen_seq_aliased)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:492,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:492,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - dstoff
    - flagset
    - flag
    argTypes:
    - void*
    - size_t*
    - struct flagset*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 503
    functionName: fini_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_alignof
    - deser_generic_dst
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t fini_locator (void * restrict dst, size_t * restrict dstoff,
      struct flagset *flagset, uint64_t flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - desc
    argTypes:
    - enum ddsi_pserop*
    assertStmts:
    - condition: (*desc != XSTOP)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 525
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 525
    functionName: pserop_advance
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: enum ddsi_pserop
    signature: enum ddsi_pserop * pserop_advance (const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:529,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:529,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:531,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:535,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:536,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: print_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string
    - deser_generic_src
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_locator (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:544,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:546,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:546,1
    - Dst: deser_uint16
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 588
    functionName: deser_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_uint16
    - DDSRT_STATIC_ASSERT
    - deser_generic_dst
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_type_consistency (void * restrict dst, struct flagset
      *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const
      gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:593,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:593,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:594,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:595,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 604
    functionName: ser_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - memcpy
    - ddsi_xmsg_addpar_bo
    - plist_alignof
    - ddsrt_toBO2u
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_type_consistency (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:608,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:609,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - src
    - srcoff
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: valid_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - DDSRT_STATIC_ASSERT
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_type_consistency (const void *src, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:617,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:617,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:618,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - srcoff
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: equal_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    linkageType: ''
    returnType: bool
    signature: bool equal_type_consistency (const void *srcx, const void *srcy, size_t
      srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:629,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:629,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: print_type_consistency
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_type_consistency (char * restrict *buf, size_t * restrict
      bufsize, const void *src, size_t srcoff)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - kind
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: validate_liveliness_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_liveliness_kind (uint32_t kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:651,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:651,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:662,1
    - Dst: validate_liveliness_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:662,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:672,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:673,1
    - Dst: validate_external_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:674,1
    - Dst: ddsi_duration_to_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 679
    functionName: deser_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_duration_to_dds
    - validate_liveliness_kind
    - plist_alignof
    - deser_uint32
    - validate_external_duration
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_liveliness (void * restrict dst, struct flagset
      *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const
      gv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:684,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:684,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:688,1
    - Dst: ddsi_duration_from_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:689,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:690,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:691,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:692,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:698,1
    - Dst: ddsi_duration_from_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:699,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:700,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:701,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts:
    - condition: (x->kind == DDS_LIVELINESS_AUTOMATIC)
      pos:
        line_end: 689
        line_start: 689
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 710
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 710
    functionName: ser_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBO4u
    - deser_generic_src
    - assert
    - ddsi_duration_from_dds
    - ddsi_xmsg_addpar_bo
    - plist_alignof
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_liveliness (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - srcoff
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: valid_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - valid_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_liveliness (const void *src, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equal_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - srcoff
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: equal_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - equal_generic
    linkageType: ''
    returnType: bool
    signature: bool equal_liveliness (const void *srcx, const void *srcy, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: print_liveliness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - print_generic
    linkageType: ''
    returnType: bool
    signature: bool print_liveliness (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:732,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:732,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:736,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:743,1
    - Dst: deser_int16
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 756
    functionName: deser_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_uint32
    - plist_alignof
    - ddsrt_malloc
    - deser_generic_dst
    - deser_int16
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_data_representation (void * restrict dst, struct
      flagset *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const
      * const gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: ser_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ser_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_data_representation (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - srcoff
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: valid_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - valid_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_data_representation (const void *src, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equal_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - srcoff
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: equal_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - equal_generic
    linkageType: ''
    returnType: bool
    signature: bool equal_data_representation (const void *srcx, const void *srcy,
      size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - dstoff
    - gen_seq_aliased
    argTypes:
    - void*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: unalias_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - unalias_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t unalias_data_representation (void * restrict dst, size_t
      * restrict dstoff, bool gen_seq_aliased)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fini_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - dstoff
    - flagset
    - flag
    argTypes:
    - void*
    - size_t*
    - struct flagset*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: fini_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - fini_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t fini_data_representation (void * restrict dst, size_t
      * restrict dstoff, struct flagset *flagset, uint64_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:786,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:786,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:787,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:791,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 795
    functionName: print_data_representation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_data_representation (char * restrict *buf, size_t * restrict
      bufsize, const void *src, size_t srcoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:807,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:808,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:815,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:815,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:816,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:817,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - gv
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 822
    functionName: deser_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - ddsrt_memdup
    - dds_stream_read
    - plist_alignof
    - dds_stream_normalize_xcdr2_data
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_type_information (void * restrict dst, struct flagset
      *flagset, uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const
      gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:827,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:827,1
    - Dst: dds_stream_write_with_byte_order
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:830,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:834,1
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:837,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:838,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 841
    functionName: ser_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - memcpy
    - dds_stream_write_with_byte_order
    - ddsi_xmsg_addpar_bo
    - plist_alignof
    - dds_ostream_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_type_information (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
      ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:845,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:845,1
    - Dst: ddsi_typeinfo_valid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - src
    - srcoff
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: valid_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - plist_alignof
    - ddsi_typeinfo_valid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_type_information (const void *src, size_t srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:851,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:851,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:852,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:852,1
    - Dst: ddsi_typeinfo_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - srcoff
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 854
    functionName: equal_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - ddsi_typeinfo_equal
    - plist_alignof
    linkageType: ''
    returnType: bool
    signature: bool equal_type_information (const void *srcx, const void *srcy, size_t
      srcoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:858,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:858,1
    - Dst: ddsi_typeinfo_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dstoff
    - gen_seq_aliased
    argTypes:
    - void*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: unalias_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_dup
    - plist_alignof
    - deser_generic_dst
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t unalias_type_information (void * restrict dst, size_t
      * restrict dstoff, bool gen_seq_aliased)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:868,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:868,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:871,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dst
    - dstoff
    - flagset
    - flag
    argTypes:
    - void*
    - size_t*
    - struct flagset*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: fini_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_typeinfo_fini
    - deser_generic_src
    - plist_alignof
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t fini_type_information (void * restrict dst, size_t * restrict
      dstoff, struct flagset *flagset, uint64_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:879,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:879,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:881,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:882,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:882,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:883,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: print_type_information
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_src
    - ddsi_typeinfo_complete_typeid
    - ddsi_make_typeid_str
    - ddsi_typeinfo_minimal_typeid
    - plist_alignof
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool print_type_information (char * restrict *buf, size_t * restrict
      bufsize, const void *src, size_t srcoff)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:912,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:913,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:914,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:915,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:916,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:917,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:918,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:919,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:920,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:921,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:922,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:923,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:924,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:925,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:926,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:929,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 1
    argNames:
    - desc
    argTypes:
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 932
    functionName: ser_generic_srcsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - SIMPLE
    - pserop_advance
    linkageType: ''
    returnType: size_t
    signature: size_t ser_generic_srcsize (const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 907
    functionName: SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: ddsi_plist_memsize_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached:
    - ser_generic_srcsize
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_plist_memsize_generic (const enum ddsi_pserop *desc)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:957,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:957,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:958,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:958,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:959,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:960,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:961,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:962,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:963,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:964,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:965,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:966,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:967,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:968,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:969,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:970,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:973,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:973,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:974,1
    - Dst: fini_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:979,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:981,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:988,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 5
    argNames:
    - dst
    - dstoff
    - desc
    - desc_end
    - aliased
    argTypes:
    - void*
    - size_t*
    - enum ddsi_pserop*
    - enum ddsi_pserop*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 993
    functionName: fini_generic_embeddable
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - ser_generic_srcsize
    - COMPLEX
    - plist_alignof
    - SIMPLE
    - fini_generic_embeddable
    - deser_generic_dst
    - pserop_advance
    linkageType: ''
    returnType: bool
    signature: bool fini_generic_embeddable (void * restrict dst, size_t * restrict
      dstoff, const enum ddsi_pserop *desc, const enum ddsi_pserop * const desc_end,
      bool aliased)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - cleanup_unaliased_
    - ','
    - cleanup_always_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 951
    functionName: COMPLEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLEX(basecase_, type_, cleanup_unaliased_, cleanup_always_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 952
    functionName: SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE(basecase_, type_)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:999,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1000,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1001,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1002,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1006,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1007,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1008,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1009,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1010,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1011,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 1
    argNames:
    - op
    argTypes:
    - enum ddsi_pserop
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1011
        line_start: 1011
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 1015
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1015
    functionName: pserop_memalign
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    - plist_alignof
    linkageType: ''
    returnType: size_t
    signature: size_t pserop_memalign (enum ddsi_pserop op)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1027,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1033,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1033,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1034,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1043,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1043,1
    - Dst: deser_generic_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1046,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1055,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1055,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1058,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1065,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1065,1
    - Dst: deser_uint16
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1066,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1072,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1072,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1075,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1081,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1081,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1084,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1090,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1090,1
    - Dst: deser_int64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1091,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1097,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1097,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1102,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1102,1
    - Dst: validate_external_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1104,1
    - Dst: ddsi_duration_to_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1106,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1112,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1112,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1116,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1122,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1122,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1126,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1135,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1135,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1141,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1141,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1144,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1145,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1151,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1151,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1154,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1160,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1160,1
    - Dst: deser_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1161,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1163,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1164,1
    - Dst: deser_generic_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1168,1
    - Dst: fini_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1174,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1176,1
    - Dst: pserop_seralign
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1185,1
    - Dst: alignN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1186,1
    - Dst: deser_generic_dst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1190,1
    - Dst: pserop_memalign
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1190,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1191,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1192,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1197,1
    - Dst: fini_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1204,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 181
    argCount: 7
    argNames:
    - dst
    - dstoff
    - flagset
    - flag
    - dd
    - srcoff
    - desc
    argTypes:
    - void*
    - size_t*
    - struct flagset*
    - uint64_t
    - struct dd*
    - size_t*
    - enum ddsi_pserop*
    assertStmts:
    - condition: (*srcoff <= dd->bufsz)
      pos:
        line_end: 1026
        line_start: 1026
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 1206
      start: 1017
    functionDepth: 3
    functionLinenumber: 1017
    functionLinenumberEnd: 1206
    functionName: deser_generic_r
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - ddsi_duration_to_dds
    - pserop_memalign
    - validate_external_duration
    - ddsrt_malloc
    - ddsi_ntoh_guid
    - memcpy
    - deser_uint32
    - plist_alignof
    - deser_int64
    - fini_generic_embeddable
    - pserop_advance
    - ddsrt_free
    - assert
    - ser_generic_srcsize
    - alignN
    - deser_generic_dst
    - deser_uint16
    - pserop_seralign
    - memset
    - deser_generic_r
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_generic_r (void * restrict dst, size_t * restrict
      dstoff, struct flagset *flagset, uint64_t flag, const struct dd *dd, size_t
      * restrict srcoff, const enum ddsi_pserop *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - dst
    - flagset
    - flag
    - dd
    - desc
    argTypes:
    - void*
    - struct flagset*
    - uint64_t
    - struct dd*
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1208
    functionDepth: 4
    functionLinenumber: 1208
    functionLinenumberEnd: 1219
    functionName: deser_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - deser_generic_r
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deser_generic (void * restrict dst, struct flagset *flagset,
      uint64_t flag, const struct dd *dd, const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dst
    - src
    - srcsize
    - srcoff
    - bswap
    - desc
    argTypes:
    - void*
    - void*
    - size_t
    - size_t*
    - bool
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1221
    functionDepth: 4
    functionLinenumber: 1221
    functionLinenumberEnd: 1235
    functionName: ddsi_plist_deser_generic_srcoff
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - deser_generic_r
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_deser_generic_srcoff (void * restrict dst,
      const void * restrict src, size_t srcsize, size_t * restrict srcoff, bool bswap,
      const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_deser_generic_srcoff
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dst
    - src
    - srcsize
    - bswap
    - desc
    argTypes:
    - void*
    - void*
    - size_t
    - bool
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: ddsi_plist_deser_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - ddsi_plist_deser_generic_srcoff
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_deser_generic (void * restrict dst, const void
      * restrict src, size_t srcsize, bool bswap, const enum ddsi_pserop *desc)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1260,1
    - Dst: align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1260,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1261,1
    - Dst: align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1261,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1261,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1262,1
    - Dst: align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1262,1
    - Dst: SIMPLE2
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1263,1
    - Dst: SIMPLE4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1264,1
    - Dst: SIMPLE4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1265,1
    - Dst: SIMPLE8
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1266,1
    - Dst: SIMPLE4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1267,1
    - Dst: SIMPLE1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1268,1
    - Dst: SIMPLE1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1269,1
    - Dst: SIMPLE1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1270,1
    - Dst: SIMPLE1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1271,1
    - Dst: SIMPLE1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1272,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1274,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1274,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1275,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1276,1
    - Dst: align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1277,1
    - Dst: ddsi_plist_ser_generic_size_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1279,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1283,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 4
    argNames:
    - dstoff
    - src
    - srcoff
    - desc
    argTypes:
    - size_t*
    - void*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1289
    functionName: ddsi_plist_ser_generic_size_embeddable
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - align4
    - SIMPLE2
    - SIMPLE1
    - strlen
    - SIMPLE4
    - COMPLEX
    - ser_generic_srcsize
    - if
    - SIMPLE8
    - ddsi_plist_ser_generic_size_embeddable
    - pserop_advance
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_ser_generic_size_embeddable (size_t * restrict dstoff,
      const void *src, size_t srcoff, const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - dstoff_update_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1251
    functionName: COMPLEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLEX(basecase_, type_, dstoff_update_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1252
    functionName: SIMPLE1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE1(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1253
    functionName: SIMPLE2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE2(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1254
    functionName: SIMPLE4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE4(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1255
    functionName: SIMPLE8
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE8(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_ser_generic_size_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - srcoff
    - desc
    argTypes:
    - void*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1296
    functionName: ser_generic_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_ser_generic_size_embeddable
    linkageType: ''
    returnType: size_t
    signature: size_t ser_generic_size (const void *src, size_t srcoff, const enum
      ddsi_pserop *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - src
    - elem_size
    - desc
    argTypes:
    - ddsi_octetseq_t*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1311
    functionName: ser_generic_count
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ser_generic_count (const ddsi_octetseq_t *src, size_t elem_size,
      const enum ddsi_pserop *desc)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1322,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1322,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1323,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1324,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1325,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1331,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1331,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1332,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1333,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1334,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1335,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1341,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1341,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1342,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1343,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1349,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1349,1
    - Dst: ser_generic_align2
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1350,1
    - Dst: ddsrt_toBO2
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1351,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1357,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1357,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1359,1
    - Dst: ddsrt_toBO4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1361,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1367,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1367,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1369,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1371,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1377,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1377,1
    - Dst: ser_generic_align8
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1378,1
    - Dst: ddsrt_toBO8
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1379,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1385,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1385,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1387,1
    - Dst: ddsi_duration_from_dds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1390,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1391,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1392,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1399,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1399,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1402,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1408,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1408,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1411,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1417,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1417,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1423,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1423,1
    - Dst: ddsi_hton_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1424,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1426,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1432,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1432,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1434,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1440,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1440,1
    - Dst: ser_generic_align4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1441,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1447,1
    - Dst: ddsrt_toBO4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1448,1
    - Dst: ser_generic_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1448,1
    - Dst: ddsi_plist_ser_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1450,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1458,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 123
    argCount: 6
    argNames:
    - data
    - dstoff
    - src
    - srcoff
    - desc
    - bo
    argTypes:
    - char*
    - size_t*
    - void*
    - size_t
    - enum ddsi_pserop*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1313
    functionDepth: 3
    functionLinenumber: 1313
    functionLinenumberEnd: 1460
    functionName: ddsi_plist_ser_generic_embeddable
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - ddsrt_toBO4u
    - deser_generic_src
    - ddsi_hton_guid
    - ddsi_plist_ser_generic_embeddable
    - ddsrt_toBO4
    - ddsrt_toBO8
    - memcpy
    - ser_generic_align8
    - ddsi_duration_from_dds
    - ser_generic_align4
    - strlen
    - ser_generic_srcsize
    - ddsrt_toBO2
    - plist_alignof
    - ser_generic_count
    - ser_generic_align2
    - pserop_advance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_ser_generic_embeddable (char * const data,
      size_t * restrict dstoff, const void *src, size_t srcoff, const enum ddsi_pserop
      *desc, enum ddsrt_byte_order_selector bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1466,1
    - Dst: ser_generic_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1466,1
    - Dst: ddsi_plist_ser_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - xmsg
    - pid
    - src
    - srcoff
    - desc
    - bo
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - void*
    - size_t
    - enum ddsi_pserop*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1464
    functionDepth: 4
    functionLinenumber: 1464
    functionLinenumberEnd: 1469
    functionName: ser_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 5
    functionsReached:
    - ser_generic_size
    - ddsi_plist_ser_generic_embeddable
    - ddsi_xmsg_addpar_bo
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ser_generic (struct ddsi_xmsg *xmsg, ddsi_parameterid_t
      pid, const void *src, size_t srcoff, const enum ddsi_pserop *desc, enum ddsrt_byte_order_selector
      bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1476,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1477,1
    - Dst: ddsi_plist_ser_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1479,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - dstsize
    - src
    - desc
    argTypes:
    - void**
    - size_t*
    - void*
    - enum ddsi_pserop*
    assertStmts:
    - condition: (dstoff == *dstsize)
      pos:
        line_end: 1479
        line_start: 1479
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 1482
      start: 1471
    functionDepth: 4
    functionLinenumber: 1471
    functionLinenumberEnd: 1482
    functionName: ddsi_plist_ser_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached:
    - ser_generic_size
    - assert
    - ddsrt_malloc
    - ddsi_plist_ser_generic_embeddable
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_ser_generic (void **dst, size_t *dstsize, const
      void *src, const enum ddsi_pserop *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ser_generic_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1489,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1490,1
    - Dst: ddsi_plist_ser_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1492,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - dstsize
    - src
    - desc
    argTypes:
    - void**
    - size_t*
    - void*
    - enum ddsi_pserop*
    assertStmts:
    - condition: (dstoff == *dstsize)
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 1495
      start: 1484
    functionDepth: 4
    functionLinenumber: 1484
    functionLinenumberEnd: 1495
    functionName: ddsi_plist_ser_generic_be
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ser_generic_size
    - assert
    - ddsrt_malloc
    - ddsi_plist_ser_generic_embeddable
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_ser_generic_be (void **dst, size_t *dstsize,
      const void *src, const enum ddsi_pserop *desc)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1512,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1512,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1512,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1513,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1513,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1514,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1515,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1516,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1517,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1518,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1519,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1520,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1521,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1522,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1523,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1524,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1525,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1526,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1526,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1527,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1538,1
    - Dst: unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1542,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1547,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 4
    argNames:
    - dst
    - dstoff
    - gen_seq_aliased
    - desc
    argTypes:
    - void*
    - size_t*
    - bool
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1551
    functionName: unalias_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached:
    - unalias_generic
    - ddsrt_memdup
    - ser_generic_srcsize
    - COMPLEX
    - ddsrt_strdup
    - if
    - SIMPLE
    - pserop_advance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t unalias_generic (void * restrict dst, size_t * restrict
      dstoff, bool gen_seq_aliased, const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1505
    functionName: COMPLEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLEX(basecase_, type_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1506
    functionName: SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - desc
    argTypes:
    - void*
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1553
    functionDepth: 3
    functionLinenumber: 1553
    functionLinenumberEnd: 1557
    functionName: ddsi_plist_unalias_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - unalias_generic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_unalias_generic (void * restrict dst, const
      enum ddsi_pserop *desc)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - desc
    argTypes:
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1572
    functionName: unalias_generic_required
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unalias_generic_required (const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unalias_generic_required
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1578
    functionName: fini_generic_required
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - unalias_generic_required
    linkageType: ''
    returnType: bool
    signature: bool fini_generic_required (const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fini_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dst
    - dstoff
    - flagset
    - flag
    - desc
    argTypes:
    - void*
    - size_t*
    - struct flagset*
    - uint64_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1580
    functionDepth: 3
    functionLinenumber: 1580
    functionLinenumberEnd: 1584
    functionName: fini_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - fini_generic_embeddable
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t fini_generic (void * restrict dst, size_t * restrict dstoff,
      struct flagset *flagset, uint64_t flag, const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fini_generic_embeddable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - desc
    - aliased
    argTypes:
    - void*
    - enum ddsi_pserop*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1586
    functionDepth: 3
    functionLinenumber: 1586
    functionLinenumberEnd: 1590
    functionName: ddsi_plist_fini_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached:
    - fini_generic_embeddable
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_fini_generic (void * restrict dst, const enum ddsi_pserop
      *desc, bool aliased)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1607,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1608,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1609,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1610,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1611,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1612,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1613,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1614,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1615,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1616,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1617,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1618,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1619,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1620,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1621,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1625,1
    - Dst: valid_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1628,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1635,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 3
    argNames:
    - src
    - srcoff
    - desc
    argTypes:
    - void*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1640
    functionName: valid_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached:
    - TRIVIAL
    - valid_generic
    - ser_generic_srcsize
    - COMPLEX
    - SIMPLE
    - pserop_advance
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t valid_generic (const void *src, size_t srcoff, const enum
      ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - cond_stmts_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1600
    functionName: COMPLEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLEX(basecase_, type_, cond_stmts_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - cond_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1601
    functionName: SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE(basecase_, type_, cond_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1602
    functionName: TRIVIAL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIVIAL(basecase_, type_)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1660,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1662,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1665,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1665,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1667,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1668,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1669,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1670,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1671,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1672,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1673,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1674,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1676,1
    - Dst: TRIVIAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1683,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1684,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1684,1
    - Dst: SIMPLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1685,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1685,1
    - Dst: COMPLEX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1686,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1690,1
    - Dst: equal_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1692,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1699,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 4
    argNames:
    - srcx
    - srcy
    - srcoff
    - desc
    argTypes:
    - void*
    - void*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1704
    functionName: equal_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 7
    functionsReached:
    - TRIVIAL
    - memcmp
    - strcmp
    - ser_generic_srcsize
    - COMPLEX
    - SIMPLE
    - pserop_advance
    - equal_generic
    linkageType: ''
    returnType: bool
    signature: bool equal_generic (const void *srcx, const void *srcy, size_t srcoff,
      const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - cond_stmts_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1651
    functionName: COMPLEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLEX(basecase_, type_, cond_stmts_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - ','
    - cond_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1652
    functionName: SIMPLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE(basecase_, type_, cond_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - basecase_
    - ','
    - type_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1653
    functionName: TRIVIAL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIVIAL(basecase_, type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equal_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcx
    - srcy
    - desc
    argTypes:
    - void*
    - void*
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    functionName: ddsi_plist_equal_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - equal_generic
    linkageType: ''
    returnType: bool
    signature: bool ddsi_plist_equal_generic (const void *srcx, const void *srcy,
      const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - n
    - xs
    argTypes:
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1717
    functionName: isprint_runlen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - isprint
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isprint_runlen (uint32_t n, const unsigned char *xs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isprint_runlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1731,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1735,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1746,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - bufsize
    - n
    - xs
    argTypes:
    - char**
    - size_t*
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1753
    functionName: prtf_octetseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - isprint_runlen
    - prtf
    linkageType: ''
    returnType: bool
    signature: bool prtf_octetseq (char * restrict *buf, size_t * restrict bufsize,
      uint32_t n, const unsigned char *xs)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1764,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1764,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1765,1
    - Dst: prtf_octetseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1766,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1767,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1773,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1773,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1774,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1780,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1780,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1781,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1787,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1787,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1788,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1794,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1794,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1798,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1806,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1806,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1810,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1818,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1818,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1822,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1830,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1830,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1834,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1842,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1842,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1846,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1854,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1854,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1858,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1866,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1866,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1867,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1873,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1873,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1874,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1874,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1880,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1880,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1881,1
    - Dst: deser_generic_src
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1889,1
    - Dst: plist_alignof
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1889,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1890,1
    - Dst: ser_generic_srcsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1894,1
    - Dst: print_generic1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1896,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1899,1
    - Dst: pserop_advance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1908,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 138
    argCount: 6
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    - desc
    - sep
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    - enum ddsi_pserop*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1910
    functionName: print_generic1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - deser_generic_src
    - PGUID
    - print_generic1
    - ser_generic_srcsize
    - plist_alignof
    - prtf
    - prtf_octetseq
    - pserop_advance
    linkageType: ''
    returnType: bool
    signature: bool print_generic1 (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff, const enum ddsi_pserop *desc, const char *sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_generic1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - buf
    - bufsize
    - src
    - srcoff
    - desc
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1912
    functionDepth: 3
    functionLinenumber: 1912
    functionLinenumberEnd: 1915
    functionName: print_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - print_generic1
    linkageType: ''
    returnType: bool
    signature: bool print_generic (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t srcoff, const enum ddsi_pserop *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1918
    functionName: membersize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: membersize(type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - PFX_
    - ','
    - NAME_
    - ','
    - member_
    - ','
    - flag_
    - ','
    - validate_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1922
    functionName: ENTRY
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRY(PFX_, NAME_, member_, flag_, validate_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1923
    functionName: QPV
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPV(NAME_, name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1924
    functionName: PPV
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PPV(NAME_, name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1925
    functionName: QP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP(NAME_, name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1926
    functionName: PP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(NAME_, name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME_
    - ','
    - name_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1927
    functionName: PPM
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PPM(NAME_, name_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pv
    argTypes:
    - ddsi_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1931
    functionName: protocol_version_is_newer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int protocol_version_is_newer (ddsi_protocol_version_t pv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_durability_service_qospolicy_acceptzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1938
    functionName: dvx_durability_service
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - validate_durability_service_qospolicy_acceptzero
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_durability_service (void * restrict dst, const struct
      dd *dd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_history_qospolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1944
    functionName: dvx_history
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - validate_history_qospolicy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_history (void * restrict dst, const struct dd *dd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_resource_limits_qospolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1950
    functionName: dvx_resource_limits
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - validate_resource_limits_qospolicy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_resource_limits (void * restrict dst, const struct
      dd *dd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1960
    functionName: dvx_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_participant_guid (void * restrict dst, const struct
      dd *dd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1970
    functionName: dvx_group_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_group_guid (void * restrict dst, const struct dd *dd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: protocol_version_is_newer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1987
    functionName: dvx_endpoint_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - protocol_version_is_newer
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_endpoint_guid (void * restrict dst, const struct dd
      *dd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - dd
    argTypes:
    - void*
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1998
    functionName: dvx_reader_favours_ssm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dvx_reader_favours_ssm (void * restrict dst, const struct
      dd *dd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vendorid_
    - ','
    - tab_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2210
    functionName: INDEX_ANY
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDEX_ANY(vendorid_, tab_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - VENDOR_
    - ','
    - tab_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2211
    functionName: INDEX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDEX(VENDOR_, tab_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - ddsi_parameterid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2250
    functionName: pid_to_index
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pid_to_index (ddsi_parameterid_t pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2261
    functionName: piddesc_cmp_qos_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int piddesc_cmp_qos_addr (const void *va, const void *vb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pid_to_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2279,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2282,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2295,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2296,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2299,1
    - Dst: unalias_generic_required
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2323,1
    - Dst: fini_generic_required
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2327,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2329,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2338,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2340,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2341,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2349,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2354,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (only_qos_seen || !(table[j].flags & PDF_QOS))
      pos:
        line_end: 2281
        line_start: 2281
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (maxpididx == piddesc_vendor_index[i].index_max)
      pos:
        line_end: 2298
        line_start: 2298
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (index[pididx] == NULL || index[pididx] == &table[j])
      pos:
        line_end: 2295
        line_start: 2295
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (pididx <= piddesc_vendor_index[i].index_max)
      pos:
        line_end: 2294
        line_start: 2294
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (unalias_index < sizeof (piddesc_unalias) / sizeof (piddesc_unalias[0]))
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (fini_index < sizeof (piddesc_fini) / sizeof (piddesc_fini[0]))
      pos:
        line_end: 2328
        line_start: 2328
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: "(unalias_index == sizeof (piddesc_unalias) / sizeof (piddesc_unalias[0])
        &&\n          fini_index == sizeof (piddesc_fini) / sizeof (piddesc_fini[0]))"
      pos:
        line_end: 2338
        line_start: 2337
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (!(piddesc_unalias[i]->flags & PDF_QOS))
      pos:
        line_end: 2348
        line_start: 2348
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (!(piddesc_fini[i]->flags & PDF_QOS))
      pos:
        line_end: 2353
        line_start: 2353
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2357
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2357
    functionName: ddsi_plist_init_tables_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - qsort
    - pid_to_index
    - assert
    - unalias_generic_required
    - fini_generic_required
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_init_tables_real (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2362
    functionName: ddsi_plist_init_tables
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - ddsrt_once
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_init_tables (void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_tables
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2371,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2391,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2394,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2395,1
    - Dst: fini_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2402,1
    - Dst: struct piddesc*::op::f::fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2404,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - dst
    - shift
    - pmask
    - qmask
    argTypes:
    - void*
    - size_t
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (entry)
      pos:
        line_end: 2390
        line_start: 2390
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 2394
        line_start: 2394
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 2393
        line_start: 2393
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2407
      start: 2364
    functionDepth: 4
    functionLinenumber: 2364
    functionLinenumberEnd: 2407
    functionName: plist_or_xqos_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - struct piddesc*::op::f::fini
    - ddsi_plist_init_tables
    - assert
    - fini_generic
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_fini (void * restrict dst, size_t shift, uint64_t
      pmask, uint64_t qmask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_tables
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2416,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2432,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2435,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2436,1
    - Dst: unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2442,1
    - Dst: struct piddesc*::op::f::unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2444,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2448,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - shift
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: (entry)
      pos:
        line_end: 2431
        line_start: 2431
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 2435
        line_start: 2435
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (pfs.aliased == NULL || *pfs.aliased == 0)
      pos:
        line_end: 2447
        line_start: 2447
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (*qfs.aliased == 0)
      pos:
        line_end: 2448
        line_start: 2448
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2450
      start: 2409
    functionDepth: 3
    functionLinenumber: 2409
    functionLinenumberEnd: 2450
    functionName: plist_or_xqos_unalias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_tables
    - assert
    - struct piddesc*::op::f::unalias
    - unalias_generic
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_unalias (void * restrict dst, size_t shift)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2480,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2481,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2490,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2491,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2505,1
    - Dst: unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2508,1
    - Dst: struct piddesc*::op::f::unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2510,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2515,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2516,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2518,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2519,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - dst
    - src
    - shift
    - pmask
    - qmask
    argTypes:
    - void*
    - void*
    - size_t
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (pfs_dst.present == NULL || (aliased_dst_inp & ~ *pfs_dst.present)
        == 0)
      pos:
        line_end: 2479
        line_start: 2479
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 2489
        line_start: 2489
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: ((aliased_dst_inq & ~ *qfs_dst.present) == 0)
      pos:
        line_end: 2480
        line_start: 2480
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 2490
        line_start: 2490
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (pfs_dst.present == NULL || (*pfs_src.present & pmask & ~ *pfs_dst.present)
        == 0)
      pos:
        line_end: 2514
        line_start: 2514
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: ((*qfs_src.present & qmask & ~ *qfs_dst.present) == 0)
      pos:
        line_end: 2515
        line_start: 2515
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (pfs_dst.aliased == NULL || (*pfs_dst.aliased & ~ aliased_dst_inp)
        == 0)
      pos:
        line_end: 2517
        line_start: 2517
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: ((*qfs_dst.aliased & ~ aliased_dst_inq) == 0)
      pos:
        line_end: 2518
        line_start: 2518
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2520
      start: 2452
    functionDepth: 3
    functionLinenumber: 2452
    functionLinenumberEnd: 2520
    functionName: plist_or_xqos_mergein_missing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - struct piddesc*::op::f::unalias
    - unalias_generic
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_mergein_missing (void * restrict dst, const void
      *src, size_t shift, uint64_t pmask, uint64_t qmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2548,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2549,1
    - Dst: ser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2552,1
    - Dst: struct piddesc*::op::f::ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 7
    argNames:
    - xmsg
    - src
    - shift
    - pwanted
    - qwanted
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - void*
    - size_t
    - uint64_t
    - uint64_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts:
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 2547
        line_start: 2547
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 2548
        line_start: 2548
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2558
      start: 2522
    functionDepth: 5
    functionLinenumber: 2522
    functionLinenumberEnd: 2558
    functionName: plist_or_xqos_addtomsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    - ser_generic
    - struct piddesc*::op::f::ser
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_addtomsg (struct ddsi_xmsg *xmsg, const void *src,
      size_t shift, uint64_t pwanted, uint64_t qwanted, enum ddsrt_byte_order_selector
      bo, enum ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2562,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - plist
    argTypes:
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2560
    functionDepth: 5
    functionLinenumber: 2560
    functionLinenumberEnd: 2568
    functionName: ddsi_plist_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 16
    functionsReached:
    - plist_or_xqos_fini
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_fini (ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - plist
    - pmask
    - qmask
    argTypes:
    - ddsi_plist_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2570
    functionDepth: 5
    functionLinenumber: 2570
    functionLinenumberEnd: 2577
    functionName: ddsi_plist_fini_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - plist_or_xqos_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_fini_mask (ddsi_plist_t *plist, uint64_t pmask, uint64_t
      qmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plist
    argTypes:
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2579
    functionDepth: 4
    functionLinenumber: 2579
    functionLinenumberEnd: 2582
    functionName: ddsi_plist_unalias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - plist_or_xqos_unalias
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_unalias (ddsi_plist_t *plist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_tables
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2588,1
    - Dst: valid_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2601,1
    - Dst: struct piddesc*::op::f::valid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2603,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2606,1
    - Dst: final_validation_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2612,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - logcfg
    - xqos
    - strict
    argTypes:
    - struct ddsrt_log_cfg*
    - dds_qos_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2584
    functionDepth: 3
    functionLinenumber: 2584
    functionLinenumberEnd: 2617
    functionName: ddsi_xqos_valid_strictness
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_tables
    - struct piddesc*::op::f::valid
    - DDS_CLOG
    - valid_generic
    - final_validation_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xqos_valid_strictness (const struct ddsrt_log_cfg
      *logcfg, const dds_qos_t *xqos, bool strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_valid_strictness
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - logcfg
    - xqos
    argTypes:
    - struct ddsrt_log_cfg*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2619
    functionDepth: 4
    functionLinenumber: 2619
    functionLinenumberEnd: 2622
    functionName: ddsi_xqos_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 7
    functionsReached:
    - ddsi_xqos_valid_strictness
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xqos_valid (const struct ddsrt_log_cfg *logcfg, const
      dds_qos_t *xqos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_tables
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2629,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2656,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2657,1
    - Dst: partitions_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2668,1
    - Dst: equal_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2670,1
    - Dst: struct piddesc*::op::f::equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 7
    argNames:
    - pdelta
    - qdelta
    - srcx
    - srcy
    - shift
    - pmask
    - qmask
    argTypes:
    - uint64_t*
    - uint64_t*
    - void*
    - void*
    - size_t
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 2655
        line_start: 2655
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 2656
        line_start: 2656
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2678
      start: 2624
    functionDepth: 3
    functionLinenumber: 2624
    functionLinenumberEnd: 2678
    functionName: plist_or_xqos_delta
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_init_tables
    - assert
    - partitions_equal
    - struct piddesc*::op::f::equal
    - equal_generic
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_delta (uint64_t *pdelta, uint64_t *qdelta, const
      void *srcx, const void *srcy, size_t shift, uint64_t pmask, uint64_t qmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - y
    - mask
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2680
    functionDepth: 4
    functionLinenumber: 2680
    functionLinenumberEnd: 2685
    functionName: ddsi_xqos_delta
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 6
    functionsReached:
    - plist_or_xqos_delta
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsi_xqos_delta (const dds_qos_t *x, const dds_qos_t *y, uint64_t
      mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdelta
    - qdelta
    - x
    - y
    - pmask
    - qmask
    argTypes:
    - uint64_t*
    - uint64_t*
    - ddsi_plist_t*
    - ddsi_plist_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2687
    functionDepth: 4
    functionLinenumber: 2687
    functionLinenumberEnd: 2690
    functionName: ddsi_plist_delta
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_delta
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_delta (uint64_t *pdelta, uint64_t *qdelta, const ddsi_plist_t
      *x, const ddsi_plist_t *y, uint64_t pmask, uint64_t qmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - ddsi_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2699
    functionName: validate_external_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_external_duration (const ddsi_duration_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_history_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2704
    functionName: history_qospolicy_allzero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int history_qospolicy_allzero (const dds_history_qospolicy_t *q)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_history_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2727
    functionName: validate_history_qospolicy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_history_qospolicy (const dds_history_qospolicy_t
      *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_resource_limits_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2732
    functionName: resource_limits_qospolicy_allzero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int resource_limits_qospolicy_allzero (const dds_resource_limits_qospolicy_t
      *q)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_resource_limits_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2753
    functionName: validate_resource_limits_qospolicy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_resource_limits_qospolicy (const dds_resource_limits_qospolicy_t
      *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_history_qospolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2758,1
    - Dst: validate_resource_limits_qospolicy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2760,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - qh
    - qr
    argTypes:
    - dds_history_qospolicy_t*
    - dds_resource_limits_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2776
    functionName: validate_history_and_resource_limits
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - validate_resource_limits_qospolicy
    - validate_history_qospolicy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_history_and_resource_limits (const dds_history_qospolicy_t
      *qh, const dds_resource_limits_qospolicy_t *qr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: history_qospolicy_allzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2780,1
    - Dst: resource_limits_qospolicy_allzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - dds_durability_service_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2783
    functionName: durability_service_qospolicy_allzero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - history_qospolicy_allzero
    - resource_limits_qospolicy_allzero
    linkageType: ''
    returnType: int
    signature: int durability_service_qospolicy_allzero (const dds_durability_service_qospolicy_t
      *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: durability_service_qospolicy_allzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2788,1
    - Dst: validate_history_and_resource_limits
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - q
    - acceptzero
    argTypes:
    - dds_durability_service_qospolicy_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2785
    functionDepth: 2
    functionLinenumber: 2785
    functionLinenumberEnd: 2795
    functionName: validate_durability_service_qospolicy_acceptzero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - durability_service_qospolicy_allzero
    - validate_history_and_resource_limits
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t validate_durability_service_qospolicy_acceptzero (const
      dds_durability_service_qospolicy_t *q, bool acceptzero)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2808,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ls
    - present
    - wanted
    - fl
    - loc
    argTypes:
    - ddsi_locators_t*
    - uint64_t
    - uint64_t
    - uint64_t
    - ddsi_locator_t*
    assertStmts:
    - condition: (ls->last != NULL)
      pos:
        line_end: 2814
        line_start: 2814
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2821
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2821
    functionName: add_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void add_locator (ddsi_locators_t *ls, uint64_t present, uint64_t wanted,
      uint64_t fl, const ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - loc
    - prefixlen
    argTypes:
    - ddsi_locator_t*
    - size_t
    assertStmts:
    - condition: (prefixlen <= sizeof (loc->address))
      pos:
        line_end: 2824
        line_start: 2824
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2830
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2830
    functionName: locator_address_prefix_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool locator_address_prefix_zero (const ddsi_locator_t *loc, size_t
      prefixlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locator_address_prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2832
    functionDepth: 1
    functionLinenumber: 2832
    functionLinenumberEnd: 2835
    functionName: locator_address_zero
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - locator_address_prefix_zero
    linkageType: ''
    returnType: bool
    signature: bool locator_address_zero (const ddsi_locator_t *loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - gv
    - psmx_instance_id
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    assertStmts:
    - condition: (gv->interfaces[i].loc.kind == DDSI_LOCATOR_KIND_PSMX)
      pos:
        line_end: 2842
        line_start: 2842
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 2849
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2849
    functionName: is_valid_psmx_instance_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_valid_psmx_instance_id (const struct ddsi_domaingv *gv, uint32_t
      psmx_instance_id)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2858,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2859,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2860,1
    - Dst: ddsrt_bswap4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2863,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2864,1
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2867,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2875,1
    - Dst: locator_address_prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2877,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2882,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2886,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2891,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2893,1
    - Dst: locator_address_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2900,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2910,1
    - Dst: locator_address_prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2912,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2916,1
    - Dst: is_valid_psmx_instance_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2918,1
    - Dst: add_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2920,1
    - Dst: add_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2926,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 6
    argNames:
    - ls
    - present
    - wanted
    - fl
    - dd
    - gv
    argTypes:
    - ddsi_locators_t*
    - uint64_t
    - uint64_t
    - uint64_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2851
    functionDepth: 2
    functionLinenumber: 2851
    functionLinenumberEnd: 2928
    functionName: do_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - add_locator
    - ddsi_factory_find_supported_kind
    - memcpy
    - locator_address_zero
    - ddsrt_bswap4u
    - ddsi_is_valid_port
    - is_valid_psmx_instance_id
    - locator_address_prefix_zero
    - ddsi_vendor_is_eclipse
    - ddsi_factory_supports
    - ddsrt_bswap4
    linkageType: ''
    returnType: enum do_locator_result
    signature: enum do_locator_result do_locator (ddsi_locators_t *ls, uint64_t present,
      uint64_t wanted, uint64_t fl, const struct dd *dd, struct ddsi_domaingv const
      * const gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2934,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - loc
    - a
    - p
    argTypes:
    - ddsi_locator_t*
    - ddsi_ipv4address_t*
    - ddsi_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2930
    functionDepth: 2
    functionLinenumber: 2930
    functionLinenumberEnd: 2936
    functionName: locator_from_ipv4address_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void locator_from_ipv4address_port (ddsi_locator_t *loc, const ddsi_ipv4address_t
      *a, const ddsi_port_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2980,1
    - Dst: locator_from_ipv4address_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2994,1
    - Dst: add_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:2995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - dest
    - dest_tmp
    - wanted
    - fl_tmp
    - dd
    argTypes:
    - ddsi_plist_t*
    - ddsi_ipaddress_params_tmp_t*
    - uint64_t
    - uint32_t
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2938
    functionDepth: 3
    functionLinenumber: 2938
    functionLinenumberEnd: 3000
    functionName: do_ipv4address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - add_locator
    - memcpy
    - locator_from_ipv4address_port
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t do_ipv4address (ddsi_plist_t *dest, ddsi_ipaddress_params_tmp_t
      *dest_tmp, uint64_t wanted, uint32_t fl_tmp, const struct dd *dd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3037,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3039,1
    - Dst: locator_from_ipv4address_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3049,1
    - Dst: add_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3050,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - dest
    - dest_tmp
    - wanted
    - fl_tmp
    - dd
    argTypes:
    - ddsi_plist_t*
    - ddsi_ipaddress_params_tmp_t*
    - uint64_t
    - uint32_t
    - struct dd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3002
    functionDepth: 3
    functionLinenumber: 3002
    functionLinenumberEnd: 3055
    functionName: do_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - memcpy
    - locator_from_ipv4address_port
    - add_locator
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t do_port (ddsi_plist_t *dest, ddsi_ipaddress_params_tmp_t
      *dest_tmp, uint64_t wanted, uint32_t fl_tmp, const struct dd *dd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plist
    - pid
    argTypes:
    - ddsi_plist_t*
    - ddsi_parameterid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3066
    functionName: return_unrecognized_pid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t return_unrecognized_pid (ddsi_plist_t *plist, ddsi_parameterid_t
      pid)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: XA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3097,1
    - Dst: XA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3098,1
    - Dst: XP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3099,1
    - Dst: XA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3100,1
    - Dst: XP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3101,1
    - Dst: XA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3102,1
    - Dst: XP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3103,1
    - Dst: return_unrecognized_pid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3112,1
    - Dst: return_unrecognized_pid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3114,1
    - Dst: return_unrecognized_pid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3116,1
    - Dst: pid_to_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3121,1
    - Dst: return_unrecognized_pid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3123,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3124,1
    - Dst: pid_to_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3124,1
    - Dst: pid_to_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3124,1
    - Dst: return_unrecognized_pid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3126,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3127,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3148,1
    - Dst: struct piddesc*::op::f::deser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3168,1
    - Dst: struct piddesc*::op::f::valid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3170,1
    - Dst: deser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3173,1
    - Dst: struct piddesc*::deser_validate_xform
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3175,1
    - Dst: prtf_octetseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3180,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3181,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 7
    argNames:
    - plist
    - dest_tmp
    - pwanted
    - qwanted
    - pid
    - dd
    - gv
    argTypes:
    - ddsi_plist_t*
    - ddsi_ipaddress_params_tmp_t*
    - uint64_t
    - uint64_t
    - uint16_t
    - struct dd*
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (pid_to_index (pid) == pid_to_index (entry->pid))
      pos:
        line_end: 3123
        line_start: 3123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (pid != DDSI_PID_PAD)
      pos:
        line_end: 3126
        line_start: 3126
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 3187
      start: 3068
    functionDepth: 5
    functionLinenumber: 3068
    functionLinenumberEnd: 3187
    functionName: init_one_parameter
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - struct piddesc*::op::f::valid
    - struct piddesc*::op::f::deser
    - pid_to_index
    - deser_generic
    - assert
    - XA
    - return_unrecognized_pid
    - struct piddesc*::deser_validate_xform
    - prtf_octetseq
    - XP
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t init_one_parameter (ddsi_plist_t *plist, ddsi_ipaddress_params_tmp_t
      *dest_tmp, uint64_t pwanted, uint64_t qwanted, uint16_t pid, const struct dd
      *dd, struct ddsi_domaingv const * const gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3096
    functionName: XA
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XA(NAME_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3097
    functionName: XP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XP(NAME_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - pmask
    - qmask
    argTypes:
    - ddsi_plist_t*
    - ddsi_plist_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3189
    functionDepth: 4
    functionLinenumber: 3189
    functionLinenumberEnd: 3192
    functionName: ddsi_plist_mergein_missing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached:
    - plist_or_xqos_mergein_missing
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_mergein_missing (ddsi_plist_t *a, const ddsi_plist_t
      *b, uint64_t pmask, uint64_t qmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - mask
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3194
    functionDepth: 4
    functionLinenumber: 3194
    functionLinenumberEnd: 3197
    functionName: ddsi_xqos_mergein_missing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 21
    functionsReached:
    - plist_or_xqos_mergein_missing
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_mergein_missing (dds_qos_t *a, const dds_qos_t *b, uint64_t
      mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3201,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_plist_t*
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3199
    functionDepth: 5
    functionLinenumber: 3199
    functionLinenumberEnd: 3203
    functionName: ddsi_plist_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached:
    - ddsi_plist_init_empty
    - ddsi_plist_mergein_missing
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_copy (ddsi_plist_t *dst, const ddsi_plist_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3208,1
    - Dst: ddsi_plist_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3209,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - ddsi_plist_t*
    assertStmts:
    - condition: (dst->aliased == 0)
      pos:
        line_end: 3209
        line_start: 3209
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 3212
      start: 3205
    functionDepth: 6
    functionLinenumber: 3205
    functionLinenumberEnd: 3212
    functionName: ddsi_plist_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_malloc
    - ddsi_plist_copy
    linkageType: ''
    returnType: ddsi_plist_t
    signature: ddsi_plist_t *ddsi_plist_dup (const ddsi_plist_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3217,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dest
    argTypes:
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3221
    functionName: ddsi_plist_init_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 11
    functionsReached:
    - ddsi_xqos_init_empty
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_init_empty (ddsi_plist_t *dest)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: validate_history_and_resource_limits
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3246,1
    - Dst: protocol_version_is_newer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3273,1
    - Dst: ddsi_vendor_is_twinoaks
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3276,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3278,1
    - Dst: durability_service_qospolicy_allzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3284,1
    - Dst: validate_durability_service_qospolicy_acceptzero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3294,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 5
    argNames:
    - dest
    - protocol_version
    - vendorid
    - dursvc_accepted_allzero
    - strict
    argTypes:
    - dds_qos_t*
    - ddsi_protocol_version_t
    - ddsi_vendorid_t
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3223
    functionDepth: 3
    functionLinenumber: 3223
    functionLinenumberEnd: 3298
    functionName: final_validation_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - ddsi_vendor_is_twinoaks
    - durability_service_qospolicy_allzero
    - validate_history_and_resource_limits
    - validate_durability_service_qospolicy_acceptzero
    - ddsi_vendor_is_eclipse
    - protocol_version_is_newer
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t final_validation_qos (const dds_qos_t *dest, ddsi_protocol_version_t
      protocol_version, ddsi_vendorid_t vendorid, bool *dursvc_accepted_allzero, bool
      strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: final_validation_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dest
    - protocol_version
    - vendorid
    - dursvc_accepted_allzero
    - strict
    argTypes:
    - ddsi_plist_t*
    - ddsi_protocol_version_t
    - ddsi_vendorid_t
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3300
    functionDepth: 4
    functionLinenumber: 3300
    functionLinenumberEnd: 3303
    functionName: final_validation
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - final_validation_qos
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t final_validation (ddsi_plist_t *dest, ddsi_protocol_version_t
      protocol_version, ddsi_vendorid_t vendorid, bool *dursvc_accepted_allzero, bool
      strict)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3446,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3450,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3462,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3470,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - buf
    - bufsz
    - encoding
    - needle
    - needlep
    - needlesz
    argTypes:
    - void*
    - size_t
    - uint16_t
    - ddsi_parameterid_t
    - void**
    - size_t*
    assertStmts:
    - condition: (needle == DDSI_PID_SENTINEL || (needlep != NULL && needlesz != NULL))
      pos:
        line_end: 3445
        line_start: 3445
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 3487
      start: 3443
    functionDepth: 1
    functionLinenumber: 3443
    functionLinenumberEnd: 3487
    functionName: ddsi_plist_findparam_checking
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - assert
    - ddsrt_bswap2u
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_plist_findparam_checking (const void *buf, size_t
      bufsz, uint16_t encoding, ddsi_parameterid_t needle, void **needlep, size_t
      *needlesz)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3515,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3519,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3526,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3527,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3534,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3540,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3551,1
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3559,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3568,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3578,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3586,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 4
    argNames:
    - dest
    - keyhashp
    - src
    - gv
    argTypes:
    - struct ddsi_rsample_info*
    - ddsi_keyhash_t**
    - ddsi_plist_src_t*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3489
    functionDepth: 1
    functionLinenumber: 3489
    functionLinenumberEnd: 3589
    functionName: ddsi_plist_quickscan
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsrt_fromBE4u
    - ddsrt_bswap2u
    - GVTRACE
    - GVLOG
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ddsi_plist_quickscan (struct ddsi_rsample_info *dest,
      const ddsi_keyhash_t **keyhashp, const ddsi_plist_src_t *src, struct ddsi_domaingv
      const * const gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dest
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3597
    functionName: ddsi_xqos_init_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_init_empty (dds_qos_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3748,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3750
      start: 3746
    functionDepth: 5
    functionLinenumber: 3746
    functionLinenumberEnd: 3750
    functionName: ddsi_xqos_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 9
    functionsReached:
    - ddsi_xqos_mergein_missing
    - ddsi_xqos_init_empty
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_copy (dds_qos_t *dst, const dds_qos_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3754,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - xqos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3752
    functionDepth: 5
    functionLinenumber: 3752
    functionLinenumberEnd: 3759
    functionName: ddsi_xqos_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 8
    functionsReached:
    - plist_or_xqos_fini
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_fini (dds_qos_t *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xqos
    - mask
    argTypes:
    - dds_qos_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3761
    functionDepth: 5
    functionLinenumber: 3761
    functionLinenumberEnd: 3766
    functionName: ddsi_xqos_fini_mask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_fini_mask (dds_qos_t *xqos, uint64_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xqos
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3768
    functionDepth: 4
    functionLinenumber: 3768
    functionLinenumberEnd: 3771
    functionName: ddsi_xqos_unalias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_unalias
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_unalias (dds_qos_t *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3775,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3776,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - dds_qos_t*
    assertStmts:
    - condition: (dst->aliased == 0)
      pos:
        line_end: 3776
        line_start: 3776
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 3779
      start: 3773
    functionDepth: 6
    functionLinenumber: 3773
    functionLinenumberEnd: 3779
    functionName: ddsi_xqos_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_malloc
    - ddsi_xqos_copy
    linkageType: ''
    returnType: dds_qos_t
    signature: dds_qos_t * ddsi_xqos_dup (const dds_qos_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3788,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3792,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3793,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3800,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3808,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3811,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - q
    - propagate
    - name
    - value
    argTypes:
    - dds_qos_t*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3781
    functionDepth: 2
    functionLinenumber: 3781
    functionLinenumberEnd: 3815
    functionName: ddsi_xqos_add_property_if_unset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 4
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - strcmp
    - dds_realloc
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xqos_add_property_if_unset (dds_qos_t *q, bool propagate,
      const char *name, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3821,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - xqos
    - nameprefix
    argTypes:
    - dds_qos_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3817
    functionDepth: 0
    functionLinenumber: 3817
    functionLinenumberEnd: 3828
    functionName: ddsi_xqos_has_prop_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xqos_has_prop_prefix (const dds_qos_t *xqos, const char *nameprefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - xqos
    - name
    - value
    argTypes:
    - dds_qos_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3844
    functionName: ddsi_xqos_find_prop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xqos_find_prop (const dds_qos_t *xqos, const char *name,
      const char **value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3849,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prop
    - name
    - value
    argTypes:
    - dds_property_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3847
    functionDepth: 1
    functionLinenumber: 3847
    functionLinenumberEnd: 3852
    functionName: fill_property
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void fill_property(dds_property_t *prop, const char *name, const char
      *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3861,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3873,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3875,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3876,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3877,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3878,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3879,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3880,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3881,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3882,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3883,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3885,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3886,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3887,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3888,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3889,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3890,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3892,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3894,1
    - Dst: fill_property
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - xqos
    - cfg
    argTypes:
    - dds_qos_t*
    - struct ddsi_config_omg_security*
    assertStmts:
    - condition: (cfg != NULL)
      pos:
        line_end: 3860
        line_start: 3860
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 3897
      start: 3859
    functionDepth: 2
    functionLinenumber: 3859
    functionLinenumberEnd: 3897
    functionName: ddsi_xqos_mergein_security_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_realloc
    - fill_property
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_mergein_security_config (dds_qos_t *xqos, const struct
      ddsi_config_omg_security *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - dds_partition_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3900
    functionDepth: 0
    functionLinenumber: 3900
    functionLinenumberEnd: 3907
    functionName: partition_is_default
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int partition_is_default (const dds_partition_qospolicy_t *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_partition_qospolicy_t*
    - dds_partition_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3909
    functionDepth: 0
    functionLinenumber: 3909
    functionLinenumberEnd: 3921
    functionName: partitions_equal_n2
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int partitions_equal_n2 (const dds_partition_qospolicy_t *a, const
      dds_partition_qospolicy_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3923
    functionDepth: 0
    functionLinenumber: 3923
    functionLinenumberEnd: 3928
    functionName: strcmp_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int strcmp_wrapper (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3939,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3943,1
    - Dst: bsearch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3945,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_partition_qospolicy_t*
    - dds_partition_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 3953
    functionName: partitions_equal_nlogn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_malloc
    - ddsrt_free
    - bsearch
    linkageType: ''
    returnType: int
    signature: int partitions_equal_nlogn (const dds_partition_qospolicy_t *a, const
      dds_partition_qospolicy_t *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3965,1
    - Dst: partition_is_default
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3967,1
    - Dst: partition_is_default
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3968,1
    - Dst: partitions_equal_n2
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3986,1
    - Dst: partitions_equal_nlogn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - srca
    - srcb
    - 'off'
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3993
      start: 3955
    functionDepth: 1
    functionLinenumber: 3955
    functionLinenumberEnd: 3993
    functionName: partitions_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - partitions_equal_nlogn
    - strcmp
    - partitions_equal_n2
    - partition_is_default
    linkageType: ''
    returnType: int
    signature: int partitions_equal (const void *srca, const void *srcb, size_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_addtomsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:3999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m
    - xqos
    - wanted
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - dds_qos_t*
    - uint64_t
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4000
      start: 3997
    functionDepth: 6
    functionLinenumber: 3997
    functionLinenumberEnd: 4000
    functionName: ddsi_xqos_addtomsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_addtomsg
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_addtomsg (struct ddsi_xmsg *m, const dds_qos_t *xqos,
      uint64_t wanted, enum ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_addtomsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - m
    - ps
    - pwanted
    - qwanted
    - bo
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_plist_t*
    - uint64_t
    - uint64_t
    - enum ddsrt_byte_order_selector
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4005
      start: 4002
    functionDepth: 6
    functionLinenumber: 4002
    functionLinenumberEnd: 4005
    functionName: ddsi_plist_addtomsg_bo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_addtomsg
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_addtomsg_bo (struct ddsi_xmsg *m, const ddsi_plist_t
      *ps, uint64_t pwanted, uint64_t qwanted, enum ddsrt_byte_order_selector bo,
      enum ddsi_plist_context_kind context_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_addtomsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - m
    - ps
    - pwanted
    - qwanted
    - context_kind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_plist_t*
    - uint64_t
    - uint64_t
    - enum ddsi_plist_context_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 4007
    functionDepth: 6
    functionLinenumber: 4007
    functionLinenumberEnd: 4010
    functionName: ddsi_plist_addtomsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - plist_or_xqos_addtomsg
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_addtomsg (struct ddsi_xmsg *m, const ddsi_plist_t *ps,
      uint64_t pwanted, uint64_t qwanted, enum ddsi_plist_context_kind context_kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4044,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4045,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4049,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4050,1
    - Dst: tolower
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4052,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4054,1
    - Dst: print_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4059,1
    - Dst: struct piddesc*::op::f::print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4061,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - buf
    - bufsize
    - src
    - shift
    - pwanted
    - qwanted
    argTypes:
    - char**
    - size_t*
    - void*
    - size_t
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (entry->plist_offset >= shift)
      pos:
        line_end: 4043
        line_start: 4043
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (namelen < sizeof (lcname))
      pos:
        line_end: 4049
        line_start: 4049
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - condition: (shift == 0 || entry->plist_offset - shift < sizeof (dds_qos_t))
      pos:
        line_end: 4044
        line_start: 4044
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    constantsTouched: []
    func_position:
      end: 4067
      start: 4014
    functionDepth: 4
    functionLinenumber: 4014
    functionLinenumberEnd: 4067
    functionName: plist_or_xqos_print
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - print_generic
    - assert
    - strlen
    - struct piddesc*::op::f::print
    - prtf
    - tolower
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_print (char * restrict *buf, size_t * restrict bufsize,
      const void *src, size_t shift, uint64_t pwanted, uint64_t qwanted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4075,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cat
    - logcfg
    - src
    - shift
    - pwanted
    - qwanted
    argTypes:
    - uint32_t
    - struct ddsrt_log_cfg*
    - void*
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4078
      start: 4069
    functionDepth: 5
    functionLinenumber: 4069
    functionLinenumberEnd: 4078
    functionName: plist_or_xqos_log
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - plist_or_xqos_print
    linkageType: ''
    returnType: void
    signature: void plist_or_xqos_log (uint32_t cat, const struct ddsrt_log_cfg *logcfg,
      const void *src, size_t shift, uint64_t pwanted, uint64_t qwanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4083,1
    - Dst: plist_or_xqos_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4084,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufsize
    - xqos
    argTypes:
    - char*
    - size_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4087
      start: 4080
    functionDepth: 5
    functionLinenumber: 4080
    functionLinenumberEnd: 4087
    functionName: ddsi_xqos_print
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_print
    - prtf
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_xqos_print (char *buf, size_t bufsize, const dds_qos_t
      *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4092,1
    - Dst: plist_or_xqos_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4093,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufsize
    - plist
    argTypes:
    - char*
    - size_t
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 4089
    functionDepth: 5
    functionLinenumber: 4089
    functionLinenumberEnd: 4096
    functionName: ddsi_plist_print
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 1
    functionsReached:
    - plist_or_xqos_print
    - prtf
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_plist_print (char *buf, size_t bufsize, const ddsi_plist_t
      *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cat
    - logcfg
    - xqos
    argTypes:
    - uint32_t
    - struct ddsrt_log_cfg*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4098
    functionDepth: 6
    functionLinenumber: 4098
    functionLinenumberEnd: 4101
    functionName: ddsi_xqos_log
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 7
    functionsReached:
    - plist_or_xqos_log
    linkageType: ''
    returnType: void
    signature: void ddsi_xqos_log (uint32_t cat, const struct ddsrt_log_cfg *logcfg,
      const dds_qos_t *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plist_or_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cat
    - logcfg
    - plist
    argTypes:
    - uint32_t
    - struct ddsrt_log_cfg*
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4103
    functionDepth: 6
    functionLinenumber: 4103
    functionLinenumberEnd: 4106
    functionName: ddsi_plist_log
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - plist_or_xqos_log
    linkageType: ''
    returnType: void
    signature: void ddsi_plist_log (uint32_t cat, const struct ddsrt_log_cfg *logcfg,
      const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c:4111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - bufsize
    - src
    - desc
    argTypes:
    - char*
    - size_t
    - void*
    - enum ddsi_pserop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4108
    functionDepth: 4
    functionLinenumber: 4108
    functionLinenumberEnd: 4113
    functionName: ddsi_plist_print_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    functionUses: 0
    functionsReached:
    - print_generic
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_plist_print_generic (char *buf, size_t bufsize, const void
      *src, const enum ddsi_pserop *desc)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:42,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:43,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:60,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:65,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:72,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:77,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:84,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:89,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:94,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:96,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:101,1
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:103,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:112,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts:
    - condition: (src)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (dst)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 118
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 118
    functionName: ddsi_typeid_copy_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 5
    functionsReached:
    - ddsi_typeid_dup_impl
    - assert
    - ddsrt_memdup
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_copy_impl (struct DDS_XTypes_TypeIdentifier *dst,
      const struct DDS_XTypes_TypeIdentifier *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_typeid_t*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ddsi_typeid_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 2
    functionsReached:
    - ddsi_typeid_copy_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_copy (ddsi_typeid_t *dst, const ddsi_typeid_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ddsi_typeid_copy_to_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_copy_to_impl (struct DDS_XTypes_TypeIdentifier *dst,
      const ddsi_typeid_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:132,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:134,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: ddsi_typeid_dup_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsi_typeid_is_none_impl
    - ddsrt_malloc
    linkageType: ''
    returnType: struct DDS_XTypes_TypeIdentifier
    signature: struct DDS_XTypes_TypeIdentifier * ddsi_typeid_dup_impl (const struct
      DDS_XTypes_TypeIdentifier *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ddsi_typeid_dup_from_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_dup_impl
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t * ddsi_typeid_dup_from_impl (const struct DDS_XTypes_TypeIdentifier
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_dup_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: ddsi_typeid_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 2
    functionsReached:
    - ddsi_typeid_dup_impl
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t * ddsi_typeid_dup (const ddsi_typeid_t *src)
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 1
    argNames:
    - disc
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 196
    functionName: ddsi_typekind_descr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ddsi_typekind_descr (unsigned char disc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_PlainCollectionHeader
    - struct DDS_XTypes_PlainCollectionHeader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: plain_collection_header_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plain_collection_header_compare (struct DDS_XTypes_PlainCollectionHeader
      a, struct DDS_XTypes_PlainCollectionHeader b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DDS_XTypes_EquivalenceHash
    - DDS_XTypes_EquivalenceHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: equivalence_hash_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int equivalence_hash_compare (const DDS_XTypes_EquivalenceHash a, const
      DDS_XTypes_EquivalenceHash b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equivalence_hash_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_TypeObjectHashId
    - struct DDS_XTypes_TypeObjectHashId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: type_object_hashid_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - equivalence_hash_compare
    linkageType: ''
    returnType: int
    signature: int type_object_hashid_compare (struct DDS_XTypes_TypeObjectHashId
      a, struct DDS_XTypes_TypeObjectHashId b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type_object_hashid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_StronglyConnectedComponentId
    - struct DDS_XTypes_StronglyConnectedComponentId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: strongly_connected_component_id_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - type_object_hashid_compare
    linkageType: ''
    returnType: int
    signature: int strongly_connected_component_id_compare (struct DDS_XTypes_StronglyConnectedComponentId
      a, struct DDS_XTypes_StronglyConnectedComponentId b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_TypeIdentifierWithSize*
    - struct DDS_XTypes_TypeIdentifierWithSize*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: type_id_with_size_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare_impl
    linkageType: ''
    returnType: bool
    signature: bool type_id_with_size_equal (const struct DDS_XTypes_TypeIdentifierWithSize
      *a, const struct DDS_XTypes_TypeIdentifierWithSize *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: type_id_with_size_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dds_sequence_DDS_XTypes_TypeIdentifierWithSize*
    - struct dds_sequence_DDS_XTypes_TypeIdentifierWithSize*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: type_id_with_sizeseq_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - type_id_with_size_equal
    linkageType: ''
    returnType: bool
    signature: bool type_id_with_sizeseq_equal (const struct dds_sequence_DDS_XTypes_TypeIdentifierWithSize
      *a, const struct dds_sequence_DDS_XTypes_TypeIdentifierWithSize *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_id_with_size_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:253,1
    - Dst: type_id_with_sizeseq_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - deps
    argTypes:
    - struct DDS_XTypes_TypeIdentifierWithDependencies*
    - struct DDS_XTypes_TypeIdentifierWithDependencies*
    - enum ddsi_type_include_deps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ddsi_type_id_with_deps_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - type_id_with_size_equal
    - type_id_with_sizeseq_equal
    linkageType: ''
    returnType: bool
    signature: bool ddsi_type_id_with_deps_equal (const struct DDS_XTypes_TypeIdentifierWithDependencies
      *a, const struct DDS_XTypes_TypeIdentifierWithDependencies *b, enum ddsi_type_include_deps
      deps)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:282,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:284,1
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:290,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:292,1
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:298,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:303,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:306,1
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:308,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:313,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:316,1
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:318,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:322,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:326,1
    - Dst: plain_collection_header_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:328,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:332,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:336,1
    - Dst: strongly_connected_component_id_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:338,1
    - Dst: equivalence_hash_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:341,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:343,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 346
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 346
    functionName: ddsi_typeid_compare_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 5
    functionsReached:
    - strongly_connected_component_id_compare
    - memcmp
    - assert
    - ddsi_typeid_compare_impl
    - plain_collection_header_compare
    - equivalence_hash_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_typeid_compare_impl (const struct DDS_XTypes_TypeIdentifier
      *a, const struct DDS_XTypes_TypeIdentifier *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_typeid_t*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: ddsi_typeid_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 6
    functionsReached:
    - ddsi_typeid_compare_impl
    linkageType: ''
    returnType: int
    signature: int ddsi_typeid_compare (const ddsi_typeid_t *a, const ddsi_typeid_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_writeLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:356,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type_id
    - buf
    - sz
    argTypes:
    - ddsi_typeid_t*
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: ddsi_typeid_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - dds_stream_writeLE
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_ser (const ddsi_typeid_t *type_id, unsigned char **buf,
      uint32_t *sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: ddsi_typeid_fini_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 4
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_fini_impl (struct DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: ddsi_typeid_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 7
    functionsReached:
    - ddsi_typeid_fini_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_fini (ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: ddsi_typeid_is_none_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_none_impl (const struct DDS_XTypes_TypeIdentifier
      *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: ddsi_typeid_is_none
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 4
    functionsReached:
    - ddsi_typeid_is_none_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_none (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:387,1
    - Dst: ddsi_typeid_is_complete_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: ddsi_typeid_is_hash_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_is_minimal_impl
    - ddsi_typeid_is_complete_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_hash_impl (const struct DDS_XTypes_TypeIdentifier
      *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_hash_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: ddsi_typeid_is_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 3
    functionsReached:
    - ddsi_typeid_is_hash_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_hash (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: ddsi_typeid_is_minimal_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_minimal_impl (const struct DDS_XTypes_TypeIdentifier
      *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: ddsi_typeid_is_minimal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_is_minimal_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_minimal (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: ddsi_typeid_is_complete_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_complete_impl (const struct DDS_XTypes_TypeIdentifier
      *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_complete_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: ddsi_typeid_is_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_is_complete_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_complete (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: ddsi_typeid_is_fully_descriptive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_kind_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeid_is_fully_descriptive (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:422,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:422,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_id
    - hash
    argTypes:
    - ddsi_typeid_t*
    - DDS_XTypes_EquivalenceHash*
    assertStmts:
    - condition: (ddsi_typeid_is_hash (type_id))
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: ddsi_typeid_get_equivalence_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 3
    functionsReached:
    - memcpy
    - assert
    - ddsi_typeid_is_hash
    linkageType: ''
    returnType: void
    signature: void ddsi_typeid_get_equivalence_hash (const ddsi_typeid_t *type_id,
      DDS_XTypes_EquivalenceHash *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:428,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:429,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:430,1
    - Dst: dds_stream_writeLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:432,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:435,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:440,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:441,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:442,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:444,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - type_obj
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeObject*
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts:
    - condition: (type_obj)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (type_id)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (type_obj->_d == DDS_XTypes_EK_MINIMAL || type_obj->_d == DDS_XTypes_EK_COMPLETE)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 446
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 446
    functionName: ddsi_typeobj_get_hash_id_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ddsrt_md5_finish
    - dds_stream_writeLE
    - ddsrt_md5_init
    - abort
    - dds_ostreamLE_fini
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void ddsi_typeobj_get_hash_id_impl (const struct DDS_XTypes_TypeObject
      *type_obj, struct DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeobj_get_hash_id_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - type_obj
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeObject*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: ddsi_typeobj_get_hash_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 2
    functionsReached:
    - ddsi_typeobj_get_hash_id_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_typeobj_get_hash_id (const struct DDS_XTypes_TypeObject
      *type_obj, ddsi_typeid_t *type_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - type_obj
    argTypes:
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: ddsi_typeobj_get_type_name_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ddsi_typeobj_get_type_name_impl (const struct DDS_XTypes_TypeObject
      *type_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - typeobj
    argTypes:
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: ddsi_typeobj_fini_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_typeobj_fini_impl (struct DDS_XTypes_TypeObject *typeobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - typeobj
    argTypes:
    - ddsi_typeobj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: ddsi_typeobj_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_typeobj_fini_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_typeobj_fini (ddsi_typeobj_t *typeobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xtcc
    - hdr
    argTypes:
    - struct xt_collection_common*
    - struct DDS_XTypes_PlainCollectionHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: xt_collection_common_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xt_collection_common_init (struct xt_collection_common *xtcc,
      const struct DDS_XTypes_PlainCollectionHeader *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lb
    - sb
    argTypes:
    - struct DDS_XTypes_LBoundSeq*
    - struct DDS_XTypes_SBoundSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: xt_sbounds_to_lbounds
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void xt_sbounds_to_lbounds (struct DDS_XTypes_LBoundSeq *lb, const
      struct DDS_XTypes_SBoundSeq *sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:511,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sb
    - lb
    argTypes:
    - struct DDS_XTypes_SBoundSeq*
    - struct DDS_XTypes_LBoundSeq*
    assertStmts:
    - condition: (lb->_buffer[n] <= 255)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: xt_lbounds_to_sbounds
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void xt_lbounds_to_sbounds (struct DDS_XTypes_SBoundSeq *sb, const
      struct DDS_XTypes_LBoundSeq *lb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_LBoundSeq*
    - struct DDS_XTypes_LBoundSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: xt_lbounds_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void xt_lbounds_dup (struct DDS_XTypes_LBoundSeq *dst, const struct
      DDS_XTypes_LBoundSeq *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:532,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:533,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:533,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:534,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name_hash
    - name
    argTypes:
    - DDS_XTypes_NameHash
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: ddsi_xt_get_namehash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_md5_finish
    - strlen
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_namehash (DDS_XTypes_NameHash name_hash, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:542,1
    - Dst: ddsi_xt_get_namehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:543,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:546,1
    - Dst: DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:547,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:556,1
    - Dst: DDS_XTypes_AppliedAnnotationSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_member_detail*
    - DDS_XTypes_CompleteMemberDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 563
    functionName: set_member_detail
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
    - ddsrt_calloc
    - ddsrt_strlcpy
    - ddsi_xt_get_namehash
    - DDS_XTypes_AppliedAnnotationSeq_copy
    linkageType: ''
    returnType: void
    signature: void set_member_detail (struct xt_member_detail *dst, const DDS_XTypes_CompleteMemberDetail
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: ddsi_xt_is_unresolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xt_is_unresolved (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: ddsi_xt_is_resolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_is_unresolved
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xt_is_resolved (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: ddsi_xt_unalias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_xt_unalias
    linkageType: ''
    returnType: struct xt_type
    signature: struct xt_type *ddsi_xt_unalias (const struct xt_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:585,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:590,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:590,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (t->_u.structure.base_type)
      pos:
        line_end: 584
        line_start: 584
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 596
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 596
    functionName: xt_valid_struct_base_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_unalias
    - assert
    - GVTRACE
    - ddsi_xt_is_resolved
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_struct_base_type (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:600,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:602,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: xt_valid_union_disc_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_unalias
    - GVTRACE
    - ddsi_xt_is_unresolved
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_union_disc_type (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: xt_member_id_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xt_member_id_cmp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:623,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:623,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:627,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:635,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:638,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:644,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:649,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:654,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:661,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (ddsi_xt_is_resolved (t) && t->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 665
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 665
    functionName: xt_valid_struct_member_ids
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_free
    - assert
    - ddsi_xt_is_resolved
    - ddsrt_malloc
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_struct_member_ids (struct ddsi_domaingv *gv,
      const struct xt_type *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:669,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:669,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:675,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:680,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:683,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:690,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:695,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (ddsi_xt_is_resolved (t) && t->_d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 705
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 705
    functionName: xt_valid_union_member_ids
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_free
    - assert
    - ddsi_xt_is_resolved
    - ddsrt_malloc
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_union_member_ids (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: xt_enum_value_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xt_enum_value_cmp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:715,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:715,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:721,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:726,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:729,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:736,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:741,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:748,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (ddsi_xt_is_resolved (t) && t->_d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 751
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 751
    functionName: xt_valid_enum_values
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_free
    - assert
    - ddsi_xt_is_resolved
    - ddsrt_malloc
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_enum_values (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: xt_bitmask_position_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xt_bitmask_position_cmp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:761,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:761,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:766,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:771,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:774,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:781,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:786,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (ddsi_xt_is_resolved (t) && t->_d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 796
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 796
    functionName: xt_valid_bitmask_positions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_free
    - assert
    - ddsi_xt_is_resolved
    - ddsrt_malloc
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_bitmask_positions (struct ddsi_domaingv *gv,
      const struct xt_type *t)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:839,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - gv
    - flags
    - type_kind
    argTypes:
    - struct ddsi_domaingv*
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 841
    functionName: xt_valid_type_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_type_flags (struct ddsi_domaingv *gv, uint16_t
      flags, uint8_t type_kind)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:905,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 4
    argNames:
    - gv
    - flags
    - member_flag_kind
    - in_key
    argTypes:
    - struct ddsi_domaingv*
    - uint16_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 907
    functionName: xt_valid_member_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_member_flags (struct ddsi_domaingv *gv, uint16_t
      flags, uint8_t member_flag_kind, bool in_key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT_IS_UNSIGNED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:926,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:931,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - gv
    - arr
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 939
    functionName: xt_valid_array_bounds
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_unalias
    - DDSRT_STATIC_ASSERT_IS_UNSIGNED
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_valid_array_bounds (struct ddsi_domaingv *gv, const
      struct xt_type *arr)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_non_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:945,1
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:948,1
    - Dst: xt_valid_struct_base_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:956,1
    - Dst: xt_valid_struct_member_ids
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:957,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:958,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:962,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:983,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:985,1
    - Dst: xt_valid_union_disc_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:990,1
    - Dst: xt_valid_union_member_ids
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:991,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:992,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:993,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:999,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1001,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1007,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1016,1
    - Dst: xt_valid_enum_values
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1017,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1022,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1026,1
    - Dst: xt_valid_bitmask_positions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1027,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1032,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1036,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1037,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1038,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1042,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1046,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1050,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1051,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1052,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1056,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1057,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1058,1
    - Dst: xt_valid_array_bounds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1059,1
    - Dst: xt_valid_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1063,1
    - Dst: xt_valid_member_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1064,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1065,1
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1066,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 102
    argCount: 4
    argNames:
    - gv
    - t
    - validate_hash_type
    - in_key
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 1080
    functionName: xt_validate_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - xt_valid_array_bounds
    - xt_valid_member_flags
    - xt_valid_struct_member_ids
    - xt_valid_type_flags
    - xt_valid_enum_values
    - xt_valid_bitmask_positions
    - ddsi_xt_is_resolved
    - xt_valid_union_member_ids
    - ddsi_xt_is_unresolved
    - xt_is_non_hash
    - xt_valid_union_disc_type
    - xt_valid_struct_base_type
    - GVTRACE
    - xt_validate_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xt_validate_impl (struct ddsi_domaingv *gv, const struct
      xt_type *t, bool validate_hash_type, bool in_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_validate_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1085
    functionName: ddsi_xt_validate
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_validate_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xt_validate (struct ddsi_domaingv *gv, const struct
      xt_type *t)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1095,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1103,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1114,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1120,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1125,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1128,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1130,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1131,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1134,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1140,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1144,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1149,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1153,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1154,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1156,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1157,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1163,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1170,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1177,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1185,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1191,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1198,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1201,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1205,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1208,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1210,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1219,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1224,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1232,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1237,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 154
    argCount: 3
    argNames:
    - gv
    - xt
    - to
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1087
    functionDepth: 2
    functionLinenumber: 1087
    functionLinenumberEnd: 1251
    functionName: add_minimal_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_lbounds_dup
    - ddsrt_calloc
    - ddsrt_free
    - ddsi_type_unref_locked
    - memcpy
    - ddsrt_memdup
    - ddsi_type_register_dep
    - GVTRACE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_minimal_typeobj (struct ddsi_domaingv *gv, struct
      xt_type *xt, const struct DDS_XTypes_TypeObject *to)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1268,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1271,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1282,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1287,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1289,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1294,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1298,1
    - Dst: xt_applied_member_annotations_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1299,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1302,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1303,1
    - Dst: set_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1306,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1311,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1314,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1316,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1321,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1325,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1326,1
    - Dst: xt_applied_member_annotations_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1327,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1329,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1330,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1336,1
    - Dst: set_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1343,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1347,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1350,1
    - Dst: set_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1358,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1363,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1370,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1373,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1377,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1380,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1382,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1390,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1392,1
    - Dst: set_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1397,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1403,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1405,1
    - Dst: set_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1410,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 164
    argCount: 3
    argNames:
    - gv
    - xt
    - to
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1253
    functionDepth: 4
    functionLinenumber: 1253
    functionLinenumberEnd: 1423
    functionName: add_complete_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_lbounds_dup
    - ddsrt_calloc
    - ddsrt_free
    - ddsi_type_unref_locked
    - memcpy
    - ddsrt_memdup
    - ddsi_type_register_dep
    - set_member_detail
    - xt_applied_member_annotations_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_complete_typeobj (struct ddsi_domaingv *gv, struct
      xt_type *xt, const struct DDS_XTypes_TypeObject *to)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1428,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1429,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1430,1
    - Dst: add_minimal_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1435,1
    - Dst: add_complete_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1437,1
    - Dst: ddsi_xt_validate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1439,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1443,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1446,1
    - Dst: PTYPEID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - gv
    - xt
    - to
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct DDS_XTypes_TypeObject*
    assertStmts:
    - condition: (xt)
      pos:
        line_end: 1427
        line_start: 1427
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (to)
      pos:
        line_end: 1428
        line_start: 1428
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (xt->kind == DDSI_TYPEID_KIND_MINIMAL || xt->kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 1429
        line_start: 1429
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 1450
      start: 1425
    functionDepth: 5
    functionLinenumber: 1425
    functionLinenumberEnd: 1450
    functionName: ddsi_xt_type_add_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - assert
    - add_minimal_typeobj
    - PTYPEID
    - ddsi_xt_type_fini
    - add_complete_typeobj
    - ddsi_xt_validate
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xt_type_add_typeobj (struct ddsi_domaingv *gv, struct
      xt_type *xt, const struct DDS_XTypes_TypeObject *to)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1454,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1455,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1458,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1487,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1490,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1494,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1497,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1501,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1503,1
    - Dst: xt_sbounds_to_lbounds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1504,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1508,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1510,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1511,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1515,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1518,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1519,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1521,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1528,1
    - Dst: xt_collection_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1531,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1532,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1534,1
    - Dst: add_minimal_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1541,1
    - Dst: add_complete_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1545,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1552,1
    - Dst: ddsi_xt_validate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1557,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1559,1
    - Dst: PTYPEID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1559,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1562,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1564,1
    - Dst: PTYPEID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1564,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 118
    argCount: 4
    argNames:
    - gv
    - xt
    - ti
    - to
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct DDS_XTypes_TypeIdentifier*
    - struct DDS_XTypes_TypeObject*
    assertStmts:
    - condition: (xt)
      pos:
        line_end: 1453
        line_start: 1453
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (ti)
      pos:
        line_end: 1454
        line_start: 1454
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 1571
      start: 1452
    functionDepth: 5
    functionLinenumber: 1452
    functionLinenumberEnd: 1571
    functionName: ddsi_xt_type_init_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - xt_lbounds_dup
    - GVWARNING
    - ddsi_typeid_fini
    - ddsi_type_unref_locked
    - assert
    - add_minimal_typeobj
    - PTYPEID
    - ddsi_typeid_kind_impl
    - ddsi_type_register_dep
    - ddsi_xt_validate
    - xt_sbounds_to_lbounds
    - add_complete_typeobj
    - xt_collection_common_init
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xt_type_init_impl (struct ddsi_domaingv *gv, struct
      xt_type *xt, const struct DDS_XTypes_TypeIdentifier *ti, const struct DDS_XTypes_TypeObject
      *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_type_init_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gv
    - xt
    - ti
    - to
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - ddsi_typeid_t*
    - ddsi_typeobj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 6
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: ddsi_xt_type_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_type_init_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xt_type_init (struct ddsi_domaingv *gv, struct xt_type
      *xt, const ddsi_typeid_t *ti, const ddsi_typeobj_t *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1580,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1583,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1584,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedVerbatimAnnotation*
    - struct DDS_XTypes_AppliedVerbatimAnnotation*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 1579
        line_start: 1579
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 1587
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1587
    functionName: DDS_XTypes_AppliedVerbatimAnnotation_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedVerbatimAnnotation_copy (struct DDS_XTypes_AppliedVerbatimAnnotation
      *dst, const struct DDS_XTypes_AppliedVerbatimAnnotation *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1593,1
    - Dst: DDS_XTypes_AppliedVerbatimAnnotation_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedBuiltinTypeAnnotations*
    - struct DDS_XTypes_AppliedBuiltinTypeAnnotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1589
    functionDepth: 2
    functionLinenumber: 1589
    functionLinenumberEnd: 1596
    functionName: DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedVerbatimAnnotation_copy
    - calloc
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedBuiltinTypeAnnotations_copy (struct DDS_XTypes_AppliedBuiltinTypeAnnotations
      *dst, const struct DDS_XTypes_AppliedBuiltinTypeAnnotations *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedAnnotationParameter*
    - struct DDS_XTypes_AppliedAnnotationParameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1605
    functionName: DDS_XTypes_AppliedAnnotationParameter_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedAnnotationParameter_copy (struct DDS_XTypes_AppliedAnnotationParameter
      *dst, const struct DDS_XTypes_AppliedAnnotationParameter *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1611,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1614,1
    - Dst: DDS_XTypes_AppliedAnnotationParameter_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedAnnotationParameterSeq**
    - struct DDS_XTypes_AppliedAnnotationParameterSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1619
    functionName: DDS_XTypes_AppliedAnnotationParameterSeq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - DDS_XTypes_AppliedAnnotationParameter_copy
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedAnnotationParameterSeq_copy (struct DDS_XTypes_AppliedAnnotationParameterSeq
      **dst, const struct DDS_XTypes_AppliedAnnotationParameterSeq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1625,1
    - Dst: DDS_XTypes_AppliedAnnotationParameterSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedAnnotation*
    - struct DDS_XTypes_AppliedAnnotation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1621
    functionDepth: 4
    functionLinenumber: 1621
    functionLinenumberEnd: 1628
    functionName: DDS_XTypes_AppliedAnnotation_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - DDS_XTypes_AppliedAnnotationParameterSeq_copy
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedAnnotation_copy (struct DDS_XTypes_AppliedAnnotation
      *dst, const struct DDS_XTypes_AppliedAnnotation *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1636,1
    - Dst: DDS_XTypes_AppliedAnnotation_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedAnnotationSeq*
    - struct DDS_XTypes_AppliedAnnotationSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1630
    functionDepth: 5
    functionLinenumber: 1630
    functionLinenumberEnd: 1641
    functionName: DDS_XTypes_AppliedAnnotationSeq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - DDS_XTypes_AppliedAnnotation_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedAnnotationSeq_copy (struct DDS_XTypes_AppliedAnnotationSeq
      *dst, const struct DDS_XTypes_AppliedAnnotationSeq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1647,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1648,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1649,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_AppliedBuiltinMemberAnnotations*
    - struct DDS_XTypes_AppliedBuiltinMemberAnnotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1652
    functionName: DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsrt_strdup
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_AppliedBuiltinMemberAnnotations_copy (struct DDS_XTypes_AppliedBuiltinMemberAnnotations
      *dst, const struct DDS_XTypes_AppliedBuiltinMemberAnnotations *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1656,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1659,1
    - Dst: DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1660,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1669,1
    - Dst: DDS_XTypes_AppliedAnnotationSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_XTypes_CompleteTypeDetail*
    - struct xt_type_detail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1654
    functionDepth: 6
    functionLinenumber: 1654
    functionLinenumberEnd: 1676
    functionName: get_type_detail
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
    - ddsrt_strlcpy
    - DDS_XTypes_AppliedAnnotationSeq_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void get_type_detail (DDS_XTypes_CompleteTypeDetail *dst, const struct
      xt_type_detail *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1680,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1683,1
    - Dst: DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1684,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1693,1
    - Dst: DDS_XTypes_AppliedAnnotationSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_XTypes_CompleteMemberDetail*
    - struct xt_member_detail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1678
    functionDepth: 6
    functionLinenumber: 1678
    functionLinenumberEnd: 1700
    functionName: get_member_detail
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
    - ddsrt_strlcpy
    - DDS_XTypes_AppliedAnnotationSeq_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void get_member_detail (DDS_XTypes_CompleteMemberDetail *dst, const
      struct xt_member_detail *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - DDS_XTypes_MinimalMemberDetail*
    - struct xt_member_detail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: get_minimal_member_detail
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void get_minimal_member_detail (DDS_XTypes_MinimalMemberDetail *dst,
      const struct xt_member_detail *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1711,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1712,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1713,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1714,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1715,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1723,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1729,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1730,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1732,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1735,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ann
    argTypes:
    - struct xt_applied_member_annotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1707
    functionDepth: 2
    functionLinenumber: 1707
    functionLinenumberEnd: 1739
    functionName: xt_applied_member_annotations_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_fini_impl
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void xt_applied_member_annotations_fini (struct xt_applied_member_annotations
      *ann)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1746,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1749,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1753,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1756,1
    - Dst: xt_applied_member_annotations_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1757,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1759,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1762,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1765,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1766,1
    - Dst: xt_applied_member_annotations_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1767,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1769,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1772,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1775,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1778,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1779,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1782,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1783,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1786,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1789,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1796,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - gv
    - xt
    - include_typeid
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1741
    functionDepth: 3
    functionLinenumber: 1741
    functionLinenumberEnd: 1797
    functionName: ddsi_xt_type_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_fini
    - ddsrt_free
    - ddsi_type_unref_locked
    - xt_applied_member_annotations_fini
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_type_fini (struct ddsi_domaingv *gv, struct xt_type *xt,
      bool include_typeid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1802,1
    - Dst: DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1803,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1809,1
    - Dst: DDS_XTypes_AppliedAnnotationSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_applied_type_annotations*
    - struct xt_applied_type_annotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1799
    functionDepth: 6
    functionLinenumber: 1799
    functionLinenumberEnd: 1814
    functionName: xt_applied_type_annotations_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
    - DDS_XTypes_AppliedAnnotationSeq_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_applied_type_annotations_copy (struct xt_applied_type_annotations
      *dst, const struct xt_applied_type_annotations *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1819,1
    - Dst: DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1820,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1826,1
    - Dst: DDS_XTypes_AppliedAnnotationSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_applied_member_annotations*
    - struct xt_applied_member_annotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1816
    functionDepth: 6
    functionLinenumber: 1816
    functionLinenumberEnd: 1831
    functionName: xt_applied_member_annotations_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
    - DDS_XTypes_AppliedAnnotationSeq_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_applied_member_annotations_copy (struct xt_applied_member_annotations
      *dst, const struct xt_applied_member_annotations *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1837,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1839,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_annotation_parameter*
    - struct xt_annotation_parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1843
    functionName: xt_annotation_parameter_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_strlcpy
    - ddsi_type_ref_locked
    linkageType: ''
    returnType: void
    signature: void xt_annotation_parameter_copy (struct ddsi_domaingv *gv, struct
      xt_annotation_parameter *dst, const struct xt_annotation_parameter *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1850,1
    - Dst: xt_annotation_parameter_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_annotation_parameter_seq*
    - struct xt_annotation_parameter_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1845
    functionDepth: 3
    functionLinenumber: 1845
    functionLinenumberEnd: 1854
    functionName: xt_annotation_parameter_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - xt_annotation_parameter_copy
    linkageType: ''
    returnType: void
    signature: void xt_annotation_parameter_seq_copy (struct ddsi_domaingv *gv, struct
      xt_annotation_parameter_seq *dst, const struct xt_annotation_parameter_seq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1860,1
    - Dst: xt_applied_type_annotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_type_detail*
    - struct xt_type_detail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1856
    functionDepth: 7
    functionLinenumber: 1856
    functionLinenumberEnd: 1863
    functionName: xt_type_detail_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    - xt_applied_type_annotations_copy
    linkageType: ''
    returnType: void
    signature: void xt_type_detail_copy (struct xt_type_detail *dst, const struct
      xt_type_detail *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1871,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1872,1
    - Dst: xt_applied_member_annotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_collection_common*
    - struct xt_collection_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1865
    functionDepth: 8
    functionLinenumber: 1865
    functionLinenumberEnd: 1876
    functionName: xt_collection_common_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_applied_member_annotations_copy
    - ddsi_type_ref_locked
    - xt_type_detail_copy
    linkageType: ''
    returnType: void
    signature: void xt_collection_common_copy (struct ddsi_domaingv *gv, struct xt_collection_common
      *dst, const struct xt_collection_common *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_LBoundSeq*
    - struct DDS_XTypes_LBoundSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1889
    functionName: DDS_XTypes_LBoundSeq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_LBoundSeq_copy (struct DDS_XTypes_LBoundSeq *dst, const
      struct DDS_XTypes_LBoundSeq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1895,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1896,1
    - Dst: xt_applied_member_annotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_member_detail*
    - struct xt_member_detail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1891
    functionDepth: 7
    functionLinenumber: 1891
    functionLinenumberEnd: 1899
    functionName: xt_member_detail_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_applied_member_annotations_copy
    - memcpy
    - ddsrt_strlcpy
    linkageType: ''
    returnType: void
    signature: void xt_member_detail_copy (struct xt_member_detail *dst, const struct
      xt_member_detail *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1907,1
    - Dst: xt_member_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_struct_member*
    - struct xt_struct_member*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1901
    functionDepth: 8
    functionLinenumber: 1901
    functionLinenumberEnd: 1910
    functionName: xt_struct_member_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_type_ref_locked
    - xt_member_detail_copy
    linkageType: ''
    returnType: void
    signature: void xt_struct_member_copy (struct ddsi_domaingv *gv, struct xt_struct_member
      *dst, const struct xt_struct_member *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1917,1
    - Dst: xt_struct_member_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_struct_member_seq*
    - struct xt_struct_member_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1912
    functionDepth: 9
    functionLinenumber: 1912
    functionLinenumberEnd: 1921
    functionName: xt_struct_member_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_struct_member_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_struct_member_seq_copy (struct ddsi_domaingv *gv, struct xt_struct_member_seq
      *dst, const struct xt_struct_member_seq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct DDS_XTypes_UnionCaseLabelSeq*
    - struct DDS_XTypes_UnionCaseLabelSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1934
    functionName: DDS_XTypes_UnionCaseLabelSeq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_UnionCaseLabelSeq_copy (struct DDS_XTypes_UnionCaseLabelSeq
      *dst, const struct DDS_XTypes_UnionCaseLabelSeq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_XTypes_UnionCaseLabelSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1942,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1943,1
    - Dst: xt_member_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_union_member*
    - struct xt_union_member*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1936
    functionDepth: 8
    functionLinenumber: 1936
    functionLinenumberEnd: 1946
    functionName: xt_union_member_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_UnionCaseLabelSeq_copy
    - ddsi_type_ref_locked
    - xt_member_detail_copy
    linkageType: ''
    returnType: void
    signature: void xt_union_member_copy (struct ddsi_domaingv *gv, struct xt_union_member
      *dst, const struct xt_union_member *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1953,1
    - Dst: xt_union_member_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_union_member_seq*
    - struct xt_union_member_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1948
    functionDepth: 9
    functionLinenumber: 1948
    functionLinenumberEnd: 1957
    functionName: xt_union_member_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_union_member_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_union_member_seq_copy (struct ddsi_domaingv *gv, struct xt_union_member_seq
      *dst, const struct xt_union_member_seq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xt_member_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_bitfield*
    - struct xt_bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1959
    functionDepth: 8
    functionLinenumber: 1959
    functionLinenumberEnd: 1969
    functionName: xt_bitfield_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_member_detail_copy
    linkageType: ''
    returnType: void
    signature: void xt_bitfield_copy (struct xt_bitfield *dst, const struct xt_bitfield
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1976,1
    - Dst: xt_bitfield_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_bitfield_seq*
    - struct xt_bitfield_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1971
    functionDepth: 9
    functionLinenumber: 1971
    functionLinenumberEnd: 1980
    functionName: xt_bitfield_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_bitfield_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_bitfield_seq_copy (struct xt_bitfield_seq *dst, const struct
      xt_bitfield_seq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_enum_literal_seq*
    - struct xt_enum_literal_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1991
    functionName: xt_enum_literal_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    linkageType: ''
    returnType: void
    signature: void xt_enum_literal_seq_copy (struct xt_enum_literal_seq *dst, const
      struct xt_enum_literal_seq *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xt_member_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_bitflag*
    - struct xt_bitflag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1993
    functionDepth: 8
    functionLinenumber: 1993
    functionLinenumberEnd: 2001
    functionName: xt_bitflag_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_member_detail_copy
    linkageType: ''
    returnType: void
    signature: void xt_bitflag_copy (struct xt_bitflag *dst, const struct xt_bitflag
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2008,1
    - Dst: xt_bitflag_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct xt_bitflag_seq*
    - struct xt_bitflag_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 9
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: xt_bitflag_seq_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - xt_bitflag_copy
    linkageType: ''
    returnType: void
    signature: void xt_bitflag_seq_copy (struct xt_bitflag_seq *dst, const struct
      xt_bitflag_seq *src)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2017,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2018,1
    - Dst: xt_collection_common_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2033,1
    - Dst: xt_collection_common_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2037,1
    - Dst: DDS_XTypes_LBoundSeq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2038,1
    - Dst: xt_collection_common_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2041,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2044,1
    - Dst: xt_applied_member_annotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2045,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2049,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2051,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2054,1
    - Dst: xt_annotation_parameter_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2055,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2060,1
    - Dst: xt_struct_member_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2061,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2062,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2066,1
    - Dst: xt_applied_type_annotations_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2068,1
    - Dst: xt_union_member_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2069,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2070,1
    - Dst: xt_bitfield_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2074,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2075,1
    - Dst: xt_enum_literal_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2080,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2081,1
    - Dst: xt_bitflag_seq_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2086,1
    - Dst: xt_type_detail_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2087,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 3
    argNames:
    - gv
    - dst
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2014
    functionDepth: 10
    functionLinenumber: 2014
    functionLinenumberEnd: 2090
    functionName: ddsi_xt_copy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_applied_member_annotations_copy
    - xt_collection_common_copy
    - ddsi_typeid_is_none
    - xt_bitflag_seq_copy
    - ddsrt_strlcpy
    - xt_struct_member_seq_copy
    - ddsi_type_ref_locked
    - xt_annotation_parameter_seq_copy
    - DDS_XTypes_LBoundSeq_copy
    - ddsi_typeid_copy
    - xt_union_member_seq_copy
    - xt_enum_literal_seq_copy
    - xt_type_detail_copy
    - xt_bitfield_seq_copy
    - xt_applied_type_annotations_copy
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all ddsi_xt_copy (struct ddsi_domaingv *gv, struct xt_type
      *dst, const struct xt_type *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2095,1
    - Dst: ddsi_xt_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gv
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2093
    functionDepth: 11
    functionLinenumber: 2093
    functionLinenumberEnd: 2098
    functionName: xt_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_copy
    - ddsrt_calloc
    linkageType: ''
    returnType: struct xt_type
    signature: struct xt_type * xt_dup (struct ddsi_domaingv *gv, const struct xt_type
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts:
    - condition: (t->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 2102
        line_start: 2102
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2105
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2105
    functionName: xt_has_basetype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_has_basetype (const struct xt_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - reason
    - code
    - t1
    - t2
    - id
    argTypes:
    - struct ddsi_non_assignability_reason*
    - enum ddsi_non_assignability_code
    - struct xt_type*
    - struct xt_type*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2120
    functionName: xt_non_assignable
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_non_assignable (struct ddsi_non_assignability_reason *reason,
      enum ddsi_non_assignability_code code, const struct xt_type *t1, const struct
      xt_type *t2, uint32_t id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2125,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2125,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2126,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2129,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - t
    - reason
    - basetype
    - id
    argTypes:
    - struct xt_type*
    - struct ddsi_non_assignability_reason*
    - struct xt_type*
    - uint32_t
    assertStmts:
    - condition: (basetype == NULL || ddsi_xt_is_resolved (basetype))
      pos:
        line_end: 2124
        line_start: 2124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2132
      start: 2123
    functionDepth: 2
    functionLinenumber: 2123
    functionLinenumberEnd: 2132
    functionName: xt_is_assignable_check_resolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_non_assignable
    - assert
    - ddsi_xt_is_resolved
    linkageType: ''
    returnType: bool
    signature: bool xt_is_assignable_check_resolved (const struct xt_type *t, struct
      ddsi_non_assignability_reason *reason, const struct xt_type *basetype, uint32_t
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2137,1
    - Dst: xt_has_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2138,1
    - Dst: xt_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2139,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2142,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2143,1
    - Dst: xt_expand_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2145,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2151,1
    - Dst: xt_struct_member_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - gv
    - t
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct ddsi_non_assignability_reason*
    assertStmts:
    - condition: (t->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 2136
        line_start: 2136
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2156
      start: 2134
    functionDepth: 12
    functionLinenumber: 2134
    functionLinenumberEnd: 2156
    functionName: xt_expand_basetype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - xt_has_basetype
    - assert
    - ddsrt_realloc
    - xt_is_assignable_check_resolved
    - xt_dup
    - xt_struct_member_copy
    - ddsi_xt_unalias
    - xt_expand_basetype
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *xt_expand_basetype (struct ddsi_domaingv *gv, const
      struct xt_type *t, struct ddsi_non_assignability_reason *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xt_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2163,1
    - Dst: xt_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2173,1
    - Dst: xt_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2158
    functionDepth: 12
    functionLinenumber: 2158
    functionLinenumberEnd: 2185
    functionName: xt_type_key_erased
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_dup
    linkageType: ''
    returnType: struct xt_type
    signature: struct xt_type *xt_type_key_erased (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts:
    - condition: (t->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 2188
        line_start: 2188
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2194
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2194
    functionName: xt_struct_has_key
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool xt_struct_has_key (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rd_bound
    - wr_bound
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2199
    functionName: xt_check_bound
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_check_bound (uint32_t rd_bound, uint32_t wr_bound)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xt_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2203,1
    - Dst: xt_struct_has_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2207,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2222,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2225,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2246,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2249,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2254,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2255,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 2253
        line_start: 2253
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2259
      start: 2201
    functionDepth: 12
    functionLinenumber: 2201
    functionLinenumberEnd: 2259
    functionName: xt_type_keyholder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_struct_has_key
    - ddsrt_free
    - memmove
    - ddsi_type_unref_locked
    - assert
    - ddsi_xt_type_fini
    - xt_dup
    linkageType: ''
    returnType: struct xt_type
    signature: struct xt_type *xt_type_keyholder (struct ddsi_domaingv *gv, const
      struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2267
    functionName: xt_is_plain_collection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_is_plain_collection (const struct xt_type *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_plain_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2271,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - t
    - ek
    argTypes:
    - struct xt_type*
    - DDS_XTypes_EquivalenceKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2284
    functionName: xt_is_plain_collection_equiv_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - abort
    - xt_is_plain_collection
    linkageType: ''
    returnType: bool
    signature: bool xt_is_plain_collection_equiv_kind (const struct xt_type *t, DDS_XTypes_EquivalenceKind
      ek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_plain_collection_equiv_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: xt_is_plain_collection_fully_descriptive_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_is_plain_collection_equiv_kind
    linkageType: ''
    returnType: bool
    signature: bool xt_is_plain_collection_fully_descriptive_typeid (const struct
      xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_plain_collection_equiv_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - t
    - ek
    argTypes:
    - struct xt_type*
    - DDS_XTypes_EquivalenceKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2297
    functionName: xt_is_equiv_kind_hash_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_is_plain_collection_equiv_kind
    linkageType: ''
    returnType: bool
    signature: bool xt_is_equiv_kind_hash_typeid (const struct xt_type *t, DDS_XTypes_EquivalenceKind
      ek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_equiv_kind_hash_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2299
    functionDepth: 3
    functionLinenumber: 2299
    functionLinenumberEnd: 2302
    functionName: xt_is_minimal_hash_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_is_equiv_kind_hash_typeid
    linkageType: ''
    returnType: bool
    signature: bool xt_is_minimal_hash_typeid (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2307
    functionName: xt_is_primitive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_is_primitive (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: xt_is_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_is_string (const struct xt_type *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2325
    functionName: xt_string_bound
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: DDS_XTypes_LBound
    signature: DDS_XTypes_LBound xt_string_bound (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_primitive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2329,1
    - Dst: xt_is_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2329,1
    - Dst: xt_is_plain_collection_fully_descriptive_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2327
    functionDepth: 3
    functionLinenumber: 2327
    functionLinenumberEnd: 2330
    functionName: xt_is_fully_descriptive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_is_primitive
    - xt_is_plain_collection_fully_descriptive_typeid
    - xt_is_string
    linkageType: ''
    returnType: bool
    signature: bool xt_is_fully_descriptive (const struct xt_type *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2332
    functionDepth: 0
    functionLinenumber: 2332
    functionLinenumberEnd: 2335
    functionName: xt_is_enumerated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool xt_is_enumerated (const struct xt_type *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct xt_type*
    assertStmts:
    - condition: (ext_flags == DDS_XTypes_IS_FINAL || ext_flags == DDS_XTypes_IS_APPENDABLE
        || ext_flags == DDS_XTypes_IS_MUTABLE)
      pos:
        line_end: 2356
        line_start: 2356
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2359
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2359
    functionName: xt_get_extensibility
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t xt_get_extensibility (const struct xt_type *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_primitive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2363,1
    - Dst: xt_is_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2363,1
    - Dst: xt_is_enumerated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2363,1
    - Dst: xt_is_delimited
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2368,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2368,1
    - Dst: xt_is_delimited
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2370,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2370,1
    - Dst: xt_is_delimited
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2372,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2372,1
    - Dst: xt_is_delimited
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2372,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2372,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - gv
    - t
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2361
    functionDepth: 2
    functionLinenumber: 2361
    functionLinenumberEnd: 2378
    functionName: xt_is_delimited
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - xt_is_delimited
    - xt_is_string
    - xt_is_enumerated
    - xt_is_primitive
    - ddsi_xt_unalias
    - xt_get_extensibility
    linkageType: ''
    returnType: bool
    signature: bool xt_is_delimited (struct ddsi_domaingv *gv, const struct xt_type
      *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_fully_descriptive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2383,1
    - Dst: xt_is_minimal_hash_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2383,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct xt_type*
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2380
    functionDepth: 5
    functionLinenumber: 2380
    functionLinenumberEnd: 2389
    functionName: xt_is_equivalent_minimal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare
    - xt_is_fully_descriptive
    - xt_is_minimal_hash_typeid
    linkageType: ''
    returnType: bool
    signature: bool xt_is_equivalent_minimal (const struct xt_type *t1, const struct
      xt_type *t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2397,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2397,1
    - Dst: xt_is_equivalent_minimal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2398,1
    - Dst: xt_is_delimited
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2400,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2401,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - gv
    - t1a
    - t2a
    - tce
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    - dds_type_consistency_enforcement_qospolicy_t*
    - struct ddsi_non_assignability_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2394
    functionDepth: 6
    functionLinenumber: 2394
    functionLinenumberEnd: 2403
    functionName: xt_is_strongly_assignable_from
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_is_delimited
    - xt_is_assignable_from_impl
    - xt_is_equivalent_minimal
    - xt_non_assignable
    - ddsi_xt_unalias
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_is_strongly_assignable_from (struct ddsi_domaingv
      *gv, const struct xt_type *t1a, const struct xt_type *t2a, const dds_type_consistency_enforcement_qospolicy_t
      *tce, struct ddsi_non_assignability_reason *reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct DDS_XTypes_LBoundSeq*
    - struct DDS_XTypes_LBoundSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2412
    functionName: xt_bounds_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool xt_bounds_eq (const struct DDS_XTypes_LBoundSeq *a, const struct
      DDS_XTypes_LBoundSeq *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - DDS_XTypes_NameHash*
    - DDS_XTypes_NameHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2418
    functionName: xt_namehash_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_namehash_eq (const DDS_XTypes_NameHash *n1, const
      DDS_XTypes_NameHash *n2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ls1
    - ls2
    argTypes:
    - struct DDS_XTypes_UnionCaseLabelSeq*
    - struct DDS_XTypes_UnionCaseLabelSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2435
    functionName: xt_union_label_selects
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_union_label_selects (const struct DDS_XTypes_UnionCaseLabelSeq
      *ls1, const struct DDS_XTypes_UnionCaseLabelSeq *ls2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ls1
    - ls2
    argTypes:
    - struct DDS_XTypes_UnionCaseLabelSeq*
    - struct DDS_XTypes_UnionCaseLabelSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2445
    functionName: xt_union_labels_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_union_labels_match (const struct DDS_XTypes_UnionCaseLabelSeq
      *ls1, const struct DDS_XTypes_UnionCaseLabelSeq *ls2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2450,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2451,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2453,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2453,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2454,1
    - Dst: xt_namehash_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2463,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2464,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2468,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2469,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2475,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2476,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - t1
    - t2
    - reason
    argTypes:
    - struct xt_type*
    - struct xt_type*
    - struct ddsi_non_assignability_reason*
    assertStmts:
    - condition: (t1->_d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 2449
        line_start: 2449
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (t2->_d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 2450
        line_start: 2450
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2478
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2478
    functionName: xt_is_assignable_from_enum
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_non_assignable
    - assert
    - xt_namehash_eq
    - xt_get_extensibility
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_is_assignable_from_enum (const struct xt_type
      *t1, const struct xt_type *t2, struct ddsi_non_assignability_reason *reason)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2483,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2484,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2485,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2485,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2486,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2487,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2487,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2487,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2492,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2500,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2506,1
    - Dst: xt_namehash_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2513,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2514,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2521,1
    - Dst: xt_union_labels_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2525,1
    - Dst: xt_union_label_selects
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2527,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2537,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2537,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2543,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2544,1
    - Dst: xt_union_label_selects
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2561,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2566,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2566,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2566,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2569,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2574,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 53
    argCount: 5
    argNames:
    - gv
    - t1
    - t2
    - tce
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    - dds_type_consistency_enforcement_qospolicy_t*
    - struct ddsi_non_assignability_reason*
    assertStmts:
    - condition: (t1->_d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 2482
        line_start: 2482
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (t2->_d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 2483
        line_start: 2483
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2576
      start: 2480
    functionDepth: 7
    functionLinenumber: 2480
    functionLinenumberEnd: 2576
    functionName: xt_is_assignable_from_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_namehash_eq
    - xt_is_strongly_assignable_from
    - assert
    - xt_is_assignable_from_impl
    - xt_non_assignable
    - xt_union_label_selects
    - xt_union_labels_match
    - ddsi_xt_unalias
    - xt_get_extensibility
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_is_assignable_from_union (struct ddsi_domaingv
      *gv, const struct xt_type *t1, const struct xt_type *t2, const dds_type_consistency_enforcement_qospolicy_t
      *tce, struct ddsi_non_assignability_reason *reason)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2581,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2582,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2585,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2585,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2586,1
    - Dst: xt_has_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2589,1
    - Dst: xt_expand_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2590,1
    - Dst: xt_has_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2592,1
    - Dst: xt_expand_basetype
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2593,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2602,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2603,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2618,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2619,1
    - Dst: xt_namehash_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2624,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2626,1
    - Dst: xt_type_key_erased
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2632,1
    - Dst: xt_type_key_erased
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2633,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2634,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2635,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2636,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2637,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2638,1
    - Dst: xt_is_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2643,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2643,1
    - Dst: xt_string_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2643,1
    - Dst: xt_string_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2643,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2645,1
    - Dst: xt_is_enumerated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2650,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2662,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2669,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2671,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2674,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2676,1
    - Dst: xt_type_keyholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2683,1
    - Dst: xt_type_keyholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2684,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2685,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2686,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2687,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2688,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2689,1
    - Dst: xt_union_label_selects
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2705,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2707,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2708,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2709,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2710,1
    - Dst: xt_type_keyholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2712,1
    - Dst: xt_type_keyholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2713,1
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2714,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2715,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2716,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2717,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2718,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2733,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2740,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2748,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2748,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2751,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2754,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2757,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2759,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2759,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2764,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2766,1
    - Dst: xt_get_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2783,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2790,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2798,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2806,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2807,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2811,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2812,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 164
    argCount: 5
    argNames:
    - gv
    - t1
    - t2
    - tce
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    - dds_type_consistency_enforcement_qospolicy_t*
    - struct ddsi_non_assignability_reason*
    assertStmts:
    - condition: (t1->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 2580
        line_start: 2580
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (t2->_d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 2581
        line_start: 2581
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 2815
      start: 2578
    functionDepth: 13
    functionLinenumber: 2578
    functionLinenumberEnd: 2815
    functionName: xt_is_assignable_from_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_has_basetype
    - xt_non_assignable
    - xt_is_assignable_check_resolved
    - xt_union_label_selects
    - xt_string_bound
    - xt_type_key_erased
    - ddsi_xt_type_fini
    - xt_expand_basetype
    - xt_check_bound
    - xt_namehash_eq
    - xt_type_keyholder
    - xt_is_string
    - ddsrt_free
    - xt_is_strongly_assignable_from
    - assert
    - xt_is_assignable_from_impl
    - xt_is_enumerated
    - ddsi_xt_unalias
    - xt_get_extensibility
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_is_assignable_from_struct (struct ddsi_domaingv
      *gv, const struct xt_type *t1, const struct xt_type *t2, const dds_type_consistency_enforcement_qospolicy_t
      *tce, struct ddsi_non_assignability_reason *reason)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2850,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - t1
    - t2
    - reason
    argTypes:
    - struct xt_type*
    - struct xt_type*
    - struct ddsi_non_assignability_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2851
    functionName: xt_is_assignable_from_bitmask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_non_assignable
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all xt_is_assignable_from_bitmask (const struct xt_type
      *t1, const struct xt_type *t2, struct ddsi_non_assignability_reason *reason)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2855,1
    - Dst: ddsi_xt_unalias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2855,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2856,1
    - Dst: xt_is_assignable_check_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2856,1
    - Dst: xt_is_equivalent_minimal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2859,1
    - Dst: xt_is_assignable_from_bitmask
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2864,1
    - Dst: xt_is_assignable_from_enum
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2868,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2872,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2874,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2877,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2879,1
    - Dst: xt_bounds_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2884,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2885,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2886,1
    - Dst: xt_check_bound
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2889,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2890,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2891,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2894,1
    - Dst: xt_is_strongly_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2895,1
    - Dst: xt_is_assignable_from_union
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2900,1
    - Dst: xt_is_assignable_from_struct
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2902,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2904,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 5
    argNames:
    - gv
    - rd_xt
    - wr_xt
    - tce
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    - dds_type_consistency_enforcement_qospolicy_t*
    - struct ddsi_non_assignability_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2853
    functionDepth: 14
    functionLinenumber: 2853
    functionLinenumberEnd: 2905
    functionName: xt_is_assignable_from_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 3
    functionsReached:
    - xt_check_bound
    - xt_is_assignable_from_struct
    - xt_is_strongly_assignable_from
    - xt_is_equivalent_minimal
    - xt_non_assignable
    - xt_bounds_eq
    - xt_is_assignable_check_resolved
    - ddsi_xt_unalias
    - xt_is_assignable_from_union
    - xt_is_assignable_from_enum
    - xt_is_assignable_from_bitmask
    linkageType: ''
    returnType: bool
    signature: bool xt_is_assignable_from_impl (struct ddsi_domaingv *gv, const struct
      xt_type *rd_xt, const struct xt_type *wr_xt, const dds_type_consistency_enforcement_qospolicy_t
      *tce, struct ddsi_non_assignability_reason *reason)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_hash_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2910,1
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2911,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2922,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2925,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2928,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2931,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2934,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2935,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2938,1
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2939,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2907
    functionDepth: 2
    functionLinenumber: 2907
    functionLinenumberEnd: 2963
    functionName: ddsi_typeid_kind_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 3
    functionsReached:
    - ddsi_typeid_is_hash_impl
    - ddsi_typeid_kind_impl
    - ddsi_typeid_is_minimal_impl
    linkageType: ''
    returnType: ddsi_typeid_kind_t
    signature: ddsi_typeid_kind_t ddsi_typeid_kind_impl (const struct DDS_XTypes_TypeIdentifier
      *type_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_assignable_from_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2970,1
    - Dst: xt_non_assignable
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - gv
    - rd_xt
    - wr_xt
    - tce
    - reason
    argTypes:
    - struct ddsi_domaingv*
    - struct xt_type*
    - struct xt_type*
    - dds_type_consistency_enforcement_qospolicy_t*
    - struct ddsi_non_assignability_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2965
    functionDepth: 15
    functionLinenumber: 2965
    functionLinenumberEnd: 2975
    functionName: ddsi_xt_is_assignable_from
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_non_assignable
    - xt_is_assignable_from_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xt_is_assignable_from (struct ddsi_domaingv *gv, const struct
      xt_type *rd_xt, const struct xt_type *wr_xt, const dds_type_consistency_enforcement_qospolicy_t
      *tce, struct ddsi_non_assignability_reason *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_id
    argTypes:
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2977
    functionDepth: 3
    functionLinenumber: 2977
    functionLinenumberEnd: 2980
    functionName: ddsi_typeid_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_kind_impl
    linkageType: ''
    returnType: ddsi_typeid_kind_t
    signature: ddsi_typeid_kind_t ddsi_typeid_kind (const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_fully_descriptive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2984,1
    - Dst: xt_is_plain_collection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - xt
    argTypes:
    - struct xt_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2982
    functionDepth: 4
    functionLinenumber: 2982
    functionLinenumberEnd: 2985
    functionName: xt_is_non_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - xt_is_fully_descriptive
    - xt_is_plain_collection
    linkageType: ''
    returnType: bool
    signature: bool xt_is_non_hash (const struct xt_type *xt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_fully_descriptive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2989,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - xt_el
    - ti
    - equiv_kind
    - kind
    argTypes:
    - struct xt_type*
    - struct DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_EquivalenceKind*
    - ddsi_typeid_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2987
    functionDepth: 4
    functionLinenumber: 2987
    functionLinenumberEnd: 2994
    functionName: get_plain_collection_element_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_get_typeid_impl
    - xt_is_fully_descriptive
    linkageType: ''
    returnType: void
    signature: void get_plain_collection_element_id (const struct xt_type *xt_el,
      struct DDS_XTypes_TypeIdentifier *ti, DDS_XTypes_EquivalenceKind *equiv_kind,
      ddsi_typeid_kind_t kind)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2998,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:2999,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3000,1
    - Dst: xt_is_non_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3000,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3002,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3041,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3042,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3049,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3050,1
    - Dst: xt_lbounds_to_sbounds
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3060,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3062,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3063,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3068,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3070,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3071,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3084,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3085,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3086,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3087,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3091,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3099,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3100,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3101,1
    - Dst: get_plain_collection_element_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3102,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3106,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 3
    argNames:
    - xt
    - ti
    - kind
    argTypes:
    - struct xt_type*
    - struct DDS_XTypes_TypeIdentifier*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (xt)
      pos:
        line_end: 2997
        line_start: 2997
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (ti->_u.map_sdefn.header.equiv_kind == equiv_kind)
      pos:
        line_end: 3090
        line_start: 3090
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (ti)
      pos:
        line_end: 2998
        line_start: 2998
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (xt_is_non_hash (xt))
      pos:
        line_end: 2999
        line_start: 2999
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (ti->_u.map_ldefn.header.equiv_kind == equiv_kind)
      pos:
        line_end: 3105
        line_start: 3105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 3112
      start: 2996
    functionDepth: 5
    functionLinenumber: 2996
    functionLinenumberEnd: 3112
    functionName: ddsi_xt_get_non_hash_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - xt_lbounds_dup
    - assert
    - memset
    - xt_lbounds_to_sbounds
    - get_plain_collection_element_id
    - xt_is_non_hash
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_non_hash_id (const struct xt_type *xt, struct DDS_XTypes_TypeIdentifier
      *ti, ddsi_typeid_kind_t kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xt_is_non_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3116,1
    - Dst: ddsi_xt_get_non_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3119,1
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3121,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3125,1
    - Dst: ddsi_typeid_copy_to_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3126,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3133,1
    - Dst: ddsi_typeobj_get_hash_id_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3134,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - xt
    - ti
    - kind
    argTypes:
    - struct xt_type*
    - struct DDS_XTypes_TypeIdentifier*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (xt->kind == kind)
      pos:
        line_end: 3124
        line_start: 3124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 3137
      start: 3114
    functionDepth: 6
    functionLinenumber: 3114
    functionLinenumberEnd: 3137
    functionName: ddsi_xt_get_typeid_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_typeobj_fini_impl
    - ddsi_typeid_copy_to_impl
    - ddsi_xt_is_unresolved
    - ddsi_xt_get_typeobject_kind_impl
    - xt_is_non_hash
    - ddsi_xt_get_non_hash_id
    - ddsi_typeobj_get_hash_id_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_typeid_impl (const struct xt_type *xt, struct DDS_XTypes_TypeIdentifier
      *ti, ddsi_typeid_kind_t kind)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3142,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3143,1
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3143,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3144,1
    - Dst: xt_is_non_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3144,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3146,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3157,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3162,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3169,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3170,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3177,1
    - Dst: get_minimal_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3178,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3186,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3188,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3195,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3199,1
    - Dst: get_minimal_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3206,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3214,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3222,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3227,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3233,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3235,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3238,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3240,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3249,1
    - Dst: get_minimal_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3255,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3265,1
    - Dst: get_minimal_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3271,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3276,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3282,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3292,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3293,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3298,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3305,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3307,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3308,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3315,1
    - Dst: get_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3316,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3324,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3325,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3327,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3334,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3338,1
    - Dst: get_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3345,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3353,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3355,1
    - Dst: get_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3363,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3368,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3371,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3375,1
    - Dst: xt_lbounds_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3377,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3380,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3382,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3388,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3392,1
    - Dst: get_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3398,1
    - Dst: get_type_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3405,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3409,1
    - Dst: get_member_detail
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3415,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3420,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 237
    argCount: 3
    argNames:
    - xt
    - to
    - kind
    argTypes:
    - struct xt_type*
    - struct DDS_XTypes_TypeObject*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (!xt_is_non_hash (xt))
      pos:
        line_end: 3143
        line_start: 3143
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (xt)
      pos:
        line_end: 3140
        line_start: 3140
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (xt->kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 3281
        line_start: 3281
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (to)
      pos:
        line_end: 3141
        line_start: 3141
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    - condition: (ddsi_xt_is_resolved(xt))
      pos:
        line_end: 3142
        line_start: 3142
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    constantsTouched: []
    func_position:
      end: 3424
      start: 3139
    functionDepth: 7
    functionLinenumber: 3139
    functionLinenumberEnd: 3424
    functionName: ddsi_xt_get_typeobject_kind_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - xt_lbounds_dup
    - get_type_detail
    - ddsrt_memdup
    - assert
    - memcpy
    - get_member_detail
    - memset
    - ddsi_xt_is_resolved
    - get_minimal_member_detail
    - xt_is_non_hash
    - abort
    - ddsrt_malloc
    - ddsi_xt_get_typeid_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_typeobject_kind_impl (const struct xt_type *xt, struct
      DDS_XTypes_TypeObject *to, ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xt
    - to
    argTypes:
    - struct xt_type*
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3426
    functionDepth: 8
    functionLinenumber: 3426
    functionLinenumberEnd: 3429
    functionName: ddsi_xt_get_typeobject_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 1
    functionsReached:
    - ddsi_xt_get_typeobject_kind_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_typeobject_impl (const struct xt_type *xt, struct
      DDS_XTypes_TypeObject *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_get_typeobject_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c:3433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xt
    - to
    argTypes:
    - struct xt_type*
    - ddsi_typeobj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3431
    functionDepth: 9
    functionLinenumber: 3431
    functionLinenumberEnd: 3434
    functionName: ddsi_xt_get_typeobject
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_get_typeobject_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xt_get_typeobject (const struct xt_type *xt, ddsi_typeobj_t
      *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - gv
    - ','
    - e
    - ','
    - cat
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: EXCEPTION_LOG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCEPTION_LOG(gv,e,cat,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - gv
    - ','
    - e
    - ','
    - cat
    - ','
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: EXCEPTION_VLOG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCEPTION_VLOG(gv,e,cat,fmt,ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gv
    - ','
    - e
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: EXCEPTION_ERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCEPTION_ERROR(gv,e,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gv
    - ','
    - e
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: EXCEPTION_WARNING
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXCEPTION_WARNING(gv,e,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: SECURITY_ATTR_IS_VALID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_ATTR_IS_VALID(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr_a
    - ','
    - attr_b
    - ','
    - is_valid_flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: SECURITY_ATTR_COMPATIBLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_ATTR_COMPATIBLE(attr_a, attr_b, is_valid_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - info_a
    - ','
    - info_b
    - ','
    - is_valid_flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: SECURITY_INFO_COMPATIBLE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_COMPATIBLE(info_a, info_b, is_valid_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: SECURITY_INFO_IS_RTPS_PROTECTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_IS_RTPS_PROTECTED(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: SECURITY_INFO_IS_WRITE_PROTECTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_IS_WRITE_PROTECTED(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: SECURITY_INFO_IS_READ_PROTECTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_IS_READ_PROTECTED(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: SECURITY_INFO_IS_RTPS_PROTECTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_IS_RTPS_PROTECTED(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: SECURITY_INFO_USE_RTPS_AUTHENTICATION
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURITY_INFO_USE_RTPS_AUTHENTICATION(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: endpoint_is_DCPSParticipantSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSParticipantSecure (const ddsi_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: endpoint_is_DCPSPublicationsSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSPublicationsSecure (const ddsi_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: endpoint_is_DCPSSubscriptionsSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSSubscriptionsSecure (const ddsi_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: endpoint_is_DCPSParticipantStatelessMessage
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSParticipantStatelessMessage (const ddsi_guid_t
      *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: endpoint_is_DCPSParticipantMessageSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSParticipantMessageSecure (const ddsi_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: endpoint_is_DCPSParticipantVolatileMessageSecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool endpoint_is_DCPSParticipantVolatileMessageSecure (const ddsi_guid_t
      *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: compare_crypto_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_crypto_handle (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:258,1
    - Dst: ddsi_compare_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: compare_guid_pair
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_guid
    linkageType: ''
    returnType: int
    signature: int compare_guid_pair(const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: compare_pending_match_exptime
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_pending_match_exptime (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: ddsi_omg_security_get_secure_context
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_is_security_loaded
    linkageType: ''
    returnType: struct dds_security_context
    signature: struct dds_security_context * ddsi_omg_security_get_secure_context
      (const struct ddsi_participant *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: ddsi_omg_participant_get_access_control
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_is_security_loaded
    linkageType: ''
    returnType: struct dds_security_access_control
    signature: struct dds_security_access_control *ddsi_omg_participant_get_access_control(const
      struct ddsi_participant *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: ddsi_omg_participant_get_authentication
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_is_security_loaded
    linkageType: ''
    returnType: struct dds_security_authentication
    signature: struct dds_security_authentication *ddsi_omg_participant_get_authentication(const
      struct ddsi_participant *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: ddsi_omg_participant_get_cryptography
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_is_security_loaded
    linkageType: ''
    returnType: struct dds_security_cryptography
    signature: struct dds_security_cryptography *ddsi_omg_participant_get_cryptography(const
      struct ddsi_participant *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_is_security_loaded
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: ddsi_omg_security_get_secure_context_from_proxypp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_is_security_loaded
    linkageType: ''
    returnType: struct dds_security_context
    signature: struct dds_security_context * ddsi_omg_security_get_secure_context_from_proxypp
      (const struct ddsi_proxy_participant *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:310,1
    - Dst: dds_log_cfg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:315,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - lc
    - cat
    - exception
    - file
    - line
    - func
    - fmt
    - ap
    argTypes:
    - struct ddsrt_log_cfg*
    - uint32_t
    - DDS_Security_SecurityException*
    - char*
    - uint32_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: ddsi_omg_vlog_exception
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - DDS_Security_Exception_reset
    - dds_log_cfg
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_vlog_exception(const struct ddsrt_log_cfg *lc, uint32_t
      cat, DDS_Security_SecurityException *exception, const char *file, uint32_t line,
      const char *func, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:322,1
    - Dst: ddsi_omg_vlog_exception
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:323,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - lc
    - cat
    - exception
    - file
    - line
    - func
    - fmt
    argTypes:
    - struct ddsrt_log_cfg*
    - uint32_t
    - DDS_Security_SecurityException*
    - char*
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: ddsi_omg_log_exception
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - ddsi_omg_vlog_exception
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_log_exception(const struct ddsrt_log_cfg *lc, uint32_t
      cat, DDS_Security_SecurityException *exception, const char *file, uint32_t line,
      const char *func, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_ParticipantCryptoTokenSeq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:331,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - match
    argTypes:
    - struct pending_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: free_pending_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - DDS_Security_ParticipantCryptoTokenSeq_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_pending_match(struct pending_match *match)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:342,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:343,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:345,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:351,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:360,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:360,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:360,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:361,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:362,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - index
    - kind
    - remote_guid
    - local_guid
    - crypto_handle
    - tokens
    argTypes:
    - struct pending_match_index*
    - enum ddsi_entity_kind
    - ddsi_guid_t*
    - ddsi_guid_t*
    - int64_t
    - DDS_Security_ParticipantCryptoTokenSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 367
    functionName: find_or_create_pending_entity_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup_ipath
    - DDS_SECS
    - ddsrt_mutex_lock
    - ddsrt_fibheap_insert
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - ddsrt_malloc
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: struct pending_match
    signature: struct pending_match * find_or_create_pending_entity_match(struct pending_match_index
      *index, enum ddsi_entity_kind kind, const ddsi_guid_t *remote_guid, const ddsi_guid_t
      *local_guid, int64_t crypto_handle, DDS_Security_ParticipantCryptoTokenSeq *tokens)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:377,1
    - Dst: dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:384,1
    - Dst: dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:388,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:391,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:395,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:395,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:395,1
    - Dst: free_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - gv
    - sc
    - match
    argTypes:
    - struct ddsi_domaingv*
    - dds_security_context*
    - struct pending_match*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (0)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 398
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 398
    functionName: unregister_and_free_pending_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - PGUID
    - assert
    - free_pending_match
    - dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
    - dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
    - EXCEPTION_ERROR
    linkageType: ''
    returnType: void
    signature: void unregister_and_free_pending_match(const struct ddsi_domaingv *
      gv, dds_security_context *sc, struct pending_match *match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:402,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:403,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:405,1
    - Dst: free_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:406,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - index
    - match
    argTypes:
    - struct pending_match_index*
    - struct pending_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 408
    functionName: delete_pending_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - free_pending_match
    - ddsrt_fibheap_delete
    - ddsrt_avl_delete
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void delete_pending_match(struct pending_match_index *index, struct
      pending_match *match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:421,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:422,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:425,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:426,1
    - Dst: unregister_and_free_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:427,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:428,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:431,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: pending_match_expiry_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_fibheap_delete
    - ddsrt_avl_delete
    - unregister_and_free_pending_match
    - ddsi_resched_xevent_if_earlier
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: void
    signature: void pending_match_expiry_cb(struct ddsi_domaingv *gv, struct ddsi_xevent
      *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:439,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:440,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:443,1
    - Dst: ddsi_compare_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:444,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:446,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:448,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:449,1
    - Dst: unregister_and_free_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:450,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sc
    - index
    - local_guid
    argTypes:
    - dds_security_context*
    - struct pending_match_index*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: clear_pending_matches_by_local_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_guid
    - ddsrt_avl_lookup_succ
    - ddsrt_mutex_lock
    - ddsrt_fibheap_delete
    - ddsrt_avl_delete
    - unregister_and_free_pending_match
    - ddsrt_avl_find_succ
    - ddsrt_mutex_unlock
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void clear_pending_matches_by_local_guid(dds_security_context *sc,
      struct pending_match_index *index, const ddsi_guid_t *local_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:478,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:479,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:480,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - index
    argTypes:
    - struct ddsi_domaingv*
    - struct pending_match_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: pending_match_index_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_init
    - ddsi_qxev_callback
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: void
    signature: void pending_match_index_init(const struct ddsi_domaingv *gv, struct
      pending_match_index *index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:488,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:489,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:490,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:490,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - struct pending_match_index*
    assertStmts:
    - condition: (ddsrt_avl_is_empty(&index->pending_matches))
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: pending_match_index_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_delete_xevent
    - ddsrt_avl_is_empty
    - ddsrt_avl_free
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void pending_match_index_deinit(struct pending_match_index *index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - proxypp
    - proxypp_crypto_handle
    argTypes:
    - struct ddsi_proxy_participant*
    - DDS_Security_ParticipantCryptoHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: ddsi_pp_proxypp_match_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_pp_proxypp_match
    signature: struct ddsi_pp_proxypp_match * ddsi_pp_proxypp_match_new(struct ddsi_proxy_participant
      *proxypp, DDS_Security_ParticipantCryptoHandle proxypp_crypto_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:507,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - pm
    argTypes:
    - struct dds_security_context*
    - struct ddsi_pp_proxypp_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: ddsi_pp_proxypp_match_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_pp_proxypp_match_free(struct dds_security_context *sc, struct
      ddsi_pp_proxypp_match *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pp
    - permissions_hdl
    - shared_secret
    argTypes:
    - struct ddsi_participant*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: ddsi_proxypp_pp_match_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_proxypp_pp_match
    signature: struct ddsi_proxypp_pp_match * ddsi_proxypp_pp_match_new(struct ddsi_participant
      *pp, DDS_Security_PermissionsHandle permissions_hdl, DDS_Security_SharedSecretHandle
      shared_secret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_security_context*::access_control_context::return_permissions_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:532,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:538,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:540,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:541,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - gv
    - sc
    - pm
    argTypes:
    - struct ddsi_domaingv*
    - struct dds_security_context*
    - struct ddsi_proxypp_pp_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 546
    functionName: ddsi_proxypp_pp_match_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::access_control_context::return_permissions_handle
    - ddsrt_free
    - DDSRT_UNUSED_ARG
    - DDS_Security_Exception_reset
    - EXCEPTION_ERROR
    linkageType: ''
    returnType: void
    signature: void ddsi_proxypp_pp_match_free(struct ddsi_domaingv *gv, struct dds_security_context
      *sc, struct ddsi_proxypp_pp_match *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:553,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:555,1
    - Dst: ddsi_pp_proxypp_match_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - pp
    - proxypp_guid
    argTypes:
    - struct dds_security_context*
    - struct ddsi_participant*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 558
    functionName: pp_proxypp_unrelate_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_pp_proxypp_match_free
    - ddsrt_avl_cdelete_dpath
    - ddsrt_avl_clookup_dpath
    linkageType: ''
    returnType: void
    signature: void pp_proxypp_unrelate_locked(struct dds_security_context *sc, struct
      ddsi_participant *pp, const ddsi_guid_t *proxypp_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:562,1
    - Dst: pp_proxypp_unrelate_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:563,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sc
    - pp
    - proxypp_guid
    argTypes:
    - struct dds_security_context*
    - struct ddsi_participant*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: pp_proxypp_unrelate
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - pp_proxypp_unrelate_locked
    linkageType: ''
    returnType: void
    signature: void pp_proxypp_unrelate(struct dds_security_context *sc, struct ddsi_participant
      *pp, const ddsi_guid_t *proxypp_guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:569,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:573,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:575,1
    - Dst: ddsi_proxypp_pp_match_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - proxypp
    - pp_guid
    - pp_crypto_handle
    argTypes:
    - struct dds_security_context*
    - struct ddsi_proxy_participant*
    - ddsi_guid_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 578
    functionName: proxypp_pp_unrelate_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_proxypp_pp_match_free
    - DDSRT_UNUSED_ARG
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    linkageType: ''
    returnType: void
    signature: void proxypp_pp_unrelate_locked(struct dds_security_context *sc, struct
      ddsi_proxy_participant *proxypp, const ddsi_guid_t *pp_guid, int64_t pp_crypto_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:584,1
    - Dst: proxypp_pp_unrelate_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:585,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - proxypp
    - pp_guid
    - pp_crypto_handle
    argTypes:
    - struct dds_security_context*
    - struct ddsi_proxy_participant*
    - ddsi_guid_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: proxypp_pp_unrelate
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - proxypp_pp_unrelate_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void proxypp_pp_unrelate(struct dds_security_context *sc, struct ddsi_proxy_participant
      *proxypp, const ddsi_guid_t *pp_guid, int64_t pp_crypto_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:594,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:595,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 602
    functionName: participant_sec_attributes_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cinit
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct ddsi_participant_sec_attributes
    signature: struct ddsi_participant_sec_attributes * participant_sec_attributes_new(ddsi_guid_t
      *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:608,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:609,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct ddsi_participant_sec_attributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: participant_sec_attributes_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_avl_cfree
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void participant_sec_attributes_free(struct ddsi_participant_sec_attributes
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:618,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: writer_sec_attributes_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct ddsi_writer_sec_attributes
    signature: struct ddsi_writer_sec_attributes * writer_sec_attributes_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct ddsi_writer_sec_attributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: writer_sec_attributes_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void writer_sec_attributes_free(struct ddsi_writer_sec_attributes *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:634,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: reader_sec_attributes_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct ddsi_reader_sec_attributes
    signature: struct ddsi_reader_sec_attributes * reader_sec_attributes_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct ddsi_reader_sec_attributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: reader_sec_attributes_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void reader_sec_attributes_free(struct ddsi_reader_sec_attributes *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:650,1
    - Dst: ddsrt_avl_cinsert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:651,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - attr
    argTypes:
    - dds_security_context*
    - struct ddsi_participant_sec_attributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: participant_index_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsrt_avl_cinsert
    linkageType: ''
    returnType: void
    signature: void participant_index_add(dds_security_context *sc, struct ddsi_participant_sec_attributes
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:660,1
    - Dst: ddsrt_avl_clookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:661,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - crypto_handle
    argTypes:
    - dds_security_context*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: participant_index_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_clookup
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_participant_sec_attributes
    signature: 'struct ddsi_participant_sec_attributes *

      participant_index_find(dds_security_context *sc, int64_t crypto_handle)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:673,1
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:674,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:676,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - crypto_handle
    argTypes:
    - dds_security_context*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 680
    functionName: participant_index_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cdelete_dpath
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_avl_clookup_dpath
    linkageType: ''
    returnType: struct ddsi_participant_sec_attributes
    signature: 'struct ddsi_participant_sec_attributes *

      participant_index_remove(dds_security_context *sc, int64_t crypto_handle)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:689,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:690,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:694,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:697,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:698,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:698,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - attr
    - hdls
    argTypes:
    - struct ddsi_participant_sec_attributes*
    - DDS_Security_ParticipantCryptoHandleSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: get_matched_proxypp_crypto_handles
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_ccount
    - ddsrt_mutex_lock
    - ddsrt_avl_citer_first
    - ddsrt_malloc
    - ddsrt_avl_citer_next
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_matched_proxypp_crypto_handles(struct ddsi_participant_sec_attributes
      *attr, DDS_Security_ParticipantCryptoHandleSeq *hdls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:710,1
    - Dst: ddsrt_avl_croot
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:711,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct ddsi_participant_sec_attributes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 717
    functionName: get_first_matched_proxypp_crypto_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_croot
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_first_matched_proxypp_crypto_handle(struct ddsi_participant_sec_attributes
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - dds_security_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: ddsi_omg_is_security_loaded
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_security_loaded (dds_security_context *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:728,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:729,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:735,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:736,1
    - Dst: pending_match_index_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:737,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:739,1
    - Dst: ddsi_handshake_admin_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 748
    functionName: ddsi_omg_security_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_handshake_admin_init
    - memset
    - ddsrt_avl_cinit
    - pending_match_index_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_init (struct ddsi_domaingv *gv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_plugin_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:755,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:756,1
    - Dst: dds_security_plugin_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:758,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:759,1
    - Dst: dds_security_plugin_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:761,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - sc
    argTypes:
    - struct ddsi_domaingv*
    - dds_security_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 767
    functionName: release_plugins
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - dds_security_plugin_release
    - GVERROR
    linkageType: ''
    returnType: void
    signature: void release_plugins (struct ddsi_domaingv *gv, dds_security_context
      *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:772,1
    - Dst: ddsi_handshake_admin_stop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:774,1
    - Dst: dds_security_context*::authentication_context::set_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:777,1
    - Dst: dds_security_context*::access_control_context::set_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 771
        line_start: 771
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 780
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 780
    functionName: ddsi_omg_security_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 2
    functionsReached:
    - ddsi_handshake_admin_stop
    - assert
    - dds_security_context*::authentication_context::set_listener
    - dds_security_context*::access_control_context::set_listener
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_stop (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pending_match_index_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct dds_security_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: ddsi_omg_security_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 2
    functionsReached:
    - pending_match_index_deinit
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deinit (struct dds_security_context *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:790,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:792,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:793,1
    - Dst: release_plugins
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:796,1
    - Dst: ddsi_handshake_admin_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:798,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:799,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 6
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: ddsi_omg_security_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_cfree
    - ddsrt_free
    - assert
    - ddsi_handshake_admin_deinit
    - release_plugins
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_free (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:820,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - qos
    - suite_config
    argTypes:
    - dds_qos_t*
    - dds_security_plugin_suite_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 822
    functionName: dds_qos_to_security_plugin_configuration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - strcmp
    linkageType: ''
    returnType: void
    signature: void dds_qos_to_security_plugin_configuration (const dds_qos_t *qos,
      dds_security_plugin_suite_config *suite_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:826,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:827,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - plugin_config
    argTypes:
    - dds_security_plugin_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 829
    functionName: deinit_plugin_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void deinit_plugin_config (dds_security_plugin_config *plugin_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deinit_plugin_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:833,1
    - Dst: deinit_plugin_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:834,1
    - Dst: deinit_plugin_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - suite_config
    argTypes:
    - dds_security_plugin_suite_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: deinit_plugin_suite_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - deinit_plugin_config
    linkageType: ''
    returnType: void
    signature: void deinit_plugin_suite_config (dds_security_plugin_suite_config *suite_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:846,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:847,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:849,1
    - Dst: expired_pp_check_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:849,1
    - Dst: ddsi_delete_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:851,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - expired_pp_check_fn
    - gv
    argTypes:
    - DDS_Security_Handle
    - expired_pp_check_fn_t
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 857
    functionName: delete_pp_by_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_participant
    - ddsi_entidx_enum_participant_init
    - ddsi_entidx_enum_participant_next
    - ddsi_entidx_enum_participant_fini
    - expired_pp_check_fn
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool delete_pp_by_handle (DDS_Security_Handle handle, expired_pp_check_fn_t
      expired_pp_check_fn, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:864,1
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:865,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:867,1
    - Dst: expired_proxypp_check_fn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:867,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:869,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:869,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - expired_proxypp_check_fn
    - gv
    argTypes:
    - DDS_Security_Handle
    - expired_proxypp_check_fn_t
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 875
    functionName: delete_proxypp_by_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_next
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_delete_proxy_participant_by_guid
    - ddsi_omg_proxy_participant_is_secure
    - ddsrt_time_wallclock
    - expired_proxypp_check_fn
    - ddsi_entidx_enum_proxy_participant_init
    linkageType: ''
    returnType: bool
    signature: bool delete_proxypp_by_handle (const DDS_Security_Handle handle, expired_proxypp_check_fn_t
      expired_proxypp_check_fn, struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - handle
    argTypes:
    - struct ddsi_participant*
    - DDS_Security_Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: pp_expired_by_perm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pp_expired_by_perm (const struct ddsi_participant * pp, DDS_Security_Handle
      handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:887,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:888,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:888,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - proxypp
    - handle
    argTypes:
    - struct ddsi_proxy_participant*
    - DDS_Security_Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: proxypp_expired_by_perm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool proxypp_expired_by_perm (const struct ddsi_proxy_participant *
      proxypp, DDS_Security_Handle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - handle
    argTypes:
    - struct ddsi_participant*
    - DDS_Security_Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: pp_expired_by_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pp_expired_by_id (const struct ddsi_participant * pp, DDS_Security_Handle
      handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - proxypp
    - handle
    argTypes:
    - struct ddsi_proxy_participant*
    - DDS_Security_Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: proxypp_expired_by_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool proxypp_expired_by_id (const struct ddsi_proxy_participant * proxypp,
      DDS_Security_Handle handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:932,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:932,1
    - Dst: delete_pp_by_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:934,1
    - Dst: delete_proxypp_by_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:935,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:937,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plugin
    - handle
    argTypes:
    - dds_security_access_control*
    - DDS_Security_PermissionsHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 929
    functionDepth: 5
    functionLinenumber: 929
    functionLinenumberEnd: 939
    functionName: on_revoke_permissions_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - delete_pp_by_handle
    - ddsi_thread_state_asleep
    - delete_proxypp_by_handle
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean on_revoke_permissions_cb(const dds_security_access_control
      *plugin, const DDS_Security_PermissionsHandle handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:945,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:945,1
    - Dst: delete_pp_by_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:947,1
    - Dst: delete_proxypp_by_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:948,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:950,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plugin
    - handle
    argTypes:
    - dds_security_authentication*
    - DDS_Security_IdentityHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 942
    functionDepth: 5
    functionLinenumber: 942
    functionLinenumberEnd: 952
    functionName: on_revoke_identity_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - delete_pp_by_handle
    - ddsi_thread_state_asleep
    - delete_proxypp_by_handle
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: DDS_Security_boolean
    signature: DDS_Security_boolean on_revoke_identity_cb(const dds_security_authentication
      *plugin, const DDS_Security_IdentityHandle handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:957,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:959,1
    - Dst: dds_qos_to_security_plugin_configuration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:962,1
    - Dst: dds_security_check_plugin_configuration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:965,1
    - Dst: dds_security_load_security_library
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:968,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:970,1
    - Dst: dds_security_load_security_library
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:973,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:975,1
    - Dst: dds_security_load_security_library
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:978,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:980,1
    - Dst: dds_security_verify_plugin_functions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:985,1
    - Dst: dds_security_context*::access_control_context::set_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:994,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:996,1
    - Dst: dds_security_context*::authentication_context::set_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1000,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1002,1
    - Dst: handshake_initialize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1007,1
    - Dst: deinit_plugin_suite_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1010,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1011,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1012,1
    - Dst: dds_security_context*::access_control_context::set_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1016,1
    - Dst: release_plugins
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1019,1
    - Dst: deinit_plugin_suite_config
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1021,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1022,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - sc
    - qos
    - gv
    argTypes:
    - dds_security_context*
    - dds_qos_t*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 1024
    functionName: ddsi_omg_security_load
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - dds_security_verify_plugin_functions
    - ddsrt_mutex_unlock
    - dds_security_context*::authentication_context::set_listener
    - GVTRACE
    - dds_security_context*::access_control_context::set_listener
    - ddsrt_mutex_lock
    - dds_security_check_plugin_configuration
    - memset
    - release_plugins
    - dds_qos_to_security_plugin_configuration
    - deinit_plugin_suite_config
    - dds_security_load_security_library
    - GVERROR
    - handshake_initialize
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_omg_security_load (dds_security_context *sc, const
      dds_qos_t *qos, struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_handshake_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1030,1
    - Dst: ddsi_handshake_crypto_tokens_received
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1032,1
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1035
    functionName: notify_handshake_recv_token
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_release
    - ddsi_handshake_crypto_tokens_received
    - ddsi_handshake_find
    linkageType: ''
    returnType: void
    signature: void notify_handshake_recv_token(struct ddsi_participant *pp, struct
      ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1040
    functionName: ddsi_omg_participant_is_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_secure(const struct ddsi_participant *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: ddsi_omg_proxy_participant_is_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_proxy_participant_is_secure (const struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: ddsi_omg_participant_allow_unauthenticated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_allow_unauthenticated(struct ddsi_participant
      *pp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1055,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1072,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1072,1
    - Dst: ddsi_hton_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1074,1
    - Dst: ddsi_omg_shallow_copy_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1075,1
    - Dst: struct dds_security_context*::authentication_context::validate_local_identity
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1077,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1083,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1086,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1088,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1088,1
    - Dst: struct dds_security_context*::authentication_context::get_identity_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1091,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1093,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1096,1
    - Dst: ddsi_omg_security_dataholder_copyin
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1098,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1099,1
    - Dst: participant_sec_attributes_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1102,1
    - Dst: struct dds_security_context*::access_control_context::validate_local_permissions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1104,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1110,1
    - Dst: struct dds_security_context*::access_control_context::check_create_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1115,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1117,1
    - Dst: struct dds_security_context*::access_control_context::get_permissions_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1122,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1124,1
    - Dst: ddsi_omg_security_dataholder_copyin
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1128,1
    - Dst: struct dds_security_context*::access_control_context::get_permissions_credential_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1131,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1133,1
    - Dst: struct dds_security_context*::authentication_context::set_permissions_credential_and_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1137,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1139,1
    - Dst: struct dds_security_context*::access_control_context::get_participant_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1143,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1145,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_local_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1150,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1153,1
    - Dst: participant_index_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1157,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1160,1
    - Dst: struct dds_security_context*::access_control_context::return_permissions_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1168,1
    - Dst: struct dds_security_context*::access_control_context::return_permissions_credential_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1170,1
    - Dst: participant_sec_attributes_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1173,1
    - Dst: ddsi_omg_shallow_free_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1175,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 2
    argNames:
    - pp
    - domain_id
    argTypes:
    - struct ddsi_participant*
    - uint32_t
    assertStmts:
    - condition: (exception.code == 0)
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1177
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1177
    functionName: ddsi_omg_security_check_create_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_free_security_qos
    - struct dds_security_context*::access_control_context::check_create_participant
    - struct dds_security_context*::access_control_context::get_participant_sec_attributes
    - participant_sec_attributes_new
    - struct dds_security_context*::authentication_context::get_identity_token
    - ddsi_ntoh_guid
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_local_participant
    - ddsi_omg_shallow_copy_security_qos
    - DDS_Security_DataHolder_deinit
    - struct dds_security_context*::access_control_context::return_permissions_token
    - EXCEPTION_ERROR
    - participant_sec_attributes_free
    - struct dds_security_context*::access_control_context::get_permissions_credential_token
    - ddsi_hton_guid
    - ddsi_omg_security_get_secure_context
    - PGUID
    - assert
    - struct dds_security_context*::access_control_context::validate_local_permissions
    - struct dds_security_context*::access_control_context::return_permissions_credential_token
    - struct dds_security_context*::authentication_context::validate_local_identity
    - ETRACE
    - ddsi_omg_security_dataholder_copyin
    - participant_index_add
    - struct dds_security_context*::access_control_context::get_permissions_token
    - struct dds_security_context*::authentication_context::set_permissions_credential_and_token
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_omg_security_check_create_participant (struct ddsi_participant
      *pp, uint32_t domain_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1183,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1187
    functionName: ddsi_omg_security_participant_set_initialized
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_participant_set_initialized (struct ddsi_participant
      *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1195,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1200
    functionName: ddsi_omg_security_participant_is_initialized
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_participant_is_initialized (struct ddsi_participant
      *pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1216,1
    - Dst: participant_index_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1217,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1220,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1220,1
    - Dst: ddsrt_avl_cfind_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1222,1
    - Dst: ddsrt_avl_cfind_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1225,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1226,1
    - Dst: proxypp_pp_unrelate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1228,1
    - Dst: ddsrt_avl_cdelete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1229,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1230,1
    - Dst: dds_security_context*::access_control_context::return_permissions_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1236,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1237,1
    - Dst: dds_security_context*::authentication_context::return_identity_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1241,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1242,1
    - Dst: dds_security_context*::access_control_context::return_participant_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1246,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1247,1
    - Dst: dds_security_context*::crypto_context::crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1250,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1251,1
    - Dst: participant_sec_attributes_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1253,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 1215
        line_start: 1215
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1255
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1255
    functionName: cleanup_participant_sec_attributes
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cfind_min
    - ddsrt_avl_cfind_succ
    - dds_security_context*::access_control_context::return_participant_sec_attributes
    - ddsrt_free
    - PGUID
    - assert
    - participant_index_remove
    - dds_security_context*::crypto_context::crypto_key_factory::unregister_participant
    - dds_security_context*::authentication_context::return_identity_handle
    - dds_security_context*::access_control_context::return_permissions_handle
    - ddsrt_avl_cdelete
    - EXCEPTION_ERROR
    - GVTRACE
    - proxypp_pp_unrelate
    - ddsi_entidx_lookup_proxy_participant_guid
    - participant_sec_attributes_free
    linkageType: ''
    returnType: void
    signature: void cleanup_participant_sec_attributes(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1260,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1273,1
    - Dst: ddsi_qxev_nt_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1276,1
    - Dst: clear_pending_matches_by_local_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1257
    functionDepth: 4
    functionLinenumber: 1257
    functionLinenumberEnd: 1282
    functionName: ddsi_omg_security_deregister_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_security_get_secure_context
    - ddsrt_malloc
    - clear_pending_matches_by_local_guid
    - ddsi_qxev_nt_callback
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_participant (struct ddsi_participant
      *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1289
    functionName: ddsi_omg_security_get_local_participant_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_omg_security_get_local_participant_handle (const struct
      ddsi_participant *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: ddsi_omg_participant_is_access_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_access_protected(const struct ddsi_participant
      *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: ddsi_omg_participant_is_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_rtps_protected(const struct ddsi_participant
      *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1304
    functionName: ddsi_omg_participant_is_liveliness_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_liveliness_protected(const struct ddsi_participant
      *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1309
    functionName: ddsi_omg_participant_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_discovery_protected(const struct ddsi_participant
      *pp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - entityid
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1330
    functionName: maybe_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: bool
    signature: bool maybe_rtps_protected(ddsi_entityid_t entityid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SECURITY_INFO_IS_RTPS_PROTECTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1335
    functionName: proxypp_is_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - SECURITY_INFO_IS_RTPS_PROTECTED
    linkageType: ''
    returnType: bool
    signature: bool proxypp_is_rtps_protected(const struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1339,1
    - Dst: SECURITY_INFO_IS_RTPS_PROTECTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1340,1
    - Dst: maybe_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - proxypp
    - entityid
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1342
    functionName: ddsi_omg_security_is_remote_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - maybe_rtps_protected
    - SECURITY_INFO_IS_RTPS_PROTECTED
    - ddsi_omg_proxy_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_is_remote_rtps_protected (const struct ddsi_proxy_participant
      *proxypp, ddsi_entityid_t entityid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_participant_is_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1346,1
    - Dst: maybe_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - entityid
    argTypes:
    - struct ddsi_participant*
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1347
    functionName: ddsi_omg_security_is_local_rtps_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - maybe_rtps_protected
    - ddsi_omg_participant_is_rtps_protected
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_is_local_rtps_protected (const struct ddsi_participant
      *pp, ddsi_entityid_t entityid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1351,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1352,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pp
    - info
    argTypes:
    - struct ddsi_participant*
    - ddsi_security_info_t*
    assertStmts:
    - condition: (pp)
      pos:
        line_end: 1350
        line_start: 1350
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (info)
      pos:
        line_end: 1351
        line_start: 1351
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1376
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1376
    functionName: ddsi_omg_get_participant_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_get_participant_security_info (const struct ddsi_participant
      *pp, ddsi_security_info_t *info)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - attr
    - info
    argTypes:
    - DDS_Security_EndpointSecurityAttributes*
    - ddsi_security_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1403
    functionName: ddsi_omg_get_endpoint_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_get_endpoint_security_info (DDS_Security_EndpointSecurityAttributes
      *attr, ddsi_security_info_t *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_access_control*::get_topic_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1411,1
    - Dst: dds_security_access_control*::return_topic_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1414,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - permission_handle
    - access_control
    - topic_name
    argTypes:
    - DDS_Security_PermissionsHandle
    - dds_security_access_control*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1421
    functionName: is_topic_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - dds_security_access_control*::return_topic_sec_attributes
    - DDS_Security_Exception_reset
    - dds_security_access_control*::get_topic_sec_attributes
    linkageType: ''
    returnType: bool
    signature: bool is_topic_discovery_protected(DDS_Security_PermissionsHandle permission_handle,
      dds_security_access_control *access_control, const char *topic_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_topic_discovery_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1438,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1439,1
    - Dst: EXCEPTION_VLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1440,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1441,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - gv
    - permissions_handle
    - ac_ctx
    - exception
    - topic_name
    - fmt
    argTypes:
    - struct ddsi_domaingv*
    - DDS_Security_PermissionsHandle
    - dds_security_access_control*
    - DDS_Security_SecurityException*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1432
    functionDepth: 3
    functionLinenumber: 1432
    functionLinenumberEnd: 1444
    functionName: handle_not_allowed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - EXCEPTION_VLOG
    - va_start
    - DDS_Security_Exception_reset
    - va_end
    - is_topic_discovery_protected
    linkageType: ''
    returnType: void
    signature: "void handle_not_allowed(const struct ddsi_domaingv *gv, DDS_Security_PermissionsHandle
      permissions_handle, dds_security_access_control * ac_ctx,\n    DDS_Security_SecurityException
      * exception, const char * topic_name, const char * fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1454,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1454,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1455,1
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1457,1
    - Dst: ddsi_omg_shallow_copy_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1459,1
    - Dst: struct dds_security_context*::access_control_context::check_create_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1460,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1462,1
    - Dst: ddsi_omg_shallow_free_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1463,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1465,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - gv
    - pp_guid
    - topic_name
    - qos
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - char*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1446
    functionDepth: 4
    functionLinenumber: 1446
    functionLinenumberEnd: 1468
    functionName: ddsi_omg_security_check_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_omg_shallow_copy_security_qos
    - ddsi_omg_security_get_secure_context
    - handle_not_allowed
    - ddsi_omg_shallow_free_security_qos
    - struct dds_security_context*::access_control_context::check_create_topic
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_topic (const struct ddsi_domaingv
      *gv, const ddsi_guid_t *pp_guid, const char *topic_name, const struct dds_qos
      *qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1472,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1482,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1484,1
    - Dst: ddsi_omg_shallow_copy_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1486,1
    - Dst: struct dds_security_context*::access_control_context::check_create_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1488,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1490,1
    - Dst: ddsi_omg_shallow_free_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1492,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pp
    - domain_id
    - topic_name
    - writer_qos
    argTypes:
    - struct ddsi_participant*
    - uint32_t
    - char*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1470
    functionDepth: 4
    functionLinenumber: 1470
    functionLinenumberEnd: 1496
    functionName: ddsi_omg_security_check_create_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_copy_security_qos
    - ddsi_omg_shallow_free_StringSeq
    - ddsi_omg_security_get_secure_context
    - handle_not_allowed
    - ddsi_omg_shallow_free_security_qos
    - memset
    - struct dds_security_context*::access_control_context::check_create_datawriter
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_writer (struct ddsi_participant
      *pp, uint32_t domain_id, const char *topic_name, const struct dds_qos *writer_qos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1501,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1510,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1512,1
    - Dst: writer_sec_attributes_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1514,1
    - Dst: struct dds_security_context*::access_control_context::get_datawriter_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1515,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1517,1
    - Dst: ddsi_omg_copy_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1525,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1527,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_local_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1529,1
    - Dst: DDS_Security_PropertySeq_freebuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1531,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1534,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1547,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1548
    functionName: ddsi_omg_security_register_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_free_StringSeq
    - ddsi_omg_security_get_secure_context
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_local_datawriter
    - struct dds_security_context*::access_control_context::get_datawriter_sec_attributes
    - memset
    - ddsi_omg_copy_PropertySeq
    - writer_sec_attributes_new
    - EXCEPTION_ERROR
    - DDS_Security_PropertySeq_freebuf
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_register_writer (struct ddsi_writer *wr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1552,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1557,1
    - Dst: clear_pending_matches_by_local_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1558,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1562,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1563,1
    - Dst: struct dds_security_context*::access_control_context::return_datawriter_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1567,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1568,1
    - Dst: writer_sec_attributes_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 1556
        line_start: 1556
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1573
      start: 1550
    functionDepth: 4
    functionLinenumber: 1550
    functionLinenumberEnd: 1573
    functionName: ddsi_omg_security_deregister_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - clear_pending_matches_by_local_guid
    - struct dds_security_context*::access_control_context::return_datawriter_sec_attributes
    - ddsi_omg_security_get_secure_context
    - assert
    - struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
    - writer_sec_attributes_free
    - EXCEPTION_ERROR
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_writer (struct ddsi_writer *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1577,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1578,1
    - Dst: ddsi_omg_get_endpoint_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - wr
    - info
    argTypes:
    - struct ddsi_writer*
    - ddsi_security_info_t*
    assertStmts:
    - condition: (wr)
      pos:
        line_end: 1576
        line_start: 1576
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (info)
      pos:
        line_end: 1577
        line_start: 1577
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1587
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1587
    functionName: ddsi_omg_get_writer_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_get_endpoint_security_info
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_get_writer_security_info (const struct ddsi_writer *wr,
      ddsi_security_info_t *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1591,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1601,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1603,1
    - Dst: ddsi_omg_shallow_copy_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1605,1
    - Dst: struct dds_security_context*::access_control_context::check_create_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1607,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1609,1
    - Dst: ddsi_omg_shallow_free_security_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1611,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pp
    - domain_id
    - topic_name
    - reader_qos
    argTypes:
    - struct ddsi_participant*
    - uint32_t
    - char*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1589
    functionDepth: 4
    functionLinenumber: 1589
    functionLinenumberEnd: 1615
    functionName: ddsi_omg_security_check_create_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_copy_security_qos
    - ddsi_omg_shallow_free_StringSeq
    - ddsi_omg_security_get_secure_context
    - handle_not_allowed
    - ddsi_omg_shallow_free_security_qos
    - memset
    - struct dds_security_context*::access_control_context::check_create_datareader
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_reader (struct ddsi_participant
      *pp, uint32_t domain_id, const char *topic_name, const struct dds_qos *reader_qos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1620,1
    - Dst: ddsi_omg_shallow_copy_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1629,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1631,1
    - Dst: reader_sec_attributes_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1633,1
    - Dst: struct dds_security_context*::access_control_context::get_datareader_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1635,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1637,1
    - Dst: ddsi_omg_copy_PropertySeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1645,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1647,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_local_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1649,1
    - Dst: DDS_Security_PropertySeq_freebuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1651,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1654,1
    - Dst: ddsi_omg_shallow_free_StringSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1617
    functionDepth: 2
    functionLinenumber: 1617
    functionLinenumberEnd: 1662
    functionName: ddsi_omg_security_register_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_shallow_free_StringSeq
    - ddsi_omg_security_get_secure_context
    - memset
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_local_datareader
    - ddsi_omg_copy_PropertySeq
    - reader_sec_attributes_new
    - struct dds_security_context*::access_control_context::get_datareader_sec_attributes
    - EXCEPTION_ERROR
    - DDS_Security_PropertySeq_freebuf
    - ddsi_omg_shallow_copy_StringSeq
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_register_reader (struct ddsi_reader *rd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1666,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1671,1
    - Dst: clear_pending_matches_by_local_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1673,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1677,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1679,1
    - Dst: struct dds_security_context*::access_control_context::return_datareader_sec_attributes
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1684,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1686,1
    - Dst: reader_sec_attributes_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 1670
        line_start: 1670
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1692
      start: 1664
    functionDepth: 4
    functionLinenumber: 1664
    functionLinenumberEnd: 1692
    functionName: ddsi_omg_security_deregister_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
    - clear_pending_matches_by_local_guid
    - struct dds_security_context*::access_control_context::return_datareader_sec_attributes
    - ddsi_omg_security_get_secure_context
    - assert
    - reader_sec_attributes_free
    - EXCEPTION_ERROR
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_reader (struct ddsi_reader *rd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1696,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1697,1
    - Dst: ddsi_omg_get_endpoint_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rd
    - info
    argTypes:
    - struct ddsi_reader*
    - ddsi_security_info_t*
    assertStmts:
    - condition: (rd)
      pos:
        line_end: 1695
        line_start: 1695
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (info)
      pos:
        line_end: 1696
        line_start: 1696
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1706
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1706
    functionName: ddsi_omg_get_reader_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_get_endpoint_security_info
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_get_reader_security_info (const struct ddsi_reader *rd,
      ddsi_security_info_t *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_reader_is_discovery_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1714
    functionName: ddsi_determine_subscription_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_reader_is_discovery_protected
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_subscription_writer(const struct ddsi_reader
      *rd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_writer_is_discovery_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1722
    functionName: ddsi_determine_publication_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_writer_is_discovery_protected
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_publication_writer (const struct ddsi_writer
      *wr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_participant_is_discovery_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1727,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1730
    functionName: ddsi_determine_topic_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_participant_is_discovery_protected
    - abort
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_determine_topic_writer (const struct ddsi_topic *tp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1735,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1743,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1745,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1747,1
    - Dst: ddsi_handshake_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1749,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1752,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1752,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1752,1
    - Dst: struct dds_security_context*::authentication_context::get_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1756,1
    - Dst: ddsi_handshake_get_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1756,1
    - Dst: ddsi_omg_participant_is_access_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1758,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1760,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1761,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1761,1
    - Dst: EXCEPTION_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1765,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1766,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1766,1
    - Dst: struct dds_security_context*::access_control_context::validate_remote_permissions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1769,1
    - Dst: ddsi_omg_participant_is_access_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1773,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1775,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1775,1
    - Dst: EXCEPTION_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1779,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1779,1
    - Dst: ddsi_omg_participant_is_access_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1783,1
    - Dst: ddsi_omg_shallow_copy_ParticipantBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1787,1
    - Dst: struct dds_security_context*::access_control_context::check_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1788,1
    - Dst: EXCEPTION_WARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1790,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1790,1
    - Dst: struct dds_security_context*::access_control_context::return_permissions_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1791,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1792,1
    - Dst: ddsi_omg_shallow_free_ParticipantBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1795,1
    - Dst: struct dds_security_context*::authentication_context::return_authenticated_peer_credential_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1799,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1800,1
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1802,1
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1804,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - domain_id
    - pp
    - proxypp
    - remote_identity_handle
    argTypes:
    - uint32_t
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - int64_t
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 1742
        line_start: 1742
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1806
      start: 1733
    functionDepth: 5
    functionLinenumber: 1733
    functionLinenumberEnd: 1806
    functionName: check_remote_participant_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::access_control_context::return_permissions_handle
    - struct dds_security_context*::authentication_context::get_authenticated_peer_credential_token
    - struct dds_security_context*::authentication_context::return_authenticated_peer_credential_token
    - ddsi_omg_shallow_copyin_DataHolder
    - ddsi_handshake_release
    - ddsi_handshake_find
    - ddsi_omg_shallow_free_ParticipantBuiltinTopicDataSecure
    - EXCEPTION_ERROR
    - ddsi_omg_shallow_free_DataHolder
    - EXCEPTION_WARNING
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - ddsi_omg_participant_is_access_protected
    - struct dds_security_context*::access_control_context::check_remote_participant
    - ddsi_omg_shallow_copy_ParticipantBuiltinTopicDataSecure
    - struct dds_security_context*::access_control_context::validate_remote_permissions
    - memset
    - ddsi_handshake_get_handle
    - GVTRACE
    linkageType: ''
    returnType: int64_t
    signature: int64_t check_remote_participant_permissions(uint32_t domain_id, struct
      ddsi_participant *pp, struct ddsi_proxy_participant *proxypp, int64_t remote_identity_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1810,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1815,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_participant_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1817,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1819,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1819,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1819,1
    - Dst: ddsi_omg_shallow_copyout_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1824,1
    - Dst: ddsi_write_crypto_participant_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1825,1
    - Dst: ddsi_omg_shallow_free_ddsi_dataholderseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1826,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1828,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1829,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1829,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pp
    - proxypp
    - local_crypto
    - remote_crypto
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - DDS_Security_ParticipantCryptoHandle
    - DDS_Security_ParticipantCryptoHandle
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 1814
        line_start: 1814
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 1831
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1831
    functionName: send_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - ddsi_write_crypto_participant_tokens
    - struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_participant_crypto_tokens
    - struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
    - EXCEPTION_ERROR
    - ddsi_omg_shallow_copyout_DataHolderSeq
    - ddsi_omg_shallow_free_ddsi_dataholderseq
    linkageType: ''
    returnType: void
    signature: void send_participant_crypto_tokens(struct ddsi_participant *pp, struct
      ddsi_proxy_participant *proxypp, DDS_Security_ParticipantCryptoHandle local_crypto,
      DDS_Security_ParticipantCryptoHandle remote_crypto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1838,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1839,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1845
    functionName: get_permissions_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_permissions_handle(struct ddsi_participant *pp, struct
      ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1849,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1850,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1856
    functionName: ddsi_omg_security_init_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_init_remote_participant (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1862,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1866
    functionName: ddsi_omg_security_remote_participant_set_initialized
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_remote_participant_set_initialized (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1874,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1879
    functionName: ddsi_omg_security_remote_participant_is_initialized
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_remote_participant_is_initialized (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1887,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1888,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1892
    functionName: proxypp_is_authenticated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_is_empty
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool proxypp_is_authenticated(const struct ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_proxypp_pp_match_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1899,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1900,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1901,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1902,1
    - Dst: ddsi_pp_proxypp_match_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1904,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1906,1
    - Dst: ddsrt_avl_cinsert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1907,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - pp
    - proxypp
    - permissions_handle
    - shared_secret_handle
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - DDS_Security_PermissionsHandle
    - DDS_Security_SharedSecretHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1909
    functionName: match_proxypp_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsi_proxypp_pp_match_new
    - ddsrt_mutex_lock
    - ddsrt_avl_cinsert
    - ddsi_pp_proxypp_match_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void match_proxypp_pp(struct ddsi_participant *pp, struct ddsi_proxy_participant
      *proxypp, DDS_Security_PermissionsHandle permissions_handle, DDS_Security_SharedSecretHandle
      shared_secret_handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1915,1
    - Dst: check_remote_participant_permissions
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1924,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1928,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1928,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1928,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1930,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1934,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1934,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1934,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1939,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1943,1
    - Dst: match_proxypp_pp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1944,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1946,1
    - Dst: proxypp_is_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1948,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1950,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_participant_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1953,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1957,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1957,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1957,1
    - Dst: notify_handshake_recv_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pp
    - proxypp
    - shared_secret
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1911
    functionDepth: 6
    functionLinenumber: 1911
    functionLinenumberEnd: 1970
    functionName: ddsi_omg_security_register_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - proxypp_is_rtps_protected
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_participant_crypto_tokens
    - find_or_create_pending_entity_match
    - ddsi_omg_security_get_secure_context
    - PGUID
    - ddsrt_mutex_lock
    - check_remote_participant_permissions
    - notify_handshake_recv_token
    - match_proxypp_pp
    - EXCEPTION_ERROR
    - GVTRACE
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_participant
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_register_remote_participant (struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp, int64_t shared_secret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1976,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1977,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1981
    functionName: ddsi_omg_security_set_remote_participant_authenticated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_set_remote_participant_authenticated (struct
      ddsi_participant *pp, struct ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - entityid
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1986
    functionName: is_volatile_secure_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_volatile_secure_endpoint(ddsi_entityid_t entityid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1992,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1993,1
    - Dst: is_volatile_secure_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1996,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:1999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pp
    - proxypp
    - entityid
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2001
    functionName: get_ddsi_pp_proxypp_match_if_authenticated
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - is_volatile_secure_endpoint
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: struct ddsi_proxypp_pp_match
    signature: struct ddsi_proxypp_pp_match * get_ddsi_pp_proxypp_match_if_authenticated(struct
      ddsi_participant *pp, struct ddsi_proxy_participant *proxypp, ddsi_entityid_t
      entityid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2014,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2017,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2018,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2019,1
    - Dst: pp_proxypp_unrelate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2020,1
    - Dst: ddsi_proxypp_pp_match_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2021,1
    - Dst: clear_pending_matches_by_remote_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2025,1
    - Dst: dds_security_context*::crypto_context::crypto_key_factory::unregister_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2029,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2030,1
    - Dst: dds_security_context*::authentication_context::return_identity_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2035,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2036,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2039,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2003
    functionDepth: 5
    functionLinenumber: 2003
    functionLinenumberEnd: 2043
    functionName: ddsi_omg_security_deregister_remote_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - ddsi_proxypp_pp_match_free
    - pp_proxypp_unrelate
    - dds_security_context*::crypto_context::crypto_key_factory::unregister_participant
    - ddsrt_avl_delete
    - dds_security_context*::authentication_context::return_identity_handle
    - clear_pending_matches_by_remote_guid
    - ddsrt_avl_find_succ
    - ddsrt_mutex_destroy
    - EXCEPTION_ERROR
    - ddsi_entidx_lookup_participant_guid
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_participant (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2049,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2050,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2061,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2064,1
    - Dst: proxypp_is_authenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - gv
    - guid
    - pwr_entityid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - ddsi_entityid_t
    assertStmts:
    - condition: (gv)
      pos:
        line_end: 2048
        line_start: 2048
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (guid)
      pos:
        line_end: 2049
        line_start: 2049
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2069
      start: 2045
    functionDepth: 2
    functionLinenumber: 2045
    functionLinenumberEnd: 2069
    functionName: ddsi_is_proxy_participant_deletion_allowed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - GVLOGDISC
    - proxypp_is_authenticated
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_proxy_participant_deletion_allowed (struct ddsi_domaingv
      * const gv, const struct ddsi_guid *guid, const ddsi_entityid_t pwr_entityid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_get_participant_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2076,1
    - Dst: SECURITY_INFO_COMPATIBLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2079,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2081,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2082,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2082,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2092,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2100
    functionName: ddsi_omg_is_similar_participant_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - DDS_CLOG
    - SECURITY_ATTR_IS_VALID
    - PGUID
    - SECURITY_INFO_COMPATIBLE
    - ddsi_omg_get_participant_security_info
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_similar_participant_security_info (struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2105,1
    - Dst: DDS_Security_DataHolderSeq_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2113,1
    - Dst: ddsi_omg_copyin_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2114,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2116,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2117,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2118,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2120,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2124,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2124,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2124,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2125,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_participant_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2129,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2131,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2131,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2131,1
    - Dst: DDS_Security_DataHolderSeq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2132,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2135,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2135,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2135,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2137,1
    - Dst: notify_handshake_recv_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pp
    - proxypp
    - tokens
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2102
    functionDepth: 4
    functionLinenumber: 2102
    functionLinenumberEnd: 2140
    functionName: ddsi_omg_security_set_participant_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_participant_crypto_tokens
    - find_or_create_pending_entity_match
    - ddsrt_avl_lookup
    - ddsi_omg_security_get_secure_context
    - ddsrt_mutex_lock
    - PGUID
    - DDS_Security_DataHolderSeq_free
    - ddsi_omg_copyin_DataHolderSeq
    - DDS_Security_DataHolderSeq_alloc
    - notify_handshake_recv_token
    - EXCEPTION_ERROR
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_set_participant_crypto_tokens (struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp, const ddsi_dataholderseq_t *tokens)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_participant_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2142
    functionDepth: 4
    functionLinenumber: 2142
    functionLinenumberEnd: 2146
    functionName: ddsi_omg_security_participant_send_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - send_participant_crypto_tokens
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_participant_send_tokens (struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2154
    functionName: ddsi_omg_security_get_remote_participant_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_omg_security_get_remote_participant_handle (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2158,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - proxypp
    - plist
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsi_plist_t*
    assertStmts:
    - condition: (proxypp)
      pos:
        line_end: 2157
        line_start: 2157
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (plist)
      pos:
        line_end: 2158
        line_start: 2158
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2167
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2167
    functionName: ddsi_set_proxy_participant_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_set_proxy_participant_security_info(struct ddsi_proxy_participant
      *proxypp, const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (wr != NULL)
      pos:
        line_end: 2170
        line_start: 2170
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2173
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2173
    functionName: ddsi_omg_writer_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_discovery_protected (const struct ddsi_writer
      *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (wr != NULL)
      pos:
        line_end: 2176
        line_start: 2176
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2179
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2179
    functionName: ddsi_omg_writer_is_submessage_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_submessage_protected (const struct ddsi_writer
      *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts:
    - condition: (wr != NULL)
      pos:
        line_end: 2182
        line_start: 2182
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2185
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2185
    functionName: ddsi_omg_writer_is_payload_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_writer_is_payload_protected (const struct ddsi_writer
      *wr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2190,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2198,1
    - Dst: ddsi_omg_participant_allow_unauthenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2200,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2202,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2202,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2207,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2207,1
    - Dst: SECURITY_INFO_IS_WRITE_PROTECTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2212,1
    - Dst: get_permissions_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2216,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2218,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2218,1
    - Dst: ddsi_omg_shallow_copy_PublicationBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2222,1
    - Dst: struct dds_security_context*::access_control_context::check_remote_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2223,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2226,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2227,1
    - Dst: ddsi_omg_shallow_copy_TopicBuiltinTopicData
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2231,1
    - Dst: struct dds_security_context*::access_control_context::check_remote_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2232,1
    - Dst: ddsi_omg_shallow_free_TopicBuiltinTopicData
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2233,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2235,1
    - Dst: ddsi_omg_shallow_free_PublicationBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pwr
    - domain_id
    - pp
    argTypes:
    - struct ddsi_proxy_writer*
    - uint32_t
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2187
    functionDepth: 4
    functionLinenumber: 2187
    functionLinenumberEnd: 2241
    functionName: ddsi_omg_security_check_remote_writer_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_omg_shallow_copy_PublicationBuiltinTopicDataSecure
    - ddsi_omg_shallow_free_PublicationBuiltinTopicDataSecure
    - ddsi_omg_security_get_secure_context
    - PGUID
    - ddsi_omg_participant_allow_unauthenticated
    - handle_not_allowed
    - ddsi_omg_shallow_free_TopicBuiltinTopicData
    - struct dds_security_context*::access_control_context::check_remote_topic
    - get_permissions_handle
    - SECURITY_INFO_IS_WRITE_PROTECTED
    - GVTRACE
    - ddsi_omg_proxy_participant_is_secure
    - ddsi_omg_shallow_copy_TopicBuiltinTopicData
    - struct dds_security_context*::access_control_context::check_remote_datawriter
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_remote_writer_permissions (const struct
      ddsi_proxy_writer *pwr, uint32_t domain_id, struct ddsi_participant *pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2245,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2251,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2251,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2251,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2252,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_datareader_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2253,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2255,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2255,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2255,1
    - Dst: ddsi_omg_shallow_copyout_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2260,1
    - Dst: ddsi_write_crypto_reader_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2261,1
    - Dst: ddsi_omg_shallow_free_ddsi_dataholderseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2262,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2264,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2265,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2265,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - rd
    - pwr
    - local_crypto
    - remote_crypto
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - DDS_Security_DatareaderCryptoHandle
    - DDS_Security_DatawriterCryptoHandle
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2251
        line_start: 2251
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2267
      start: 2243
    functionDepth: 3
    functionLinenumber: 2243
    functionLinenumberEnd: 2267
    functionName: send_reader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_write_crypto_reader_tokens
    - ddsi_omg_shallow_copyout_DataHolderSeq
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_datareader_crypto_tokens
    - struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
    - EXCEPTION_ERROR
    - GVTRACE
    - ddsi_omg_shallow_free_ddsi_dataholderseq
    linkageType: ''
    returnType: void
    signature: void send_reader_crypto_tokens(struct ddsi_reader *rd, struct ddsi_proxy_writer
      *pwr, DDS_Security_DatareaderCryptoHandle local_crypto, DDS_Security_DatawriterCryptoHandle
      remote_crypto)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2274,1
    - Dst: get_ddsi_pp_proxypp_match_if_authenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2283,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2286,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2287,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2294,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2298,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2302,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2302,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2302,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2306,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2311,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2314,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2314,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2314,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2321,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2323,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2323,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2323,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2326,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2326,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2326,1
    - Dst: delete_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2329,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2334,1
    - Dst: send_reader_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pwr
    - rd
    - crypto_handle
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_reader*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2269
    functionDepth: 4
    functionLinenumber: 2269
    functionLinenumberEnd: 2340
    functionName: ddsi_omg_security_register_remote_writer_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datawriter_crypto_tokens
    - ddsrt_mutex_unlock
    - find_or_create_pending_entity_match
    - ddsrt_avl_lookup
    - ddsi_omg_security_get_secure_context
    - ddsrt_mutex_lock
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datawriter
    - PGUID
    - get_ddsi_pp_proxypp_match_if_authenticated
    - send_reader_crypto_tokens
    - EXCEPTION_ERROR
    - GVTRACE
    - delete_pending_match
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_register_remote_writer_match (struct ddsi_proxy_writer
      *pwr, struct ddsi_reader *rd, int64_t *crypto_handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_get_reader_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2364,1
    - Dst: SECURITY_INFO_COMPATIBLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2365,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2367,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2368,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2368,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2377,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2390,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2393,1
    - Dst: ddsi_omg_security_register_remote_writer_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rd
    - pwr
    - crypto_handle
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2342
    functionDepth: 5
    functionLinenumber: 2342
    functionLinenumberEnd: 2398
    functionName: ddsi_omg_security_match_remote_writer_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - SECURITY_ATTR_IS_VALID
    - PGUID
    - SECURITY_INFO_COMPATIBLE
    - ddsi_omg_security_register_remote_writer_match
    - ddsi_omg_get_reader_security_info
    - ddsi_omg_proxy_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_match_remote_writer_enabled (struct ddsi_reader
      *rd, struct ddsi_proxy_writer *pwr, int64_t *crypto_handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2407,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2408,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2409,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2409,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - rd_guid
    - m
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - struct ddsi_rd_pwr_match*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2406
        line_start: 2406
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2411
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2411
    functionName: ddsi_omg_security_deregister_remote_writer_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - EXCEPTION_ERROR
    - struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datawriter
    - assert
    - PGUID
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_writer_match (const struct
      ddsi_domaingv *gv, const ddsi_guid_t *rd_guid, struct ddsi_rd_pwr_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2418,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2420,1
    - Dst: clear_pending_matches_by_remote_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pwr
    argTypes:
    - struct ddsi_proxy_writer*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2419
        line_start: 2419
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2423
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2423
    functionName: ddsi_omg_security_deregister_remote_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_proxy_participant_is_secure
    - clear_pending_matches_by_remote_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_writer (const struct ddsi_proxy_writer
      *pwr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2428,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2440,1
    - Dst: ddsi_omg_participant_allow_unauthenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2442,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2444,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2444,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2449,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2449,1
    - Dst: SECURITY_INFO_IS_READ_PROTECTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2454,1
    - Dst: get_permissions_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2458,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2460,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2460,1
    - Dst: ddsi_omg_shallow_copy_SubscriptionBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2464,1
    - Dst: struct dds_security_context*::access_control_context::check_remote_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2465,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2468,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2469,1
    - Dst: ddsi_omg_shallow_copy_TopicBuiltinTopicData
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2474,1
    - Dst: struct dds_security_context*::access_control_context::check_remote_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2475,1
    - Dst: ddsi_omg_shallow_free_TopicBuiltinTopicData
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2476,1
    - Dst: handle_not_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2478,1
    - Dst: ddsi_omg_shallow_free_SubscriptionBuiltinTopicDataSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - prd
    - domain_id
    - pp
    - relay_only
    argTypes:
    - struct ddsi_proxy_reader*
    - uint32_t
    - struct ddsi_participant*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2425
    functionDepth: 4
    functionLinenumber: 2425
    functionLinenumberEnd: 2484
    functionName: ddsi_omg_security_check_remote_reader_permissions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - SECURITY_INFO_IS_READ_PROTECTED
    - ddsi_omg_shallow_copy_SubscriptionBuiltinTopicDataSecure
    - ddsi_omg_security_get_secure_context
    - PGUID
    - ddsi_omg_participant_allow_unauthenticated
    - handle_not_allowed
    - ddsi_omg_shallow_free_TopicBuiltinTopicData
    - ddsi_omg_shallow_free_SubscriptionBuiltinTopicDataSecure
    - struct dds_security_context*::access_control_context::check_remote_topic
    - get_permissions_handle
    - struct dds_security_context*::access_control_context::check_remote_datareader
    - GVTRACE
    - ddsi_omg_proxy_participant_is_secure
    - ddsi_omg_shallow_copy_TopicBuiltinTopicData
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_remote_reader_permissions (const struct
      ddsi_proxy_reader *prd, uint32_t domain_id, struct ddsi_participant *pp, bool
      *relay_only)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: endpoint_is_DCPSParticipantSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2505,1
    - Dst: endpoint_is_DCPSPublicationsSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2506,1
    - Dst: endpoint_is_DCPSSubscriptionsSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2507,1
    - Dst: endpoint_is_DCPSParticipantMessageSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2528,1
    - Dst: endpoint_is_DCPSParticipantStatelessMessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2549,1
    - Dst: endpoint_is_DCPSParticipantVolatileMessageSecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2554,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - entity
    - proxypp_sec_info
    - plist
    - info
    argTypes:
    - struct ddsi_entity_common*
    - ddsi_security_info_t*
    - ddsi_plist_t*
    - ddsi_security_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2560
    functionName: ddsi_omg_get_proxy_endpoint_security_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - endpoint_is_DCPSParticipantVolatileMessageSecure
    - endpoint_is_DCPSPublicationsSecure
    - endpoint_is_DCPSSubscriptionsSecure
    - endpoint_is_DCPSParticipantStatelessMessage
    - endpoint_is_DCPSParticipantSecure
    - endpoint_is_DCPSParticipantMessageSecure
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_get_proxy_endpoint_security_info (const struct ddsi_entity_common
      *entity, ddsi_security_info_t *proxypp_sec_info, const ddsi_plist_t *plist,
      ddsi_security_info_t *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2569,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2570,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2571,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2571,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - wr_guid
    - m
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - struct ddsi_wr_prd_match*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2568
        line_start: 2568
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2573
      start: 2562
    functionDepth: 1
    functionLinenumber: 2562
    functionLinenumberEnd: 2573
    functionName: ddsi_omg_security_deregister_remote_reader_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - EXCEPTION_ERROR
    - PGUID
    - assert
    - struct dds_security_context*::crypto_context::crypto_key_factory::unregister_datareader
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_reader_match (const struct
      ddsi_domaingv *gv, const ddsi_guid_t *wr_guid, struct ddsi_wr_prd_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2580,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2582,1
    - Dst: clear_pending_matches_by_remote_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - prd
    argTypes:
    - struct ddsi_proxy_reader*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2581
        line_start: 2581
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2585
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2585
    functionName: ddsi_omg_security_deregister_remote_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_proxy_participant_is_secure
    - clear_pending_matches_by_remote_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_deregister_remote_reader (const struct ddsi_proxy_reader
      *prd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2589,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2595,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2595,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2595,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2596,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2597,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2599,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2599,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2599,1
    - Dst: ddsi_omg_shallow_copyout_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2604,1
    - Dst: ddsi_write_crypto_writer_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2605,1
    - Dst: ddsi_omg_shallow_free_ddsi_dataholderseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2606,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2608,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2609,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2609,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - wr
    - prd
    - local_crypto
    - remote_crypto
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - DDS_Security_DatawriterCryptoHandle
    - DDS_Security_DatareaderCryptoHandle
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2595
        line_start: 2595
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2611
      start: 2587
    functionDepth: 3
    functionLinenumber: 2587
    functionLinenumberEnd: 2611
    functionName: send_writer_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyout_DataHolderSeq
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - struct dds_security_context*::crypto_context::crypto_key_exchange::create_local_datawriter_crypto_tokens
    - ddsi_write_crypto_writer_tokens
    - struct dds_security_context*::crypto_context::crypto_key_exchange::return_crypto_tokens
    - EXCEPTION_ERROR
    - GVTRACE
    - ddsi_omg_shallow_free_ddsi_dataholderseq
    linkageType: ''
    returnType: void
    signature: void send_writer_crypto_tokens(struct ddsi_writer *wr, struct ddsi_proxy_reader
      *prd, DDS_Security_DatawriterCryptoHandle local_crypto, DDS_Security_DatareaderCryptoHandle
      remote_crypto)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2618,1
    - Dst: get_ddsi_pp_proxypp_match_if_authenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2624,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2627,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2628,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2634,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2635,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2639,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2644,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2644,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2644,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2648,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2653,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datareader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2654,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2657,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2657,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2657,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2662,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2665,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2667,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2667,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2667,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2670,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2670,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2670,1
    - Dst: delete_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2673,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2678,1
    - Dst: send_writer_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - prd
    - wr
    - crypto_handle
    - relay_only
    argTypes:
    - struct ddsi_proxy_reader*
    - struct ddsi_writer*
    - int64_t*
    - bool
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 2633
        line_start: 2633
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 2652
        line_start: 2652
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2684
      start: 2613
    functionDepth: 4
    functionLinenumber: 2613
    functionLinenumberEnd: 2684
    functionName: ddsi_omg_security_register_remote_reader_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - find_or_create_pending_entity_match
    - ddsrt_avl_lookup
    - ddsi_omg_security_get_secure_context
    - assert
    - ddsrt_mutex_lock
    - PGUID
    - get_ddsi_pp_proxypp_match_if_authenticated
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datareader_crypto_tokens
    - send_writer_crypto_tokens
    - struct dds_security_context*::crypto_context::crypto_key_factory::register_matched_remote_datareader
    - EXCEPTION_ERROR
    - GVTRACE
    - delete_pending_match
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_register_remote_reader_match (struct ddsi_proxy_reader
      *prd, struct ddsi_writer *wr, int64_t *crypto_handle, bool relay_only)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_get_writer_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2708,1
    - Dst: SECURITY_INFO_COMPATIBLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2709,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2711,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2712,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2712,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2721,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2734,1
    - Dst: SECURITY_ATTR_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2737,1
    - Dst: ddsi_omg_security_register_remote_reader_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - wr
    - prd
    - relay_only
    - crypto_handle
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2686
    functionDepth: 5
    functionLinenumber: 2686
    functionLinenumberEnd: 2742
    functionName: ddsi_omg_security_match_remote_reader_enabled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_omg_security_register_remote_reader_match
    - ddsi_omg_get_writer_security_info
    - SECURITY_ATTR_IS_VALID
    - PGUID
    - SECURITY_INFO_COMPATIBLE
    - ddsi_omg_proxy_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_match_remote_reader_enabled (struct ddsi_writer
      *wr, struct ddsi_proxy_reader *prd, bool relay_only, int64_t *crypto_handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2746,1
    - Dst: DDS_Security_DataHolderSeq_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2756,1
    - Dst: ddsi_omg_copyin_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2757,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2759,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2760,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2761,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2762,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2762,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2762,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datawriter_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2765,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2766,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2766,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2766,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2769,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2769,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2769,1
    - Dst: delete_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2772,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2774,1
    - Dst: ddsi_connect_reader_with_proxy_writer_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2777,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2777,1
    - Dst: notify_handshake_recv_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - rd
    - pwr_guid
    - tokens
    argTypes:
    - struct ddsi_reader*
    - ddsi_guid_t*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2744
    functionDepth: 4
    functionLinenumber: 2744
    functionLinenumberEnd: 2781
    functionName: ddsi_omg_security_set_remote_writer_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datawriter_crypto_tokens
    - ddsrt_mutex_unlock
    - find_or_create_pending_entity_match
    - ddsi_omg_security_get_secure_context
    - ddsrt_mutex_lock
    - PGUID
    - ddsi_connect_reader_with_proxy_writer_secure
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_omg_copyin_DataHolderSeq
    - DDS_Security_DataHolderSeq_alloc
    - notify_handshake_recv_token
    - EXCEPTION_ERROR
    - GVTRACE
    - ddsrt_time_monotonic
    - delete_pending_match
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_set_remote_writer_crypto_tokens (struct ddsi_reader
      *rd, const ddsi_guid_t *pwr_guid, const ddsi_dataholderseq_t *tokens)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2785,1
    - Dst: DDS_Security_DataHolderSeq_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2795,1
    - Dst: ddsi_omg_copyin_DataHolderSeq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2796,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2798,1
    - Dst: find_or_create_pending_entity_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2799,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2800,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2801,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2801,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2801,1
    - Dst: struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datareader_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2804,1
    - Dst: EXCEPTION_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2805,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2805,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2805,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2808,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2808,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2808,1
    - Dst: delete_pending_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2811,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2813,1
    - Dst: ddsi_connect_writer_with_proxy_reader_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2816,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2816,1
    - Dst: notify_handshake_recv_token
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - wr
    - prd_guid
    - tokens
    argTypes:
    - struct ddsi_writer*
    - ddsi_guid_t*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2783
    functionDepth: 4
    functionLinenumber: 2783
    functionLinenumberEnd: 2820
    functionName: ddsi_omg_security_set_remote_reader_crypto_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsi_connect_writer_with_proxy_reader_secure
    - find_or_create_pending_entity_match
    - notify_handshake_recv_token
    - ddsi_omg_security_get_secure_context
    - ddsrt_mutex_lock
    - PGUID
    - struct dds_security_context*::crypto_context::crypto_key_exchange::set_remote_datareader_crypto_tokens
    - ddsi_omg_copyin_DataHolderSeq
    - DDS_Security_DataHolderSeq_alloc
    - ddsi_entidx_lookup_proxy_reader_guid
    - EXCEPTION_ERROR
    - GVTRACE
    - ddsrt_time_monotonic
    - delete_pending_match
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_security_set_remote_reader_crypto_tokens (struct ddsi_writer
      *wr, const ddsi_guid_t *prd_guid, const ddsi_dataholderseq_t *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts:
    - condition: (rd != NULL)
      pos:
        line_end: 2823
        line_start: 2823
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2826
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2826
    functionName: ddsi_omg_reader_is_discovery_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_reader_is_discovery_protected (const struct ddsi_reader
      *rd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2839,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2840,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2841,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2842,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2843,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2844,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2845,1
    - Dst: ddsi_omg_reader_is_submessage_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2845,1
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2848,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2849,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2851,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2851,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2854,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2855,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2857,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2857,1
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2859,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2862,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2866,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2866,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2870,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::encode_datareader_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2875,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2878,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2878,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2880,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2881,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2884,1
    - Dst: DDS_Security_DatawriterCryptoHandleSeq_freebuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 6
    argNames:
    - rd
    - dst_prefix
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_reader*
    - ddsi_guid_prefix_t*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 2839
        line_start: 2839
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 2842
        line_start: 2842
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (ddsi_omg_reader_is_submessage_protected (rd))
      pos:
        line_end: 2844
        line_start: 2844
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 2841
        line_start: 2841
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (rd->sec_attr)
      pos:
        line_end: 2843
        line_start: 2843
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (encoded_buffer._buffer)
      pos:
        line_end: 2883
        line_start: 2883
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (rd)
      pos:
        line_end: 2838
        line_start: 2838
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 2840
        line_start: 2840
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 2848
        line_start: 2848
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2897
      start: 2828
    functionDepth: 2
    functionLinenumber: 2828
    functionLinenumberEnd: 2897
    functionName: ddsi_omg_security_encode_datareader_submessage
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_mutex_unlock
    - GVWARNING
    - DDS_Security_DatawriterCryptoHandleSeq_freebuf
    - ddsrt_avl_iter_first
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - ddsrt_mutex_lock
    - struct dds_security_context*::crypto_context::crypto_transform::encode_datareader_submessage
    - memset
    - ddsi_omg_reader_is_submessage_protected
    - DDS_Security_Exception_reset
    - DDS_Security_DatawriterCryptoHandleSeq_allocbuf
    - GVTRACE
    - ddsi_guid_prefix_eq
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_encode_datareader_submessage (struct ddsi_reader
      *rd, const ddsi_guid_prefix_t *dst_prefix, const unsigned char *src_buf, size_t
      src_len, unsigned char **dst_buf, size_t *dst_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2910,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2911,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2912,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2913,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2914,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2915,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2916,1
    - Dst: ddsi_omg_writer_is_submessage_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2916,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2917,1
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2920,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2921,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2923,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2923,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_allocbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2927,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2929,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2929,1
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2931,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2937,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2937,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2942,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::encode_datawriter_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2951,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2962,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2962,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2963,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2964,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2968,1
    - Dst: DDS_Security_DatareaderCryptoHandleSeq_freebuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 6
    argNames:
    - wr
    - dst_prefix
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_writer*
    - ddsi_guid_prefix_t*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (dst_buf)
      pos:
        line_end: 2913
        line_start: 2913
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 2912
        line_start: 2912
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (wr->sec_attr)
      pos:
        line_end: 2914
        line_start: 2914
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 2920
        line_start: 2920
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (encoded_buffer._buffer)
      pos:
        line_end: 2967
        line_start: 2967
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (wr)
      pos:
        line_end: 2909
        line_start: 2909
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 2911
        line_start: 2911
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (ddsi_omg_writer_is_submessage_protected (wr))
      pos:
        line_end: 2915
        line_start: 2915
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 2910
        line_start: 2910
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 2981
      start: 2899
    functionDepth: 2
    functionLinenumber: 2899
    functionLinenumberEnd: 2981
    functionName: ddsi_omg_security_encode_datawriter_submessage
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - GVWARNING
    - ddsi_omg_writer_is_submessage_protected
    - struct dds_security_context*::crypto_context::crypto_transform::encode_datawriter_submessage
    - ddsrt_avl_iter_first
    - ddsi_omg_security_get_secure_context
    - assert
    - PGUID
    - DDS_Security_DatareaderCryptoHandleSeq_freebuf
    - memset
    - ASSERT_MUTEX_HELD
    - DDS_Security_Exception_reset
    - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
    - GVTRACE
    - ddsi_guid_prefix_eq
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_encode_datawriter_submessage (struct ddsi_writer
      *wr, const ddsi_guid_prefix_t *dst_prefix, const unsigned char *src_buf, size_t
      src_len, unsigned char **dst_buf, size_t *dst_len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:2999,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3000,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3001,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3002,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3008,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3010,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3010,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3015,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3015,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3022,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3022,1
    - Dst: ddsi_guid_prefix_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3026,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3030,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3035,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3037,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3043,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::preprocess_secure_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3044,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3046,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3046,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3046,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3049,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3050,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::decode_datawriter_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3057,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::decode_datareader_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3060,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3080,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3081,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3087,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 7
    argNames:
    - gv
    - src_prefix
    - dst_prefix
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_prefix_t*
    - ddsi_guid_prefix_t*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 2998
        line_start: 2998
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3001
        line_start: 3001
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 3000
        line_start: 3000
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (plain_buffer._buffer)
      pos:
        line_end: 3086
        line_start: 3086
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 2999
        line_start: 2999
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 3042
        line_start: 3042
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3092
      start: 2983
    functionDepth: 2
    functionLinenumber: 2983
    functionLinenumberEnd: 3092
    functionName: ddsi_omg_security_decode_submessage
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_transform::decode_datareader_submessage
    - ddsi_entidx_lookup_participant_guid
    - PGUID
    - assert
    - ddsi_guid_prefix_zero
    - memset
    - struct dds_security_context*::crypto_context::crypto_transform::preprocess_secure_submsg
    - DDS_Security_Exception_reset
    - struct dds_security_context*::crypto_context::crypto_transform::decode_datawriter_submessage
    - GVTRACE
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_decode_submessage (const struct ddsi_domaingv
      *gv, const ddsi_guid_prefix_t * const src_prefix, const ddsi_guid_prefix_t *
      const dst_prefix, const unsigned char *src_buf, size_t src_len, unsigned char
      **dst_buf, size_t *dst_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3101,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3102,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3103,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3104,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3105,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3106,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3107,1
    - Dst: ddsi_omg_writer_is_payload_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3107,1
    - Dst: ddsi_omg_security_get_secure_context
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3110,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3111,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3115,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3115,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3117,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3118,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::encode_serialized_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3123,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3126,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3126,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - wr
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_writer*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (wr)
      pos:
        line_end: 3100
        line_start: 3100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 3104
        line_start: 3104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3103
        line_start: 3103
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 3101
        line_start: 3101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 3102
        line_start: 3102
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (wr->sec_attr)
      pos:
        line_end: 3105
        line_start: 3105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (ddsi_omg_writer_is_payload_protected (wr))
      pos:
        line_end: 3106
        line_start: 3106
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 3110
        line_start: 3110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3138
      start: 3094
    functionDepth: 2
    functionLinenumber: 3094
    functionLinenumberEnd: 3138
    functionName: ddsi_omg_security_encode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_transform::encode_serialized_payload
    - ddsi_omg_security_get_secure_context
    - assert
    - ddsi_omg_writer_is_payload_protected
    - PGUID
    - memset
    - DDS_Security_Exception_reset
    - GVTRACE
    - GVERROR
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_encode_serialized_payload (const struct ddsi_writer
      *wr, const unsigned char *src_buf, size_t src_len, unsigned char **dst_buf,
      size_t *dst_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3150,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3151,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3152,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3153,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3154,1
    - Dst: ddsi_omg_security_get_secure_context_from_proxypp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3157,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3158,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3159,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3165,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3165,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3168,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3169,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3170,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3173,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3173,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3178,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3178,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3181,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3183,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3183,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3183,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3187,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3188,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::decode_serialized_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3192,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3195,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3195,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3195,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 5
    argNames:
    - pwr
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_proxy_writer*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 3158
        line_start: 3158
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 3153
        line_start: 3153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (gv)
      pos:
        line_end: 3157
        line_start: 3157
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3152
        line_start: 3152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 3150
        line_start: 3150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (pwr)
      pos:
        line_end: 3149
        line_start: 3149
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 3151
        line_start: 3151
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3203
      start: 3140
    functionDepth: 2
    functionLinenumber: 3140
    functionLinenumberEnd: 3203
    functionName: ddsi_omg_security_decode_serialized_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - struct dds_security_context*::crypto_context::crypto_transform::decode_serialized_payload
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - PGUID
    - assert
    - memset
    - ddsi_omg_security_get_secure_context_from_proxypp
    - DDS_Security_Exception_reset
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_decode_serialized_payload (struct ddsi_proxy_writer
      *pwr, const unsigned char *src_buf, size_t src_len, unsigned char **dst_buf,
      size_t *dst_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3216,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3217,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3218,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3220,1
    - Dst: participant_index_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3227,1
    - Dst: SECURITY_INFO_USE_RTPS_AUTHENTICATION
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3229,1
    - Dst: get_matched_proxypp_crypto_handles
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3231,1
    - Dst: get_first_matched_proxypp_crypto_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3236,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3246,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3246,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3250,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::encode_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3260,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3271,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3272,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3272,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3273,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3274,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3280,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 8
    argNames:
    - gv
    - src_handle
    - src_guid
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    - dst_handle
    argTypes:
    - struct ddsi_domaingv*
    - int64_t
    - ddsi_guid_t*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - int64_t
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 3219
        line_start: 3219
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len)
      pos:
        line_end: 3218
        line_start: 3218
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 3215
        line_start: 3215
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3217
        line_start: 3217
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 3216
        line_start: 3216
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (encoded_buffer._buffer)
      pos:
        line_end: 3279
        line_start: 3279
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3290
      start: 3205
    functionDepth: 2
    functionLinenumber: 3205
    functionLinenumberEnd: 3290
    functionName: ddsi_omg_security_encode_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - get_first_matched_proxypp_crypto_handle
    - ddsrt_free
    - get_matched_proxypp_crypto_handles
    - assert
    - PGUID
    - memset
    - struct dds_security_context*::crypto_context::crypto_transform::encode_rtps_message
    - DDS_Security_Exception_reset
    - GVTRACE
    - SECURITY_INFO_USE_RTPS_AUTHENTICATION
    - participant_index_find
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_encode_rtps_message (const struct ddsi_domaingv
      *gv, int64_t src_handle, const ddsi_guid_t *src_guid, const unsigned char *src_buf,
      size_t src_len, unsigned char **dst_buf, size_t *dst_len, int64_t dst_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3300,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3301,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3302,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3303,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3304,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3307,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3307,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3315,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3316,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3316,1
    - Dst: ddsi_omg_security_get_secure_context_from_proxypp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3318,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3319,1
    - Dst: struct dds_security_context*::crypto_context::crypto_transform::decode_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3320,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3324,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3327,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3327,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3328,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3329,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3335,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3338,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 5
    argNames:
    - proxypp
    - src_buf
    - src_len
    - dst_buf
    - dst_len
    argTypes:
    - struct ddsi_proxy_participant*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (dst_len)
      pos:
        line_end: 3303
        line_start: 3303
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3302
        line_start: 3302
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_buf)
      pos:
        line_end: 3300
        line_start: 3300
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (proxypp)
      pos:
        line_end: 3299
        line_start: 3299
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (src_len <= UINT32_MAX)
      pos:
        line_end: 3301
        line_start: 3301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sc)
      pos:
        line_end: 3318
        line_start: 3318
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3343
      start: 3292
    functionDepth: 3
    functionLinenumber: 3292
    functionLinenumberEnd: 3343
    functionName: ddsi_omg_security_decode_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - PGUID
    - assert
    - struct dds_security_context*::crypto_context::crypto_transform::decode_rtps_message
    - ddsi_omg_security_get_secure_context_from_proxypp
    - DDS_Security_Exception_reset
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_decode_rtps_message (struct ddsi_proxy_participant
      *proxypp, const unsigned char *src_buf, size_t src_len, unsigned char **dst_buf,
      size_t *dst_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts:
    - condition: (rd != NULL)
      pos:
        line_end: 3346
        line_start: 3346
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3349
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3349
    functionName: ddsi_omg_reader_is_submessage_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_reader_is_submessage_protected (const struct ddsi_reader
      *rd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_writer_is_payload_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3354,1
    - Dst: ddsi_omg_security_encode_serialized_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3359,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wr
    - vec
    - buf
    argTypes:
    - struct ddsi_writer*
    - ddsrt_iovec_t*
    - unsigned char**
    assertStmts:
    - condition: ((size_t) vec->iov_len == enc_len)
      pos:
        line_end: 3364
        line_start: 3364
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3368
      start: 3351
    functionDepth: 3
    functionLinenumber: 3351
    functionLinenumberEnd: 3368
    functionName: ddsi_security_encode_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_writer_is_payload_protected
    - ddsi_omg_security_encode_serialized_payload
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_encode_payload (struct ddsi_writer *wr, ddsrt_iovec_t
      *vec, unsigned char **buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3372,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3373,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3374,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3375,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3376,1
    - Dst: ddsi_omg_security_decode_serialized_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3389,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3391,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3391,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3395,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3397,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3402,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - gv
    - sampleinfo
    - payloadp
    - payloadsz
    - submsg_len
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_rsample_info*
    - unsigned char*
    - uint32_t*
    - size_t*
    assertStmts:
    - condition: (payloadp)
      pos:
        line_end: 3371
        line_start: 3371
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (*payloadsz)
      pos:
        line_end: 3373
        line_start: 3373
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sampleinfo)
      pos:
        line_end: 3375
        line_start: 3375
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (submsg_len)
      pos:
        line_end: 3374
        line_start: 3374
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (payloadsz)
      pos:
        line_end: 3372
        line_start: 3372
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_buf)
      pos:
        line_end: 3394
        line_start: 3394
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (*payloadsz >= dst_len)
      pos:
        line_end: 3396
        line_start: 3396
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3405
      start: 3370
    functionDepth: 3
    functionLinenumber: 3370
    functionLinenumberEnd: 3405
    functionName: decode_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - PGUID
    - assert
    - ddsi_omg_security_decode_serialized_payload
    - GVTRACE
    linkageType: ''
    returnType: bool
    signature: bool decode_payload (const struct ddsi_domaingv *gv, struct ddsi_rsample_info
      *sampleinfo, unsigned char *payloadp, uint32_t *payloadsz, size_t *submsg_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - gv
    - sampleinfo
    - payloadp
    - payloadsz
    - submsg_len
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_rsample_info*
    - unsigned char*
    - uint32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3407
    functionDepth: 4
    functionLinenumber: 3407
    functionLinenumberEnd: 3420
    functionName: ddsi_security_decode_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - decode_payload
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_decode_data (const struct ddsi_domaingv *gv, struct
      ddsi_rsample_info *sampleinfo, unsigned char *payloadp, uint32_t payloadsz,
      size_t *submsg_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - gv
    - sampleinfo
    - payloadp
    - payloadsz
    - submsg_len
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_rsample_info*
    - unsigned char*
    - uint32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3430
      start: 3422
    functionDepth: 4
    functionLinenumber: 3422
    functionLinenumberEnd: 3430
    functionName: ddsi_security_decode_datafrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - decode_payload
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_decode_datafrag (const struct ddsi_domaingv *gv,
      struct ddsi_rsample_info *sampleinfo, unsigned char *payloadp, uint32_t payloadsz,
      size_t *submsg_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3435,1
    - Dst: ddsi_omg_reader_is_submessage_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3437,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3439,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3439,1
    - Dst: ddsi_xmsg_submsg_append_refd_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3447,1
    - Dst: ddsi_xmsg_submsg_from_marker
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3450,1
    - Dst: ddsi_xmsg_submsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3451,1
    - Dst: ddsi_omg_security_encode_datareader_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3453,1
    - Dst: ddsi_xmsg_submsg_replace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3455,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3456,1
    - Dst: ddsi_xmsg_submsg_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - sm_marker
    - pwr
    - rd_guid
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    - struct ddsi_proxy_writer*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_omg_participant_is_secure (rd->c.pp))
      pos:
        line_end: 3438
        line_start: 3438
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3463
      start: 3432
    functionDepth: 3
    functionLinenumber: 3432
    functionLinenumberEnd: 3463
    functionName: ddsi_security_encode_datareader_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_free
    - assert
    - ddsi_xmsg_submsg_replace
    - ddsi_omg_reader_is_submessage_protected
    - ddsi_omg_security_encode_datareader_submessage
    - ddsi_xmsg_submsg_remove
    - ddsi_xmsg_submsg_size
    - ddsi_xmsg_submsg_append_refd_payload
    - ddsi_xmsg_submsg_from_marker
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void ddsi_security_encode_datareader_submsg (struct ddsi_xmsg *msg,
      struct ddsi_xmsg_marker sm_marker, const struct ddsi_proxy_writer *pwr, const
      struct ddsi_guid *rd_guid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_writer_is_submessage_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3467,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3471,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3471,1
    - Dst: ddsi_xmsg_submsg_append_refd_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3481,1
    - Dst: ddsi_xmsg_submsg_from_marker
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3484,1
    - Dst: ddsi_xmsg_submsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3485,1
    - Dst: ddsi_xmsg_getdst1_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3487,1
    - Dst: ddsi_omg_security_encode_datawriter_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3490,1
    - Dst: ddsi_xmsg_submsg_replace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3492,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3493,1
    - Dst: ddsi_xmsg_submsg_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - sm_marker
    - wr
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    - struct ddsi_writer*
    assertStmts:
    - condition: (ddsi_omg_participant_is_secure (wr->c.pp))
      pos:
        line_end: 3470
        line_start: 3470
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3500
      start: 3465
    functionDepth: 3
    functionLinenumber: 3465
    functionLinenumberEnd: 3500
    functionName: ddsi_security_encode_datawriter_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 3
    functionsReached:
    - ddsi_omg_writer_is_submessage_protected
    - ddsrt_free
    - ddsi_xmsg_getdst1_prefix
    - assert
    - ddsi_xmsg_submsg_replace
    - ddsi_omg_security_encode_datawriter_submessage
    - ddsi_xmsg_submsg_remove
    - ddsi_xmsg_submsg_size
    - ddsi_xmsg_submsg_append_refd_payload
    - ddsi_xmsg_submsg_from_marker
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void ddsi_security_encode_datawriter_submsg (struct ddsi_xmsg *msg,
      struct ddsi_xmsg_marker sm_marker, struct ddsi_writer *wr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3504,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3505,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3506,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3507,1
    - Dst: ddsi_omg_security_is_remote_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - e
    - c
    - proxypp
    - rst
    - prev_smid
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_proxy_endpoint_common*
    - struct ddsi_proxy_participant*
    - struct ddsi_receiver_state*
    - ddsi_rtps_submessage_kind_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 3503
        line_start: 3503
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (proxypp)
      pos:
        line_end: 3505
        line_start: 3505
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (rst)
      pos:
        line_end: 3506
        line_start: 3506
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (c)
      pos:
        line_end: 3504
        line_start: 3504
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3530
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3530
    functionName: ddsi_security_validate_msg_decoding
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_omg_security_is_remote_rtps_protected
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_validate_msg_decoding (const struct ddsi_entity_common
      *e, const struct ddsi_proxy_endpoint_common *c, const struct ddsi_proxy_participant
      *proxypp, const struct ddsi_receiver_state *rst, ddsi_rtps_submessage_kind_t
      prev_smid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3534,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3537,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3544,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3550,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - gv
    - smid
    - submsg
    - end
    - byteswap
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_rtps_submessage_kind_t
    - unsigned char*
    - unsigned char*
    - int
    assertStmts:
    - condition: (end >= submsg)
      pos:
        line_end: 3533
        line_start: 3533
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3558
      start: 3532
    functionDepth: 1
    functionLinenumber: 3532
    functionLinenumberEnd: 3558
    functionName: validate_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - assert
    - ddsrt_bswap2u
    linkageType: ''
    returnType: int32_t
    signature: int32_t validate_submsg (struct ddsi_domaingv *gv, ddsi_rtps_submessage_kind_t
      smid, const unsigned char *submsg, unsigned char const * const end, int byteswap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3562,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3566,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3570,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3573,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3574,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3576,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - gv
    - start
    - end
    - byteswap
    argTypes:
    - struct ddsi_domaingv*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts:
    - condition: (end >= start)
      pos:
        line_end: 3561
        line_start: 3561
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (size <= UINT16_MAX + DDSI_RTPS_SUBMESSAGE_HEADER_SIZE)
      pos:
        line_end: 3569
        line_start: 3569
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3581
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3581
    functionName: padding_submsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - DDSRT_WARNING_MSVC_OFF
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsrt_bswap2u
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: int32_t
    signature: int32_t padding_submsg (struct ddsi_domaingv *gv, unsigned char *start,
      unsigned char *end, int byteswap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3598,1
    - Dst: validate_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3606,1
    - Dst: ddsi_omg_security_decode_submessage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3613,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3630,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3631,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3632,1
    - Dst: padding_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3635,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3645,1
    - Dst: padding_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - rst
    - submsg
    - submsg_size
    - msg_end
    - src_prefix
    - dst_prefix
    - byteswap
    argTypes:
    - struct ddsi_receiver_state*
    - unsigned char*
    - size_t
    - unsigned char*
    - ddsi_guid_prefix_t*
    - ddsi_guid_prefix_t*
    - int
    assertStmts:
    - condition: (totalsize >= submsg_size)
      pos:
        line_end: 3629
        line_start: 3629
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dst_len <= totalsize - submsg_size)
      pos:
        line_end: 3630
        line_start: 3630
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3659
      start: 3583
    functionDepth: 3
    functionLinenumber: 3583
    functionLinenumberEnd: 3659
    functionName: ddsi_security_decode_sec_prefix_patched_hdr_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - validate_submsg
    - padding_submsg
    - ddsrt_free
    - memcpy
    - assert
    - ddsi_omg_security_decode_submessage
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_decode_sec_prefix_patched_hdr_flags (const struct
      ddsi_receiver_state *rst, unsigned char *submsg, size_t submsg_size, unsigned
      char * const msg_end, const ddsi_guid_prefix_t * const src_prefix, const ddsi_guid_prefix_t
      * const dst_prefix, int byteswap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3668,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3673,1
    - Dst: ddsi_security_decode_sec_prefix_patched_hdr_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - rst
    - submsg
    - submsg_size
    - msg_end
    - src_prefix
    - dst_prefix
    - byteswap
    argTypes:
    - struct ddsi_receiver_state*
    - unsigned char*
    - size_t
    - unsigned char*
    - ddsi_guid_prefix_t*
    - ddsi_guid_prefix_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3678
      start: 3661
    functionDepth: 4
    functionLinenumber: 3661
    functionLinenumberEnd: 3678
    functionName: ddsi_security_decode_sec_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - ddsi_security_decode_sec_prefix_patched_hdr_flags
    linkageType: ''
    returnType: bool
    signature: bool ddsi_security_decode_sec_prefix (const struct ddsi_receiver_state
      *rst, unsigned char *submsg, size_t submsg_size, unsigned char * const msg_end,
      const ddsi_guid_prefix_t * const src_prefix, const ddsi_guid_prefix_t * const
      dst_prefix, int byteswap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3691,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3691,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3693,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3695,1
    - Dst: proxypp_is_authenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3698,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - gv
    - hdr
    - buff
    - isstream
    - proxypp
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_rtps_header_t*
    - unsigned char*
    - bool
    - struct ddsi_proxy_participant**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3680
    functionDepth: 2
    functionLinenumber: 3680
    functionLinenumberEnd: 3707
    functionName: check_rtps_message_is_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - PGUID
    - GVTRACE
    - proxypp_is_authenticated
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: ddsi_rtps_msg_state_t
    signature: ddsi_rtps_msg_state_t check_rtps_message_is_secure (struct ddsi_domaingv
      *gv, ddsi_rtps_header_t *hdr, const unsigned char *buff, bool isstream, struct
      ddsi_proxy_participant **proxypp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3730,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3733,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3737,1
    - Dst: ddsi_omg_security_decode_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3742,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3744,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3745,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3747,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3748,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3749,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3751,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3752,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3754,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 7
    argNames:
    - rmsg
    - hdr
    - buff
    - sz
    - rbpool
    - isstream
    - proxypp
    argTypes:
    - struct ddsi_rmsg**
    - ddsi_rtps_header_t**
    - unsigned char**
    - size_t*
    - struct ddsi_rbufpool*
    - bool
    - struct ddsi_proxy_participant*
    assertStmts:
    - condition: (*sz > sizeof (ddsi_rtps_msg_len_t))
      pos:
        line_end: 3729
        line_start: 3729
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (*sz > 0)
      pos:
        line_end: 3736
        line_start: 3736
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dstbuf)
      pos:
        line_end: 3743
        line_start: 3743
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dstlen <= UINT32_MAX)
      pos:
        line_end: 3744
        line_start: 3744
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3760
      start: 3709
    functionDepth: 4
    functionLinenumber: 3709
    functionLinenumberEnd: 3760
    functionName: decode_rtps_message_awake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_new
    - ddsi_omg_security_decode_rtps_message
    - ddsrt_free
    - memmove
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOAD
    - ddsi_rmsg_setsize
    - ddsi_ntoh_guid_prefix
    - ddsi_rmsg_commit
    linkageType: ''
    returnType: ddsi_rtps_msg_state_t
    signature: "ddsi_rtps_msg_state_t decode_rtps_message_awake (\n  struct ddsi_rmsg
      **rmsg,\n  ddsi_rtps_header_t **hdr,\n  unsigned char **buff,\n  size_t *sz,\n
      \ struct ddsi_rbufpool *rbpool,\n  bool isstream,\n  struct ddsi_proxy_participant
      *proxypp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3775,1
    - Dst: check_rtps_message_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3776,1
    - Dst: decode_rtps_message_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3778,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - thrst
    - gv
    - rmsg
    - hdr
    - buff
    - sz
    - rbpool
    - isstream
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct ddsi_rmsg**
    - ddsi_rtps_header_t**
    - unsigned char**
    - size_t*
    - struct ddsi_rbufpool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3762
    functionDepth: 5
    functionLinenumber: 3762
    functionLinenumberEnd: 3781
    functionName: ddsi_security_decode_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - check_rtps_message_is_secure
    - ddsi_thread_state_asleep
    - decode_rtps_message_awake
    - ddsi_thread_state_awake_fixed_domain
    linkageType: ''
    returnType: ddsi_rtps_msg_state_t
    signature: "ddsi_rtps_msg_state_t ddsi_security_decode_rtps_message (\n  struct
      ddsi_thread_state * const thrst,\n  struct ddsi_domaingv *gv,\n  struct ddsi_rmsg
      **rmsg,\n  ddsi_rtps_header_t **hdr,\n  unsigned char **buff,\n  size_t *sz,\n
      \ struct ddsi_rbufpool *rbpool,\n  bool isstream)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3803,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3804,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3805,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3806,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3807,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3808,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3819,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3835,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3843,1
    - Dst: ddsi_omg_security_encode_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3849,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3856,1
    - Dst: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3858,1
    - Dst: conn_write_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3863,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3867,1
    - Dst: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3869,1
    - Dst: conn_write_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3871,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3873,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3877,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 9
    argNames:
    - gv
    - conn
    - dst
    - iov
    - flags
    - msg_len
    - dst_one
    - sec_info
    - conn_write_cb
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    - ddsi_rtps_msg_len_t*
    - bool
    - ddsi_msg_sec_info_t*
    - ddsi_tran_write_fn_t
    assertStmts:
    - condition: (iov)
      pos:
        line_end: 3802
        line_start: 3802
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (conn_write_cb)
      pos:
        line_end: 3807
        line_start: 3807
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dstlen <= UINT32_MAX)
      pos:
        line_end: 3866
        line_start: 3866
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (sec_info)
      pos:
        line_end: 3805
        line_start: 3805
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (dstlen <= UINT32_MAX - sizeof (*msg_len))
      pos:
        line_end: 3855
        line_start: 3855
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (msg_len)
      pos:
        line_end: 3804
        line_start: 3804
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (iov->niov > 0)
      pos:
        line_end: 3806
        line_start: 3806
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - condition: (conn)
      pos:
        line_end: 3803
        line_start: 3803
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3879
      start: 3783
    functionDepth: 3
    functionLinenumber: 3783
    functionLinenumberEnd: 3879
    functionName: ddsi_security_secure_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
    - ddsrt_free
    - memcpy
    - assert
    - conn_write_cb
    - ddsi_ntoh_guid_prefix
    - ddsrt_malloc
    - ddsi_omg_security_encode_rtps_message
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ddsi_security_secure_conn_write(\n    const struct ddsi_domaingv
      *gv,\n    struct ddsi_tran_conn * conn,\n    const ddsi_locator_t *dst,\n    const
      ddsi_tran_write_msgfrags_t *iov,\n    uint32_t flags,\n    ddsi_rtps_msg_len_t
      *msg_len,\n    bool dst_one,\n    ddsi_msg_sec_info_t *sec_info,\n    ddsi_tran_write_fn_t
      conn_write_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - plist
    argTypes:
    - ddsi_plist_t*
    assertStmts:
    - condition: (plist)
      pos:
        line_end: 3882
        line_start: 3882
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3891
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3891
    functionName: ddsi_omg_plist_keyhash_is_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_plist_keyhash_is_protected (const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3895,1
    - Dst: SECURITY_INFO_CLEAR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - plist
    argTypes:
    - ddsi_plist_t*
    assertStmts:
    - condition: (plist)
      pos:
        line_end: 3894
        line_start: 3894
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    constantsTouched: []
    func_position:
      end: 3898
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3898
    functionName: ddsi_omg_is_endpoint_protected
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - assert
    - SECURITY_INFO_CLEAR
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_is_endpoint_protected (const ddsi_plist_t *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3902,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3904,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3906,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c:3907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - plist
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3900
    functionDepth: 1
    functionLinenumber: 3900
    functionLinenumberEnd: 3908
    functionName: ddsi_omg_log_endpoint_protection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    linkageType: ''
    returnType: void
    signature: void ddsi_omg_log_endpoint_protection (struct ddsi_domaingv * const
      gv, const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:18,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - snset
    argTypes:
    - ddsi_sequence_number_set_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: ddsi_bswap_sequence_number_set_hdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - ddsi_bswap_sequence_number
    linkageType: ''
    returnType: void
    signature: void ddsi_bswap_sequence_number_set_hdr (ddsi_sequence_number_set_header_t
      *snset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - snset
    - bits
    argTypes:
    - ddsi_sequence_number_set_header_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: ddsi_bswap_sequence_number_set_bitmap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: void
    signature: void ddsi_bswap_sequence_number_set_bitmap (ddsi_sequence_number_set_header_t
      *snset, uint32_t *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:31,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fnset
    argTypes:
    - ddsi_fragment_number_set_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ddsi_bswap_fragment_number_set_hdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: void
    signature: void ddsi_bswap_fragment_number_set_hdr (ddsi_fragment_number_set_header_t
      *fnset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fnset
    - bits
    argTypes:
    - ddsi_fragment_number_set_header_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ddsi_bswap_fragment_number_set_bitmap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: void
    signature: void ddsi_bswap_fragment_number_set_bitmap (ddsi_fragment_number_set_header_t
      *fnset, uint32_t *bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:72,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:73,1
    - Dst: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:75,1
    - Dst: ddsi_conn_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - struct st*
    - ddsi_locator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: cpemitchunk
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_write
    - snprintf
    - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cpemitchunk(struct st *st, ddsi_locator_t loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_peer_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:91,1
    - Dst: va_start
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:98,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:99,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:104,1
    - Dst: cpemitchunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - st
    - fmt
    argTypes:
    - struct st*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: cpf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - va_start
    - ddsi_conn_peer_locator
    - vsnprintf
    - cpemitchunk
    - va_end
    linkageType: ''
    returnType: void
    signature: void cpf (struct st *st, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - v
    argTypes:
    - struct st*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: cpfstr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfstr (struct st *st, const char *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:119,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - v
    argTypes:
    - struct st*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: cpfguid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - PGUID
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfguid (struct st *st, const ddsi_guid_t *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: cpfkstr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfkstr (struct st *st, const char *key, const char *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:131,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: cpfkguid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - PGUID
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfkguid (struct st *st, const char *key, const ddsi_guid_t *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: cpfku64
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfku64 (struct st *st, const char *key, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: cpfkseqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku64
    linkageType: ''
    returnType: void
    signature: void cpfkseqno (struct st *st, const char *key, ddsi_seqno_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: cpfksize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfksize (struct st *st, const char *key, size_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: cpfku32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfku32 (struct st *st, const char *key, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: cpfki64
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfki64 (struct st *st, const char *key, int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: cpfkbool
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfkbool (struct st *st, const char *key, bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:172,1
    - Dst: f
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:174,1
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - st
    - v
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: cpfobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - f
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfobj (struct st *st, void (*f) (struct st *st, void *v), void
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:181,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 5
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: cpfkobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpf
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void cpfkobj (struct st *st, const char *key, void (*f) (struct st
      *st, void *v), void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:188,1
    - Dst: f
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:190,1
    - Dst: cpf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - st
    - key
    - v
    argTypes:
    - struct st*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: cpfkseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - f
    - cpf
    linkageType: ''
    returnType: void
    signature: void cpfkseq (struct st *st, const char *key, void (*f) (struct st
      *st, void *v), void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:203,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: print_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string
    - cpfstr
    linkageType: ''
    returnType: void
    signature: void print_address (const ddsi_xlocator_t *n, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vas
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: print_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_forall
    linkageType: ''
    returnType: void
    signature: void print_addrset (struct st *st, void *vas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpfstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - st
    - vxqos
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: print_partition_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfstr
    linkageType: ''
    returnType: void
    signature: void print_partition_seq (struct st *st, void *vxqos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpfkguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:224,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:226,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:227,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:229,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - st
    - e
    - xqos
    argTypes:
    - struct st*
    - struct ddsi_entity_common*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: print_any_endpoint_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfkguid
    - cpfkstr
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_any_endpoint_common (struct st *st, const struct ddsi_entity_common
      *e, const struct dds_qos *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:236,1
    - Dst: print_any_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - st
    - e
    - c
    - xqos
    argTypes:
    - struct st*
    - struct ddsi_entity_common*
    - struct ddsi_endpoint_common*
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: print_endpoint_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - print_any_endpoint_common
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void print_endpoint_common (struct st *st, const struct ddsi_entity_common
      *e, const struct ddsi_endpoint_common *c, const struct dds_qos *xqos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_any_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:242,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - st
    - e
    - c
    argTypes:
    - struct st*
    - struct ddsi_entity_common*
    - struct ddsi_proxy_endpoint_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 6
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: print_proxy_endpoint_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - print_any_endpoint_common
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_proxy_endpoint_common (struct st *st, const struct ddsi_entity_common
      *e, const struct ddsi_proxy_endpoint_common *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:257,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:257,1
    - Dst: cpfstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:259,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - st
    - vr
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: print_nwpart_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string
    - cpfstr
    linkageType: ''
    returnType: void
    signature: void print_nwpart_seq (struct st *st, void *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:267,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:267,1
    - Dst: cpfguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vr
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: print_reader_wrseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfguid
    linkageType: ''
    returnType: void
    signature: void print_reader_wrseq (struct st *st, void *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:275,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:275,1
    - Dst: cpfguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vr
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: print_reader_pwrseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfguid
    linkageType: ''
    returnType: void
    signature: void print_reader_pwrseq (struct st *st, void *vr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:283,1
    - Dst: print_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:284,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:287,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:289,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:289,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:290,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:291,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 279
    functionDepth: 7
    functionLinenumber: 279
    functionLinenumberEnd: 293
    functionName: print_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - print_endpoint_common
    - ddsrt_mutex_lock
    - cpfkseq
    - cpfobj
    - ddsrt_atomic_ld64
    - ddsrt_mutex_unlock
    - cpfku64
    linkageType: ''
    returnType: void
    signature: void print_reader (struct st *st, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:304,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:305,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:306,1
    - Dst: cpfksize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:307,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:308,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:309,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:310,1
    - Dst: ddsi_writer_max_drop_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 6
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: print_whc_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku32
    - ddsi_writer_max_drop_seq
    - ddsi_whc_get_state
    - cpfksize
    - cpfkseqno
    linkageType: ''
    returnType: void
    signature: void print_whc_state (struct st *st, void *vw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:316,1
    - Dst: cpfki64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:317,1
    - Dst: cpfki64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:318,1
    - Dst: cpfki64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:319,1
    - Dst: cpfki64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:320,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: print_writer_hb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfki64
    - cpfku32
    linkageType: ''
    returnType: void
    signature: void print_writer_hb (struct st *st, void *vw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:327,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:328,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:329,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:330,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: print_writer_ack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku32
    linkageType: ''
    returnType: void
    signature: void print_writer_ack (struct st *st, void *vw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:338,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:338,1
    - Dst: cpfguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: print_writer_rdseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfguid
    linkageType: ''
    returnType: void
    signature: void print_writer_rdseq (struct st *st, void *vw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfkguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:345,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:346,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:347,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:348,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:349,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:350,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - st
    - vm
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 342
    functionDepth: 6
    functionLinenumber: 342
    functionLinenumberEnd: 352
    functionName: print_writer_rd
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfkguid
    - cpfkbool
    - cpfku32
    - cpfkseqno
    linkageType: ''
    returnType: void
    signature: void print_writer_rd (struct st *st, void *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:358,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:358,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: print_writer_prdseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_writer_prdseq (struct st *st, void *vw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:366,1
    - Dst: print_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:367,1
    - Dst: cpfkobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:368,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:369,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:370,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:370,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:371,1
    - Dst: cpfkbool
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:372,1
    - Dst: cpfkobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:375,1
    - Dst: cpfkobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:376,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:378,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:379,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:380,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:381,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:382,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:384,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:385,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:386,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 362
    functionDepth: 7
    functionLinenumber: 362
    functionLinenumberEnd: 388
    functionName: print_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku64
    - cpfkbool
    - cpfku32
    - print_endpoint_common
    - ddsrt_mutex_lock
    - cpfkseq
    - cpfkseqno
    - cpfkobj
    - ddsrt_mutex_unlock
    - ddsi_writer_read_seq_xmit
    linkageType: ''
    returnType: void
    signature: void print_writer (struct st *st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_reader_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:399,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: print_reader_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfobj
    - ddsi_entidx_enum_reader_next
    linkageType: ''
    returnType: void
    signature: void print_reader_seq (struct st *st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_writer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:413,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: print_writer_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfobj
    - ddsi_entidx_enum_writer_next
    linkageType: ''
    returnType: void
    signature: void print_writer_seq (struct st *st, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:422,1
    - Dst: cpfkguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:423,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:424,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:425,1
    - Dst: ddsi_entidx_enum_reader_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:429,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:430,1
    - Dst: ddsi_entidx_enum_reader_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:431,1
    - Dst: ddsi_entidx_enum_writer_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:436,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:437,1
    - Dst: ddsi_entidx_enum_writer_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - st
    - vp
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 440
    functionName: print_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_writer_init
    - cpfkguid
    - ddsrt_mutex_lock
    - cpfkseq
    - ddsi_entidx_enum_writer_fini
    - cpfkstr
    - ddsi_entidx_enum_reader_fini
    - ddsrt_mutex_unlock
    - ddsi_entidx_enum_reader_init
    linkageType: ''
    returnType: void
    signature: void print_participant (struct st *st, void *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:446,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - st
    - ve
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: print_participants_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_participant_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_participants_seq (struct st *st, void *ve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:453,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:454,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:455,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:456,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: print_participants
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_participant_init
    - ddsi_thread_state_awake_fixed_domain
    - ddsi_thread_state_asleep
    - ddsi_entidx_enum_participant_fini
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_participants (struct st *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:469,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:469,1
    - Dst: cpfguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vr
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: print_proxy_reader_wrseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfguid
    linkageType: ''
    returnType: void
    signature: void print_proxy_reader_wrseq (struct st *st, void *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:477,1
    - Dst: print_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:478,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:479,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 7
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: print_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - print_proxy_endpoint_common
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_proxy_reader (struct st *st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_proxy_reader_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:492,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: print_proxy_reader_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_reader_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_proxy_reader_seq (struct st *st, void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpfkguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:500,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:501,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:502,1
    - Dst: cpfki64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:503,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:507,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:510,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:511,1
    - Dst: cpfkstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:514,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - st
    - vm
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 497
    functionDepth: 6
    functionLinenumber: 497
    functionLinenumberEnd: 518
    functionName: print_proxy_writer_rd
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku32
    - cpfki64
    - cpfkguid
    - cpfkseqno
    - cpfkstr
    linkageType: ''
    returnType: void
    signature: void print_proxy_writer_rd (struct st *st, void *vm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:524,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:524,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vw
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: print_proxy_writer_rdseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_proxy_writer_rdseq (struct st *st, void *vw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:537,1
    - Dst: print_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:538,1
    - Dst: cpfkseqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:539,1
    - Dst: cpfku32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:540,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:541,1
    - Dst: ddsi_defrag_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:543,1
    - Dst: ddsi_reorder_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:544,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:545,1
    - Dst: cpfku64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:546,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 548
    functionName: print_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfku64
    - cpfku32
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsi_defrag_stats
    - cpfkseqno
    - print_proxy_endpoint_common
    - ddsi_reorder_stats
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_proxy_writer (struct st *st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_proxy_writer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:559,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 5
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: print_proxy_writer_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_writer_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_proxy_writer_seq (struct st *st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpfstr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - st
    - vp
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 5
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: print_proxy_participant_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - cpfstr
    linkageType: ''
    returnType: void
    signature: void print_proxy_participant_flags (struct st *st, void *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:575,1
    - Dst: cpfkguid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:576,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:577,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:578,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:579,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:580,1
    - Dst: ddsi_entidx_enum_proxy_reader_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:584,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:585,1
    - Dst: ddsi_entidx_enum_proxy_reader_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:586,1
    - Dst: ddsi_entidx_enum_proxy_writer_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:591,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:592,1
    - Dst: ddsi_entidx_enum_proxy_writer_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - st
    - vp
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 571
    functionDepth: 5
    functionLinenumber: 571
    functionLinenumberEnd: 595
    functionName: print_proxy_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_reader_fini
    - ddsi_entidx_enum_proxy_writer_fini
    - cpfkguid
    - ddsrt_mutex_lock
    - ddsi_entidx_enum_proxy_writer_init
    - ddsrt_mutex_unlock
    - ddsi_entidx_enum_proxy_reader_init
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_proxy_participant (struct st *st, void *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_proxy_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:601,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - st
    - ve
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: print_proxy_participants_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_next
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void print_proxy_participants_seq (struct st *st, void *ve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:608,1
    - Dst: ddsi_entidx_enum_proxy_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:609,1
    - Dst: cpfkseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:610,1
    - Dst: ddsi_entidx_enum_proxy_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:611,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: print_proxy_participants
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_enum_proxy_participant_fini
    - ddsi_thread_state_awake_fixed_domain
    - ddsi_thread_state_asleep
    - ddsi_entidx_enum_proxy_participant_init
    - cpfkseq
    linkageType: ''
    returnType: void
    signature: void print_proxy_participants (struct st *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_participants
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:618,1
    - Dst: print_proxy_participants
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - st
    - varg
    argTypes:
    - struct st*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 6
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: print_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - print_participants
    - print_proxy_participants
    linkageType: ''
    returnType: void
    signature: void print_domain (struct st *st, void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:627,1
    - Dst: ddsi_conn_peer_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:637,1
    - Dst: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:641,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:643,1
    - Dst: ddsi_conn_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:645,1
    - Dst: cpfobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:651,1
    - Dst: cpemitchunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:655,1
    - Dst: cpemitchunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dm
    - conn
    argTypes:
    - struct ddsi_debug_monitor*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 659
    functionName: debmon_handle_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
    - strlen
    - ddsi_conn_write
    - ddsi_conn_peer_locator
    - cpemitchunk
    - ddsi_lookup_thread_state
    - cpfobj
    linkageType: ''
    returnType: void
    signature: void debmon_handle_connection (struct ddsi_debug_monitor *dm, struct
      ddsi_tran_conn * conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:664,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:667,1
    - Dst: ddsi_listener_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:668,1
    - Dst: ddsi_tran_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:669,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:671,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:673,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:674,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:677,1
    - Dst: debmon_handle_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:678,1
    - Dst: ddsrt_shutdown
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:695,1
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:701,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:702,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:703,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:703,1
    - Dst: ddsrt_recv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:704,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:707,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:711,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - vdm
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 661
    functionDepth: 6
    functionLinenumber: 661
    functionLinenumberEnd: 716
    functionName: debmon_main
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - DDS_CLOG
    - DDS_SECS
    - ddsrt_mutex_lock
    - ddsi_conn_free
    - ddsrt_recv
    - ddsrt_shutdown
    - ddsrt_select
    - ddsi_tran_handle
    - FD_SET
    - ddsrt_setsockopt
    - ddsrt_mutex_unlock
    - debmon_handle_connection
    - ddsi_listener_accept
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t debmon_main (void *vdm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tcp_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:726,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:729,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:732,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:733,1
    - Dst: ddsi_is_valid_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:735,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:737,1
    - Dst: ddsi_factory_create_listener
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:741,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:743,1
    - Dst: ddsi_listener_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:749,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:750,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:750,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:753,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:754,1
    - Dst: ddsi_listener_listen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:755,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:758,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:763,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:764,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:765,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - gv
    - port
    argTypes:
    - struct ddsi_domaingv*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 718
    functionDepth: 6
    functionLinenumber: 718
    functionLinenumberEnd: 770
    functionName: ddsi_new_debug_monitor
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 2
    functionsReached:
    - ddsi_tcp_init
    - GVWARNING
    - ddsi_factory_find
    - ddsi_listener_free
    - ddsi_factory_create_listener
    - ddsrt_free
    - ddsi_locator_to_string
    - ddsi_listener_locator
    - ddsrt_cond_destroy
    - ddsi_is_valid_port
    - ddsi_create_thread
    - ddsi_listener_listen
    - ddsrt_mutex_destroy
    - ddsrt_malloc
    - ddsrt_mutex_init
    - GVERROR
    - ddsrt_cond_init
    - GVLOG
    linkageType: ''
    returnType: struct ddsi_debug_monitor
    signature: struct ddsi_debug_monitor *ddsi_new_debug_monitor (struct ddsi_domaingv
      *gv, int32_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dm
    - locator
    argTypes:
    - struct ddsi_debug_monitor*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: ddsi_get_debug_monitor_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ddsi_get_debug_monitor_locator (struct ddsi_debug_monitor *dm,
      ddsi_locator_t *locator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:783,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:785,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:786,1
    - Dst: ddsi_listener_unblock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:787,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:788,1
    - Dst: ddsi_listener_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:789,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:790,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:791,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dm
    argTypes:
    - struct ddsi_debug_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 793
    functionName: ddsi_free_debug_monitor
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    functionUses: 2
    functionsReached:
    - ddsi_listener_free
    - ddsrt_free
    - ddsrt_mutex_lock
    - ddsi_join_thread
    - ddsrt_cond_destroy
    - ddsrt_cond_broadcast
    - ddsi_listener_unblock
    - ddsrt_mutex_destroy
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_free_debug_monitor (struct ddsi_debug_monitor *dm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:89,1
    - Dst: ddsi_local_reader_ary_setfastpath_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:96,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:102,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:102,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:104,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:104,1
    - Dst: maybe_set_reader_in_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pwr
    - wn
    - last_deliv_seq
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsi_seqno_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: maybe_set_reader_in_sync
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 1
    functionsReached:
    - ddsi_local_reader_ary_setfastpath_ok
    - maybe_set_reader_in_sync
    - PGUID
    - assert
    - ddsi_reorder_next_seq
    - ETRACE
    linkageType: ''
    returnType: void
    signature: void maybe_set_reader_in_sync (struct ddsi_proxy_writer *pwr, struct
      ddsi_pwr_rd_match *wn, ddsi_seqno_t last_deliv_seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_validating_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - snset
    - start
    argTypes:
    - ddsi_sequence_number_set_header_t*
    - ddsi_seqno_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: valid_sequence_number_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_validating_from_seqno
    linkageType: ''
    returnType: bool
    signature: bool valid_sequence_number_set (const ddsi_sequence_number_set_header_t
      *snset, ddsi_seqno_t *start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fnset
    argTypes:
    - ddsi_fragment_number_set_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: valid_fragment_number_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_fragment_number_set (const ddsi_fragment_number_set_header_t
      *fnset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:135,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - wrid
    - rdid
    argTypes:
    - ddsi_entityid_t
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: validate_writer_and_reader_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_is_reader_entityid
    - ddsi_is_writer_entityid
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_writer_and_reader_entityid (ddsi_entityid_t
      wrid, ddsi_entityid_t rdid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:145,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - wrid
    - rdid
    argTypes:
    - ddsi_entityid_t
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: validate_writer_and_reader_or_null_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_is_reader_entityid
    - ddsi_is_writer_entityid
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_writer_and_reader_or_null_entityid
      (ddsi_entityid_t wrid, ddsi_entityid_t rdid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_ACKNACK_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:154,1
    - Dst: ddsi_bswap_sequence_number_set_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:158,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:161,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:162,1
    - Dst: valid_sequence_number_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:165,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:169,1
    - Dst: ddsi_vendor_is_eprosima
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:171,1
    - Dst: ddsi_vendor_is_rti
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:171,1
    - Dst: ddsi_vendor_is_rti_micro
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:171,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:172,1
    - Dst: DDSI_ACKNACK_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:178,1
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:180,1
    - Dst: ddsi_bswap_sequence_number_set_bitmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:183,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:184,1
    - Dst: validate_writer_and_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - rst
    - msg
    - size
    - byteswap
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_acknack_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: validate_AckNack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - valid_sequence_number_set
    - ddsi_vendor_is_rti_micro
    - DDSI_SC_STRICT_P
    - ddsrt_bswap4u
    - validate_writer_and_reader_entityid
    - ddsi_ntoh_entityid
    - ddsi_bswap_sequence_number_set_bitmap
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    - ddsi_to_seqno
    - ddsi_vendor_is_eprosima
    - ddsi_bswap_sequence_number_set_hdr
    - ddsi_vendor_is_rti
    - DDSI_ACKNACK_SIZE
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_AckNack (const struct ddsi_receiver_state
      *rst, ddsi_rtps_acknack_t *msg, size_t size, int byteswap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_GAP_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:195,1
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:199,1
    - Dst: ddsi_bswap_sequence_number_set_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:200,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:202,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:203,1
    - Dst: ddsi_validating_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:205,1
    - Dst: valid_sequence_number_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:208,1
    - Dst: DDSI_GAP_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:216,1
    - Dst: ddsi_bswap_sequence_number_set_bitmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:219,1
    - Dst: validate_writer_and_reader_or_null_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - msg
    - size
    - byteswap
    argTypes:
    - ddsi_rtps_gap_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: validate_Gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_GAP_SIZE
    - valid_sequence_number_set
    - ddsi_bswap_sequence_number
    - validate_writer_and_reader_or_null_entityid
    - ddsi_ntoh_entityid
    - ddsi_bswap_sequence_number_set_bitmap
    - ddsi_bswap_sequence_number_set_hdr
    - ddsi_validating_from_seqno
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_Gap (ddsi_rtps_gap_t *msg, size_t size,
      int byteswap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - size
    argTypes:
    - ddsi_rtps_info_dst_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: validate_InfoDST
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_InfoDST (ddsi_rtps_info_dst_t *msg,
      size_t size, UNUSED_ARG (int byteswap))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - size
    argTypes:
    - ddsi_rtps_info_src_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: validate_InfoSRC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_InfoSRC (ddsi_rtps_info_src_t *msg,
      size_t size, UNUSED_ARG (int byteswap))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:241,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:250,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:251,1
    - Dst: ddsi_is_valid_timestamp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:254,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:257,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:259,1
    - Dst: ddsi_is_valid_timestamp22
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - rst
    - msg
    - size
    - byteswap
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_info_ts_t*
    - size_t
    - int
    assertStmts:
    - condition: (sizeof (ddsi_rtps_submessage_header_t) <= size)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: validate_InfoTS
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsi_is_valid_timestamp22
    - ddsrt_bswap4u
    - ddsi_is_valid_timestamp
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_InfoTS (const struct ddsi_receiver_state
      *rst, ddsi_rtps_info_ts_t *msg, size_t size, int byteswap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:271,1
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:272,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:273,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:275,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:276,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:279,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:279,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:279,1
    - Dst: validate_writer_and_reader_or_null_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - msg
    - size
    - byteswap
    argTypes:
    - ddsi_rtps_heartbeat_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: validate_Heartbeat
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - validate_writer_and_reader_or_null_entityid
    - ddsi_bswap_sequence_number
    - ddsrt_bswap4u
    - ddsi_ntoh_entityid
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_Heartbeat (ddsi_rtps_heartbeat_t *msg,
      size_t size, int byteswap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:292,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:293,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:294,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:296,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:297,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:298,1
    - Dst: validate_writer_and_reader_or_null_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - msg
    - size
    - byteswap
    argTypes:
    - ddsi_rtps_heartbeatfrag_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: validate_HeartbeatFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - validate_writer_and_reader_or_null_entityid
    - ddsi_bswap_sequence_number
    - ddsrt_bswap4u
    - ddsi_ntoh_entityid
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_HeartbeatFrag (ddsi_rtps_heartbeatfrag_t
      *msg, size_t size, int byteswap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_NACKFRAG_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:308,1
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:312,1
    - Dst: ddsi_bswap_fragment_number_set_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:313,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:316,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:317,1
    - Dst: valid_fragment_number_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:319,1
    - Dst: DDSI_NACKFRAG_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:323,1
    - Dst: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:325,1
    - Dst: ddsi_bswap_fragment_number_set_bitmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:328,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:329,1
    - Dst: validate_writer_and_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - msg
    - size
    - byteswap
    argTypes:
    - ddsi_rtps_nackfrag_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: validate_NackFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
    - ddsi_bswap_sequence_number
    - ddsi_bswap_fragment_number_set_bitmap
    - DDSI_NACKFRAG_SIZE
    - valid_fragment_number_set
    - ddsrt_bswap4u
    - validate_writer_and_reader_entityid
    - ddsi_ntoh_entityid
    - ddsi_bswap_fragment_number_set_hdr
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_NackFrag (ddsi_rtps_nackfrag_t *msg,
      size_t size, int byteswap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sampleinfo
    - pwr_guid
    argTypes:
    - struct ddsi_rsample_info*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: set_sampleinfo_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_proxy_writer_guid
    linkageType: ''
    returnType: void
    signature: void set_sampleinfo_proxy_writer (struct ddsi_rsample_info *sampleinfo,
      ddsi_guid_t *pwr_guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_RTPS_CDR_ENC_IS_VALID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:348,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sampleinfo
    - hdr
    argTypes:
    - struct ddsi_rsample_info*
    - struct dds_cdr_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: set_sampleinfo_bswap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_RTPS_CDR_ENC_IS_VALID
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    linkageType: ''
    returnType: bool
    signature: bool set_sampleinfo_bswap (struct ddsi_rsample_info *sampleinfo, struct
      dds_cdr_header *hdr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:369,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:370,1
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:371,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:377,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:378,1
    - Dst: ddsi_validating_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:383,1
    - Dst: ddsi_plist_quickscan
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:416,1
    - Dst: validate_writer_and_reader_or_null_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:448,1
    - Dst: set_sampleinfo_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:450,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 8
    argNames:
    - rst
    - msg
    - size
    - byteswap
    - sampleinfo
    - keyhashp
    - payloadp
    - payloadsz
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_data_t*
    - size_t
    - int
    - struct ddsi_rsample_info*
    - ddsi_keyhash_t**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 452
    functionName: validate_Data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_bswap_sequence_number
    - validate_writer_and_reader_or_null_entityid
    - ddsrt_bswap2u
    - ddsi_ntoh_entityid
    - set_sampleinfo_proxy_writer
    - ddsi_plist_quickscan
    - ddsi_validating_from_seqno
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_Data (const struct ddsi_receiver_state
      *rst, ddsi_rtps_data_t *msg, size_t size, int byteswap, struct ddsi_rsample_info
      *sampleinfo, const ddsi_keyhash_t **keyhashp, unsigned char **payloadp, uint32_t
      *payloadsz)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:464,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:465,1
    - Dst: ddsi_bswap_sequence_number
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:466,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:467,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:468,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:469,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:470,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:476,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:477,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:481,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:494,1
    - Dst: ddsi_validating_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:503,1
    - Dst: ddsi_plist_quickscan
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:527,1
    - Dst: validate_writer_and_reader_or_null_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:557,1
    - Dst: set_sampleinfo_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:559,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 8
    argNames:
    - rst
    - msg
    - size
    - byteswap
    - sampleinfo
    - keyhashp
    - payloadp
    - payloadsz
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_datafrag_t*
    - size_t
    - int
    - struct ddsi_rsample_info*
    - ddsi_keyhash_t**
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 561
    functionName: validate_DataFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_bswap_sequence_number
    - validate_writer_and_reader_or_null_entityid
    - DDSI_SC_STRICT_P
    - ddsrt_bswap2u
    - ddsrt_bswap4u
    - ddsi_ntoh_entityid
    - set_sampleinfo_proxy_writer
    - ddsi_plist_quickscan
    - ddsi_validating_from_seqno
    linkageType: ''
    returnType: enum validation_result
    signature: enum validation_result validate_DataFrag (const struct ddsi_receiver_state
      *rst, ddsi_rtps_datafrag_t *msg, size_t size, int byteswap, struct ddsi_rsample_info
      *sampleinfo, const ddsi_keyhash_t **keyhashp, unsigned char **payloadp, uint32_t
      *payloadsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:567,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:568,1
    - Dst: DDSI_GAP_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:568,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:569,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:570,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:571,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:572,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:573,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:575,1
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:575,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:576,1
    - Dst: ddsi_security_encode_datawriter_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 7
    argNames:
    - msg
    - wr
    - prd
    - start
    - base
    - numbits
    - bits
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: ddsi_add_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_GAP_SIZE
    - ddsi_security_encode_datawriter_submsg
    - memcpy
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_submsg_setnext
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    - ddsi_to_seqno
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    - ddsi_hton_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_add_gap (struct ddsi_xmsg *msg, struct ddsi_writer *wr, struct
      ddsi_proxy_reader *prd, ddsi_seqno_t start, ddsi_seqno_t base, uint32_t numbits,
      const uint32_t *bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_whc_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:583,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wr
    - seq
    argTypes:
    - struct ddsi_writer*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: grow_gap_to_next_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_whc_next_seq
    - ddsi_writer_read_seq_xmit
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t grow_gap_to_next_seq (const struct ddsi_writer *wr, ddsi_seqno_t
      seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ddsi_rtps_acknack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: acknack_is_nack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    linkageType: ''
    returnType: int
    signature: int acknack_is_nack (const ddsi_rtps_acknack_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - new_count
    - prev_count
    - tnow
    - t_last_accepted
    - force_accept
    argTypes:
    - ddsi_count_t
    - ddsi_count_t*
    - ddsrt_etime_t
    - ddsrt_etime_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 646
    functionName: accept_ack_or_hb_w_timeout
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    linkageType: ''
    returnType: int
    signature: int accept_ack_or_hb_w_timeout (ddsi_count_t new_count, ddsi_count_t
      *prev_count, ddsrt_etime_t tnow, ddsrt_etime_t *t_last_accepted, int force_accept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gi
    argTypes:
    - struct ddsi_gap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: ddsi_gap_info_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_gap_info_init(struct ddsi_gap_info *gi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:658,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:659,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:663,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:669,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:675,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - gv
    - gi
    - seqnr
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_gap_info*
    - ddsi_seqno_t
    assertStmts:
    - condition: (gi->gapend >= gi->gapstart)
      pos:
        line_end: 657
        line_start: 657
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (seqnr >= gi->gapend)
      pos:
        line_end: 658
        line_start: 658
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 679
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 679
    functionName: ddsi_gap_info_update
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 1
    functionsReached:
    - assert
    - GVTRACE
    - ddsi_bitset_set
    linkageType: ''
    returnType: void
    signature: void ddsi_gap_info_update(struct ddsi_domaingv *gv, struct ddsi_gap_info
      *gi, ddsi_seqno_t seqnr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:688,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:690,1
    - Dst: ddsi_add_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:691,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:692,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:694,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:699,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:701,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - wr
    - prd
    - gi
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - struct ddsi_gap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 705
    functionName: ddsi_gap_info_create_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 1
    functionsReached:
    - ddsi_add_gap
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ddsi_xmsg_size
    - ETRACE
    - ddsi_bitset_isset
    - ddsi_xmsg_setdst_prd
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg * ddsi_gap_info_create_gap(struct ddsi_writer *wr,
      struct ddsi_proxy_reader *prd, struct ddsi_gap_info *gi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:717,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:717,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:717,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:726,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:730,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:734,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:735,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:737,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:738,1
    - Dst: ddsi_add_heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - wr
    - whcst
    - prd
    - hbansreq
    - defer_hb_state
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - struct ddsi_proxy_reader*
    - enum ddsi_hbcontrol_ack_required
    - struct defer_hb_state*
    assertStmts:
    - condition: (wr->reliable)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 744
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 744
    functionName: defer_heartbeat_to_peer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_qxev_msg
    - ddsi_add_heartbeat
    - PGUID
    - assert
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ETRACE
    - ASSERT_MUTEX_HELD
    - ddsi_xmsg_setdst_prd
    linkageType: ''
    returnType: void
    signature: void defer_heartbeat_to_peer (struct ddsi_writer *wr, const struct
      ddsi_whc_state *whcst, struct ddsi_proxy_reader *prd, enum ddsi_hbcontrol_ack_required
      hbansreq, struct defer_hb_state *defer_hb_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defer_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:748,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - wr
    - whcst
    - prd
    - hbansreq
    - defer_hb_state
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_whc_state*
    - struct ddsi_proxy_reader*
    - enum ddsi_hbcontrol_ack_required
    - struct defer_hb_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 751
    functionName: force_heartbeat_to_peer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - defer_heartbeat_to_peer
    - ddsi_qxev_msg
    linkageType: ''
    returnType: void
    signature: void force_heartbeat_to_peer (struct ddsi_writer *wr, const struct
      ddsi_whc_state *whcst, struct ddsi_proxy_reader *prd, enum ddsi_hbcontrol_ack_required
      hbansreq, struct defer_hb_state *defer_hb_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - defer_hb_state
    argTypes:
    - struct defer_hb_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: defer_hb_state_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void defer_hb_state_init (struct defer_hb_state *defer_hb_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:762,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - defer_hb_state
    argTypes:
    - struct ddsi_domaingv*
    - struct defer_hb_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: defer_hb_state_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_qxev_msg
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void defer_hb_state_fini (struct ddsi_domaingv * const gv, struct defer_hb_state
      *defer_hb_state)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:790,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:795,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:796,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:798,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:798,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:799,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:800,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:804,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:804,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:804,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:808,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:810,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:810,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:810,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:817,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:819,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:819,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:819,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:823,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:825,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:825,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:825,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:829,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:830,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:834,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:834,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:834,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:838,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:841,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:841,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:841,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:845,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:847,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:847,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:847,1
    - Dst: acknack_is_nack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:854,1
    - Dst: accept_ack_or_hb_w_timeout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:865,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:867,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:867,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:867,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:870,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:870,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:870,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:878,1
    - Dst: ddsi_lat_estim_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:879,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:880,1
    - Dst: ddsi_lat_estim_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:882,1
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:899,1
    - Dst: ddsi_remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:900,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:901,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:906,1
    - Dst: DDSI_WHCST_ISEMPTY
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:914,1
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:926,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:927,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:927,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:927,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:939,1
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:943,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:953,1
    - Dst: DDSI_WHCST_ISEMPTY
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:954,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:956,1
    - Dst: force_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:957,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:962,1
    - Dst: force_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:963,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:978,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:983,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:990,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1005,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1009,1
    - Dst: ddsi_gap_info_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1010,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1011,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1020,1
    - Dst: ddsi_whc_borrow_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1024,1
    - Dst: ddsi_writer_set_retransmitting
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1027,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1032,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1035,1
    - Dst: ddsi_enqueue_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1036,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1045,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1054,1
    - Dst: struct ddsi_proxy_reader*::filter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1061,1
    - Dst: ddsi_gap_info_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1062,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1066,1
    - Dst: ddsi_enqueue_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1067,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1076,1
    - Dst: ddsi_whc_return_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1084,1
    - Dst: ddsi_gap_info_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1088,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1095,1
    - Dst: grow_gap_to_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1102,1
    - Dst: ddsi_gap_info_create_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1107,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1110,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1119,1
    - Dst: defer_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1121,1
    - Dst: ddsi_writer_hbcontrol_note_asyncwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1129,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1129,1
    - Dst: defer_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1135,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1137,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1139,1
    - Dst: ddsi_whc_free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1140,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 206
    argCount: 6
    argNames:
    - rst
    - tnow
    - msg
    - timestamp
    - prev_smid
    - defer_hb_state
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - ddsi_rtps_acknack_t*
    - ddsrt_wctime_t
    - ddsi_rtps_submessage_kind_t
    - struct defer_hb_state*
    assertStmts:
    - condition: (seqbase > 0)
      pos:
        line_end: 799
        line_start: 799
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 1142
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 1142
    functionName: handle_AckNack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - DDS_SECS
    - ddsi_gap_info_create_gap
    - ddsi_whc_free_deferred_free_list
    - ddsi_remove_acked_messages
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_writer_hbcontrol_note_asyncwrite
    - ddsi_gap_info_init
    - RSTTRACE
    - ddsrt_avl_lookup
    - ddsi_whc_borrow_sample
    - ddsrt_mutex_lock
    - ddsi_whc_get_state
    - ddsi_writer_set_retransmitting
    - ddsi_serdata_size
    - ddsi_vendor_is_eclipse
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    - ddsrt_time_wallclock
    - ddsi_bitset_isset
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lease_renew
    - ddsi_whc_return_sample
    - ddsrt_mutex_unlock
    - ddsi_lat_estim_log
    - assert
    - PGUID
    - ddsi_security_validate_msg_decoding
    - accept_ack_or_hb_w_timeout
    - force_heartbeat_to_peer
    - ddsrt_avl_augment_update
    - acknack_is_nack
    - ddsrt_time_monotonic
    - ddsi_writer_read_seq_xmit
    - ddsi_from_seqno
    - ddsi_qxev_msg
    - ddsi_gap_info_update
    - ddsi_enqueue_sample_wrlock_held
    - struct ddsi_proxy_reader*::filter
    - DDSI_WHCST_ISEMPTY
    - ddsi_lat_estim_update
    - defer_heartbeat_to_peer
    - ddsrt_atomic_ldvoidp
    - grow_gap_to_next_seq
    linkageType: ''
    returnType: int
    signature: int handle_AckNack (struct ddsi_receiver_state *rst, ddsrt_etime_t
      tnow, const ddsi_rtps_acknack_t *msg, ddsrt_wctime_t timestamp, ddsi_rtps_submessage_kind_t
      prev_smid, struct defer_hb_state *defer_hb_state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1157,1
    - Dst: ddsrt_avl_walk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1162,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1167,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1167,1
    - Dst: fun
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1170,1
    - Dst: ddsrt_avl_walk_range
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1179,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1185,1
    - Dst: fun
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - dst
    - pwr
    - fun
    - arg
    argTypes:
    - ddsi_guid_t*
    - struct ddsi_proxy_writer*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1190
    functionName: handle_forall_destinations
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup
    - ddsrt_avl_walk_range
    - ASSERT_MUTEX_HELD
    - fun
    - ddsrt_avl_find_succ
    - ddsrt_avl_walk
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void handle_forall_destinations (const ddsi_guid_t *dst, struct ddsi_proxy_writer
      *pwr, ddsrt_avl_walk_t fun, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1210,1
    - Dst: accept_ack_or_hb_w_timeout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1218,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1220,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1220,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1228,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1230,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1231,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1231,1
    - Dst: ddsi_sched_acknack_if_needed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - vwn
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1241
    functionName: handle_Heartbeat_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - RSTTRACE
    - PGUID
    - accept_ack_or_hb_w_timeout
    - ddsi_reorder_next_seq
    - ddsi_sched_acknack_if_needed
    - ASSERT_MUTEX_HELD
    linkageType: ''
    returnType: void
    signature: void handle_Heartbeat_helper (void *vwn, void *varg)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1256,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1257,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1268,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1273,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1273,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1273,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1277,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1279,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1279,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1279,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1283,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1285,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1285,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1285,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1289,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1290,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1292,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1292,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1292,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1293,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1298,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1299,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1300,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1304,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1304,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1304,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1305,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1327,1
    - Dst: ddsi_defrag_notegap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1341,1
    - Dst: ddsi_rdata_newgap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1349,1
    - Dst: ddsi_is_null_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1352,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1354,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1354,1
    - Dst: ddsi_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1356,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1364,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1367,1
    - Dst: ddsi_dqueue_enqueue1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1369,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1371,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1373,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1384,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1387,1
    - Dst: ddsi_dqueue_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1389,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1391,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1391,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1397,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1398,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1398,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1403,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1406,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1406,1
    - Dst: maybe_set_reader_in_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1407,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1407,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1414,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1417,1
    - Dst: ddsi_dqueue_enqueue1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1419,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1421,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1421,1
    - Dst: maybe_set_reader_in_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1422,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1422,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1427,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1435,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1436,1
    - Dst: handle_forall_destinations
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1437,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1438,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1440,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 6
    argNames:
    - rst
    - tnow
    - rmsg
    - msg
    - timestamp
    - prev_smid
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - struct ddsi_rmsg*
    - ddsi_rtps_heartbeat_t*
    - ddsrt_wctime_t
    - ddsi_rtps_submessage_kind_t
    assertStmts:
    - condition: (ddsi_reorder_next_seq (wn->u.not_in_sync.reorder) > 0)
      pos:
        line_end: 1420
        line_start: 1420
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (gap_end_seq >= firstseq)
      pos:
        line_end: 1326
        line_start: 1326
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (0)
      pos:
        line_end: 1402
        line_start: 1402
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (ddsi_reorder_next_seq (pwr->reorder) > 0)
      pos:
        line_end: 1405
        line_start: 1405
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 1442
      start: 1243
    functionDepth: 3
    functionLinenumber: 1243
    functionLinenumberEnd: 1442
    functionName: handle_Heartbeat
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - deliver_user_data_synchronously
    - ddsi_defrag_notegap
    - ddsi_reorder_gap
    - ddsrt_avl_find_min
    - RSTTRACE
    - ddsrt_mutex_lock
    - ddsi_vendor_is_eclipse
    - ddsi_lease_renew
    - ddsi_rdata_newgap
    - ddsi_guid_eq
    - maybe_set_reader_in_sync
    - PGUID
    - assert
    - ddsi_security_validate_msg_decoding
    - ddsi_reorder_next_seq
    - ddsrt_time_monotonic
    - ddsi_from_seqno
    - ddsi_is_null_guid
    - handle_forall_destinations
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_fragchain_adjust_refcount
    - ddsrt_avl_find_succ
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    - ddsi_dqueue_enqueue1
    - ddsi_dqueue_enqueue
    linkageType: ''
    returnType: int
    signature: int handle_Heartbeat (struct ddsi_receiver_state *rst, ddsrt_etime_t
      tnow, struct ddsi_rmsg *rmsg, const ddsi_rtps_heartbeat_t *msg, ddsrt_wctime_t
      timestamp, ddsi_rtps_submessage_kind_t prev_smid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1446,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1456,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1458,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1461,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1461,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1461,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1465,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1467,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1467,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1467,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1471,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1473,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1473,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1473,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1477,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1478,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1480,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1480,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1480,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1481,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1495,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1504,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1505,1
    - Dst: ddsi_reorder_wantsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1510,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1519,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1529,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1532,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1534,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1538,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1542,1
    - Dst: ddsi_reorder_wantsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1543,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1553,1
    - Dst: ddsi_reorder_wantsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1556,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1563,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1569,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1576,1
    - Dst: ddsi_defrag_nackmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1582,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1585,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1585,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1585,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1589,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1590,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 3
    argNames:
    - rst
    - msg
    - prev_smid
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_heartbeatfrag_t*
    - ddsi_rtps_submessage_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1592
    functionName: handle_HeartbeatFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_reorder_wantsample
    - ddsrt_avl_find_min
    - ddsi_defrag_nackmap
    - RSTTRACE
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsi_vendor_is_eclipse
    - ddsi_lease_renew
    - PGUID
    - ddsrt_avl_is_empty
    - ddsi_security_validate_msg_decoding
    - ddsi_reorder_next_seq
    - ddsrt_time_monotonic
    - ddsi_from_seqno
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - ddsrt_avl_find_succ
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: int
    signature: int handle_HeartbeatFrag (struct ddsi_receiver_state *rst, UNUSED_ARG(ddsrt_etime_t
      tnow), const ddsi_rtps_heartbeatfrag_t *msg, ddsi_rtps_submessage_kind_t prev_smid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1603,1
    - Dst: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1605,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1611,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1613,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1613,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1617,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1617,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1617,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1621,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1623,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1623,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1623,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1630,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1632,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1632,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1632,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1636,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1638,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1638,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1638,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1642,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1643,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1647,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1647,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1647,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1651,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1652,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1654,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1654,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1654,1
    - Dst: accept_ack_or_hb_w_timeout
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1659,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1661,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1661,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1661,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1664,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1664,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1664,1
    - Dst: ddsi_whc_borrow_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1668,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1671,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1674,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1677,1
    - Dst: ddsi_create_fragment_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1680,1
    - Dst: ddsi_qxev_msg_rexmit_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1682,1
    - Dst: ddsi_writer_set_retransmitting
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1695,1
    - Dst: ddsi_whc_return_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1697,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1703,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1704,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1705,1
    - Dst: ddsi_add_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1707,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1708,1
    - Dst: ddsi_writer_read_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1710,1
    - Dst: ddsi_whc_get_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1716,1
    - Dst: defer_heartbeat_to_peer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1717,1
    - Dst: ddsi_writer_hbcontrol_note_asyncwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1718,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1718,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1722,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1723,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 5
    argNames:
    - rst
    - tnow
    - msg
    - prev_smid
    - defer_hb_state
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - ddsi_rtps_nackfrag_t*
    - ddsi_rtps_submessage_kind_t
    - struct defer_hb_state*
    assertStmts:
    - condition: (wr->rexmit_burst_size_limit <= UINT32_MAX - UINT16_MAX)
      pos:
        line_end: 1670
        line_start: 1670
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 1725
      start: 1594
    functionDepth: 3
    functionLinenumber: 1594
    functionLinenumberEnd: 1725
    functionName: handle_NackFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_writer_hbcontrol_note_asyncwrite
    - RSTTRACE
    - ddsrt_avl_lookup
    - ddsi_whc_borrow_sample
    - ddsrt_mutex_lock
    - ddsi_writer_set_retransmitting
    - ddsi_whc_get_state
    - ddsi_xmsg_new
    - ddsi_bitset_isset
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lease_renew
    - ddsi_xmsg_setdst_prd
    - ddsi_whc_return_sample
    - PGUID
    - accept_ack_or_hb_w_timeout
    - ddsi_security_validate_msg_decoding
    - assert
    - ddsrt_time_monotonic
    - ddsi_create_fragment_message
    - ddsi_writer_read_seq_xmit
    - ddsi_from_seqno
    - ddsi_qxev_msg
    - ddsi_add_gap
    - defer_heartbeat_to_peer
    - ddsrt_atomic_ldvoidp
    - ddsi_qxev_msg_rexmit_wrlock_held
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int handle_NackFrag (struct ddsi_receiver_state *rst, ddsrt_etime_t
      tnow, const ddsi_rtps_nackfrag_t *msg, ddsi_rtps_submessage_kind_t prev_smid,
      struct defer_hb_state *defer_hb_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1729,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1730,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1730,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1741,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1742,1
    - Dst: ddsi_is_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - rst
    - msg
    - dst_prefix
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_info_dst_t*
    - ddsi_guid_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1727
    functionDepth: 3
    functionLinenumber: 1727
    functionLinenumberEnd: 1746
    functionName: handle_InfoDST
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - RSTTRACE
    - ddsi_is_deleted_participant_guid
    - PGUIDPREFIX
    - ddsi_ntoh_guid_prefix
    - ddsi_to_entityid
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: int
    signature: int handle_InfoDST (struct ddsi_receiver_state *rst, const ddsi_rtps_info_dst_t
      *msg, const ddsi_guid_prefix_t *dst_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1750,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1753,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rst
    - msg
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_info_src_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1756
    functionName: handle_InfoSRC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_ntoh_guid_prefix
    - PGUIDPREFIX
    - RSTTRACE
    linkageType: ''
    returnType: int
    signature: int handle_InfoSRC (struct ddsi_receiver_state *rst, const ddsi_rtps_info_src_t
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1760,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1764,1
    - Dst: ddsi_wctime_from_ddsi_time
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1769,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1772,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1774,1
    - Dst: ddsi_wctime_from_ddsi_time22
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1775,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1780,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - rst
    - msg
    - timestamp
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_rtps_info_ts_t*
    - ddsrt_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1758
    functionDepth: 2
    functionLinenumber: 1758
    functionLinenumberEnd: 1785
    functionName: handle_InfoTS
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - RSTTRACE
    - memcpy
    - DDSRT_STATIC_ASSERT
    - ddsi_wctime_from_ddsi_time22
    - ddsi_wctime_from_ddsi_time
    linkageType: ''
    returnType: int
    signature: int handle_InfoTS (const struct ddsi_receiver_state *rst, const ddsi_rtps_info_ts_t
      *msg, ddsrt_wctime_t *timestamp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1792,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1793,1
    - Dst: ddsi_defrag_notegap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1799,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1804,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1807,1
    - Dst: ddsi_dqueue_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1809,1
    - Dst: DDSRT_STATIC_ASSERT_CODE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1817,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1829,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1834,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1837,1
    - Dst: ddsi_dqueue_enqueue1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1839,1
    - Dst: maybe_set_reader_in_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1850,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 6
    argNames:
    - pwr
    - wn
    - a
    - b
    - gap
    - refc_adjust
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - struct ddsi_rdata*
    - int*
    assertStmts:
    - condition: (a > 0 && b >= a)
      pos:
        line_end: 1792
        line_start: 1792
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (0)
      pos:
        line_end: 1828
        line_start: 1828
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 1854
      start: 1787
    functionDepth: 2
    functionLinenumber: 1787
    functionLinenumberEnd: 1854
    functionName: handle_one_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - deliver_user_data_synchronously
    - assert
    - maybe_set_reader_in_sync
    - ddsi_defrag_notegap
    - DDSRT_STATIC_ASSERT_CODE
    - ASSERT_MUTEX_HELD
    - ddsi_reorder_gap
    - ddsi_dqueue_enqueue1
    - ddsi_dqueue_enqueue
    linkageType: ''
    returnType: int
    signature: int handle_one_gap (struct ddsi_proxy_writer *pwr, struct ddsi_pwr_rd_match
      *wn, ddsi_seqno_t a, ddsi_seqno_t b, struct ddsi_rdata *gap, int *refc_adjust)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1886,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1887,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1888,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1892,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1898,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1904,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1904,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1904,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1908,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1910,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1910,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1910,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1914,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1916,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1916,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1916,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1920,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1921,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1923,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1924,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1926,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1926,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1926,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1927,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1930,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1930,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1930,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1932,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1934,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1935,1
    - Dst: ddsi_rdata_newgap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1945,1
    - Dst: handle_one_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1951,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1955,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1961,1
    - Dst: handle_one_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1966,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1967,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1972,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1993,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:1994,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 5
    argNames:
    - rst
    - tnow
    - rmsg
    - msg
    - prev_smid
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - struct ddsi_rmsg*
    - ddsi_rtps_gap_t*
    - ddsi_rtps_submessage_kind_t
    assertStmts:
    - condition: (listbase >= gapstart && gapstart >= 1)
      pos:
        line_end: 1891
        line_start: 1891
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (j >= 1)
      pos:
        line_end: 1966
        line_start: 1966
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 1996
      start: 1856
    functionDepth: 3
    functionLinenumber: 1856
    functionLinenumberEnd: 1996
    functionName: handle_Gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_rdata_newgap
    - ddsi_from_seqno
    - RSTTRACE
    - ddsrt_avl_lookup
    - assert
    - PGUID
    - ddsi_security_validate_msg_decoding
    - ddsrt_mutex_lock
    - handle_one_gap
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_fragchain_adjust_refcount
    - ddsrt_atomic_ldvoidp
    - ddsi_vendor_is_eclipse
    - ddsi_bitset_isset
    - ddsrt_mutex_unlock
    - ddsi_lease_renew
    linkageType: ''
    returnType: int
    signature: int handle_Gap (struct ddsi_receiver_state *rst, ddsrt_etime_t tnow,
      struct ddsi_rmsg *rmsg, const ddsi_rtps_gap_t *msg, ddsi_rtps_submessage_kind_t
      prev_smid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - type
    - fragchain
    - sz
    - justkey
    - statusinfo
    - tstamp
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_rdata*
    - uint32_t
    - int
    - unsigned
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2007
    functionName: get_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_from_ser
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *get_serdata (struct ddsi_sertype const * const
      type, const struct ddsi_rdata *fragchain, uint32_t sz, int justkey, unsigned
      statusinfo, ddsrt_wctime_t tstamp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2041,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2042,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2045,1
    - Dst: get_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2049,1
    - Dst: get_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2058,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2062,1
    - Dst: get_serdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2063,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2070,1
    - Dst: ddsi_omg_plist_keyhash_is_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2074,1
    - Dst: ddsi_serdata_from_keyhash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2080,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2097,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2098,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2101,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2107,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2109,1
    - Dst: ddsi_serdata_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2120,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2121,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2122,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2124,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 4
    argNames:
    - tk
    - gv
    - type
    - vsourceinfo
    argTypes:
    - struct ddsi_tkmap_instance**
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - void*
    assertStmts:
    - condition: (data_smhdr_flags & DDSI_DATA_FLAG_DATAFLAG)
      pos:
        line_end: 2061
        line_start: 2061
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2130
      start: 2018
    functionDepth: 2
    functionLinenumber: 2018
    functionLinenumberEnd: 2130
    functionName: remote_make_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_print
    - DDS_CWARNING
    - DDS_CTRACE
    - ddsi_serdata_unref
    - assert
    - PGUID
    - ddsi_tkmap_lookup_instance_ref
    - DDSI_SC_STRICT_P
    - memset
    - get_serdata
    - ddsi_omg_plist_keyhash_is_protected
    - GVTRACE
    - ddsi_serdata_from_keyhash
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *remote_make_sample (struct ddsi_tkmap_instance
      **tk, struct ddsi_domaingv *gv, struct ddsi_sertype const * const type, void
      *vsourceinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT_CODE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2141,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - smhdr
    argTypes:
    - ddsi_rtps_submessage_header_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2147
        line_start: 2147
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2151
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2151
    functionName: ddsi_normalize_data_datafrag_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT_CODE
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ddsi_normalize_data_datafrag_flags (const ddsi_rtps_submessage_header_t
      *smhdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2155,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2159,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2159,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - entity_index
    - pwrcmn
    - it
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    - ddsrt_avl_iter_t*
    assertStmts:
    - condition: (pwrcmn->kind == DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 2154
        line_start: 2154
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2163
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2163
    functionName: proxy_writer_first_in_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - assert
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *proxy_writer_first_in_sync_reader (struct ddsi_entity_index
      *entity_index, struct ddsi_entity_common *pwrcmn, ddsrt_avl_iter_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2169,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2169,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - entity_index
    - it
    argTypes:
    - struct ddsi_entity_index*
    - ddsrt_avl_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2173
    functionName: proxy_writer_next_in_sync_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *proxy_writer_next_in_sync_reader (struct ddsi_entity_index
      *entity_index, ddsrt_avl_iter_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2178,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2180,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2182,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2182,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2185,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - source_entity
    - source_entity_locked
    - fastpath_rdary
    - vsourceinfo
    argTypes:
    - struct ddsi_entity_common*
    - bool
    - struct ddsi_local_reader_ary*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2175
    functionDepth: 1
    functionLinenumber: 2175
    functionLinenumberEnd: 2188
    functionName: remote_on_delivery_failure_fastpath
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - dds_sleepfor
    - ddsrt_mutex_unlock
    - DDS_MSECS
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t remote_on_delivery_failure_fastpath (struct ddsi_entity_common
      *source_entity, bool source_entity_locked, struct ddsi_local_reader_ary *fastpath_rdary,
      void *vsourceinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2210,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2211,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2211,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2216,1
    - Dst: DDSI_RDATA_SUBMSG_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2216,1
    - Dst: ddsi_normalize_data_datafrag_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2217,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2234,1
    - Dst: DDSI_RDATA_SUBMSG_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2240,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2245,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2246,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2247,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2248,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2251,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2252,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2261,1
    - Dst: ddsi_deliver_locally_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2272,1
    - Dst: ddsi_deliver_locally_allinsync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2275,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2276,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - sampleinfo
    - fragchain
    - rdguid
    - pwr_locked
    argTypes:
    - struct ddsi_rsample_info*
    - struct ddsi_rdata*
    - ddsi_guid_t*
    - int
    assertStmts:
    - condition: (!ddsi_is_builtin_entityid (pwr->e.guid.entityid, pwr->c.vendor))
      pos:
        line_end: 2210
        line_start: 2210
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (fragchain->min == 0)
      pos:
        line_end: 2209
        line_start: 2209
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2281
      start: 2190
    functionDepth: 6
    functionLinenumber: 2190
    functionLinenumberEnd: 2281
    functionName: deliver_user_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - DDSI_RDATA_SUBMSG_OFF
    - ddsi_make_writer_info
    - ddsi_deliver_locally_one
    - ddsi_plist_init_empty
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - PGUID
    - DDSI_SC_STRICT_P
    - DDSI_RDATA_PAYLOAD_OFF
    - ddsi_plist_fini
    - ddsi_deliver_locally_allinsync
    - ddsrt_atomic_st32
    - ddsi_plist_init_frommsg
    - ddsi_normalize_data_datafrag_flags
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int deliver_user_data (const struct ddsi_rsample_info *sampleinfo,
      const struct ddsi_rdata *fragchain, const ddsi_guid_t *rdguid, int pwr_locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deliver_user_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sampleinfo
    - fragchain
    - rdguid
    argTypes:
    - struct ddsi_rsample_info*
    - struct ddsi_rdata*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2283
    functionDepth: 7
    functionLinenumber: 2283
    functionLinenumberEnd: 2288
    functionName: ddsi_user_dqueue_handler
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - deliver_user_data
    linkageType: ''
    returnType: int
    signature: int ddsi_user_dqueue_handler (const struct ddsi_rsample_info *sampleinfo,
      const struct ddsi_rdata *fragchain, const ddsi_guid_t *rdguid, UNUSED_ARG (void
      *qarg))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deliver_user_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2302,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sc
    - rdguid
    argTypes:
    - struct ddsi_rsample_chain*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2290
    functionDepth: 7
    functionLinenumber: 2290
    functionLinenumberEnd: 2306
    functionName: deliver_user_data_synchronously
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 2
    functionsReached:
    - deliver_user_data
    - ddsi_fragchain_unref
    linkageType: ''
    returnType: void
    signature: void deliver_user_data_synchronously (struct ddsi_rsample_chain *sc,
      const ddsi_guid_t *rdguid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2310,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2314,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2314,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2318,1
    - Dst: ddsi_defrag_notegap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pwr
    argTypes:
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2325
    functionName: clean_defrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_find_succ
    - ddsrt_avl_find_min
    - ddsi_defrag_notegap
    - ddsi_reorder_next_seq
    linkageType: ''
    returnType: void
    signature: void clean_defrag (struct ddsi_proxy_writer *pwr)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2344,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2344,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2344,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2353,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2354,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2355,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2356,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2358,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2361,1
    - Dst: ddsi_proxy_writer_set_alive_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2368,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2381,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2383,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2384,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2384,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2384,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2388,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2390,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2391,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2391,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2391,1
    - Dst: clean_defrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2408,1
    - Dst: ddsi_defrag_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2410,1
    - Dst: ddsi_rsample_fragchain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2414,1
    - Dst: ddsi_is_null_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2419,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2421,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2421,1
    - Dst: ddsi_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2423,1
    - Dst: ddsi_reorder_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2427,1
    - Dst: ddsi_dqueue_is_full
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2427,1
    - Dst: ddsi_dqueue_enqueue1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2435,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2437,1
    - Dst: ddsi_reorder_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2448,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2458,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2459,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2460,1
    - Dst: ddsi_dqueue_enqueue_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2477,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2478,1
    - Dst: ddsi_dqueue_enqueue_deferred_wakeup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2482,1
    - Dst: ddsi_dqueue_enqueue_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2485,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2500,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2500,1
    - Dst: ddsi_reorder_rsample_dup_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2507,1
    - Dst: ddsi_reorder_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2508,1
    - Dst: ddsi_dqueue_is_full
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2508,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2519,1
    - Dst: maybe_set_reader_in_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2521,1
    - Dst: deliver_user_data_synchronously
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2534,1
    - Dst: ddsi_dqueue_enqueue_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2540,1
    - Dst: ddsi_dqueue_enqueue1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2543,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2551,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2553,1
    - Dst: ddsi_dqueue_wait_until_empty_if_full
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2554,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 114
    argCount: 9
    argNames:
    - rst
    - tnow
    - rmsg
    - msg
    - sampleinfo
    - max_fragnum_in_msg
    - rdata
    - deferred_wakeup
    - renew_manbypp_lease
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - struct ddsi_rmsg*
    - ddsi_rtps_data_datafrag_common_t*
    - struct ddsi_rsample_info*
    - uint32_t
    - struct ddsi_rdata*
    - struct ddsi_dqueue**
    - bool
    assertStmts:
    - condition: (rres2 > 0)
      pos:
        line_end: 2518
        line_start: 2518
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (gap_refc_adjust == 0)
      pos:
        line_end: 2459
        line_start: 2459
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (rres > 0)
      pos:
        line_end: 2458
        line_start: 2458
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2555
      start: 2327
    functionDepth: 8
    functionLinenumber: 2327
    functionLinenumberEnd: 2555
    functionName: handle_regular
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - deliver_user_data_synchronously
    - ddsi_reorder_rsample_dup_first
    - ddsi_rsample_fragchain
    - clean_defrag
    - ddsi_reorder_rsample
    - ddsi_reorder_gap
    - ddsrt_avl_find_min
    - RSTTRACE
    - ddsrt_mutex_lock
    - ddsi_vendor_is_eclipse
    - ddsi_dqueue_enqueue_deferred_wakeup
    - ddsi_lease_renew
    - ddsi_guid_eq
    - ddsi_dqueue_is_full
    - ddsi_defrag_rsample
    - ddsrt_avl_iter_first
    - PGUID
    - ddsrt_avl_is_empty
    - assert
    - maybe_set_reader_in_sync
    - ddsi_proxy_writer_set_alive_may_unlock
    - ddsi_dqueue_enqueue_trigger
    - ddsi_is_null_guid
    - ddsi_fragchain_adjust_refcount
    - ddsi_dqueue_wait_until_empty_if_full
    - ddsrt_avl_find_succ
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    - ddsi_dqueue_enqueue1
    linkageType: ''
    returnType: void
    signature: "void handle_regular (struct ddsi_receiver_state *rst, ddsrt_etime_t
      tnow, struct ddsi_rmsg *rmsg, const ddsi_rtps_data_datafrag_common_t *msg, const
      struct ddsi_rsample_info *sampleinfo,\n    uint32_t max_fragnum_in_msg, struct
      ddsi_rdata *rdata, struct ddsi_dqueue **deferred_wakeup, bool renew_manbypp_lease)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2565,1
    - Dst: ddsi_defrag_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2566,1
    - Dst: ddsi_rsample_fragchain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2567,1
    - Dst: ddsi_reorder_rsample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2568,1
    - Dst: ddsi_dqueue_is_full
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2568,1
    - Dst: ddsi_dqueue_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2569,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2570,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sampleinfo
    - rdata
    argTypes:
    - struct ddsi_rsample_info*
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2573
    functionName: handle_SPDP
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_dqueue_is_full
    - ddsi_defrag_rsample
    - ddsrt_mutex_lock
    - ddsi_rsample_fragchain
    - ddsi_fragchain_adjust_refcount
    - ddsi_reorder_rsample
    - ddsrt_mutex_unlock
    - ddsi_dqueue_enqueue
    linkageType: ''
    returnType: int
    signature: int handle_SPDP (const struct ddsi_rsample_info *sampleinfo, struct
      ddsi_rdata *rdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2586,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2588,1
    - Dst: ddsi_rdata_newgap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2598,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2606,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2607,1
    - Dst: handle_one_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2608,1
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2609,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2610,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2616,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - rst
    - rmsg
    - msg
    - sampleinfo
    argTypes:
    - struct ddsi_receiver_state*
    - struct ddsi_rmsg*
    - ddsi_rtps_data_datafrag_common_t*
    - struct ddsi_rsample_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2622
    functionName: drop_oversize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_rdata_newgap
    - DDS_CWARNING
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - handle_one_gap
    - PGUIDPREFIX
    - ddsi_fragchain_adjust_refcount
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void drop_oversize (struct ddsi_receiver_state *rst, struct ddsi_rmsg
      *rmsg, const ddsi_rtps_data_datafrag_common_t *msg, struct ddsi_rsample_info
      *sampleinfo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2626,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2627,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2628,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2629,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2632,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2638,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2640,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2640,1
    - Dst: drop_oversize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2646,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2651,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2653,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2657,1
    - Dst: ddsi_rdata_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2661,1
    - Dst: handle_SPDP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2672,1
    - Dst: handle_regular
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2681,1
    - Dst: handle_regular
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2686,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 10
    argNames:
    - rst
    - tnow
    - rmsg
    - msg
    - size
    - sampleinfo
    - keyhash
    - datap
    - deferred_wakeup
    - prev_smid
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - struct ddsi_rmsg*
    - ddsi_rtps_data_t*
    - size_t
    - struct ddsi_rsample_info*
    - ddsi_keyhash_t*
    - unsigned char*
    - struct ddsi_dqueue**
    - ddsi_rtps_submessage_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2624
    functionDepth: 9
    functionLinenumber: 2624
    functionLinenumberEnd: 2691
    functionName: handle_Data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - ddsi_rdata_new
    - handle_regular
    - drop_oversize
    - RSTTRACE
    - PGUID
    - ddsi_security_validate_msg_decoding
    - DDSI_RMSG_PAYLOAD
    - handle_SPDP
    - PGUIDPREFIX
    linkageType: ''
    returnType: int
    signature: int handle_Data (struct ddsi_receiver_state *rst, ddsrt_etime_t tnow,
      struct ddsi_rmsg *rmsg, const ddsi_rtps_data_t *msg, size_t size, struct ddsi_rsample_info
      *sampleinfo, const ddsi_keyhash_t *keyhash, unsigned char *datap, struct ddsi_dqueue
      **deferred_wakeup, ddsi_rtps_submessage_kind_t prev_smid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2695,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2696,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2697,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2698,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2702,1
    - Dst: ddsi_security_validate_msg_decoding
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2708,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2710,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2710,1
    - Dst: drop_oversize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2716,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2730,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2731,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2731,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2732,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2741,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2743,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2747,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2772,1
    - Dst: ddsi_rdata_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2774,1
    - Dst: handle_regular
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2783,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 10
    argNames:
    - rst
    - tnow
    - rmsg
    - msg
    - size
    - sampleinfo
    - keyhash
    - datap
    - deferred_wakeup
    - prev_smid
    argTypes:
    - struct ddsi_receiver_state*
    - ddsrt_etime_t
    - struct ddsi_rmsg*
    - ddsi_rtps_datafrag_t*
    - size_t
    - struct ddsi_rsample_info*
    - ddsi_keyhash_t*
    - unsigned char*
    - struct ddsi_dqueue**
    - ddsi_rtps_submessage_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2693
    functionDepth: 9
    functionLinenumber: 2693
    functionLinenumberEnd: 2787
    functionName: handle_DataFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - DDS_CWARNING
    - ddsi_rdata_new
    - drop_oversize
    - handle_regular
    - RSTTRACE
    - PGUID
    - ddsi_security_validate_msg_decoding
    - DDSI_RMSG_PAYLOAD
    - PGUIDPREFIX
    linkageType: ''
    returnType: int
    signature: int handle_DataFrag (struct ddsi_receiver_state *rst, ddsrt_etime_t
      tnow, struct ddsi_rmsg *rmsg, const ddsi_rtps_datafrag_t *msg, size_t size,
      struct ddsi_rsample_info *sampleinfo, const ddsi_keyhash_t *keyhash, unsigned
      char *datap, struct ddsi_dqueue **deferred_wakeup, ddsi_rtps_submessage_kind_t
      prev_smid)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 2
    argNames:
    - id
    - buffer
    argTypes:
    - ddsi_rtps_submessage_kind_t
    - struct submsg_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2820
    functionName: submsg_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *submsg_name (ddsi_rtps_submessage_kind_t id, struct submsg_name
      *buffer)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: submsg_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2847,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2849,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2853,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2855,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2857,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2859,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2861,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2862,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2868,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2875,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2876,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2883,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2884,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2884,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2890,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2891,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2892,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2898,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2899,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2906,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2907,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2914,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2916,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2922,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2924,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2932,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 5
    argNames:
    - gv
    - msg
    - submsg
    - len
    - vendorid
    argTypes:
    - struct ddsi_domaingv*
    - unsigned char*
    - unsigned char*
    - size_t
    - ddsi_vendorid_t
    assertStmts:
    - condition: (submsg >= msg && submsg <= msg + len)
      pos:
        line_end: 2848
        line_start: 2848
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (pos < (int) sizeof (tmp))
      pos:
        line_end: 2861
        line_start: 2861
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 2933
      start: 2822
    functionDepth: 2
    functionLinenumber: 2822
    functionLinenumberEnd: 2933
    functionName: malformed_packet_received_shortmsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - snprintf
    - ddsi_from_seqno
    - assert
    - submsg_name
    linkageType: ''
    returnType: void
    signature: void malformed_packet_received_shortmsg (const struct ddsi_domaingv
      *gv, const unsigned char *msg, const unsigned char *submsg, size_t len, ddsi_vendorid_t
      vendorid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2937,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2940,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2950,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2953,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2956,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2958,1
    - Dst: isprint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2958,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2960,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - gv
    - msg
    - submsg
    - len
    - vendorid
    - logmask
    argTypes:
    - struct ddsi_domaingv*
    - unsigned char*
    - unsigned char*
    - size_t
    - ddsi_vendorid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2935
    functionDepth: 1
    functionLinenumber: 2935
    functionLinenumberEnd: 2962
    functionName: malformed_packet_received_fulldump
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - isprint
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void malformed_packet_received_fulldump (const struct ddsi_domaingv
      *gv, const unsigned char *msg, const unsigned char *submsg, size_t len, ddsi_vendorid_t
      vendorid, uint32_t logmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malformed_packet_received_shortmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2966,1
    - Dst: malformed_packet_received_fulldump
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2968,1
    - Dst: malformed_packet_received_fulldump
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - gv
    - msg
    - submsg
    - len
    - vendorid
    argTypes:
    - struct ddsi_domaingv*
    - unsigned char*
    - unsigned char*
    - size_t
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2964
    functionDepth: 3
    functionLinenumber: 2964
    functionLinenumberEnd: 2971
    functionName: malformed_packet_received
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - malformed_packet_received_shortmsg
    - malformed_packet_received_fulldump
    linkageType: ''
    returnType: void
    signature: void malformed_packet_received (const struct ddsi_domaingv *gv, const
      unsigned char *msg, const unsigned char *submsg, size_t len, ddsi_vendorid_t
      vendorid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:2979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rst_live
    - rmsg
    - rst
    argTypes:
    - int*
    - struct ddsi_rmsg*
    - struct ddsi_receiver_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2973
    functionDepth: 1
    functionLinenumber: 2973
    functionLinenumberEnd: 2984
    functionName: rst_cow_if_needed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: struct ddsi_receiver_state
    signature: struct ddsi_receiver_state *rst_cow_if_needed (int *rst_live, struct
      ddsi_rmsg *rmsg, struct ddsi_receiver_state *rst)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3017,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3018,1
    - Dst: defer_hb_state_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3041,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3042,1
    - Dst: ddsi_thread_is_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3042,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3043,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3050,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3055,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3057,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3095,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3099,1
    - Dst: validate_AckNack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3103,1
    - Dst: handle_AckNack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3104,1
    - Dst: validate_Heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3109,1
    - Dst: handle_Heartbeat
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3110,1
    - Dst: validate_Gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3115,1
    - Dst: handle_Gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3116,1
    - Dst: validate_InfoTS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3121,1
    - Dst: handle_InfoTS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3122,1
    - Dst: validate_InfoSRC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3128,1
    - Dst: rst_cow_if_needed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3129,1
    - Dst: handle_InfoSRC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3130,1
    - Dst: validate_InfoDST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3136,1
    - Dst: rst_cow_if_needed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3137,1
    - Dst: handle_InfoDST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3138,1
    - Dst: validate_NackFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3144,1
    - Dst: handle_NackFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3145,1
    - Dst: validate_HeartbeatFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3150,1
    - Dst: handle_HeartbeatFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3151,1
    - Dst: validate_DataFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3161,1
    - Dst: ddsi_security_decode_datafrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3163,1
    - Dst: set_sampleinfo_bswap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3166,1
    - Dst: handle_DataFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3172,1
    - Dst: validate_Data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3184,1
    - Dst: ddsi_security_decode_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3186,1
    - Dst: set_sampleinfo_bswap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3188,1
    - Dst: handle_Data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3193,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3200,1
    - Dst: ddsi_security_decode_sec_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3201,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3215,1
    - Dst: submsg_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3215,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3219,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3240,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3244,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3247,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3248,1
    - Dst: ddsi_thread_is_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3248,1
    - Dst: defer_hb_state_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3249,1
    - Dst: ddsi_dqueue_enqueue_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3251,1
    - Dst: malformed_packet_received
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3256,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 179
    argCount: 13
    argNames:
    - thrst
    - gv
    - conn
    - pktinfo
    - tnowWC
    - tnowE
    - src_prefix
    - dst_prefix
    - msg
    - len
    - submsg
    - rmsg
    - rtps_encoded
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - struct ddsi_network_packet_info*
    - ddsrt_wctime_t
    - ddsrt_etime_t
    - ddsi_guid_prefix_t*
    - ddsi_guid_prefix_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - struct ddsi_rmsg*
    - bool
    assertStmts:
    - condition: (ddsi_thread_is_asleep ())
      pos:
        line_end: 3247
        line_start: 3247
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (ddsi_thread_is_asleep ())
      pos:
        line_end: 3041
        line_start: 3041
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 3259
      start: 2986
    functionDepth: 10
    functionLinenumber: 2986
    functionLinenumberEnd: 3259
    functionName: handle_submsg_sequence
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - validate_HeartbeatFrag
    - validate_Data
    - defer_hb_state_fini
    - ddsi_security_decode_datafrag
    - handle_NackFrag
    - validate_AckNack
    - validate_Heartbeat
    - submsg_name
    - ddsrt_bswap2u
    - ddsi_thread_is_asleep
    - handle_Gap
    - handle_InfoTS
    - handle_Data
    - handle_HeartbeatFrag
    - ddsi_thread_state_awake_to_awake_no_nest
    - validate_NackFrag
    - validate_InfoDST
    - malformed_packet_received
    - ddsi_rmsg_alloc
    - DDSRT_WARNING_MSVC_ON
    - ddsi_thread_state_asleep
    - handle_InfoSRC
    - validate_Gap
    - validate_InfoTS
    - set_sampleinfo_bswap
    - DDSRT_WARNING_MSVC_OFF
    - handle_DataFrag
    - assert
    - defer_hb_state_init
    - validate_InfoSRC
    - rst_cow_if_needed
    - ddsi_security_decode_sec_prefix
    - handle_AckNack
    - validate_DataFrag
    - ddsi_dqueue_enqueue_trigger
    - handle_Heartbeat
    - ddsi_security_decode_data
    - memset
    - ddsi_thread_state_awake_fixed_domain
    - handle_InfoDST
    - GVTRACE
    linkageType: ''
    returnType: int
    signature: "int handle_submsg_sequence\n(\n  struct ddsi_thread_state * const
      thrst,\n  struct ddsi_domaingv *gv,\n  struct ddsi_tran_conn * conn,\n  const
      struct ddsi_network_packet_info *pktinfo,\n  ddsrt_wctime_t tnowWC,\n  ddsrt_etime_t
      tnowE,\n  const ddsi_guid_prefix_t * const src_prefix,\n  const ddsi_guid_prefix_t
      * const dst_prefix,\n  unsigned char * const msg /* NOT const - we may byteswap
      it */,\n  const size_t len,\n  unsigned char * submsg /* aliases somewhere in
      msg */,\n  struct ddsi_rmsg * const rmsg,\n  bool rtps_encoded /* indicate if
      the message was rtps encoded */\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3264,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3265,1
    - Dst: ddsi_thread_is_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3265,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3273,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3274,1
    - Dst: DDSI_SC_PEDANTIC_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3275,1
    - Dst: malformed_packet_received
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3276,1
    - Dst: ddsi_ntoh_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3280,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3286,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3288,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3289,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3290,1
    - Dst: ddsi_security_decode_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3293,1
    - Dst: handle_submsg_sequence
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3296,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3296,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 9
    argNames:
    - thrst
    - gv
    - conn
    - guidprefix
    - rbpool
    - rmsg
    - sz
    - msg
    - pktinfo
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_guid_prefix_t*
    - struct ddsi_rbufpool*
    - struct ddsi_rmsg*
    - size_t
    - unsigned char*
    - struct ddsi_network_packet_info*
    assertStmts:
    - condition: (gv->config.protocol_version.major == DDSI_RTPS_MAJOR)
      pos:
        line_end: 3263
        line_start: 3263
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - condition: (ddsi_thread_is_asleep ())
      pos:
        line_end: 3264
        line_start: 3264
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    constantsTouched: []
    func_position:
      end: 3299
      start: 3261
    functionDepth: 11
    functionLinenumber: 3261
    functionLinenumberEnd: 3299
    functionName: handle_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 5
    functionsReached:
    - ddsi_security_decode_rtps_message
    - assert
    - ddsrt_time_elapsed
    - malformed_packet_received
    - handle_submsg_sequence
    - ddsi_thread_is_asleep
    - PGUIDPREFIX
    - ddsi_ntoh_guid_prefix
    - ddsi_locator_to_string
    - GVTRACE
    - DDSI_SC_PEDANTIC_P
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: void
    signature: void handle_rtps_message (struct ddsi_thread_state * const thrst, struct
      ddsi_domaingv *gv, struct ddsi_tran_conn * conn, const ddsi_guid_prefix_t *guidprefix,
      struct ddsi_rbufpool *rbpool, struct ddsi_rmsg *rmsg, size_t sz, unsigned char
      *msg, const struct ddsi_network_packet_info *pktinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - thrst
    - gv
    - conn
    - guidprefix
    - rbpool
    - rmsg
    - sz
    - msg
    - pktinfo
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_guid_prefix_t*
    - struct ddsi_rbufpool*
    - struct ddsi_rmsg*
    - size_t
    - unsigned char*
    - struct ddsi_network_packet_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3301
    functionDepth: 12
    functionLinenumber: 3301
    functionLinenumberEnd: 3304
    functionName: ddsi_handle_rtps_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 5
    functionsReached:
    - handle_rtps_message
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_rtps_message (struct ddsi_thread_state * const thrst,
      struct ddsi_domaingv *gv, struct ddsi_tran_conn * conn, const ddsi_guid_prefix_t
      *guidprefix, struct ddsi_rbufpool *rbpool, struct ddsi_rmsg *rmsg, size_t sz,
      unsigned char *msg, const struct ddsi_network_packet_info *pktinfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3314,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3325,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3326,1
    - Dst: ddsi_conn_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3340,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3344,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3354,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3363,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3366,1
    - Dst: malformed_packet_received
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3371,1
    - Dst: ddsi_conn_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3376,1
    - Dst: ddsi_conn_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3388,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3393,1
    - Dst: handle_rtps_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3394,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - thrst
    - gv
    - conn
    - guidprefix
    - rbpool
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - ddsi_guid_prefix_t*
    - struct ddsi_rbufpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3306
    functionDepth: 12
    functionLinenumber: 3306
    functionLinenumberEnd: 3398
    functionName: do_packet
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_new
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_STATIC_ASSERT
    - DDSI_RMSG_PAYLOAD
    - malformed_packet_received
    - ddsrt_bswap4u
    - DDSRT_WARNING_MSVC_ON
    - ddsi_rmsg_setsize
    - handle_rtps_message
    - ddsi_rmsg_commit
    - ddsi_conn_read
    linkageType: ''
    returnType: bool
    signature: bool do_packet (struct ddsi_thread_state * const thrst, struct ddsi_domaingv
      *gv, struct ddsi_tran_conn * conn, const ddsi_guid_prefix_t *guidprefix, struct
      ddsi_rbufpool *rbpool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3410,1
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3406
    functionDepth: 1
    functionLinenumber: 3406
    functionLinenumberEnd: 3413
    functionName: local_participant_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_conn_handle
    linkageType: ''
    returnType: int
    signature: int local_participant_cmp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3427,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - base
    - nel
    - width
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3415
    functionDepth: 2
    functionLinenumber: 3415
    functionLinenumberEnd: 3438
    functionName: dedup_sorted_array
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - compar
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t dedup_sorted_array (void *base, size_t nel, size_t width, int
      (*compar) (const void *, const void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lps
    - ppset_generation
    argTypes:
    - struct local_participant_set*
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3451
    functionName: local_participant_set_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: void
    signature: void local_participant_set_init (struct local_participant_set *lps,
      ddsrt_atomic_uint32_t *ppset_generation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lps
    argTypes:
    - struct local_participant_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3456
    functionName: local_participant_set_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void local_participant_set_fini (struct local_participant_set *lps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3463,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3466,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3469,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3471,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3473,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3474,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3475,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3483,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3484,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3491,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3495,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3503,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3504,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3506,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3509,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3518,1
    - Dst: dedup_sorted_array
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3519,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - thrst
    - gv
    - lps
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    - struct local_participant_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3458
    functionDepth: 3
    functionLinenumber: 3458
    functionLinenumberEnd: 3522
    functionName: rebuild_local_participant_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - qsort
    - ddsrt_atomic_ld32
    - ddsrt_free
    - ddsrt_atomic_fence_acq
    - ddsi_entidx_enum_participant_init
    - dedup_sorted_array
    - ddsi_thread_state_asleep
    - ddsi_entidx_enum_participant_fini
    - ddsrt_malloc
    - GVTRACE
    - ddsi_entidx_enum_participant_next
    linkageType: ''
    returnType: void
    signature: void rebuild_local_participant_set (struct ddsi_thread_state * const
      thrst, struct ddsi_domaingv *gv, struct local_participant_set *lps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3530,1
    - Dst: ddsi_listener_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3534,1
    - Dst: ddsi_sock_waitset_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3537,1
    - Dst: ddsi_sock_waitset_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vlistener
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3524
    functionDepth: 2
    functionLinenumber: 3524
    functionLinenumberEnd: 3542
    functionName: ddsi_listen_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_sock_waitset_add
    - ddsi_sock_waitset_trigger
    - ddsi_listener_accept
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_listen_thread (void *vlistener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sock_waitset_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ws
    - conn
    argTypes:
    - struct ddsi_sock_waitset*
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3544
    functionDepth: 2
    functionLinenumber: 3544
    functionLinenumberEnd: 3556
    functionName: recv_thread_waitset_add_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsi_sock_waitset_add
    linkageType: ''
    returnType: int
    signature: int recv_thread_waitset_add_conn (struct ddsi_sock_waitset * ws, struct
      ddsi_tran_conn * conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3570,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3571,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3571,1
    - Dst: ddsi_conn_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3573,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3577,1
    - Dst: ddsi_sock_waitset_trigger
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3558
    functionDepth: 4
    functionLinenumber: 3558
    functionLinenumberEnd: 3583
    functionName: ddsi_trigger_recv_threads
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 3
    functionsReached:
    - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
    - ddsi_sock_waitset_trigger
    - ddsi_conn_write
    - ddsi_locator_to_string
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_trigger_recv_threads (const struct ddsi_domaingv *gv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3587,1
    - Dst: ddsi_rbufpool_setowner
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3594,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3594,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3598,1
    - Dst: LOG_THREAD_CPUTIME
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3600,1
    - Dst: do_packet
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3601,1
    - Dst: local_participant_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3609,1
    - Dst: recv_thread_waitset_add_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3613,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3614,1
    - Dst: recv_thread_waitset_add_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3616,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3617,1
    - Dst: recv_thread_waitset_add_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3620,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3621,1
    - Dst: recv_thread_waitset_add_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3623,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3624,1
    - Dst: ddsi_conn_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3633,1
    - Dst: recv_thread_waitset_add_conn
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3635,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3636,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3641,1
    - Dst: LOG_THREAD_CPUTIME
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3644,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3649,1
    - Dst: rebuild_local_participant_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3658,1
    - Dst: ddsi_sock_waitset_purge
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3659,1
    - Dst: ddsi_sock_waitset_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3663,1
    - Dst: ddsi_sock_waitset_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3667,1
    - Dst: ddsi_sock_waitset_next_event
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3671,1
    - Dst: do_packet
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3679,1
    - Dst: ddsi_conn_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3680,1
    - Dst: local_participant_set_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3684,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c:3687,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 1
    argNames:
    - vrecv_thread_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3585
    functionDepth: 13
    functionLinenumber: 3585
    functionLinenumberEnd: 3689
    functionName: ddsi_recv_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_sock_waitset_add
    - ddsi_sock_waitset_wait
    - ddsrt_thread_self
    - ddsi_sock_waitset_next_event
    - ddsi_conn_free
    - local_participant_set_init
    - ddsi_sock_waitset_purge
    - do_packet
    - LOG_THREAD_CPUTIME
    - DDS_FATAL
    - local_participant_set_fini
    - rebuild_local_participant_set
    - ddsi_conn_handle
    - GVTRACE
    - ddsi_lookup_thread_state
    - ddsi_rbufpool_setowner
    - recv_thread_waitset_add_conn
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_recv_thread (void *vrecv_thread_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: hash_entity_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_entity_guid (const struct ddsi_entity_common *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_entity_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: hash_entity_guid_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - hash_entity_guid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_entity_guid_wrapper (const void *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: entity_guid_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool entity_guid_eq (const struct ddsi_entity_common *a, const struct
      ddsi_entity_common *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: entity_guid_eq_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_guid_eq
    linkageType: ''
    returnType: bool
    signature: bool entity_guid_eq_wrapper (const void *a, const void *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:97,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:98,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:109,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:129,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:130,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:137,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:140,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: ((tpa->definition->xqos->present & DDSI_QP_TOPIC_NAME) && tpa->definition->xqos->topic_name)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((tpb->definition->xqos->present & DDSI_QP_TOPIC_NAME) && tpb->definition->xqos->topic_name)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((wrb->xqos->present & DDSI_QP_TOPIC_NAME) && wrb->xqos->topic_name)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((wra->xqos->present & DDSI_QP_TOPIC_NAME) && wra->xqos->topic_name)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((rda->xqos->present & DDSI_QP_TOPIC_NAME) && rda->xqos->topic_name)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((rdb->xqos->present & DDSI_QP_TOPIC_NAME) && rdb->xqos->topic_name)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((ga->c.xqos->present & DDSI_QP_TOPIC_NAME) && ga->c.xqos->topic_name)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    - condition: ((gb->c.xqos->present & DDSI_QP_TOPIC_NAME) && gb->c.xqos->topic_name)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 141
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 141
    functionName: all_entities_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: int all_entities_compare (const void *va, const void *vb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:149,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - kind
    - tp
    - min
    - max
    argTypes:
    - enum ddsi_entity_kind
    - char*
    - struct ddsi_match_entities_range_key*
    - struct ddsi_match_entities_range_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: match_endpoint_range
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void match_endpoint_range (enum ddsi_entity_kind kind, const char *tp,
      struct ddsi_match_entities_range_key *min, struct ddsi_match_entities_range_key
      *max)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:189,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - kind
    - min
    argTypes:
    - enum ddsi_entity_kind
    - struct ddsi_match_entities_range_key*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: match_entity_kind_min
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void match_entity_kind_min (enum ddsi_entity_kind kind, struct ddsi_match_entities_range_key
      *min)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:223,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: gc_buckets_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void gc_buckets_cb (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:230,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: gc_buckets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: void
    signature: void gc_buckets (void *bs, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:238,1
    - Dst: ddsrt_chh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:239,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:241,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:244,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: ddsi_entity_index_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsrt_chh_new
    - ddsrt_free
    - ddsrt_avl_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: struct ddsi_entity_index
    signature: struct ddsi_entity_index *ddsi_entity_index_new (struct ddsi_domaingv
      *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:252,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:253,1
    - Dst: ddsrt_chh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:254,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - entidx
    argTypes:
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: ddsi_entity_index_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - ddsrt_chh_free
    - ddsrt_mutex_destroy
    - ddsrt_avl_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_entity_index_free (struct ddsi_entity_index *entidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:261,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:262,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:262,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:263,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ei
    - e
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (ddsrt_avl_lookup (&all_entities_treedef, &ei->all_entities, e) ==
        NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: add_to_all_entities
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_avl_lookup
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void add_to_all_entities (struct ddsi_entity_index *ei, struct ddsi_entity_common
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:269,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:270,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:270,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:271,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ei
    - e
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (ddsrt_avl_lookup (&all_entities_treedef, &ei->all_entities, e) !=
        NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: remove_from_all_entities
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup
    - assert
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void remove_from_all_entities (struct ddsi_entity_index *ei, struct
      ddsi_entity_common *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_all_entities
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:277,1
    - Dst: ddsrt_chh_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:279,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ei
    - e
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (x)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: entity_index_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsrt_chh_add
    - assert
    - add_to_all_entities
    linkageType: ''
    returnType: void
    signature: void entity_index_insert (struct ddsi_entity_index *ei, struct ddsi_entity_common
      *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_chh_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:287,1
    - Dst: remove_from_all_entities
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ei
    - e
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: entity_index_tryremove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - remove_from_all_entities
    - ddsrt_chh_remove
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result entity_index_tryremove (struct ddsi_entity_index
      *ei, struct ddsi_entity_common *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:298,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:298,1
    - Dst: ddsrt_chh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: ddsi_entidx_lookup_guid_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 4
    functionsReached:
    - ddsrt_chh_lookup
    - assert
    - ddsi_thread_is_awake
    linkageType: ''
    returnType: void
    signature: void *ddsi_entidx_lookup_guid_untyped (const struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ei
    - guid
    - kind
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    - enum ddsi_entity_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: entidx_lookup_guid_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_guid_untyped
    linkageType: ''
    returnType: void
    signature: void *entidx_lookup_guid_int (const struct ddsi_entity_index *ei, const
      struct ddsi_guid *guid, enum ddsi_entity_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ei
    - guid
    - kind
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    - enum ddsi_entity_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: ddsi_entidx_lookup_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: void
    signature: void *ddsi_entidx_lookup_guid (const struct ddsi_entity_index *ei,
      const struct ddsi_guid *guid, enum ddsi_entity_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - pp
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: ddsi_entidx_insert_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_participant_guid (struct ddsi_entity_index
      *ei, struct ddsi_participant *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - proxypp
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: ddsi_entidx_insert_proxy_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_proxy_participant_guid (struct ddsi_entity_index
      *ei, struct ddsi_proxy_participant *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - wr
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: ddsi_entidx_insert_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_writer_guid (struct ddsi_entity_index *ei,
      struct ddsi_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - rd
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: ddsi_entidx_insert_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_reader_guid (struct ddsi_entity_index *ei,
      struct ddsi_reader *rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - pwr
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: ddsi_entidx_insert_proxy_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_proxy_writer_guid (struct ddsi_entity_index
      *ei, struct ddsi_proxy_writer *pwr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - prd
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: ddsi_entidx_insert_proxy_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_proxy_reader_guid (struct ddsi_entity_index
      *ei, struct ddsi_proxy_reader *prd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:348,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: ddsi_entidx_tryremove_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_tryremove
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: struct ddsi_participant
    signature: struct ddsi_participant *ddsi_entidx_tryremove_participant_guid (struct
      ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:356,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: ddsi_entidx_tryremove_proxy_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_tryremove
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: struct ddsi_proxy_participant
    signature: struct ddsi_proxy_participant *ddsi_entidx_tryremove_proxy_participant_guid
      (struct ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:364,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: ddsi_entidx_tryremove_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_lookup_writer_guid
    - entity_index_tryremove
    linkageType: ''
    returnType: struct ddsi_writer
    signature: struct ddsi_writer *ddsi_entidx_tryremove_writer_guid (struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:372,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: ddsi_entidx_tryremove_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - entity_index_tryremove
    - ddsi_entidx_lookup_reader_guid
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *ddsi_entidx_tryremove_reader_guid (struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:380,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: ddsi_entidx_tryremove_proxy_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_index_tryremove
    - ddsi_entidx_lookup_proxy_writer_guid
    linkageType: ''
    returnType: struct ddsi_proxy_writer
    signature: struct ddsi_proxy_writer *ddsi_entidx_tryremove_proxy_writer_guid (struct
      ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:388,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: ddsi_entidx_tryremove_proxy_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_proxy_reader_guid
    - entity_index_tryremove
    linkageType: ''
    returnType: struct ddsi_proxy_reader
    signature: struct ddsi_proxy_reader *ddsi_entidx_tryremove_proxy_reader_guid (struct
      ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:397,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (guid->entityid.u == DDSI_ENTITYID_PARTICIPANT)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: ddsi_entidx_lookup_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 18
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_participant
    signature: struct ddsi_participant *ddsi_entidx_lookup_participant_guid (const
      struct ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:403,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:404,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (guid->entityid.u == DDSI_ENTITYID_PARTICIPANT)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: ddsi_entidx_lookup_proxy_participant_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 11
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_proxy_participant
    signature: struct ddsi_proxy_participant *ddsi_entidx_lookup_proxy_participant_guid
      (const struct ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:410,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:411,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:411,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: ddsi_entidx_lookup_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 17
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsi_is_writer_entityid
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_writer
    signature: struct ddsi_writer *ddsi_entidx_lookup_writer_guid (const struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:417,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:418,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:418,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_reader_entityid (guid->entityid))
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: ddsi_entidx_lookup_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 13
    functionsReached:
    - ddsi_is_reader_entityid
    - assert
    - DDSRT_STATIC_ASSERT
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *ddsi_entidx_lookup_reader_guid (const struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:424,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:425,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:425,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: ddsi_entidx_lookup_proxy_writer_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 7
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsi_is_writer_entityid
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_proxy_writer
    signature: struct ddsi_proxy_writer *ddsi_entidx_lookup_proxy_writer_guid (const
      struct ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:432,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:432,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_reader_entityid (guid->entityid))
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: ddsi_entidx_lookup_proxy_reader_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 8
    functionsReached:
    - ddsi_is_reader_entityid
    - assert
    - DDSRT_STATIC_ASSERT
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_proxy_reader
    signature: struct ddsi_proxy_reader *ddsi_entidx_lookup_proxy_reader_guid (const
      struct ddsi_entity_index *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:446,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:446,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:447,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:447,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:451,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:452,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - st
    - ei
    - min
    argTypes:
    - struct ddsi_entity_enum*
    - struct ddsi_entity_index*
    - struct ddsi_match_entities_range_key*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 454
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 454
    functionName: entidx_enum_init_minmax_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_avl_lookup_succ_eq
    - ddsrt_mutex_lock
    - assert
    - ddsi_thread_is_awake
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void entidx_enum_init_minmax_int (struct ddsi_entity_enum *st, const
      struct ddsi_entity_index *ei, const struct ddsi_match_entities_range_key *min)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:458,1
    - Dst: match_endpoint_range
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:460,1
    - Dst: entidx_enum_init_minmax_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:461,1
    - Dst: all_entities_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - st
    - ei
    - kind
    - topic
    - max
    argTypes:
    - struct ddsi_entity_enum*
    - struct ddsi_entity_index*
    - enum ddsi_entity_kind
    - char*
    - struct ddsi_match_entities_range_key*
    assertStmts:
    - condition: (kind == DDSI_EK_READER || kind == DDSI_EK_WRITER || kind == DDSI_EK_PROXY_READER
        || kind == DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: ddsi_entidx_enum_init_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - match_endpoint_range
    - entidx_enum_init_minmax_int
    - assert
    - all_entities_compare
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_init_topic (struct ddsi_entity_enum *st, const
      struct ddsi_entity_index *ei, enum ddsi_entity_kind kind, const char *topic,
      struct ddsi_match_entities_range_key *max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:468,1
    - Dst: match_endpoint_range
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:470,1
    - Dst: entidx_enum_init_minmax_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:473,1
    - Dst: all_entities_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - st
    - ei
    - kind
    - topic
    - prefix
    - max
    argTypes:
    - struct ddsi_entity_enum*
    - struct ddsi_entity_index*
    - enum ddsi_entity_kind
    - char*
    - ddsi_guid_prefix_t*
    - struct ddsi_match_entities_range_key*
    assertStmts:
    - condition: (kind == DDSI_EK_READER || kind == DDSI_EK_WRITER || kind == DDSI_EK_PROXY_READER
        || kind == DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 476
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 476
    functionName: ddsi_entidx_enum_init_topic_w_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - match_endpoint_range
    - entidx_enum_init_minmax_int
    - assert
    - all_entities_compare
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_init_topic_w_prefix (struct ddsi_entity_enum
      *st, const struct ddsi_entity_index *ei, enum ddsi_entity_kind kind, const char
      *topic, const ddsi_guid_prefix_t *prefix, struct ddsi_match_entities_range_key
      *max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_entity_kind_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:481,1
    - Dst: entidx_enum_init_minmax_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - st
    - ei
    - kind
    argTypes:
    - struct ddsi_entity_enum*
    - struct ddsi_entity_index*
    - enum ddsi_entity_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: ddsi_entidx_enum_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - entidx_enum_init_minmax_int
    - match_entity_kind_min
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_init (struct ddsi_entity_enum *st, const struct
      ddsi_entity_index *ei, enum ddsi_entity_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_writer*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: ddsi_entidx_enum_writer_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_writer_init (struct ddsi_entity_enum_writer *st,
      const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_reader*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: ddsi_entidx_enum_reader_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_reader_init (struct ddsi_entity_enum_reader *st,
      const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_proxy_writer*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: ddsi_entidx_enum_proxy_writer_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_writer_init (struct ddsi_entity_enum_proxy_writer
      *st, const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_proxy_reader*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: ddsi_entidx_enum_proxy_reader_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_reader_init (struct ddsi_entity_enum_proxy_reader
      *st, const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_participant*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: ddsi_entidx_enum_participant_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 6
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_participant_init (struct ddsi_entity_enum_participant
      *st, const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_proxy_participant*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: ddsi_entidx_enum_proxy_participant_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 7
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_participant_init (struct ddsi_entity_enum_proxy_participant
      *st, const struct ddsi_entity_index *ei)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:520,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:520,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:520,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:524,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:525,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&ddsi_lookup_thread_state ()->vtime) == st->vtime)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: ddsi_entidx_enum_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_avl_lookup_succ
    - ddsrt_mutex_lock
    - assert
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void *ddsi_entidx_enum_next (struct ddsi_entity_enum *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:535,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:538,1
    - Dst: all_entities_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - st
    - max
    argTypes:
    - struct ddsi_entity_enum*
    - struct ddsi_match_entities_range_key*
    assertStmts:
    - condition: (max->entity.e.kind == st->kind)
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: ddsi_entidx_enum_next_max
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_entidx_enum_next
    - all_entities_compare
    linkageType: ''
    returnType: void
    signature: void *ddsi_entidx_enum_next_max (struct ddsi_entity_enum *st, const
      struct ddsi_match_entities_range_key *max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:546,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: ddsi_entidx_enum_writer_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_writer
    signature: struct ddsi_writer *ddsi_entidx_enum_writer_next (struct ddsi_entity_enum_writer
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:552,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: ddsi_entidx_enum_reader_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_reader
    signature: struct ddsi_reader *ddsi_entidx_enum_reader_next (struct ddsi_entity_enum_reader
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:558,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: ddsi_entidx_enum_proxy_writer_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_proxy_writer
    signature: struct ddsi_proxy_writer *ddsi_entidx_enum_proxy_writer_next (struct
      ddsi_entity_enum_proxy_writer *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:564,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: ddsi_entidx_enum_proxy_reader_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_proxy_reader
    signature: struct ddsi_proxy_reader *ddsi_entidx_enum_proxy_reader_next (struct
      ddsi_entity_enum_proxy_reader *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:570,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: ddsi_entidx_enum_participant_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 6
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_participant
    signature: struct ddsi_participant *ddsi_entidx_enum_participant_next (struct
      ddsi_entity_enum_participant *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:576,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: ddsi_entidx_enum_proxy_participant_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 7
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_proxy_participant
    signature: struct ddsi_proxy_participant *ddsi_entidx_enum_proxy_participant_next
      (struct ddsi_entity_enum_proxy_participant *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:582,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:582,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&ddsi_lookup_thread_state ()->vtime) == st->vtime)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: ddsi_entidx_enum_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_fini (struct ddsi_entity_enum *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: ddsi_entidx_enum_writer_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_writer_fini (struct ddsi_entity_enum_writer *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: ddsi_entidx_enum_reader_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 3
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_reader_fini (struct ddsi_entity_enum_reader *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: ddsi_entidx_enum_proxy_writer_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_writer_fini (struct ddsi_entity_enum_proxy_writer
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: ddsi_entidx_enum_proxy_reader_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_reader_fini (struct ddsi_entity_enum_proxy_reader
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: ddsi_entidx_enum_participant_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 6
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_participant_fini (struct ddsi_entity_enum_participant
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: ddsi_entidx_enum_proxy_participant_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 7
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_proxy_participant_fini (struct ddsi_entity_enum_proxy_participant
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entity_index_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei
    - tp
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: ddsi_entidx_insert_topic_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_index_insert
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_insert_topic_guid (struct ddsi_entity_index *ei, struct
      ddsi_topic *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_topic_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:625,1
    - Dst: entity_index_tryremove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: ddsi_entidx_tryremove_topic_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 0
    functionsReached:
    - entity_index_tryremove
    - ddsi_entidx_lookup_topic_guid
    linkageType: ''
    returnType: struct ddsi_topic
    signature: struct ddsi_topic *ddsi_entidx_tryremove_topic_guid (struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:633,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:634,1
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:634,1
    - Dst: entidx_lookup_guid_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ei
    - guid
    argTypes:
    - struct ddsi_entity_index*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_topic_entityid (guid->entityid))
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: ddsi_entidx_lookup_topic_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    - ddsi_is_topic_entityid
    - entidx_lookup_guid_int
    linkageType: ''
    returnType: struct ddsi_topic
    signature: struct ddsi_topic *ddsi_entidx_lookup_topic_guid (const struct ddsi_entity_index
      *ei, const struct ddsi_guid *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - ei
    argTypes:
    - struct ddsi_entity_enum_topic*
    - struct ddsi_entity_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: ddsi_entidx_enum_topic_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - ddsi_entidx_enum_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_topic_init (struct ddsi_entity_enum_topic *st,
      const struct ddsi_entity_index *ei)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:645,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: ddsi_entidx_enum_topic_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - ddsi_entidx_enum_next
    linkageType: ''
    returnType: struct ddsi_topic
    signature: struct ddsi_topic *ddsi_entidx_enum_topic_next (struct ddsi_entity_enum_topic
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsi_entity_enum_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: ddsi_entidx_enum_topic_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    functionUses: 2
    functionsReached:
    - ddsi_entidx_enum_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_entidx_enum_topic_fini (struct ddsi_entity_enum_topic *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nreaders
    - nlocs
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: cover_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cover_size (int nreaders, int nlocs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:52,1
    - Dst: cover_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:52,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - nreaders
    - nlocs
    - want_rdnames
    argTypes:
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: cover_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - cover_size
    - ddsrt_malloc
    linkageType: ''
    returnType: struct cover
    signature: struct cover *cover_new (int nreaders, int nlocs, bool want_rdnames)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:73,1
    - Dst: cover_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:73,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - c
    - rdidx
    argTypes:
    - struct cover**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: cover_makeroom
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - cover_size
    - ddsrt_realloc
    linkageType: ''
    returnType: void
    signature: void cover_makeroom (struct cover **c, int rdidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - nreaders
    argTypes:
    - struct cover*
    - int
    assertStmts:
    - condition: (nreaders <= c->nreaders)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: cover_update_nreaders
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cover_update_nreaders (struct cover *c, int nreaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct cover*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: cover_get_nreaders
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cover_get_nreaders (const struct cover *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct cover*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: cover_get_nlocs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cover_get_nlocs (const struct cover *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:106,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct cover*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: cover_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void cover_free (struct cover *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - c
    - rdidx
    - lidx
    - v
    argTypes:
    - struct cover*
    - int
    - int
    - cover_info_t
    assertStmts:
    - condition: (rdidx < c->nreaders && lidx < c->nlocs)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: cover_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cover_set (struct cover *c, int rdidx, int lidx, cover_info_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - c
    - rdidx
    - lidx
    argTypes:
    - struct cover*
    - int
    - int
    assertStmts:
    - condition: (rdidx < c->nreaders && lidx < c->nlocs)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: cover_get
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: cover_info_t
    signature: cover_info_t cover_get (const struct cover *c, int rdidx, int lidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nlocs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: costmap_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct costmap
    signature: struct costmap *costmap_new (int nlocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wm
    argTypes:
    - struct costmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: costmap_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void costmap_free (struct costmap *wm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wm
    - lidx
    - v
    argTypes:
    - struct costmap*
    - int
    - readercount_cost_t
    assertStmts:
    - condition: (lidx < wm->nlocs)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: costmap_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void costmap_set (struct costmap *wm, int lidx, readercount_cost_t
      v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:160,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - wm
    - lidx
    - v
    argTypes:
    - struct costmap*
    - int
    - delta_cost_t
    assertStmts:
    - condition: (lidx < wm->nlocs)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - condition: (wm->m[lidx].nrds > 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: costmap_adjust
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void costmap_adjust (struct costmap *wm, int lidx, delta_cost_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wm
    - lidx
    argTypes:
    - struct costmap*
    - int
    assertStmts:
    - condition: (lidx < wm->nlocs)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: costmap_get
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: readercount_cost_t
    signature: readercount_cost_t costmap_get (const struct costmap *wm, int lidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:183,1
    - Dst: ddsi_set_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nlocs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: locset_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_set_unspec_xlocator
    linkageType: ''
    returnType: struct locset
    signature: struct locset *locset_new (int nlocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ls
    argTypes:
    - struct locset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: locset_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void locset_free (struct locset *ls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:198,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:201,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:201,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:204,1
    - Dst: ddsi_copy_addrset_into_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:206,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:208,1
    - Dst: ddsi_copy_addrset_into_addrset_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: wras_collect_all_locs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_addrset_empty
    - ddsi_copy_addrset_into_addrset_mc
    - ddsrt_avl_iter_first
    - ddsi_copy_addrset_into_addrset
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_new_addrset
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *wras_collect_all_locs (const struct ddsi_writer
      *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts:
    - condition: (arg->idx < arg->size)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: wras_flatten_locs_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void wras_flatten_locs_helper (const ddsi_xlocator_t *loc, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ls
    - addrs
    argTypes:
    - struct locset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: wras_flatten_locs_prealloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_forall
    linkageType: ''
    returnType: void
    signature: void wras_flatten_locs_prealloc (struct locset *ls, struct ddsi_addrset
      *addrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:247,1
    - Dst: locset_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:248,1
    - Dst: wras_flatten_locs_prealloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:249,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - all_addrs
    argTypes:
    - struct ddsi_addrset*
    assertStmts:
    - condition: (ls->nlocs == nin)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: wras_flatten_locs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_count
    - wras_flatten_locs_prealloc
    - assert
    - locset_new
    linkageType: ''
    returnType: struct locset
    signature: struct locset *wras_flatten_locs (struct ddsi_addrset *all_addrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:264,1
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 273
    functionName: wras_compare_locs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_xlocators
    linkageType: ''
    returnType: int
    signature: int wras_compare_locs (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wras_flatten_locs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:277,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:281,1
    - Dst: wras_compare_locs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:284,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - logcfg
    - all_addrs
    argTypes:
    - struct ddsrt_log_cfg*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: wras_calc_locators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - qsort
    - DDS_CLOG
    - wras_flatten_locs
    - wras_compare_locs
    linkageType: ''
    returnType: struct locset
    signature: struct locset *wras_calc_locators (const struct ddsrt_log_cfg *logcfg,
      struct ddsi_addrset *all_addrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - a
    argTypes:
    - cost_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: sat_cost_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: cost_t
    signature: cost_t sat_cost_add (cost_t x, int32_t a)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:358,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:381,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:385,1
    - Dst: sat_cost_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - locs
    - c
    - lidx
    - ignore
    argTypes:
    - struct locset*
    - struct cover*
    - int
    - dds_locator_mask_t
    assertStmts:
    - condition: ((ci & CI_STATUS_MASK) == CI_REACHABLE)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 396
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 396
    functionName: calc_locator_cost
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    - cover_get
    - sat_cost_add
    linkageType: ''
    returnType: readercount_cost_t
    signature: readercount_cost_t calc_locator_cost (const struct locset *locs, const
      struct cover *c, int lidx, dds_locator_mask_t ignore)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: isloopback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isloopback (struct ddsi_domaingv const * const gv, const ddsi_xlocator_t
      *loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: wras_compare_by_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wras_compare_by_interface (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isloopback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:425,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - ls
    argTypes:
    - struct ddsi_domaingv*
    - struct locset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 437
    functionName: move_loopback_forward
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - qsort
    - isloopback
    linkageType: ''
    returnType: int
    signature: int move_loopback_forward (struct ddsi_domaingv const * const gv, struct
      locset *ls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:443,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - l
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: multicast_indicator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: unsigned
    signature: unsigned multicast_indicator (struct ddsi_domaingv const * const gv,
      const ddsi_xlocator_t *l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:459,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:471,1
    - Dst: multicast_indicator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:479,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:482,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:482,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:483,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:484,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:484,1
    - Dst: cover_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - gv
    - cov
    - locs
    - work_locs
    - rdidx
    - nloopback
    - first
    - last
    argTypes:
    - struct ddsi_domaingv*
    - struct cover*
    - struct locset*
    - struct locset*
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (l1->idx <= DDSI_LOCATOR_UDPv4MCGEN_INDEX_MASK_BITS)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - condition: (x != 0xff)
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - condition: (cover_get (cov, rdidx, lidx) == 0xff)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 488
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 488
    functionName: wras_cover_locatorset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - cover_set
    - assert
    - multicast_indicator
    - cover_get
    - ddsi_xlocator_to_string
    - GVTRACE
    - bsearch
    linkageType: ''
    returnType: bool
    signature: bool wras_cover_locatorset (struct ddsi_domaingv const * const gv,
      struct cover *cov, const struct locset *locs, const struct locset *work_locs,
      int rdidx, int nloopback, int first, int last)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cover_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:500,1
    - Dst: locset_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:501,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:504,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:504,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:509,1
    - Dst: wras_flatten_locs_prealloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:519,1
    - Dst: move_loopback_forward
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:520,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:521,1
    - Dst: cover_makeroom
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:524,1
    - Dst: wras_cover_locatorset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:527,1
    - Dst: cover_makeroom
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:536,1
    - Dst: wras_cover_locatorset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:539,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:545,1
    - Dst: wras_cover_locatorset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:546,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:550,1
    - Dst: cover_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:551,1
    - Dst: cover_makeroom
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:562,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:564,1
    - Dst: cover_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:565,1
    - Dst: locset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:574,1
    - Dst: cover_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:577,1
    - Dst: cover_update_nreaders
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:582,1
    - Dst: locset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:588,1
    - Dst: cover_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:589,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 3
    argNames:
    - wr
    - locs
    - pcov
    argTypes:
    - struct ddsi_writer*
    - struct locset*
    - struct cover**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 591
    functionName: wras_calc_cover
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - cover_makeroom
    - cover_set
    - wras_cover_locatorset
    - ddsrt_avl_iter_first
    - move_loopback_forward
    - locset_free
    - cover_get
    - cover_free
    - locset_new
    - cover_new
    - cover_update_nreaders
    - ddsi_entidx_lookup_proxy_reader_guid
    - wras_flatten_locs_prealloc
    - GVTRACE
    linkageType: ''
    returnType: bool
    signature: bool wras_calc_cover (const struct ddsi_writer *wr, const struct locset
      *locs, struct cover **pcov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cover_get_nlocs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:595,1
    - Dst: costmap_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:596,1
    - Dst: costmap_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:598,1
    - Dst: calc_locator_cost
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - locs
    - covered
    - ignore
    argTypes:
    - struct locset*
    - struct cover*
    - dds_locator_mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 600
    functionName: wras_calc_costmap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - costmap_set
    - cover_get_nlocs
    - costmap_new
    - calc_locator_cost
    linkageType: ''
    returnType: struct costmap
    signature: struct costmap *wras_calc_costmap (const struct locset *locs, const
      struct cover *covered, dds_locator_mask_t ignore)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cover_get_nreaders
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:606,1
    - Dst: cover_get_nlocs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:607,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:608,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:609,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:611,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:612,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:616,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:617,1
    - Dst: costmap_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:617,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:620,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:622,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:625,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:627,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:629,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:631,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:635,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:637,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:638,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - gv
    - locs
    - wm
    - covered
    argTypes:
    - struct ddsi_domaingv*
    - struct locset*
    - struct costmap*
    - struct cover*
    assertStmts:
    - condition: (nlocs == locs->nlocs)
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - condition: ((ci & CI_STATUS_MASK) == CI_INCLUDED || (ci & CI_STATUS_MASK) ==
        CI_REACHABLE)
      pos:
        line_end: 624
        line_start: 624
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 644
      start: 602
    functionDepth: 4
    functionLinenumber: 602
    functionLinenumberEnd: 644
    functionName: wras_trace_cover
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - cover_get_nreaders
    - assert
    - cover_get_nlocs
    - cover_get
    - costmap_get
    - ddsi_xlocator_to_string
    linkageType: ''
    returnType: void
    signature: void wras_trace_cover (const struct ddsi_domaingv *gv, const struct
      locset *locs, const struct costmap *wm, const struct cover *covered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: costmap_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:655,1
    - Dst: costmap_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - locs
    - wm
    argTypes:
    - struct locset*
    - struct costmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 666
    functionName: wras_choose_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - costmap_get
    linkageType: ''
    returnType: int
    signature: int wras_choose_locator (const struct locset *locs, const struct costmap
      *wm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cover_get_nreaders
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:682,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:687,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:689,1
    - Dst: ntohl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:690,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:693,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:697,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:698,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:703,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:703,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - gv
    - newas
    - locidx
    - locs
    - covered
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - int
    - struct locset*
    - struct cover*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 712
    functionName: wras_add_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - cover_get_nreaders
    - htonl
    - memcpy
    - ntohl
    - cover_get
    - memset
    - ddsi_xlocator_to_string
    - ddsi_add_xlocator_to_addrset
    linkageType: ''
    returnType: void
    signature: void wras_add_locator (const struct ddsi_domaingv *gv, struct ddsi_addrset
      *newas, int locidx, const struct locset *locs, const struct cover *covered)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cover_get_nreaders
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:717,1
    - Dst: cover_get_nlocs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:718,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:721,1
    - Dst: cover_get
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:726,1
    - Dst: cover_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:729,1
    - Dst: costmap_adjust
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - locidx
    - wm
    - covered
    argTypes:
    - int
    - struct costmap*
    - struct cover*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 736
    functionName: wras_drop_covered_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - cover_set
    - cover_get_nreaders
    - cover_get_nlocs
    - cover_get
    - costmap_adjust
    linkageType: ''
    returnType: void
    signature: void wras_drop_covered_readers (int locidx, struct costmap *wm, struct
      cover *covered)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:740,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - local_endpoint
    - remote_locator
    argTypes:
    - struct ddsi_endpoint_common*
    - ddsi_xlocator_t
    assertStmts:
    - condition: (local_endpoint)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    constantsTouched: []
    func_position:
      end: 748
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 748
    functionName: is_psmx_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool is_psmx_locator (const struct ddsi_endpoint_common *local_endpoint,
      ddsi_xlocator_t remote_locator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wras_collect_all_locs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:760,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:761,1
    - Dst: ddsi_log_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:763,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:764,1
    - Dst: wras_calc_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:765,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:766,1
    - Dst: wras_calc_cover
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:769,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:776,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:781,1
    - Dst: wras_calc_costmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:790,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:792,1
    - Dst: wras_choose_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:793,1
    - Dst: wras_trace_cover
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:795,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:796,1
    - Dst: is_psmx_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:797,1
    - Dst: wras_add_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:798,1
    - Dst: wras_drop_covered_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:800,1
    - Dst: costmap_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:802,1
    - Dst: cover_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:803,1
    - Dst: locset_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c:805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 750
    functionDepth: 6
    functionLinenumber: 750
    functionLinenumberEnd: 807
    functionName: ddsi_compute_writer_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    functionUses: 1
    functionsReached:
    - ddsi_addrset_empty
    - wras_calc_costmap
    - wras_collect_all_locs
    - locset_free
    - wras_trace_cover
    - wras_choose_locator
    - wras_calc_cover
    - is_psmx_locator
    - ddsi_ref_addrset
    - costmap_free
    - cover_free
    - wras_calc_locators
    - ddsi_unref_addrset
    - wras_add_locator
    - ddsi_log_addrset
    - ddsi_new_addrset
    - ELOGDISC
    - wras_drop_covered_readers
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_compute_writer_addrset (const struct ddsi_writer
      *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - intfs
    argTypes:
    - ddsi_interface_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ddsi_interface_set_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_interface_set_init (ddsi_interface_set_t *intfs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:35,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:37,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: allow_multicast_mask_from_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t allow_multicast_mask_from_locator (const struct ddsi_domaingv
      *gv, const ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allow_multicast_mask_from_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: ddsi_include_multicast_locator_in_discovery
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - allow_multicast_mask_from_locator
    linkageType: ''
    returnType: bool
    signature: bool ddsi_include_multicast_locator_in_discovery (const struct ddsi_domaingv
      *gv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:58,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:65,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:66,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:107,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 7
    argNames:
    - gv
    - pktinfo
    - loc
    - as
    - intfs
    - direct
    - routed_as
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_packet_info*
    - ddsi_locator_t*
    - struct ddsi_addrset*
    - ddsi_interface_set_t*
    - bool*
    - struct ddsi_addrset*
    assertStmts:
    - condition: (interf_idx < MAX_XMIT_CONNS)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    constantsTouched: []
    func_position:
      end: 116
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 116
    functionName: addrset_from_locatorlists_add_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_nearby_address
    - assert
    - ddsi_add_xlocator_to_addrset
    linkageType: ''
    returnType: void
    signature: void addrset_from_locatorlists_add_one (struct ddsi_domaingv const
      * const gv, const struct ddsi_network_packet_info *pktinfo, const ddsi_locator_t
      *loc, struct ddsi_addrset *as, ddsi_interface_set_t *intfs, bool *direct, struct
      ddsi_addrset *routed_as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_loopbackaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:129,1
    - Dst: ddsi_is_loopbackaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:137,1
    - Dst: ddsi_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - gv
    - uc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locators_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: ddsi_addrset_from_locatorlist_allow_loopback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_nearby_address
    - ddsi_is_loopbackaddr
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_from_locatorlist_allow_loopback (const struct ddsi_domaingv
      *gv, const ddsi_locators_t *uc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:146,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:151,1
    - Dst: ddsi_interface_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:154,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:160,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:161,1
    - Dst: ddsi_is_loopbackaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:161,1
    - Dst: ddsi_is_loopbackaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:165,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:176,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:178,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:189,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:200,1
    - Dst: addrset_from_locatorlists_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:204,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:207,1
    - Dst: ddsi_copy_addrset_into_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:208,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 6
    argNames:
    - gv
    - pktinfo
    - allow_loopback
    - uc
    - intfs
    - direct
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_packet_info*
    - bool
    - ddsi_locators_t*
    - ddsi_interface_set_t*
    - bool*
    assertStmts:
    - condition: (gv->n_interfaces == 1)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: ddsi_addrset_from_locatorlists_handle_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_empty
    - ddsi_is_loopbackaddr
    - ddsi_locator_to_string_no_port
    - memcmp
    - memcpy
    - assert
    - ddsi_copy_addrset_into_addrset
    - ddsi_interface_set_init
    - addrset_from_locatorlists_add_one
    - ddsi_unref_addrset
    - ddsi_new_addrset
    - GVTRACE
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_addrset_from_locatorlists_handle_uc (const
      struct ddsi_domaingv *gv, const struct ddsi_network_packet_info *pktinfo, bool
      allow_loopback, const ddsi_locators_t *uc, ddsi_interface_set_t *intfs, bool
      *direct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:215,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:221,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - gv
    - as
    - inherited_intfs
    - direct
    - intfs
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_interface_set_t*
    - bool
    - ddsi_interface_set_t*
    assertStmts:
    - condition: (!direct)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    - condition: (!intfs->xs[i])
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    - condition: (!intfs->xs[i])
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    constantsTouched: []
    func_position:
      end: 237
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 237
    functionName: ddsi_addrset_from_locatorlists_intfs_fallback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_empty
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_addrset_from_locatorlists_intfs_fallback (const struct ddsi_domaingv
      *gv, const struct ddsi_addrset *as, const ddsi_interface_set_t *inherited_intfs,
      bool direct, ddsi_interface_set_t *intfs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:242,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:246,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:248,1
    - Dst: allow_multicast_mask_from_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:253,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:258,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - gv
    - mc
    - intfs
    - as
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locators_t*
    - ddsi_interface_set_t*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: ddsi_addrset_from_locatorlist_handle_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_supports
    - GVTRACE
    - allow_multicast_mask_from_locator
    - ddsi_add_xlocator_to_addrset
    linkageType: ''
    returnType: void
    signature: void ddsi_addrset_from_locatorlist_handle_mc (const struct ddsi_domaingv
      *gv, const ddsi_locators_t *mc, const ddsi_interface_set_t *intfs, struct ddsi_addrset
      *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_from_locatorlist_allow_loopback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:273,1
    - Dst: ddsi_addrset_from_locatorlists_handle_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:280,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:283,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:283,1
    - Dst: addrset_from_locatorlists_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:287,1
    - Dst: ddsi_addrset_from_locatorlists_intfs_fallback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:292,1
    - Dst: ddsi_addrset_from_locatorlist_handle_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - gv
    - uc
    - mc
    - pktinfo
    - allow_srcloc
    - inherited_intfs
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_locators_t*
    - ddsi_locators_t*
    - struct ddsi_network_packet_info*
    - bool
    - ddsi_interface_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: ddsi_addrset_from_locatorlists
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_from_locatorlist_handle_mc
    - ddsi_addrset_empty
    - ddsi_addrset_from_locatorlist_allow_loopback
    - ddsi_addrset_from_locatorlists_intfs_fallback
    - addrset_from_locatorlists_add_one
    - ddsi_addrset_from_locatorlists_handle_uc
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_addrset_from_locatorlists (const struct ddsi_domaingv
      *gv, const ddsi_locators_t *uc, const ddsi_locators_t *mc, const struct ddsi_network_packet_info
      *pktinfo, bool allow_srcloc, const ddsi_interface_set_t *inherited_intfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - elem_size
    argTypes:
    - ddsi_octetseq_t*
    - ddsi_octetseq_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: alias_simple_sequence
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 0
    functionsReached:
    - ddsrt_memdup
    linkageType: ''
    returnType: void
    signature: void alias_simple_sequence(ddsi_octetseq_t *dst, const ddsi_octetseq_t
      *src, size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alias_simple_sequence
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:68,1
    - Dst: alias_simple_sequence
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_dataholder_t*
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: alias_dataholder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 0
    functionsReached:
    - alias_simple_sequence
    linkageType: ''
    returnType: void
    signature: void alias_dataholder(ddsi_dataholder_t *dst, const ddsi_dataholder_t
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:83,1
    - Dst: alias_dataholder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ddsi_dataholderseq_t*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: alias_dataholderseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 0
    functionsReached:
    - alias_dataholder
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void alias_dataholderseq(ddsi_dataholderseq_t *dst, const ddsi_dataholderseq_t
      *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:105,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:106,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:107,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:109,1
    - Dst: alias_dataholderseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 9
    argNames:
    - msg
    - wrguid
    - wrseq
    - dstpguid
    - dsteguid
    - srceguid
    - classid
    - mdata
    - rmid
    argTypes:
    - ddsi_participant_generic_message_t*
    - ddsi_guid_t*
    - ddsi_seqno_t
    - ddsi_guid_t*
    - ddsi_guid_t*
    - ddsi_guid_t*
    - char*
    - ddsi_dataholderseq_t*
    - ddsi_message_identity_t*
    assertStmts:
    - condition: (msg)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (wrguid)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (classid)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: ddsi_participant_generic_message_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 1
    functionsReached:
    - alias_dataholderseq
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void ddsi_participant_generic_message_init(\n   ddsi_participant_generic_message_t
      *msg,\n   const ddsi_guid_t *wrguid,\n   ddsi_seqno_t wrseq,\n   const ddsi_guid_t
      *dstpguid,\n   const ddsi_guid_t *dsteguid,\n   const ddsi_guid_t *srceguid,\n
      \  const char *classid,\n   const ddsi_dataholderseq_t *mdata,\n   const ddsi_message_identity_t
      *rmid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:139,1
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ddsi_participant_generic_message_t*
    assertStmts:
    - condition: (msg)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: ddsi_participant_generic_message_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 1
    functionsReached:
    - ddsi_plist_fini_generic
    - assert
    linkageType: ''
    returnType: void
    signature: "void ddsi_participant_generic_message_deinit(\n   ddsi_participant_generic_message_t
      *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_ser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - data
    - len
    argTypes:
    - ddsi_participant_generic_message_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: ddsi_participant_generic_message_serialize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 1
    functionsReached:
    - ddsi_plist_ser_generic
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsi_participant_generic_message_serialize(\n   const
      ddsi_participant_generic_message_t *msg,\n   unsigned char **data,\n   size_t
      *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:159,1
    - Dst: ddsi_plist_memsize_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:159,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - data
    - len
    - bswap
    argTypes:
    - ddsi_participant_generic_message_t*
    - unsigned char*
    - size_t
    - bool
    assertStmts:
    - condition: (sizeof(ddsi_participant_generic_message_t) == ddsi_plist_memsize_generic
        (ddsi_pserop_participant_generic_message))
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: ddsi_participant_generic_message_deseralize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_plist_deser_generic
    - ddsi_plist_memsize_generic
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsi_participant_generic_message_deseralize(\n   ddsi_participant_generic_message_t
      *msg,\n   const unsigned char *data,\n   size_t len,\n   bool bswap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:171,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:173,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:174,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:175,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:178,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:179,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:180,1
    - Dst: ddsi_is_null_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:183,1
    - Dst: ddsi_hton_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:186,1
    - Dst: ddsi_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:187,1
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - wr
    - prd
    - serdata
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (prd)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (wr)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (serdata)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (guid_ref.iov_len == sizeof(ddsi_guid_t))
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    - condition: (guid_ref.iov_base)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: ddsi_volatile_secure_data_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
    functionUses: 0
    functionsReached:
    - ddsi_is_null_guid
    - ddsi_hton_guid
    - ddsi_guid_eq
    - ddsi_serdata_to_ser_ref
    - assert
    - DDSRT_UNUSED_ARG
    - ddsi_serdata_to_ser_unref
    linkageType: ''
    returnType: int
    signature: int ddsi_volatile_secure_data_filter(struct ddsi_writer *wr, struct
      ddsi_proxy_reader *prd, struct ddsi_serdata *serdata)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:30,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:32,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:35,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:37,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:40,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:42,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:44,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:45,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:50,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:52,1
    - Dst: ddsi_type_register_dep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:58,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:60,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 69
    functionName: dynamic_type_ref_deps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_type_register_dep
    - ddsi_type_unref_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dynamic_type_ref_deps (struct ddsi_type *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: dynamic_type_complete_type_specific
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dynamic_type_complete_type_specific (struct ddsi_type
      *type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:99,1
    - Dst: dynamic_type_complete_type_specific
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:104,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:108,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:108,1
    - Dst: ddsi_xt_get_typeid_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:109,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:111,1
    - Dst: ddsi_type_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:117,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:119,1
    - Dst: ddsi_xt_validate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:121,1
    - Dst: ddsi_xt_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:132,1
    - Dst: ddsi_type_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:133,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:135,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:138,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:140,1
    - Dst: dynamic_type_ref_deps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:142,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:144,1
    - Dst: ddsi_typeid_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:150,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:151,1
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type**
    assertStmts:
    - condition: ((*type)->state == DDSI_TYPE_RESOLVED)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (ddsi_typeid_is_none (&(*type)->xt.id))
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: ((*type)->xt.kind != DDSI_TYPEID_KIND_INVALID)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (ref_type == NULL)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 157
      start: 92
    functionDepth: 11
    functionLinenumber: 92
    functionLinenumberEnd: 157
    functionName: dynamic_type_complete_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsrt_avl_insert
    - dynamic_type_complete_type_specific
    - ddsi_typeid_is_none
    - assert
    - ddsi_xt_copy
    - dynamic_type_ref_deps
    - ddsi_type_free
    - ddsi_type_ref_locked
    - ddsi_typeid_fini_impl
    - ddsi_typeid_kind
    - ddsi_xt_get_typeid_impl
    - ddsi_xt_validate
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dynamic_type_complete_locked (struct ddsi_type **type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:162,1
    - Dst: dynamic_type_complete_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:163,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 12
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: dynamic_type_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - dynamic_type_complete_locked
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t dynamic_type_complete (struct ddsi_type **type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - gv
    - type
    - data_type
    - kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - DDS_XTypes_TypeKind
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (type)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: dynamic_type_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void dynamic_type_init (struct ddsi_domaingv *gv, struct ddsi_type
      *type, DDS_XTypes_TypeKind data_type, ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts:
    - condition: (type)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: ddsi_dynamic_type_is_constructing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ddsi_dynamic_type_is_constructing (const struct ddsi_type *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:187,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:192,1
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:195,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:197,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - gv
    - type
    - type_name
    - base_type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    - struct ddsi_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 13
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: ddsi_dynamic_type_create_struct
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - ddsrt_strlcpy
    - dynamic_type_init
    - dynamic_type_complete
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_struct (struct ddsi_domaingv
      *gv, struct ddsi_type **type, const char *type_name, struct ddsi_type **base_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:211,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:213,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:215,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - gv
    - type
    - type_name
    - discriminant_type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    - struct ddsi_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 13
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: ddsi_dynamic_type_create_union
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - dynamic_type_init
    - dynamic_type_complete
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_union (struct ddsi_domaingv *gv,
      struct ddsi_type **type, const char *type_name, struct ddsi_type **discriminant_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:226,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:228,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:230,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - gv
    - type
    - type_name
    - element_type
    - bound
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    - struct ddsi_type**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 13
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: ddsi_dynamic_type_create_sequence
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - dynamic_type_init
    - dynamic_type_complete
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_sequence (struct ddsi_domaingv
      *gv, struct ddsi_type **type, const char *type_name, struct ddsi_type **element_type,
      uint32_t bound)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:241,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:243,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:245,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:247,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:249,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:252,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - gv
    - type
    - type_name
    - element_type
    - num_bounds
    - bounds
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    - struct ddsi_type**
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 13
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: ddsi_dynamic_type_create_array
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - memcpy
    - dynamic_type_init
    - ddsrt_strlcpy
    - dynamic_type_complete
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_array (struct ddsi_domaingv *gv,
      struct ddsi_type **type, const char *type_name, struct ddsi_type **element_type,
      uint32_t num_bounds, const uint32_t *bounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:261,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:263,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - type
    - type_name
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: ddsi_dynamic_type_create_enum
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_enum (struct ddsi_domaingv *gv,
      struct ddsi_type **type, const char *type_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:272,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:274,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - type
    - type_name
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: ddsi_dynamic_type_create_bitmask
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_bitmask (struct ddsi_domaingv
      *gv, struct ddsi_type **type, const char *type_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:284,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:286,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:288,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - gv
    - type
    - type_name
    - aliased_type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - char*
    - struct ddsi_type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 13
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: ddsi_dynamic_type_create_alias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - dynamic_type_init
    - dynamic_type_complete
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_alias (struct ddsi_domaingv *gv,
      struct ddsi_type **type, const char *type_name, struct ddsi_type **aliased_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:296,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - type
    - bound
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: ddsi_dynamic_type_create_string8
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_string8 (struct ddsi_domaingv
      *gv, struct ddsi_type **type, uint32_t bound)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:305,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - type
    - bound
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: ddsi_dynamic_type_create_string16
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_string16 (struct ddsi_domaingv
      *gv, struct ddsi_type **type, uint32_t bound)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:336,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - gv
    - type
    - kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - dds_dynamic_type_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 340
    functionName: ddsi_dynamic_type_create_primitive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 2
    functionsReached:
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_create_primitive (struct ddsi_domaingv
      *gv, struct ddsi_type **type, dds_dynamic_type_kind_t kind)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:344,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - type
    - flag
    - mask
    argTypes:
    - struct ddsi_type*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 376
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 376
    functionName: set_type_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - assert
    - abort
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_type_flags (struct ddsi_type *type, uint16_t flag,
      uint16_t mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:380,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:392,1
    - Dst: set_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - type
    - extensibility
    argTypes:
    - struct ddsi_type*
    - enum dds_dynamic_type_extensibility
    assertStmts:
    - condition: "(type->xt._d == DDS_XTypes_TK_STRUCTURE\n      || type->xt._d ==
        DDS_XTypes_TK_UNION\n      || type->xt._d == DDS_XTypes_TK_ENUM\n      ||
        type->xt._d == DDS_XTypes_TK_BITMASK)"
      pos:
        line_end: 382
        line_start: 379
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: ddsi_dynamic_type_set_extensibility
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    - abort
    - set_type_flags
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_set_extensibility (struct ddsi_type
      *type, enum dds_dynamic_type_extensibility extensibility)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:398,1
    - Dst: set_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - type
    - is_nested
    argTypes:
    - struct ddsi_type*
    - bool
    assertStmts:
    - condition: (type->xt._d == DDS_XTypes_TK_STRUCTURE || type->xt._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: ddsi_dynamic_type_set_nested
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    - set_type_flags
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_set_nested (struct ddsi_type *type,
      bool is_nested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:405,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:406,1
    - Dst: set_type_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - struct ddsi_type*
    - enum dds_dynamic_type_autoid
    assertStmts:
    - condition: (type->xt._d == DDS_XTypes_TK_STRUCTURE || type->xt._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (value == DDS_DYNAMIC_TYPE_AUTOID_HASH || value == DDS_DYNAMIC_TYPE_AUTOID_SEQUENTIAL)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: ddsi_dynamic_type_set_autoid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    - set_type_flags
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_set_autoid (struct ddsi_type *type,
      enum dds_dynamic_type_autoid value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:413,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:414,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:423,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:432,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - type
    - bit_bound
    argTypes:
    - struct ddsi_type*
    - uint16_t
    assertStmts:
    - condition: (type->xt._d == DDS_XTypes_TK_ENUM || type->xt._d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (bit_bound > 0 && bit_bound <= 32)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (bit_bound > 0 && bit_bound <= 64)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 440
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 440
    functionName: ddsi_dynamic_type_set_bitbound
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    - abort
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_set_bitbound (struct ddsi_type *type,
      uint16_t bit_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:448,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:449,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:449,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: ddsi_dynamic_type_member_hashid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_init
    - ddsrt_md5_finish
    - strlen
    - ddsrt_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_dynamic_type_member_hashid (const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:458,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:459,1
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:462,1
    - Dst: ddsi_dynamic_type_member_hashid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:470,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:490,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:503,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:508,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:514,1
    - Dst: ddsi_xt_get_namehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - type
    - member_type
    - params
    argTypes:
    - struct ddsi_type*
    - struct ddsi_type**
    - struct ddsi_dynamic_type_struct_member_param
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 517
      start: 455
    functionDepth: 13
    functionLinenumber: 455
    functionLinenumberEnd: 517
    functionName: ddsi_dynamic_type_add_struct_member
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - memmove
    - assert
    - ddsrt_realloc
    - ddsrt_strlcpy
    - ddsi_xt_get_namehash
    - memset
    - dynamic_type_complete
    - ddsi_dynamic_type_member_hashid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_add_struct_member (struct ddsi_type
      *type, struct ddsi_type **member_type, struct ddsi_dynamic_type_struct_member_param
      params)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:522,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:523,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:524,1
    - Dst: dynamic_type_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:526,1
    - Dst: ddsi_dynamic_type_member_hashid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:534,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:568,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:580,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:585,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:588,1
    - Dst: ddsi_xt_get_namehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:589,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:595,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:597,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:601,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - type
    - member_type
    - params
    argTypes:
    - struct ddsi_type*
    - struct ddsi_type**
    - struct ddsi_dynamic_type_union_member_param
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->gv == (*member_type)->gv)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (sizeof (*m->label_seq._buffer) == sizeof (*params.labels))
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 604
      start: 519
    functionDepth: 13
    functionLinenumber: 519
    functionLinenumberEnd: 604
    functionName: ddsi_dynamic_type_add_union_member
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - memmove
    - memcpy
    - assert
    - ddsrt_realloc
    - ddsrt_strlcpy
    - ddsi_xt_get_namehash
    - memset
    - dynamic_type_complete
    - ddsi_dynamic_type_member_hashid
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_add_union_member (struct ddsi_type *type,
      struct ddsi_type **member_type, struct ddsi_dynamic_type_union_member_param
      params)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:608,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:609,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:613,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:648,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:652,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:660,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:664,1
    - Dst: ddsi_xt_get_namehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:665,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - type
    - params
    argTypes:
    - struct ddsi_type*
    - struct ddsi_dynamic_type_enum_literal_param
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._u.enum_type.bit_bound <= 32)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 668
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 668
    functionName: ddsi_dynamic_type_add_enum_literal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - strcmp
    - ddsrt_realloc
    - memset
    - ddsi_xt_get_namehash
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_add_enum_literal (struct ddsi_type *type,
      struct ddsi_dynamic_type_enum_literal_param params)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:672,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:673,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:700,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:708,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:710,1
    - Dst: ddsi_xt_get_namehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - type
    - params
    argTypes:
    - struct ddsi_type*
    - struct ddsi_dynamic_type_bitmask_field_param
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 714
      start: 670
    functionDepth: 3
    functionLinenumber: 670
    functionLinenumberEnd: 714
    functionName: ddsi_dynamic_type_add_bitmask_field
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - ddsrt_realloc
    - ddsi_xt_get_namehash
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_add_bitmask_field (struct ddsi_type
      *type, struct ddsi_dynamic_type_bitmask_field_param params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - member_id
    - member_index
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 727
    functionName: find_struct_member
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t find_struct_member (struct ddsi_type *type, uint32_t member_id,
      uint32_t *member_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - type
    - member_id
    - member_index
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 740
    functionName: find_union_member
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t find_union_member (struct ddsi_type *type, uint32_t member_id,
      uint32_t *member_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:744,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:745,1
    - Dst: find_struct_member
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - type
    - member_id
    - set
    - flag
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    - uint16_t
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 756
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 756
    functionName: set_struct_member_flag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - find_struct_member
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_struct_member_flag (struct ddsi_type *type, uint32_t
      member_id, bool set, uint16_t flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:760,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:761,1
    - Dst: find_union_member
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - type
    - member_id
    - set
    - flag
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    - uint16_t
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: set_union_member_flag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - assert
    - find_union_member
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_union_member_flag (struct ddsi_type *type, uint32_t
      member_id, bool set, uint16_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_struct_member_flag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_key
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: ddsi_dynamic_type_member_set_key
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_struct_member_flag
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_member_set_key (struct ddsi_type *type,
      uint32_t member_id, bool is_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_struct_member_flag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_optional
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: ddsi_dynamic_type_member_set_optional
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_struct_member_flag
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_member_set_optional (struct ddsi_type
      *type, uint32_t member_id, bool is_optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_struct_member_flag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_external
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: ddsi_dynamic_struct_member_set_external
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_struct_member_flag
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_struct_member_set_external (struct ddsi_type
      *type, uint32_t member_id, bool is_external)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_union_member_flag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_external
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: ddsi_dynamic_union_member_set_external
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_union_member_flag
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_union_member_set_external (struct ddsi_type
      *type, uint32_t member_id, bool is_external)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_struct_member_flag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - member_id
    - is_must_understand
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: ddsi_dynamic_type_member_set_must_understand
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 0
    functionsReached:
    - set_struct_member_flag
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_member_set_must_understand (struct ddsi_type
      *type, uint32_t member_id, bool is_must_understand)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:801,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:802,1
    - Dst: ddsi_dynamic_type_member_hashid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:805,1
    - Dst: find_struct_member
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:810,1
    - Dst: find_union_member
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:823,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - type
    - member_id
    - hash_member_name
    argTypes:
    - struct ddsi_type*
    - uint32_t
    - char*
    assertStmts:
    - condition: (type->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    - condition: (type->xt._d == DDS_XTypes_TK_STRUCTURE || type->xt._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 832
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 832
    functionName: ddsi_dynamic_type_member_set_hashid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - find_union_member
    - find_struct_member
    - assert
    - ddsi_dynamic_type_member_hashid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_member_set_hashid (struct ddsi_type
      *type, uint32_t member_id, const char *hash_member_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:838,1
    - Dst: dynamic_type_complete_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:839,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:841,1
    - Dst: ddsi_type_get_typeinfo_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:846,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:848,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:855,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - type_c
    - type_m
    - type_info
    argTypes:
    - struct ddsi_type**
    - struct ddsi_type**
    - ddsi_typeinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 834
    functionDepth: 12
    functionLinenumber: 834
    functionLinenumberEnd: 860
    functionName: ddsi_dynamic_type_register
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - ddsi_type_unref_locked
    - dynamic_type_complete_locked
    - ddsrt_mutex_lock
    - ddsi_type_get_typeinfo_locked
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_dynamic_type_register (struct ddsi_type **type_c,
      struct ddsi_type **type_m, ddsi_typeinfo_t **type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:864,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:865,1
    - Dst: dynamic_type_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:866,1
    - Dst: ddsi_xt_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct ddsi_type*
    assertStmts:
    - condition: (src->state == DDSI_TYPE_CONSTRUCTING)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 11
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: ddsi_dynamic_type_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_xt_copy
    - dynamic_type_init
    - ddsrt_calloc
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type *ddsi_dynamic_type_dup (const struct ddsi_type *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - as
    - bs
    argTypes:
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: locator_compare_no_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int locator_compare_no_port (const ddsi_locator_t *as, const ddsi_locator_t
      *bs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: locator_compare_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:57,1
    - Dst: locator_compare_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: cmp_group_membership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - locator_compare_no_port
    linkageType: ''
    returnType: int
    signature: int cmp_group_membership (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:69,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:70,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ddsi_new_mcgroup_membership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_avl_init
    linkageType: ''
    returnType: struct ddsi_mcgroup_membership
    signature: struct ddsi_mcgroup_membership *ddsi_new_mcgroup_membership (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:77,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:78,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mship
    argTypes:
    - struct ddsi_mcgroup_membership*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ddsi_free_mcgroup_membership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_avl_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_mcgroup_membership (struct ddsi_mcgroup_membership *mship)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:91,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:93,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:98,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - mship
    - conn
    - srcloc
    - mcloc
    argTypes:
    - struct ddsi_mcgroup_membership*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: reg_group_membership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_ipath
    - ddsrt_malloc
    - ddsrt_avl_insert_ipath
    - memset
    linkageType: ''
    returnType: int
    signature: int reg_group_membership (struct ddsi_mcgroup_membership *mship, struct
      ddsi_tran_conn * conn, const ddsi_locator_t *srcloc, const ddsi_locator_t *mcloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:117,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:120,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:121,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:127,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - mship
    - conn
    - srcloc
    - mcloc
    argTypes:
    - struct ddsi_mcgroup_membership*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts:
    - condition: (n != NULL)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    - condition: (n->count > 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: unreg_group_membership
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - assert
    - ddsrt_avl_delete_dpath
    - memset
    - ddsrt_avl_lookup_dpath
    linkageType: ''
    returnType: int
    signature: int unreg_group_membership (struct ddsi_mcgroup_membership *mship,
      struct ddsi_tran_conn * conn, const ddsi_locator_t *srcloc, const ddsi_locator_t
      *mcloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:140,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:143,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:145,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:147,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:149,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:150,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - buf
    - bufsz
    - conn
    - join
    - srcloc
    - mcloc
    - interf
    - err
    argTypes:
    - char*
    - size_t
    - struct ddsi_tran_conn*
    - int
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: make_joinleave_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    - snprintf
    - ddsi_locator_to_string_no_port
    linkageType: ''
    returnType: char
    signature: char *make_joinleave_msg (char *buf, size_t bufsz, struct ddsi_tran_conn
      * conn, int join, const ddsi_locator_t *srcloc, const ddsi_locator_t *mcloc,
      const struct ddsi_network_interface *interf, int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:170,1
    - Dst: make_joinleave_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:170,1
    - Dst: ddsi_conn_join_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:172,1
    - Dst: ddsi_conn_leave_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:174,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:176,1
    - Dst: make_joinleave_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - conn
    - join
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - int
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: joinleave_mcgroup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - DDS_CWARNING
    - ddsi_conn_join_mc
    - DDS_CTRACE
    - ddsi_conn_leave_mc
    - make_joinleave_msg
    linkageType: ''
    returnType: int
    signature: int joinleave_mcgroup (struct ddsi_tran_conn * conn, int join, const
      ddsi_locator_t *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface
      *interf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locator_compare_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - recvips
    - interf
    argTypes:
    - struct ddsi_config_in_addr_node*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: interface_in_recvips_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - locator_compare_no_port
    linkageType: ''
    returnType: int
    signature: int interface_in_recvips_p (const struct ddsi_config_in_addr_node *recvips,
      const struct ddsi_network_interface *interf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: joinleave_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:201,1
    - Dst: interface_in_recvips_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:216,1
    - Dst: joinleave_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:218,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - gv
    - conn
    - join
    - srcloc
    - mcloc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_tran_conn*
    - int
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 236
    functionName: joinleave_mcgroups
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 0
    functionsReached:
    - GVTRACE
    - joinleave_mcgroup
    - interface_in_recvips_p
    linkageType: ''
    returnType: int
    signature: int joinleave_mcgroups (const struct ddsi_domaingv *gv, struct ddsi_tran_conn
      * conn, int join, const ddsi_locator_t *srcloc, const ddsi_locator_t *mcloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:242,1
    - Dst: reg_group_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:243,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:246,1
    - Dst: make_joinleave_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:246,1
    - Dst: joinleave_mcgroups
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:251,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - gv
    - mship
    - conn
    - srcloc
    - mcloc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_mcgroup_membership*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 7
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: ddsi_join_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - joinleave_mcgroups
    - ddsrt_mutex_lock
    - GVTRACE
    - reg_group_membership
    - make_joinleave_msg
    linkageType: ''
    returnType: int
    signature: int ddsi_join_mc (const struct ddsi_domaingv *gv, struct ddsi_mcgroup_membership
      *mship, struct ddsi_tran_conn * conn, const ddsi_locator_t *srcloc, const ddsi_locator_t
      *mcloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:260,1
    - Dst: unreg_group_membership
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:261,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:264,1
    - Dst: make_joinleave_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:264,1
    - Dst: joinleave_mcgroups
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:269,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - gv
    - mship
    - conn
    - srcloc
    - mcloc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_mcgroup_membership*
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 257
    functionDepth: 7
    functionLinenumber: 257
    functionLinenumberEnd: 273
    functionName: ddsi_leave_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    functionUses: 1
    functionsReached:
    - joinleave_mcgroups
    - unreg_group_membership
    - ddsrt_mutex_lock
    - GVTRACE
    - ddsrt_mutex_unlock
    - make_joinleave_msg
    linkageType: ''
    returnType: int
    signature: int ddsi_leave_mc (const struct ddsi_domaingv *gv, struct ddsi_mcgroup_membership
      *mship, struct ddsi_tran_conn * conn, const ddsi_locator_t *srcloc, const ddsi_locator_t
      *mcloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_id_with_deps_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:50,1
    - Dst: ddsi_type_id_with_deps_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - deps
    argTypes:
    - ddsi_typeinfo_t*
    - ddsi_typeinfo_t*
    - enum ddsi_type_include_deps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ddsi_typeinfo_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsi_type_id_with_deps_equal
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeinfo_equal (const ddsi_typeinfo_t *a, const ddsi_typeinfo_t
      *b, enum ddsi_type_include_deps deps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:55,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:56,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:62,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:65,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:70,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:76,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: ddsi_typeinfo_dup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsrt_calloc
    linkageType: ''
    returnType: ddsi_typeinfo_t
    signature: ddsi_typeinfo_t * ddsi_typeinfo_dup (const ddsi_typeinfo_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:96,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:98,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:99,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:100,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:102,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:107,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:108,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sz
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: ddsi_typeinfo_deser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 5
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_memdup
    - dds_stream_read
    - DDSRT_WARNING_MSVC_ON
    - dds_stream_normalize_xcdr2_data
    linkageType: ''
    returnType: ddsi_typeinfo_t
    signature: ddsi_typeinfo_t *ddsi_typeinfo_deser (const unsigned char *data, uint32_t
      sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:116,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:116,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:117,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:117,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:118,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:118,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:119,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - type_info
    - kind
    argTypes:
    - ddsi_typeinfo_t*
    - ddsi_typeid_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ddsi_typeinfo_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsi_typeid_is_none
    - ddsi_typeinfo_complete_typeid
    - ddsi_typeinfo_minimal_typeid
    - ddsi_typeid_dup
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t *ddsi_typeinfo_typeid (const ddsi_typeinfo_t *type_info,
      ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ddsi_typeinfo_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 8
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_typeinfo_fini (ddsi_typeinfo_t *typeinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:130,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: ddsi_typeinfo_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeinfo_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_typeinfo_free (ddsi_typeinfo_t *typeinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: ddsi_typeinfo_minimal_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t *ddsi_typeinfo_minimal_typeid (const ddsi_typeinfo_t
      *typeinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ddsi_typeinfo_complete_typeid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t *ddsi_typeinfo_complete_typeid (const ddsi_typeinfo_t
      *typeinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:163,1
    - Dst: ddsi_typeid_is_complete_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - t
    - kind
    argTypes:
    - struct DDS_XTypes_TypeIdentifierWithDependencies*
    - ddsi_typeid_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: typeinfo_dependent_typeids_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_is_minimal_impl
    - ddsi_typeid_is_complete_impl
    linkageType: ''
    returnType: bool
    signature: bool typeinfo_dependent_typeids_valid (const struct DDS_XTypes_TypeIdentifierWithDependencies
      *t, ddsi_typeid_kind_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:174,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:174,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:175,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ddsi_typeinfo_present
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_is_none
    - ddsi_typeinfo_complete_typeid
    - ddsi_typeinfo_minimal_typeid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeinfo_present (const ddsi_typeinfo_t *typeinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:180,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:181,1
    - Dst: ddsi_typeid_is_minimal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:194,1
    - Dst: ddsi_typeid_is_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:194,1
    - Dst: typeinfo_dependent_typeids_valid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:195,1
    - Dst: typeinfo_dependent_typeids_valid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - typeinfo
    argTypes:
    - ddsi_typeinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: ddsi_typeinfo_valid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 2
    functionsReached:
    - ddsi_typeid_is_complete
    - ddsi_typeinfo_complete_typeid
    - ddsi_typeinfo_minimal_typeid
    - ddsi_typeid_is_minimal
    - typeinfo_dependent_typeids_valid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typeinfo_valid (const ddsi_typeinfo_t *typeinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:202,1
    - Dst: ddsi_typeid_is_hash_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:203,1
    - Dst: ddsi_typeid_is_minimal_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:205,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tmap
    - type_id
    argTypes:
    - ddsi_typemap_t*
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts:
    - condition: (type_id)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (tmap)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: ddsi_typemap_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_is_hash_impl
    - assert
    - ddsi_typeid_compare_impl
    - ddsi_typeid_is_minimal_impl
    linkageType: ''
    returnType: struct DDS_XTypes_TypeObject
    signature: struct DDS_XTypes_TypeObject * ddsi_typemap_typeobj (const ddsi_typemap_t
      *tmap, const struct DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typemap_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:218,1
    - Dst: ddsi_typeobj_get_type_name_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - typemap
    - type_id
    argTypes:
    - ddsi_typemap_t*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: ddsi_typemap_get_type_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeobj_get_type_name_impl
    - ddsi_typemap_typeobj
    linkageType: ''
    returnType: char
    signature: char * ddsi_typemap_get_type_name (const ddsi_typemap_t *typemap, const
      ddsi_typeid_t *type_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:232,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:234,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:235,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:236,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:238,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:243,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:244,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sz
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: ddsi_typemap_deser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_memdup
    - dds_stream_read
    - DDSRT_WARNING_MSVC_ON
    - dds_stream_normalize_xcdr2_data
    linkageType: ''
    returnType: ddsi_typemap_t
    signature: ddsi_typemap_t *ddsi_typemap_deser (const unsigned char *data, uint32_t
      sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - typemap
    argTypes:
    - ddsi_typemap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: ddsi_typemap_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_typemap_fini (ddsi_typemap_t *typemap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:265,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:274,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:275,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:277,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:282,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:284,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 289
    functionName: ti_to_pairs_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ddsi_typeid_compare_impl
    - dds_stream_write_sample
    - abort
    - dds_ostream_fini
    linkageType: ''
    returnType: bool
    signature: bool ti_to_pairs_equal (const dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      *a, const dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:300,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_sequence_DDS_XTypes_TypeIdentifierPair*
    - dds_sequence_DDS_XTypes_TypeIdentifierPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: ti_pairs_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_compare_impl
    linkageType: ''
    returnType: bool
    signature: bool ti_pairs_equal (const dds_sequence_DDS_XTypes_TypeIdentifierPair
      *a, const dds_sequence_DDS_XTypes_TypeIdentifierPair *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ti_to_pairs_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:317,1
    - Dst: ti_to_pairs_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:318,1
    - Dst: ti_pairs_equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_typemap_t*
    - ddsi_typemap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: ddsi_typemap_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ti_pairs_equal
    - ti_to_pairs_equal
    linkageType: ''
    returnType: bool
    signature: bool ddsi_typemap_equal (const ddsi_typemap_t *a, const ddsi_typemap_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_proxy_guid_list_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:325,1
    - Dst: ddsi_is_null_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:325,1
    - Dst: ddsi_type_proxy_guid_list_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:325,1
    - Dst: ddsi_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - proxy_guid
    argTypes:
    - struct ddsi_type*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: ddsi_type_proxy_guid_exists
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_guid_eq
    - ddsi_is_null_guid
    - ddsi_type_proxy_guid_list_iter_first
    - ddsi_type_proxy_guid_list_iter_next
    linkageType: ''
    returnType: bool
    signature: bool ddsi_type_proxy_guid_exists (struct ddsi_type *type, const ddsi_guid_t
      *proxy_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_guid_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_guid
    - struct ddsi_guid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: ddsi_type_proxy_guids_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_guid_eq
    linkageType: ''
    returnType: int
    signature: int ddsi_type_proxy_guids_eq (const struct ddsi_guid a, const struct
      ddsi_guid b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_type*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 5
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: ddsi_type_compare
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_type_compare (const struct ddsi_type *a, const struct ddsi_type
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_a
    - type_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 6
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ddsi_type_compare_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_type_compare_wrap (const void *type_a, const void *type_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:352,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - typedep_a
    - typedep_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 5
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: ddsi_typeid_compare_src_dep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_typeid_compare_src_dep (const void *typedep_a, const void
      *typedep_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:361,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - typedep_a
    - typedep_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: ddsi_typeid_compare_dep_src
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_compare
    linkageType: ''
    returnType: int
    signature: int ddsi_typeid_compare_dep_src (const void *typedep_a, const void
      *typedep_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:369,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:369,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - prefix
    - dep
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - struct ddsi_type_dep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: type_dep_trace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_make_typeid_str
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void type_dep_trace (struct ddsi_domaingv *gv, const char *prefix,
      struct ddsi_type_dep *dep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:376,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:377,1
    - Dst: ddsi_xt_type_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:378,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:381,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:381,1
    - Dst: type_dep_trace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:383,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:384,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:385,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:391,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:392,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:394,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:395,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:399,1
    - Dst: ddsi_type_proxy_guid_list_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:399,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:401,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts:
    - condition: (!ddsi_type_proxy_guid_list_count (&type->proxy_guids))
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: ddsi_type_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ_eq
    - ddsi_typeid_fini
    - ddsrt_free
    - ddsi_type_unref_locked
    - assert
    - ddsi_type_proxy_guid_list_count
    - ddsi_type_lookup_locked
    - memset
    - ddsrt_avl_delete
    - ddsi_typeid_copy
    - type_dep_trace
    - ddsi_xt_type_fini
    - ddsi_typeid_compare
    linkageType: ''
    returnType: void
    signature: void ddsi_type_free (struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:407,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gv
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts:
    - condition: (type_id)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: ddsi_type_lookup_locked_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - assert
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * ddsi_type_lookup_locked_impl (struct ddsi_domaingv
      *gv, const struct DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gv
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: ddsi_type_lookup_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * ddsi_type_lookup_locked (struct ddsi_domaingv *gv,
      const ddsi_typeid_t *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:420,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:421,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: ddsi_type_lookup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: struct ddsi_type
    signature: struct ddsi_type * ddsi_type_lookup (struct ddsi_domaingv *gv, const
      ddsi_typeid_t *type_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:433,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:434,1
    - Dst: ddsi_typeid_is_none_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:434,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:435,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:435,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:438,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:439,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:441,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:441,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:441,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:446,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:450,1
    - Dst: ddsi_xt_type_init_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:451,1
    - Dst: ddsi_type_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:453,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:457,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - gv
    - type
    - type_id
    - type_obj
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct DDS_XTypes_TypeIdentifier*
    - struct DDS_XTypes_TypeObject*
    assertStmts:
    - condition: (type)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (!ddsi_type_lookup_locked_impl (gv, type_id))
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (!ddsi_typeid_is_none_impl (type_id))
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: ddsi_type_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsrt_avl_insert
    - ddsi_typeobj_get_hash_id
    - ddsrt_calloc
    - ddsi_typeid_is_hash
    - ddsi_make_typeid_str_impl
    - assert
    - ddsi_make_typeid_str
    - ddsi_typeid_compare_impl
    - ddsi_type_free
    - ddsi_typeid_is_none_impl
    - GVTRACE
    - ddsi_xt_type_init_impl
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_new (struct ddsi_domaingv *gv, struct ddsi_type
      **type, const struct DDS_XTypes_TypeIdentifier *type_id, const struct DDS_XTypes_TypeObject
      *type_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:470,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:471,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:472,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:472,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:474,1
    - Dst: set_type_invalid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 477
    functionName: set_type_invalid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - set_type_invalid
    - ddsi_type_lookup_locked
    - memset
    - ddsi_typeid_copy
    - ddsi_typeid_compare
    linkageType: ''
    returnType: void
    signature: void set_type_invalid (struct ddsi_domaingv *gv, struct ddsi_type *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:486,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:496,1
    - Dst: ddsi_xt_type_add_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:505,1
    - Dst: set_type_invalid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - gv
    - type
    - type_obj
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 479
    functionDepth: 6
    functionLinenumber: 479
    functionLinenumberEnd: 518
    functionName: ddsi_type_add_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - set_type_invalid
    - ddsi_typeid_compare
    - ddsi_typeobj_get_hash_id
    - ddsi_xt_type_add_typeobj
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_add_typeobj (struct ddsi_domaingv *gv, struct
      ddsi_type *type, const struct DDS_XTypes_TypeObject *type_obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:525,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:529,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:530,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:531,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:532,1
    - Dst: type_dep_trace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:533,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:537,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:538,1
    - Dst: ddsi_type_ref_id_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:539,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:541,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:542,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:543,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:544,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:545,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:550,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:551,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:552,1
    - Dst: ddsi_type_ref_id_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:554,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - gv
    - src_type_id
    - dst_dep_type
    - dep_tid
    - from_type_info
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - struct ddsi_type**
    - struct DDS_XTypes_TypeIdentifier*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 563
    functionName: ddsi_type_register_dep_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsi_typeid_fini
    - ddsrt_calloc
    - ddsrt_free
    - ddsrt_avl_lookup
    - ddsi_type_lookup_locked
    - ddsrt_avl_delete
    - ddsi_typeid_is_none_impl
    - ddsi_typeid_copy
    - type_dep_trace
    - ddsi_type_ref_id_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_register_dep_impl (struct ddsi_domaingv *gv,
      const ddsi_typeid_t *src_type_id, struct ddsi_type **dst_dep_type, const struct
      DDS_XTypes_TypeIdentifier *dep_tid, bool from_type_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_register_dep_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gv
    - src_type_id
    - dst_dep_type
    - dep_tid
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - struct ddsi_type**
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 5
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: ddsi_type_register_dep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 4
    functionsReached:
    - ddsi_type_register_dep_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_register_dep (struct ddsi_domaingv *gv, const
      ddsi_typeid_t *src_type_id, struct ddsi_type **dst_dep_type, const struct DDS_XTypes_TypeIdentifier
      *dep_tid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:572,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:573,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:585,1
    - Dst: ddsi_type_register_dep_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:589,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:596,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:597,1
    - Dst: ddsi_typemap_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:600,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:603,1
    - Dst: ddsi_type_add_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:604,1
    - Dst: ddsi_type_get_gpe_matches
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:605,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 7
    argNames:
    - gv
    - type
    - type_info
    - type_map
    - kind
    - n_match_upd
    - gpe_match_upd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - ddsi_typeinfo_t*
    - ddsi_typemap_t*
    - ddsi_typeid_kind_t
    - uint32_t*
    - struct ddsi_generic_proxy_endpoint***
    assertStmts:
    - condition: (type_info)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (dst_dep_type)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (kind == DDSI_TYPEID_KIND_MINIMAL || kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (n_match_upd && gpe_match_upd)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 609
      start: 570
    functionDepth: 7
    functionLinenumber: 570
    functionLinenumberEnd: 609
    functionName: type_add_deps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_register_dep_impl
    - assert
    - ddsi_typemap_typeobj
    - ddsi_typeid_compare_impl
    - ddsi_type_add_typeobj
    - ddsi_type_get_gpe_matches
    - ddsi_type_resolved_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t type_add_deps (struct ddsi_domaingv *gv, struct ddsi_type
      *type, const ddsi_typeinfo_t *type_info, const ddsi_typemap_t *type_map, ddsi_typeid_kind_t
      kind, uint32_t *n_match_upd, struct ddsi_generic_proxy_endpoint ***gpe_match_upd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:613,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - type
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct ddsi_type*
    assertStmts:
    - condition: (src)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: ddsi_type_ref_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 6
    functionsReached:
    - assert
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_type_ref_locked (struct ddsi_domaingv *gv, struct ddsi_type
      **type, const struct ddsi_type *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:623,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:624,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - type
    - src
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: ddsi_type_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsi_type_ref_locked
    linkageType: ''
    returnType: void
    signature: void ddsi_type_ref (struct ddsi_domaingv *gv, struct ddsi_type **type,
      const struct ddsi_type *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_none_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:632,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:635,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:635,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:636,1
    - Dst: ddsi_type_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:637,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - gv
    - type
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 628
    functionDepth: 7
    functionLinenumber: 628
    functionLinenumberEnd: 648
    functionName: ddsi_type_ref_id_locked_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_make_typeid_str_impl
    - ddsi_typeid_is_none_impl
    - ddsi_type_new
    - GVTRACE
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_ref_id_locked_impl (struct ddsi_domaingv *gv,
      struct ddsi_type **type, const struct DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_ref_id_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - type
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 8
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: ddsi_type_ref_id_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_type_ref_id_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_ref_id_locked (struct ddsi_domaingv *gv, struct
      ddsi_type **type, const ddsi_typeid_t *type_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:661,1
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 664
    functionName: valid_top_level_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_xt_is_unresolved
    - ddsi_xt_is_resolved
    linkageType: ''
    returnType: bool
    signature: bool valid_top_level_type (const struct ddsi_type *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typemap_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:674,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:676,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:677,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:678,1
    - Dst: ddsi_type_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:681,1
    - Dst: ddsi_type_add_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:687,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:692,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:697,1
    - Dst: valid_top_level_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:699,1
    - Dst: type_add_deps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:700,1
    - Dst: ddsi_xt_validate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:701,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:703,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:703,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:704,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:705,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:712,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:712,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:713,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:718,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:724,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:724,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:724,1
    - Dst: ddsi_update_proxy_endpoint_matching
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:725,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - gv
    - type
    - type_info
    - type_map
    - kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - ddsi_typeinfo_t*
    - ddsi_typemap_t*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (kind == DDSI_TYPEID_KIND_MINIMAL || kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 675
        line_start: 675
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 734
      start: 666
    functionDepth: 8
    functionLinenumber: 666
    functionLinenumberEnd: 734
    functionName: type_add_ref_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_unref_locked
    - ddsi_make_typeid_str
    - ddsi_update_proxy_endpoint_matching
    - valid_top_level_type
    - ddsi_make_typeid_str_impl
    - ddsrt_mutex_lock
    - ddsi_type_new
    - type_add_deps
    - ddsi_xt_validate
    - GVWARNING
    - ddsrt_free
    - assert
    - ddsi_typemap_typeobj
    - PGUID
    - ddsi_type_add_typeobj
    - ddsrt_cond_etime_broadcast
    - GVTRACE
    - ddsrt_mutex_unlock
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t type_add_ref_impl (struct ddsi_domaingv *gv, struct ddsi_type
      **type, const ddsi_typeinfo_t *type_info, const ddsi_typemap_t *type_map, ddsi_typeid_kind_t
      kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type_add_ref_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:739,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:741,1
    - Dst: type_add_ref_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - gv
    - type_minimal
    - type_complete
    - type_info
    - type_map
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct ddsi_type**
    - ddsi_typeinfo_t*
    - ddsi_typemap_t*
    assertStmts:
    - condition: (*type_minimal != NULL)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 745
      start: 736
    functionDepth: 9
    functionLinenumber: 736
    functionLinenumberEnd: 745
    functionName: ddsi_type_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - assert
    - type_add_ref_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_add (struct ddsi_domaingv *gv, struct ddsi_type
      **type_minimal, struct ddsi_type **type_complete, const ddsi_typeinfo_t *type_info,
      const ddsi_typemap_t *type_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:750,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:751,1
    - Dst: ddsi_sertype_typemap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:760,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:762,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:762,1
    - Dst: type_add_ref_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:763,1
    - Dst: ddsi_typemap_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:764,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:765,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:766,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - gv
    - type
    - sertype
    - kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - struct ddsi_sertype*
    - ddsi_typeid_kind_t
    assertStmts:
    - condition: (sertype)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 770
      start: 747
    functionDepth: 9
    functionLinenumber: 747
    functionLinenumberEnd: 770
    functionName: ddsi_type_ref_local
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - ddsi_make_typeid_str_impl
    - assert
    - ddsi_typemap_fini
    - ddsi_sertype_typemap
    - ddsi_sertype_typeinfo
    - ddsi_typeinfo_fini
    - GVTRACE
    - type_add_ref_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_ref_local (struct ddsi_domaingv *gv, struct
      ddsi_type **type, const struct ddsi_sertype *sertype, ddsi_typeid_kind_t kind)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:775,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:776,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:779,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:781,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:781,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:782,1
    - Dst: ddsi_type_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:783,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:786,1
    - Dst: valid_top_level_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:787,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:790,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:791,1
    - Dst: type_add_deps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:795,1
    - Dst: ddsi_xt_validate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:796,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:798,1
    - Dst: ddsi_type_proxy_guid_exists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:802,1
    - Dst: ddsi_type_proxy_guid_list_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:804,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:805,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:805,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:805,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:810,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - gv
    - type
    - type_info
    - kind
    - proxy_guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type**
    - ddsi_typeinfo_t*
    - ddsi_typeid_kind_t
    - ddsi_guid_t*
    assertStmts:
    - condition: (kind == DDSI_TYPEID_KIND_MINIMAL || kind == DDSI_TYPEID_KIND_COMPLETE)
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (type_info)
      pos:
        line_end: 774
        line_start: 774
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 812
      start: 771
    functionDepth: 8
    functionLinenumber: 771
    functionLinenumberEnd: 812
    functionName: ddsi_type_ref_proxy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsi_type_unref_locked
    - ddsi_make_typeid_str_impl
    - ddsrt_mutex_lock
    - assert
    - PGUID
    - ddsi_type_proxy_guid_exists
    - ddsi_type_new
    - valid_top_level_type
    - ddsi_type_proxy_guid_list_insert
    - GVTRACE
    - type_add_deps
    - ddsi_xt_validate
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_ref_proxy (struct ddsi_domaingv *gv, struct
      ddsi_type **type, const ddsi_typeinfo_t *type_info, ddsi_typeid_kind_t kind,
      const ddsi_guid_t *proxy_guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - desc
    - os
    argTypes:
    - void*
    - struct dds_cdrstream_desc*
    - dds_ostreamLE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 821
    functionName: xcdr2_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 4
    functionsReached:
    - dds_stream_write_sampleLE
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t xcdr2_ser (const void *obj, const struct dds_cdrstream_desc
      *desc, dds_ostreamLE_t *os)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:827,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:828,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - typeid_with_size
    - ti
    - to
    argTypes:
    - DDS_XTypes_TypeIdentifierWithSize*
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 833
    functionName: get_typeid_with_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - xcdr2_ser
    - dds_ostreamLE_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_typeid_with_size (DDS_XTypes_TypeIdentifierWithSize
      *typeid_with_size, const DDS_XTypes_TypeIdentifier *ti, const DDS_XTypes_TypeObject
      *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - x
    - n_deps
    argTypes:
    - DDS_XTypes_TypeIdentifierWithDependencies*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 852
    functionName: DDS_XTypes_TypeIdentifierWithDependencies_deps_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t DDS_XTypes_TypeIdentifierWithDependencies_deps_init (DDS_XTypes_TypeIdentifierWithDependencies
      *x, uint32_t n_deps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:859,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:860,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:862,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:867,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - x
    - ti
    - to
    argTypes:
    - DDS_XTypes_TypeIdentifierWithDependencies*
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeObject*
    assertStmts:
    - condition: (x->dependent_typeid_count >= 0  && (uint32_t) x->dependent_typeid_count
        == x->dependent_typeids._length)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (x->dependent_typeids._length < x->dependent_typeids._maximum)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (x->dependent_typeids._buffer[i].typeobject_serialized_size == x->dependent_typeids._buffer[x->dependent_typeids._length].typeobject_serialized_size)
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 877
      start: 857
    functionDepth: 4
    functionLinenumber: 857
    functionLinenumberEnd: 877
    functionName: DDS_XTypes_TypeIdentifierWithDependencies_deps_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_typeid_compare_impl
    - get_typeid_with_size
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t DDS_XTypes_TypeIdentifierWithDependencies_deps_append
      (DDS_XTypes_TypeIdentifierWithDependencies *x, const DDS_XTypes_TypeIdentifier
      *ti, const DDS_XTypes_TypeObject *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:882,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - DDS_XTypes_TypeIdentifierWithDependencies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_fini_impl
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void DDS_XTypes_TypeIdentifierWithDependencies_deps_fini (DDS_XTypes_TypeIdentifierWithDependencies
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:892,1
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:894,1
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type_info
    - n_deps
    argTypes:
    - struct ddsi_typeinfo*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 3
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: ddsi_typeinfo_deps_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_TypeIdentifierWithDependencies_deps_init
    - DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_typeinfo_deps_init (struct ddsi_typeinfo *type_info,
      uint32_t n_deps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:904,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:909,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:910,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:913,1
    - Dst: ddsi_type_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:915,1
    - Dst: ddsi_type_add_typeobj
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:917,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:922,1
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:926,1
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:927,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:929,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:931,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - gv
    - type_info
    - dep_c
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_typeinfo*
    - struct ddsi_type_dep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 902
    functionDepth: 8
    functionLinenumber: 902
    functionLinenumberEnd: 935
    functionName: ddsi_typeinfo_deps_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeobj_get_hash_id
    - ddsi_typeid_fini
    - DDS_XTypes_TypeIdentifierWithDependencies_deps_append
    - ddsi_type_add_typeobj
    - ddsi_type_lookup_locked
    - ddsi_typeobj_fini_impl
    - ddsi_xt_get_typeobject_kind_impl
    - ddsi_type_new
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_typeinfo_deps_append (struct ddsi_domaingv *gv, struct
      ddsi_typeinfo *type_info, const struct ddsi_type_dep *dep_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:939,1
    - Dst: DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_info
    argTypes:
    - struct ddsi_typeinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 3
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: ddsi_typeinfo_deps_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
    linkageType: ''
    returnType: void
    signature: void ddsi_typeinfo_deps_fini (struct ddsi_typeinfo *type_info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:949,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:950,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:951,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:952,1
    - Dst: ddsi_type_lookup_locked_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:955,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:958,1
    - Dst: ddsi_type_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:962,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:964,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:966,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:969,1
    - Dst: ddsi_typeobj_get_hash_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:974,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:975,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:976,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:976,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:977,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:981,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:982,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:985,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:987,1
    - Dst: ddsi_typeobj_fini_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:988,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - gv
    - type_c
    - type_info
    - type_m
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct ddsi_typeinfo*
    - struct ddsi_type**
    assertStmts:
    - condition: (type_c && type_m && type_info)
      pos:
        line_end: 948
        line_start: 948
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (ddsi_typeid_compare (&type_c->xt.id, &ti_c) == 0)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (*type_m)
      pos:
        line_end: 963
        line_start: 963
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 990
      start: 943
    functionDepth: 8
    functionLinenumber: 943
    functionLinenumberEnd: 990
    functionName: ddsi_type_get_typeinfo_toplevel
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeobj_get_hash_id
    - ddsi_typeid_fini
    - assert
    - ddsi_typeobj_fini_impl
    - ddsi_type_ref_locked
    - get_typeid_with_size
    - ddsi_xt_get_typeobject_kind_impl
    - ddsi_type_new
    - abort
    - ddsi_typeid_compare
    - GVTRACE
    - ddsi_type_lookup_locked_impl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_get_typeinfo_toplevel (struct ddsi_domaingv
      *gv, struct ddsi_type *type_c, struct ddsi_typeinfo *type_info, struct ddsi_type
      **type_m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:996,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:997,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1000,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1000,1
    - Dst: get_type_ndeps_hash_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1001,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1001,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1002,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - type_id
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    assertStmts:
    - condition: (n_deps <= INT32_MAX)
      pos:
        line_end: 1001
        line_start: 1001
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1005
      start: 992
    functionDepth: 5
    functionLinenumber: 992
    functionLinenumberEnd: 1005
    functionName: get_type_ndeps_hash_r
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsi_typeid_fini
    - ddsi_typeid_is_hash
    - assert
    - memset
    - ddsi_typeid_copy
    - get_type_ndeps_hash_r
    - ddsi_typeid_compare
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_type_ndeps_hash_r (struct ddsi_domaingv *gv, const ddsi_typeid_t
      *type_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1012,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1013,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1017,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1018,1
    - Dst: ddsi_typeid_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1024,1
    - Dst: add_type_info_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1028,1
    - Dst: add_type_info_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1033,1
    - Dst: ddsi_typeinfo_deps_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1034,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1045,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - gv
    - type_id_c
    - type_info
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - struct ddsi_typeinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1007
    functionDepth: 9
    functionLinenumber: 1007
    functionLinenumberEnd: 1047
    functionName: add_type_info_hash_deps_r
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - add_type_info_hash_deps_r
    - ddsrt_avl_lookup_succ
    - ddsi_typeid_fini
    - ddsi_typeinfo_deps_append
    - memset
    - ddsi_typeid_copy
    - ddsi_typeid_kind
    - ddsi_typeid_compare
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_type_info_hash_deps_r (struct ddsi_domaingv *gv, const
      ddsi_typeid_t *type_id_c, struct ddsi_typeinfo *type_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1053,1
    - Dst: ddsi_typeid_is_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1053,1
    - Dst: ddsi_type_get_typeinfo_toplevel
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1054,1
    - Dst: get_type_ndeps_hash_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1057,1
    - Dst: ddsi_typeinfo_deps_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1058,1
    - Dst: add_type_info_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1061,1
    - Dst: ddsi_typeinfo_deps_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - gv
    - type_c
    - type_info
    - type_m
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct ddsi_typeinfo*
    - struct ddsi_type**
    assertStmts:
    - condition: (ddsi_typeid_is_complete (&type_c->xt.id))
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1067
      start: 1049
    functionDepth: 10
    functionLinenumber: 1049
    functionLinenumberEnd: 1067
    functionName: ddsi_type_get_typeinfo_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - add_type_info_hash_deps_r
    - ddsi_typeid_is_complete
    - ddsi_type_get_typeinfo_toplevel
    - assert
    - ddsi_typeinfo_deps_fini
    - get_type_ndeps_hash_r
    - ddsi_typeinfo_deps_init
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_get_typeinfo_locked (struct ddsi_domaingv *gv,
      struct ddsi_type *type_c, struct ddsi_typeinfo *type_info, struct ddsi_type
      **type_m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1076,1
    - Dst: ddsi_type_get_typeinfo_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1081,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1083,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1088,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1089,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1090,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1092,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - gv
    - type_c
    - data
    - sz
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1069
    functionDepth: 11
    functionLinenumber: 1069
    functionLinenumberEnd: 1101
    functionName: ddsi_type_get_typeinfo_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeinfo_fini
    - ddsi_type_unref_locked
    - ddsrt_mutex_lock
    - ddsi_type_get_typeinfo_locked
    - xcdr2_ser
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_get_typeinfo_ser (struct ddsi_domaingv *gv,
      const struct ddsi_type *type_c, unsigned char **data, uint32_t *sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1108,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1118,1
    - Dst: ddsi_typeobj_get_hash_id_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1119,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1120,1
    - Dst: ddsi_xt_get_typeobject_kind_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1124,1
    - Dst: ddsi_typeobj_get_hash_id_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1125,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - type_map
    - type_c
    argTypes:
    - struct ddsi_typemap*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1103
    functionDepth: 8
    functionLinenumber: 1103
    functionLinenumberEnd: 1127
    functionName: typemap_add_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_copy_impl
    - ddsi_typeid_compare_impl
    - ddsi_xt_get_typeobject_kind_impl
    - ddsi_typeobj_get_hash_id_impl
    linkageType: ''
    returnType: void
    signature: void typemap_add_type (struct ddsi_typemap *type_map, const struct
      ddsi_type *type_c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1133,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1134,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1138,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1139,1
    - Dst: ddsi_typeid_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1141,1
    - Dst: add_type_map_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1145,1
    - Dst: add_type_map_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1150,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1152,1
    - Dst: typemap_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1155,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - gv
    - type_id
    - type_map
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - struct ddsi_typemap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1129
    functionDepth: 9
    functionLinenumber: 1129
    functionLinenumberEnd: 1169
    functionName: add_type_map_hash_deps_r
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsi_typeid_fini
    - add_type_map_hash_deps_r
    - ddsi_type_lookup_locked
    - memset
    - ddsi_typeid_copy
    - ddsi_typeid_kind
    - typemap_add_type
    - ddsi_typeid_compare
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_type_map_hash_deps_r (struct ddsi_domaingv *gv, const
      ddsi_typeid_t *type_id, struct ddsi_typemap *type_map)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1174,1
    - Dst: get_type_ndeps_hash_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1176,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1178,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1179,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1180,1
    - Dst: typemap_add_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1191,1
    - Dst: add_type_map_hash_deps_r
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1195,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1201,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1203,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - gv
    - type_c
    - type_map
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct ddsi_typemap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1171
    functionDepth: 10
    functionLinenumber: 1171
    functionLinenumberEnd: 1208
    functionName: ddsi_type_get_typemap_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - add_type_map_hash_deps_r
    - memset
    - get_type_ndeps_hash_r
    - typemap_add_type
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_get_typemap_locked (struct ddsi_domaingv *gv,
      const struct ddsi_type *type_c, struct ddsi_typemap *type_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1216,1
    - Dst: ddsi_type_get_typemap_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1217,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1218,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1222,1
    - Dst: ddsi_typemap_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - gv
    - type
    - data
    - sz
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1210
    functionDepth: 11
    functionLinenumber: 1210
    functionLinenumberEnd: 1231
    functionName: ddsi_type_get_typemap_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_type_get_typemap_locked
    - ddsrt_mutex_lock
    - ddsi_typemap_fini
    - xcdr2_ser
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_type_get_typemap_ser (struct ddsi_domaingv *gv, const
      struct ddsi_type *type, unsigned char **data, uint32_t *sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1235,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1238,1
    - Dst: ddsi_xt_get_typeobject
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 10
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: ddsi_type_get_typeobj
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_xt_get_typeobject
    - ddsrt_malloc
    - ddsi_type_resolved_locked
    linkageType: ''
    returnType: struct ddsi_typeobj
    signature: struct ddsi_typeobj *ddsi_type_get_typeobj (struct ddsi_domaingv *gv,
      const struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1246
    functionName: ddsi_type_get_gv
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *ddsi_type_get_gv (const struct ddsi_type *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: ddsi_type_get_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_TypeKind
    signature: DDS_XTypes_TypeKind ddsi_type_get_kind (const struct ddsi_type *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1255,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1258,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1260,1
    - Dst: ddsi_type_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1261,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    assertStmts:
    - condition: (type->refc > 0)
      pos:
        line_end: 1254
        line_start: 1254
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1265
      start: 1253
    functionDepth: 6
    functionLinenumber: 1253
    functionLinenumberEnd: 1265
    functionName: ddsi_type_unref_impl_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - assert
    - GVTRACE
    - ddsi_type_free
    - ddsrt_avl_delete
    linkageType: ''
    returnType: void
    signature: void ddsi_type_unref_impl_locked (struct ddsi_domaingv *gv, struct
      ddsi_type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1270,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1273,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1274,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1274,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1274,1
    - Dst: ddsi_type_proxy_guid_list_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1275,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - type
    - proxy_guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - ddsi_guid_t*
    assertStmts:
    - condition: (proxy_guid)
      pos:
        line_end: 1269
        line_start: 1269
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1277
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1277
    functionName: ddsi_type_unreg_proxy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_proxy_guid_list_remove
    - ddsrt_mutex_lock
    - PGUID
    - assert
    - ddsi_make_typeid_str
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_type_unreg_proxy (struct ddsi_domaingv *gv, struct ddsi_type
      *type, const ddsi_guid_t *proxy_guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1284,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1284,1
    - Dst: ddsi_type_unref_impl_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1285,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 7
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: ddsi_type_unref_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 11
    functionsReached:
    - ddsi_type_unref_impl_locked
    - ddsi_make_typeid_str
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_type_unref_locked (struct ddsi_domaingv *gv, struct ddsi_type
      *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1291,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1292,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - type
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1289
    functionDepth: 8
    functionLinenumber: 1289
    functionLinenumberEnd: 1294
    functionName: ddsi_type_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 7
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_type_unref_locked
    linkageType: ''
    returnType: void
    signature: void ddsi_type_unref (struct ddsi_domaingv *gv, struct ddsi_type *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1298,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1299,1
    - Dst: ddsi_sertype_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1305,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1306,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1306,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1309,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1309,1
    - Dst: ddsi_type_unref_impl_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1310,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1314,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1315,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - gv
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (sertype)
      pos:
        line_end: 1297
        line_start: 1297
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1320
      start: 1296
    functionDepth: 7
    functionLinenumber: 1296
    functionLinenumberEnd: 1320
    functionName: ddsi_type_unref_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_fini
    - ddsrt_free
    - ddsi_typeid_is_none
    - ddsrt_mutex_lock
    - assert
    - ddsi_sertype_typeid
    - ddsi_type_lookup_locked
    - ddsi_make_typeid_str
    - ddsi_type_unref_impl_locked
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_type_unref_sertype (struct ddsi_domaingv *gv, const struct
      ddsi_sertype *sertype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_proxy_guid_list_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1324,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1328,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1328,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1329,1
    - Dst: ddsi_type_proxy_guid_list_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1329,1
    - Dst: ddsi_type_proxy_guid_list_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1331,1
    - Dst: ddsi_is_null_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1331,1
    - Dst: ddsi_type_proxy_guid_list_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1331,1
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1333,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1335,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1338,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1344,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - gv
    - type
    - gpe_match_upd
    - n_match_upd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct ddsi_generic_proxy_endpoint***
    - uint32_t*
    assertStmts:
    - condition: (ec->kind == DDSI_EK_PROXY_READER || ec->kind == DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1345
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1345
    functionName: ddsi_type_get_gpe_matches_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_is_null_guid
    - ddsi_type_proxy_guid_list_iter_next
    - assert
    - ddsi_type_proxy_guid_list_count
    - ddsrt_realloc
    - ddsi_type_proxy_guid_list_iter_first
    - ddsi_is_topic_entityid
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_guid_untyped
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void ddsi_type_get_gpe_matches_impl (struct ddsi_domaingv *gv, const
      struct ddsi_type *type, struct ddsi_generic_proxy_endpoint ***gpe_match_upd,
      uint32_t *n_match_upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_get_gpe_matches_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1355,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1357,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1358,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1359,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1359,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1361,1
    - Dst: ddsi_type_get_gpe_matches
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1362,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - gv
    - type
    - gpe_match_upd
    - n_match_upd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - struct ddsi_generic_proxy_endpoint***
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1347
    functionDepth: 5
    functionLinenumber: 1347
    functionLinenumberEnd: 1365
    functionName: ddsi_type_get_gpe_matches
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsi_typeid_fini
    - ddsi_type_get_gpe_matches
    - ddsi_type_lookup_locked
    - memset
    - ddsi_typeid_copy
    - ddsi_type_get_gpe_matches_impl
    - ddsi_typeid_compare
    linkageType: ''
    returnType: void
    signature: void ddsi_type_get_gpe_matches (struct ddsi_domaingv *gv, const struct
      ddsi_type *type, struct ddsi_generic_proxy_endpoint ***gpe_match_upd, uint32_t
      *n_match_upd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xt_is_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1369,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1370,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1374,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1375,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1376,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1376,1
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1378,1
    - Dst: ddsi_xt_is_unresolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1379,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1382,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - gv
    - type
    - resolved_kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - enum ddsi_type_include_deps
    assertStmts:
    - condition: (resolved_kind == DDSI_TYPE_IGNORE_DEPS || resolved_kind == DDSI_TYPE_INCLUDE_DEPS)
      pos:
        line_end: 1369
        line_start: 1369
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1387
      start: 1367
    functionDepth: 5
    functionLinenumber: 1367
    functionLinenumberEnd: 1387
    functionName: ddsi_type_resolved_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 9
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsi_typeid_fini
    - assert
    - ddsi_type_lookup_locked
    - memset
    - ddsi_xt_is_resolved
    - ddsi_typeid_copy
    - ddsi_type_resolved_locked
    - ddsi_xt_is_unresolved
    - ddsi_typeid_compare
    linkageType: ''
    returnType: bool
    signature: bool ddsi_type_resolved_locked (struct ddsi_domaingv *gv, const struct
      ddsi_type *type, enum ddsi_type_include_deps resolved_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1391,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1392,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - type
    - resolved_kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type*
    - enum ddsi_type_include_deps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1389
    functionDepth: 6
    functionLinenumber: 1389
    functionLinenumberEnd: 1395
    functionName: ddsi_type_resolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_type_resolved_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_type_resolved (struct ddsi_domaingv *gv, const struct ddsi_type
      *type, enum ddsi_type_include_deps resolved_kind)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - code
    argTypes:
    - enum ddsi_non_assignability_code
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1400
        line_start: 1400
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1419
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1419
    functionName: ddsi_non_assignability_code_str
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *ddsi_non_assignability_code_str (enum ddsi_non_assignability_code
      code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1426,1
    - Dst: ddsi_xt_is_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1431,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1432,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1440,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1441,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1442,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1443,1
    - Dst: ddsi_typekind_descr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1444,1
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1445,1
    - Dst: ddsi_typekind_descr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1446,1
    - Dst: ddsi_non_assignability_code_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - gv
    - rd_type_pair
    - rd_resolved
    - wr_type_pair
    - wr_resolved
    - tce
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type_pair*
    - uint32_t
    - struct ddsi_type_pair*
    - uint32_t
    - dds_type_consistency_enforcement_qospolicy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1422
    functionDepth: 16
    functionLinenumber: 1422
    functionLinenumberEnd: 1450
    functionName: ddsi_is_assignable_from
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typekind_descr
    - ddsi_make_typeid_str_impl
    - ddsrt_mutex_lock
    - ddsi_make_typeid_str
    - ddsi_xt_is_assignable_from
    - ddsi_non_assignability_code_str
    - ddsrt_mutex_unlock
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_assignable_from (struct ddsi_domaingv *gv, const struct
      ddsi_type_pair *rd_type_pair, uint32_t rd_resolved, const struct ddsi_type_pair
      *wr_type_pair, uint32_t wr_resolved, const dds_type_consistency_enforcement_qospolicy_t
      *tce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1454,1
    - Dst: PTYPEID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - type_id
    argTypes:
    - struct ddsi_typeid_str*
    - DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1456
    functionName: ddsi_make_typeid_str_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 9
    functionsReached:
    - snprintf
    - PTYPEID
    linkageType: ''
    returnType: char
    signature: char *ddsi_make_typeid_str_impl (struct ddsi_typeid_str *buf, const
      DDS_XTypes_TypeIdentifier *type_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_make_typeid_str_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - type_id
    argTypes:
    - struct ddsi_typeid_str*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1461
    functionName: ddsi_make_typeid_str
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 10
    functionsReached:
    - ddsi_make_typeid_str_impl
    linkageType: ''
    returnType: char
    signature: char *ddsi_make_typeid_str (struct ddsi_typeid_str *buf, const ddsi_typeid_t
      *type_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type_pair
    argTypes:
    - struct ddsi_type_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1468
    functionName: ddsi_type_pair_minimal_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t *ddsi_type_pair_minimal_id (const struct ddsi_type_pair
      *type_pair)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type_pair
    argTypes:
    - struct ddsi_type_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1475
    functionName: ddsi_type_pair_complete_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ddsi_typeid_t
    signature: ddsi_typeid_t *ddsi_type_pair_complete_id (const struct ddsi_type_pair
      *type_pair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1482,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1486,1
    - Dst: ddsi_type_get_typeinfo_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1487,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1489,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1494,1
    - Dst: ddsi_type_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1495,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - gv
    - type_pair
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_type_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1477
    functionDepth: 11
    functionLinenumber: 1477
    functionLinenumberEnd: 1499
    functionName: ddsi_type_pair_get_typeinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_type_unref_locked
    - ddsrt_mutex_lock
    - ddsi_type_get_typeinfo_locked
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsi_typeinfo_t
    signature: ddsi_typeinfo_t *ddsi_type_pair_get_typeinfo (struct ddsi_domaingv
      *gv, const struct ddsi_type_pair *type_pair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1503,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1506,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1507,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1511,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - type_id_minimal
    - type_id_complete
    argTypes:
    - ddsi_typeid_t*
    - ddsi_typeid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1501
    functionDepth: 4
    functionLinenumber: 1501
    functionLinenumberEnd: 1515
    functionName: ddsi_type_pair_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_calloc
    - ddsi_typeid_copy
    linkageType: ''
    returnType: struct ddsi_type_pair
    signature: struct ddsi_type_pair *ddsi_type_pair_init (const ddsi_typeid_t *type_id_minimal,
      const ddsi_typeid_t *type_id_complete)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1523,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1524,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1528,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1529,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - type_pair
    argTypes:
    - struct ddsi_type_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1532
    functionName: ddsi_type_pair_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_typeid_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_type_pair_free (struct ddsi_type_pair *type_pair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_lookup_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1544,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1546,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - gv
    - type_id
    - timeout
    - type
    - resolved_kind
    - resolved
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - dds_duration_t
    - struct ddsi_type**
    - enum ddsi_type_include_deps
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1537
    functionDepth: 6
    functionLinenumber: 1537
    functionLinenumberEnd: 1557
    functionName: check_type_resolved_impl_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_resolved_locked
    - ddsi_type_lookup_locked
    - ddsi_type_ref_locked
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t check_type_resolved_impl_locked (struct ddsi_domaingv
      *gv, const ddsi_typeid_t *type_id, dds_duration_t timeout, struct ddsi_type
      **type, enum ddsi_type_include_deps resolved_kind, bool *resolved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1561,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1563,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1565,1
    - Dst: ddsi_type_ref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - gv
    - timeout
    - type
    - resolved_kind
    argTypes:
    - struct ddsi_domaingv*
    - dds_duration_t
    - struct ddsi_type*
    - enum ddsi_type_include_deps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1559
    functionDepth: 6
    functionLinenumber: 1559
    functionLinenumberEnd: 1570
    functionName: wait_for_type_resolved_impl_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 0
    functionsReached:
    - ddsi_type_resolved_locked
    - ddsi_type_ref_locked
    - ddsrt_time_elapsed
    - ddsrt_cond_etime_waituntil
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t wait_for_type_resolved_impl_locked (struct ddsi_domaingv
      *gv, dds_duration_t timeout, const struct ddsi_type *type, enum ddsi_type_include_deps
      resolved_kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1577,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1578,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1578,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1581,1
    - Dst: check_type_resolved_impl_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1582,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1583,1
    - Dst: ddsi_tl_request_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1590,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1593,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1597,1
    - Dst: wait_for_type_resolved_impl_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1598,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c:1599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - gv
    - type_id
    - timeout
    - type
    - resolved_kind
    - request
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_typeid_t*
    - dds_duration_t
    - struct ddsi_type**
    - enum ddsi_type_include_deps
    - ddsi_type_request_t
    assertStmts:
    - condition: (type)
      pos:
        line_end: 1576
        line_start: 1576
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    - condition: (request == DDSI_TYPE_NO_REQUEST)
      pos:
        line_end: 1592
        line_start: 1592
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    constantsTouched: []
    func_position:
      end: 1602
      start: 1572
    functionDepth: 7
    functionLinenumber: 1572
    functionLinenumberEnd: 1602
    functionName: ddsi_wait_for_type_resolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
    functionUses: 3
    functionsReached:
    - ddsi_typeid_is_hash
    - check_type_resolved_impl_locked
    - ddsi_typeid_is_none
    - assert
    - ddsrt_mutex_lock
    - wait_for_type_resolved_impl_locked
    - ddsi_tl_request_type
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_wait_for_type_resolved (struct ddsi_domaingv *gv,
      const ddsi_typeid_t *type_id, dds_duration_t timeout, struct ddsi_type **type,
      enum ddsi_type_include_deps resolved_kind, ddsi_type_request_t request)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:25,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:26,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:68,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 7
    argNames:
    - port
    - map
    - which
    - domain_id
    - participant_index
    - str_if_overflow
    - strsize
    argTypes:
    - uint32_t*
    - struct ddsi_portmapping*
    - enum ddsi_port
    - uint32_t
    - int32_t
    - char*
    - size_t
    assertStmts:
    - condition: (domain_id != UINT32_MAX)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    - condition: (participant_index >= 0 || participant_index == DDSI_PARTICIPANT_INDEX_NONE)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: ddsi_get_port_int
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_get_port_int (uint32_t *port, const struct ddsi_portmapping
      *map, enum ddsi_port which, uint32_t domain_id, int32_t participant_index, char
      *str_if_overflow, size_t strsize)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - which
    argTypes:
    - enum ddsi_port
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: portname
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *portname (enum ddsi_port which)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:100,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:109,1
    - Dst: ddsi_get_port_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:112,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:114,1
    - Dst: portname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - config
    - participant_index
    - msg
    - msgsize
    argTypes:
    - struct ddsi_config*
    - int32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: ddsi_valid_portmapping
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    functionUses: 1
    functionsReached:
    - snprintf
    - DDSRT_STATIC_ASSERT
    - ddsi_get_port_int
    - portname
    linkageType: ''
    returnType: bool
    signature: bool ddsi_valid_portmapping (const struct ddsi_config *config, int32_t
      participant_index, char *msg, size_t msgsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_port_int
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:128,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - config
    - which
    - participant_index
    argTypes:
    - struct ddsi_config*
    - enum ddsi_port
    - int32_t
    assertStmts:
    - condition: (ok)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: ddsi_get_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
    functionUses: 5
    functionsReached:
    - assert
    - ddsi_get_port_int
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_get_port (const struct ddsi_config *config, enum ddsi_port
      which, int32_t participant_index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:50,1
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:71,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_locator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 85
    functionName: add_locator_to_ps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsi_compare_locators
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void add_locator_to_ps (const ddsi_locator_t *loc, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_locator_to_ps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: add_xlocator_to_ps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - add_locator_to_ps
    linkageType: ''
    returnType: void
    signature: void add_xlocator_to_ps (const ddsi_xlocator_t *loc, void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - loc
    - arg
    argTypes:
    - ddsi_locator_t*
    - struct add_locator_to_ps_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: add_psmx_locator_to_ps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void add_psmx_locator_to_ps(const ddsi_locator_t* loc, struct add_locator_to_ps_arg
      *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:125,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:127,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:130,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:135,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:143,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:147,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:152,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:153,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:158,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:163,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:171,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:173,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:174,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:187,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:189,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:190,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:199,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:207,1
    - Dst: add_locator_to_ps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:216,1
    - Dst: add_locator_to_ps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:232,1
    - Dst: ddsi_include_multicast_locator_in_discovery
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:239,1
    - Dst: add_locator_to_ps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:240,1
    - Dst: add_psmx_locator_to_ps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:244,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:249,1
    - Dst: ddsi_write_and_fini_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:250,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 7
    argNames:
    - wr
    - alive
    - guid
    - epcommon
    - xqos
    - as
    - security
    argTypes:
    - struct ddsi_writer*
    - int
    - ddsi_guid_t*
    - struct ddsi_endpoint_common*
    - dds_qos_t*
    - struct ddsi_addrset*
    - ddsi_security_info_t*
    assertStmts:
    - condition: (epcommon == NULL)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (xqos != NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (rd)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (epcommon != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (rd)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (security == NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (false)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (xqos == NULL)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    constantsTouched: []
    func_position:
      end: 251
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 251
    functionName: sedp_write_endpoint_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - ddsi_xqos_delta
    - ddsi_plist_init_empty
    - memcpy
    - assert
    - ddsi_write_and_fini_plist
    - add_locator_to_ps
    - ddsi_is_reader_entityid
    - ddsi_is_writer_entityid
    - ddsi_addrset_forall
    - ddsi_include_multicast_locator_in_discovery
    - ddsi_xqos_mergein_missing
    - add_psmx_locator_to_ps
    linkageType: ''
    returnType: int
    signature: "int sedp_write_endpoint_impl\n(\n   struct ddsi_writer *wr, int alive,
      const ddsi_guid_t *guid,\n   const struct ddsi_endpoint_common *epcommon,\n
      \  const dds_qos_t *xqos, struct ddsi_addrset *as, ddsi_security_info_t *security)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:255,1
    - Dst: ddsi_determine_publication_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:258,1
    - Dst: ddsi_get_sedp_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:259,1
    - Dst: ddsi_omg_get_writer_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:272,1
    - Dst: sedp_write_endpoint_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 8
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: ddsi_sedp_write_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 2
    functionsReached:
    - ddsi_omg_get_writer_security_info
    - ddsi_get_sedp_writer
    - ddsi_determine_publication_writer
    - sedp_write_endpoint_impl
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_write_writer (struct ddsi_writer *wr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:281,1
    - Dst: ddsi_determine_subscription_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:284,1
    - Dst: ddsi_get_sedp_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:285,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:295,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:299,1
    - Dst: ddsi_add_xlocator_to_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:303,1
    - Dst: ddsi_omg_get_reader_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:310,1
    - Dst: sedp_write_endpoint_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:315,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 318
    functionName: ddsi_sedp_write_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 2
    functionsReached:
    - sedp_write_endpoint_impl
    - ddsi_get_sedp_writer
    - ddsi_determine_subscription_writer
    - ddsi_omg_get_reader_security_info
    - ddsi_unref_addrset
    - ddsi_add_xlocator_to_addrset
    - ddsi_new_addrset
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_write_reader (struct ddsi_reader *rd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:322,1
    - Dst: ddsi_determine_publication_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:325,1
    - Dst: ddsi_get_sedp_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:326,1
    - Dst: sedp_write_endpoint_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 8
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: ddsi_sedp_dispose_unregister_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 1
    functionsReached:
    - sedp_write_endpoint_impl
    - ddsi_get_sedp_writer
    - ddsi_is_builtin_entityid
    - ddsi_determine_publication_writer
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_dispose_unregister_writer (struct ddsi_writer *wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:335,1
    - Dst: ddsi_determine_subscription_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:338,1
    - Dst: ddsi_get_sedp_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:339,1
    - Dst: sedp_write_endpoint_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 8
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: ddsi_sedp_dispose_unregister_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_determine_subscription_writer
    - sedp_write_endpoint_impl
    - ddsi_is_builtin_entityid
    - ddsi_get_sedp_writer
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_dispose_unregister_reader (struct ddsi_reader *rd)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - k
    argTypes:
    - dds_durability_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: durability_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *durability_to_string (dds_durability_kind_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: addrset_from_locatorlists_collect_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addrset_from_locatorlists_collect_interfaces (const ddsi_xlocator_t
      *loc, void *varg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:390,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:390,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:391,1
    - Dst: ddsi_interface_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:397,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:398,1
    - Dst: ddsi_addrset_from_locatorlists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:402,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:409,1
    - Dst: ddsi_copy_addrset_into_addrset_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:410,1
    - Dst: ddsi_addrset_empty_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:411,1
    - Dst: ddsi_copy_addrset_into_addrset_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - gv
    - datap
    - proxypp_as_default
    - pktinfo
    - allow_srcloc
    - force_srcloc
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_plist_t*
    - struct ddsi_addrset*
    - struct ddsi_network_packet_info*
    - bool
    - bool
    assertStmts:
    - condition: (!allow_srcloc || !ddsi_is_unspec_locator (&pktinfo->src))
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (!force_srcloc || allow_srcloc)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    constantsTouched: []
    func_position:
      end: 414
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 414
    functionName: ddsi_get_endpoint_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_empty
    - ddsi_copy_addrset_into_addrset_mc
    - ddsi_addrset_from_locatorlists
    - assert
    - ddsi_interface_set_init
    - ddsi_addrset_empty_uc
    - ddsi_addrset_forall
    - ddsi_copy_addrset_into_addrset_uc
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_get_endpoint_addrset (const struct ddsi_domaingv
      *gv, const ddsi_plist_t *datap, struct ddsi_addrset *proxypp_as_default, const
      struct ddsi_network_packet_info *pktinfo, bool allow_srcloc, bool force_srcloc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:432,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:433,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:433,1
    - Dst: ddsi_handle_sedp_checks
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:435,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:440,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:443,1
    - Dst: ddsi_vendor_is_eclipse_or_adlink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:444,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:451,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:456,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:457,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:458,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:461,1
    - Dst: durability_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:463,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:472,1
    - Dst: ddsi_omg_log_endpoint_protection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:474,1
    - Dst: ddsi_omg_is_endpoint_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:475,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:475,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:476,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:479,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:481,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:484,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:488,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:493,1
    - Dst: ddsi_get_endpoint_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:495,1
    - Dst: ddsi_addrset_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:496,1
    - Dst: ddsi_addrset_contains_non_psmx_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:496,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:498,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:499,1
    - Dst: ddsi_addrset_contains_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:505,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:508,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:510,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:511,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:512,1
    - Dst: ddsi_vendor_is_eclipse_or_adlink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:514,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:516,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:516,1
    - Dst: ddsi_update_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:523,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:528,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:528,1
    - Dst: ddsi_new_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:529,1
    - Dst: ddsi_update_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:535,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:540,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:542,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:547,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 6
    argNames:
    - rst
    - seq
    - datap
    - sedp_kind
    - vendorid
    - timestamp
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    - ddsi_plist_t*
    - ddsi_sedp_kind_t
    - ddsi_vendorid_t
    - ddsrt_wctime_t
    assertStmts:
    - condition: (datap)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (xqos->present & DDSI_QP_RELIABILITY)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (!ddsi_is_builtin_entityid (datap->endpoint_guid.entityid, vendorid))
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: ((xqos->present & datap->qos.present) == datap->qos.present)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (datap->present & PP_ENDPOINT_GUID)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - condition: (xqos->present & DDSI_QP_DURABILITY)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    constantsTouched: []
    func_position:
      end: 552
      start: 416
    functionDepth: 7
    functionLinenumber: 416
    functionLinenumberEnd: 552
    functionName: ddsi_handle_sedp_alive_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - ddsi_handle_sedp_checks
    - ddsi_get_endpoint_addrset
    - ddsi_update_proxy_reader
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_omg_is_endpoint_protected
    - ddsi_xqos_log
    - ddsi_addrset_contains_ssm
    - E
    - ddsi_new_proxy_reader
    - ddsi_omg_log_endpoint_protection
    - ddsi_xqos_mergein_missing
    - ddsi_update_proxy_writer
    - ddsi_omg_proxy_participant_is_secure
    - PGUID
    - assert
    - ddsi_vendor_is_eclipse_or_adlink
    - ddsi_addrset_contains_non_psmx_uc
    - ddsi_new_proxy_writer
    - ddsi_addrset_empty
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_unref_addrset
    - durability_to_string
    - ddsi_is_builtin_entityid
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: void
    signature: 'void ddsi_handle_sedp_alive_endpoint (const struct ddsi_receiver_state
      *rst, ddsi_seqno_t seq, ddsi_plist_t *datap /* note: potentially modifies datap
      */, ddsi_sedp_kind_t sedp_kind, ddsi_vendorid_t vendorid, ddsrt_wctime_t timestamp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - lbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: E
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 286
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(msg, lbl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:558,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:559,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:559,1
    - Dst: ddsi_check_sedp_kind_and_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:560,1
    - Dst: ddsi_delete_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:563,1
    - Dst: ddsi_delete_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:565,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rst
    - datap
    - sedp_kind
    - timestamp
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_plist_t*
    - ddsi_sedp_kind_t
    - ddsrt_wctime_t
    assertStmts:
    - condition: (datap->present & PP_ENDPOINT_GUID)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: ddsi_handle_sedp_dead_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_delete_proxy_writer
    - GVLOGDISC
    - PGUID
    - assert
    - ddsi_check_sedp_kind_and_guid
    - ddsi_delete_proxy_reader
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_sedp_dead_endpoint (const struct ddsi_receiver_state
      *rst, ddsi_plist_t *datap, ddsi_sedp_kind_t sedp_kind, ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT_CODE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vtime1
    - vtime0
    argTypes:
    - ddsi_vtime_t
    - ddsi_vtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ddsi_vtime_gt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    functionUses: 1
    functionsReached:
    - DDSRT_STATIC_ASSERT_CODE
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vtime_gt (ddsi_vtime_t vtime1, ddsi_vtime_t vtime0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:59,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:60,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:61,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:61,1
    - Dst: ddsi_thread_vtime_trace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:62,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:63,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts:
    - condition: (ddsrt_atomic_ldvoidp (&thrst->gv) != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    - condition: ((vt & DDSI_VTIME_NEST_MASK) < DDSI_VTIME_NEST_MASK)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: ddsi_thread_state_awake_domain_ok
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_atomic_fence_acq
    - ddsi_thread_vtime_trace
    - ddsrt_atomic_st32
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void ddsi_thread_state_awake_domain_ok (struct ddsi_thread_state *thrst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:72,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_ALIVE)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: ddsi_thread_state_awake_fixed_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    functionUses: 5
    functionsReached:
    - assert
    - ddsi_thread_state_awake_domain_ok
    linkageType: ''
    returnType: void
    signature: void ddsi_thread_state_awake_fixed_domain (struct ddsi_thread_state
      *thrst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:79,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:80,1
    - Dst: ddsrt_atomic_fence_rel
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:81,1
    - Dst: ddsi_thread_vtime_trace
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:82,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:83,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts:
    - condition: ((vt & DDSI_VTIME_NEST_MASK) == 1)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ddsi_thread_state_awake_to_awake_no_nest
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_atomic_fence_acq
    - ddsi_thread_vtime_trace
    - ddsrt_atomic_fence_rel
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_thread_state_awake_to_awake_no_nest (struct ddsi_thread_state
      *thrst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: align4u
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t align4u (size_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:202,1
    - Dst: ddsi_freelist_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - protocol_version
    argTypes:
    - ddsi_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: ddsi_xmsgpool_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsi_freelist_init
    linkageType: ''
    returnType: struct ddsi_xmsgpool
    signature: struct ddsi_xmsgpool *ddsi_xmsgpool_new (ddsi_protocol_version_t protocol_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_realfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ddsi_xmsg_realfree_wrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_realfree
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_realfree_wrap (void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_freelist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:215,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct ddsi_xmsgpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ddsi_xmsgpool_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsi_freelist_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsgpool_free (struct ddsi_xmsgpool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - m
    - kind
    argTypes:
    - struct ddsi_xmsg*
    - enum ddsi_xmsg_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: ddsi_xmsg_reinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_reinit (struct ddsi_xmsg *m, enum ddsi_xmsg_kind kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:258,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:264,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:266,1
    - Dst: ddsi_xmsg_reinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pool
    - expected_size
    - kind
    argTypes:
    - struct ddsi_xmsgpool*
    - size_t
    - enum ddsi_xmsg_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: ddsi_xmsg_allocnew
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_reinit
    - ddsrt_malloc
    - ddsrt_free
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *ddsi_xmsg_allocnew (struct ddsi_xmsgpool *pool, size_t
      expected_size, enum ddsi_xmsg_kind kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_freelist_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:285,1
    - Dst: ddsi_xmsg_reinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:286,1
    - Dst: ddsi_xmsg_allocnew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:287,1
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:289,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:293,1
    - Dst: ddsi_omg_security_is_local_rtps_protected
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:295,1
    - Dst: ddsi_omg_security_get_local_participant_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:298,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pool
    - src_guid
    - pp
    - expected_size
    - kind
    argTypes:
    - struct ddsi_xmsgpool*
    - ddsi_guid_t*
    - struct ddsi_participant*
    - size_t
    - enum ddsi_xmsg_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: ddsi_xmsg_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 10
    functionsReached:
    - ddsi_xmsg_allocnew
    - ddsi_xmsg_reinit
    - ddsi_omg_security_is_local_rtps_protected
    - DDSRT_UNUSED_ARG
    - ddsi_omg_security_get_local_participant_handle
    - ddsi_hton_guid_prefix
    - ddsi_freelist_pop
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *ddsi_xmsg_new (struct ddsi_xmsgpool *pool, const
      ddsi_guid_t *src_guid, struct ddsi_participant *pp, size_t expected_size, enum
      ddsi_xmsg_kind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:310,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ddsi_xmsg_realfree
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_realfree (struct ddsi_xmsg *m)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:318,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:320,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:328,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:331,1
    - Dst: ddsi_freelist_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:335,1
    - Dst: ddsi_xmsg_realfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 339
    functionName: ddsi_xmsg_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 10
    functionsReached:
    - ddsrt_free
    - ddsi_xmsg_realfree
    - ddsi_serdata_to_ser_unref
    - ddsi_freelist_push
    - ddsi_unref_addrset
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_free (struct ddsi_xmsg *m)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:377,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:415,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 2
    argNames:
    - msg
    - smkind
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_rtps_submessage_kind_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 420
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 420
    functionName: submsg_is_compatible
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int submsg_is_compatible (const struct ddsi_xmsg *msg, ddsi_rtps_submessage_kind_t
      smkind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:427,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (a->kind == DDSI_XMSG_KIND_DATA_REXMIT)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (b->kind == DDSI_XMSG_KIND_DATA_REXMIT)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: ddsi_xmsg_compare_fragid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ddsi_xmsg_compare_fragid (const struct ddsi_xmsg *a, const struct
      ddsi_xmsg *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: ddsi_xmsg_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_xmsg_size (const struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: ddsi_xmsg_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ddsi_xmsg_kind
    signature: enum ddsi_xmsg_kind ddsi_xmsg_kind (const struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - m
    - wrguid
    - wrseq
    - wrfragid
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_guid_t*
    - ddsi_seqno_t*
    - ddsi_fragment_number_t*
    assertStmts:
    - condition: (m->kind != DDSI_XMSG_KIND_CONTROL)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: ddsi_xmsg_guid_seq_fragid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_guid_seq_fragid (const struct ddsi_xmsg *m, ddsi_guid_t
      *wrguid, ddsi_seqno_t *wrseq, ddsi_fragment_number_t *wrfragid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sz
    - m
    argTypes:
    - size_t*
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: ddsi_xmsg_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_payload (size_t *sz, struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - keyparam
    - m
    argTypes:
    - struct ddsi_plist_sample*
    - ddsi_parameterid_t
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: ddsi_xmsg_payload_to_plistsample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_payload_to_plistsample (struct ddsi_plist_sample *dst,
      ddsi_parameterid_t keyparam, const struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:475,1
    - Dst: submsg_is_compatible
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - msg
    - marker
    - smkind
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    - ddsi_rtps_submessage_kind_t
    assertStmts:
    - condition: (submsg_is_compatible (msg, smkind))
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: ddsi_xmsg_submsg_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 5
    functionsReached:
    - assert
    - submsg_is_compatible
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_submsg_init (struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      marker, ddsi_rtps_submessage_kind_t smkind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:485,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:486,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - marker
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    assertStmts:
    - condition: ((msg->sz % 4) == 0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((plsize % 4) == 0)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((unsigned) (msg->data->payload + msg->sz + plsize - (char *) hdr)
        >= DDSI_RTPS_SUBMESSAGE_HEADER_SIZE)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 490
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 490
    functionName: ddsi_xmsg_submsg_setnext
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_submsg_setnext (struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_submsg_from_marker
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:496,1
    - Dst: align4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - marker
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: ddsi_xmsg_submsg_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - align4u
    - ddsi_xmsg_submsg_from_marker
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_xmsg_submsg_size (struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      marker)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - sm_marker
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: ddsi_xmsg_submsg_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_submsg_remove(struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      sm_marker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_append_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:520,1
    - Dst: ddsi_xmsg_shrink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:524,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:528,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - msg
    - sm_marker
    - new_submsg
    - new_len
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    - unsigned char*
    - size_t
    assertStmts:
    - condition: ((msg->data->payload + msg->sz) == (msg->data->payload + sm_marker.offset
        + new_len))
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 543
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 543
    functionName: ddsi_xmsg_submsg_replace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - ddsi_xmsg_append_impl
    - ddsi_xmsg_shrink
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_submsg_replace(struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      sm_marker, unsigned char *new_submsg, size_t new_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:547,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:565,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:568,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:571,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - sm_marker
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 579
    functionName: ddsi_xmsg_submsg_append_refd_payload
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - ddsi_serdata_unref
    - memcpy
    - DDSRT_UNUSED_ARG
    - ddsi_xmsg_append
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_submsg_append_refd_payload(struct ddsi_xmsg *msg, struct
      ddsi_xmsg_marker sm_marker)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - marker
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: ddsi_xmsg_submsg_from_marker
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_submsg_from_marker (struct ddsi_xmsg *msg, struct ddsi_xmsg_marker
      marker)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:597,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:598,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:602,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - m
    - marker
    - sz
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker*
    - size_t
    assertStmts:
    - condition: (1 <= a && a <= DDSI_XMSG_MAX_ALIGN)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((m->maxsz % a) == 0)
      pos:
        line_end: 597
        line_start: 597
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 617
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 617
    functionName: ddsi_xmsg_append_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_realloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_append_impl (struct ddsi_xmsg *m, struct ddsi_xmsg_marker
      *marker, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_append_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - marker
    - sz
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: ddsi_xmsg_append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 7
    functionsReached:
    - ddsi_xmsg_append_impl
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_append (struct ddsi_xmsg *m, struct ddsi_xmsg_marker
      *marker, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:626,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:627,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - marker
    - sz
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg_marker
    - size_t
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (marker.offset <= m->sz)
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (marker.offset + sz <= m->sz)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: ddsi_xmsg_shrink
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_shrink (struct ddsi_xmsg *m, struct ddsi_xmsg_marker
      marker, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:637,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:638,1
    - Dst: ddsi_wctime_to_ddsi_time
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:642,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - m
    - t
    argTypes:
    - struct ddsi_xmsg*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: ddsi_xmsg_add_timestamp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 3
    functionsReached:
    - ddsi_xmsg_submsg_setnext
    - ddsi_xmsg_append
    - ddsi_wctime_to_ddsi_time
    - ddsi_xmsg_submsg_init
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_add_timestamp (struct ddsi_xmsg *m, ddsrt_wctime_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:651,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:652,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: ddsi_xmsg_add_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_submsg_setnext
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_add_entityid (struct ddsi_xmsg * m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: align4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:661,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:662,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:663,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:666,1
    - Dst: ddsi_security_encode_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:670,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:672,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:672,1
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:673,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:674,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - m
    - serdata
    - 'off'
    - len
    - wr
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_serdata*
    - size_t
    - size_t
    - struct ddsi_writer*
    assertStmts:
    - condition: (m->refd_payload == NULL)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->refd_payload_encoded == NULL)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->refd_payload_encoded == NULL)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 683
      start: 657
    functionDepth: 4
    functionLinenumber: 657
    functionLinenumberEnd: 683
    functionName: ddsi_xmsg_serdata
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - DDS_CWARNING
    - ddsi_serdata_to_ser_ref
    - align4u
    - assert
    - ddsi_security_encode_payload
    - PGUID
    - DDSRT_UNUSED_ARG
    - ddsi_serdata_to_ser_unref
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_serdata (struct ddsi_xmsg *m, struct ddsi_serdata *serdata,
      size_t off, size_t len, struct ddsi_writer *wr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:687,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:697,1
    - Dst: ddsi_omg_security_get_remote_participant_handle
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:699,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - gv
    - m
    - gp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xmsg*
    - ddsi_guid_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 704
    functionName: ddsi_xmsg_setdst1_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_security_get_remote_participant_handle
    - DDSRT_UNUSED_ARG
    - ddsi_hton_guid_prefix
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst1_common (struct ddsi_domaingv *gv, struct ddsi_xmsg
      *m, const ddsi_guid_prefix_t *gp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:708,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:709,1
    - Dst: ddsi_xmsg_setdst1_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - gv
    - m
    - gp
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xmsg*
    - ddsi_guid_prefix_t*
    - ddsi_xlocator_t*
    assertStmts:
    - condition: (m->dstmode == NN_XMSG_DST_UNSET)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (loc->c.kind != DDSI_LOCATOR_KIND_PSMX)
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 5
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: ddsi_xmsg_setdst1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_setdst1_common
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst1 (struct ddsi_domaingv *gv, struct ddsi_xmsg
      *m, const ddsi_guid_prefix_t *gp, const ddsi_xlocator_t *loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:723,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:726,1
    - Dst: ddsi_xmsg_setdst1_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - gv
    - m
    - gp
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xmsg*
    - ddsi_guid_prefix_t*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 715
    functionDepth: 5
    functionLinenumber: 715
    functionLinenumberEnd: 732
    functionName: ddsi_xmsg_setdst1_generic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_setdst1_common
    - ddsi_unref_addrset
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst1_generic (struct ddsi_domaingv *gv, struct ddsi_xmsg
      *m, const ddsi_guid_prefix_t *gp, const ddsi_xlocator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_hton_guid_prefix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - gp
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_guid_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: ddsi_xmsg_getdst1_prefix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsi_hton_guid_prefix
    linkageType: ''
    returnType: bool
    signature: bool ddsi_xmsg_getdst1_prefix (struct ddsi_xmsg *m, ddsi_guid_prefix_t
      *gp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:747,1
    - Dst: ddsi_xmsg_setdst1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:749,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:756,1
    - Dst: ddsi_xmsg_setdst1_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - m
    - prd
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_proxy_reader*
    assertStmts:
    - condition: (m->dstmode == NN_XMSG_DST_UNSET)
      pos:
        line_end: 746
        line_start: 746
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 6
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: ddsi_xmsg_setdst_prd
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 7
    functionsReached:
    - ddsi_ref_addrset
    - assert
    - ddsi_xmsg_setdst1
    - ddsi_xmsg_setdst1_common
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst_prd (struct ddsi_xmsg *m, const struct ddsi_proxy_reader
      *prd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:764,1
    - Dst: ddsi_xmsg_setdst1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:766,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:773,1
    - Dst: ddsi_xmsg_setdst1_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - m
    - pwr
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_proxy_writer*
    assertStmts:
    - condition: (m->dstmode == NN_XMSG_DST_UNSET)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 6
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: ddsi_xmsg_setdst_pwr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_ref_addrset
    - assert
    - ddsi_xmsg_setdst1
    - ddsi_xmsg_setdst1_common
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst_pwr (struct ddsi_xmsg *m, const struct ddsi_proxy_writer
      *pwr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:780,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - as
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_addrset*
    assertStmts:
    - condition: (m->dstmode == NN_XMSG_DST_UNSET || m->dstmode == NN_XMSG_DST_ONE)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: ddsi_xmsg_setdst_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 5
    functionsReached:
    - ddsi_ref_addrset
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setdst_addrset (struct ddsi_xmsg *m, struct ddsi_addrset
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:787,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:788,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:789,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - readerId
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_entityid_t*
    assertStmts:
    - condition: (m->kind == DDSI_XMSG_KIND_DATA_REXMIT || m->kind == DDSI_XMSG_KIND_DATA_REXMIT_NOMERGE)
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((char *) readerId > m->data->payload)
      pos:
        line_end: 788
        line_start: 788
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.readerId_off == 0)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((char *) readerId < m->data->payload + m->sz)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 792
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 792
    functionName: ddsi_xmsg_set_data_reader_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_set_data_reader_id (struct ddsi_xmsg *m, ddsi_entityid_t
      *readerId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:796,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:797,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:799,1
    - Dst: ddsi_to_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (m->kind == DDSI_XMSG_KIND_DATA_REXMIT || m->kind == DDSI_XMSG_KIND_DATA_REXMIT_NOMERGE)
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.readerId_off != 0)
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: clear_readerId
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_to_entityid
    - assert
    - ddsi_hton_entityid
    linkageType: ''
    returnType: void
    signature: void clear_readerId (struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:804,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:805,1
    - Dst: ddsi_ntoh_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (m->kind == DDSI_XMSG_KIND_DATA_REXMIT || m->kind == DDSI_XMSG_KIND_DATA_REXMIT_NOMERGE)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.readerId_off != 0)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: load_readerId
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_ntoh_entityid
    linkageType: ''
    returnType: ddsi_entityid_t
    signature: ddsi_entityid_t load_readerId (const struct ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_readerId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:811,1
    - Dst: load_readerId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - m
    - madd
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 814
    functionName: readerId_compatible
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - load_readerId
    linkageType: ''
    returnType: int
    signature: int readerId_compatible (const struct ddsi_xmsg *m, const struct ddsi_xmsg
      *madd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:818,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:819,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:820,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:820,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:821,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:821,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:822,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:823,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:824,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:825,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:826,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:827,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:829,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:829,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:834,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:838,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:842,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:849,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:853,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:857,1
    - Dst: clear_readerId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:858,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:860,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:864,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:873,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:875,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:880,1
    - Dst: clear_readerId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:881,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:883,1
    - Dst: readerId_compatible
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:887,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:889,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:894,1
    - Dst: clear_readerId
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:895,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 3
    argNames:
    - gv
    - m
    - madd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xmsg*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (m->kindspecific.data.wrfragid == madd->kindspecific.data.wrfragid)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (madd->kind == DDSI_XMSG_KIND_DATA_REXMIT)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 833
        line_start: 833
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (madd->kindspecific.data.readerId_off != 0)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.readerId_off != 0)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (ddsi_is_writer_entityid (m->kindspecific.data.wrguid.entityid))
      pos:
        line_end: 819
        line_start: 819
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.wrseq == madd->kindspecific.data.wrseq)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (memcmp (&m->kindspecific.data.wrguid, &madd->kindspecific.data.wrguid,
        sizeof (m->kindspecific.data.wrguid)) == 0)
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kind == DDSI_XMSG_KIND_DATA_REXMIT)
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.wrseq >= 1)
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kindspecific.data.wrguid.prefix.u[0] != 0)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 900
        line_start: 900
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 903
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 903
    functionName: ddsi_xmsg_merge_rexmit_destinations_wrlock_held
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ddsi_entidx_lookup_writer_guid
    - PGUID
    - assert
    - clear_readerId
    - ddsi_ref_addrset
    - ddsi_is_writer_entityid
    - readerId_compatible
    - GVTRACE
    linkageType: ''
    returnType: int
    signature: int ddsi_xmsg_merge_rexmit_destinations_wrlock_held (struct ddsi_domaingv
      *gv, struct ddsi_xmsg *m, const struct ddsi_xmsg *madd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - maxdelay
    argTypes:
    - struct ddsi_xmsg*
    - int64_t
    assertStmts:
    - condition: (msg->maxdelay == 0)
      pos:
        line_end: 906
        line_start: 906
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 910
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 910
    functionName: ddsi_xmsg_setmaxdelay
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int ddsi_xmsg_setmaxdelay (struct ddsi_xmsg *msg, int64_t maxdelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - wrguid
    - wrseq
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_guid_t*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 916
    functionName: ddsi_xmsg_setwriterseq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setwriterseq (struct ddsi_xmsg *msg, const ddsi_guid_t
      *wrguid, ddsi_seqno_t wrseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_setwriterseq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - wrguid
    - wrseq
    - wrfragid
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_guid_t*
    - ddsi_seqno_t
    - ddsi_fragment_number_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: ddsi_xmsg_setwriterseq_fragid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsi_xmsg_setwriterseq
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_setwriterseq_fragid (struct ddsi_xmsg *msg, const ddsi_guid_t
      *wrguid, ddsi_seqno_t wrseq, ddsi_fragment_number_t wrfragid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:929,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:931,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:932,1
    - Dst: ddsrt_toBO2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - m
    - pid
    - len
    - bo
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - size_t
    - enum ddsrt_byte_order_selector
    assertStmts:
    - condition: (len4 < UINT16_MAX)
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 940
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 940
    functionName: ddsi_xmsg_addpar_bo_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_xmsg_append
    - ddsrt_toBO2u
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_addpar_bo_impl (struct ddsi_xmsg *m, ddsi_parameterid_t
      pid, size_t len, enum ddsrt_byte_order_selector bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_bo_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m
    - pid
    - len
    - bo
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - size_t
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: ddsi_xmsg_addpar_bo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 7
    functionsReached:
    - ddsi_xmsg_addpar_bo_impl
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_addpar_bo (struct ddsi_xmsg *m, ddsi_parameterid_t
      pid, size_t len, enum ddsrt_byte_order_selector bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_bo_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - pid
    - len
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: ddsi_xmsg_addpar
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_addpar_bo_impl
    linkageType: ''
    returnType: void
    signature: void *ddsi_xmsg_addpar (struct ddsi_xmsg *m, ddsi_parameterid_t pid,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:956,1
    - Dst: ddsi_serdata_get_keyhash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - serdata
    - force_md5
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_serdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: ddsi_xmsg_addpar_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsi_xmsg_addpar
    - ddsi_serdata_get_keyhash
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_addpar_keyhash (struct ddsi_xmsg *m, const struct ddsi_serdata
      *serdata, bool force_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:963,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - pid
    - x
    argTypes:
    - struct ddsi_xmsg*
    - ddsi_parameterid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: ddsi_xmsg_addpar_BE4u
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_addpar
    - ddsrt_toBE4u
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_addpar_BE4u (struct ddsi_xmsg *m, ddsi_parameterid_t
      pid, uint32_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_BE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:970,1
    - Dst: ddsi_xmsg_addpar
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:973,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:975,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:978,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - m
    - statusinfo
    argTypes:
    - struct ddsi_xmsg*
    - unsigned
    assertStmts:
    - condition: ((statusinfo & ~DDSI_STATUSINFO_STANDARDIZED) == DDSI_STATUSINFO_OSPL_AUTO)
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 981
      start: 967
    functionDepth: 5
    functionLinenumber: 967
    functionLinenumberEnd: 981
    functionName: ddsi_xmsg_addpar_statusinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsi_xmsg_addpar
    - assert
    - ddsi_xmsg_addpar_BE4u
    - ddsrt_toBE4u
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_addpar_statusinfo (struct ddsi_xmsg *m, unsigned statusinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_bo_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 3
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: ddsi_xmsg_addpar_sentinel
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsi_xmsg_addpar_bo_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_addpar_sentinel (struct ddsi_xmsg * m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_bo_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    - bo
    argTypes:
    - struct ddsi_xmsg*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: ddsi_xmsg_addpar_sentinel_bo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_addpar_bo_impl
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_addpar_sentinel_bo (struct ddsi_xmsg * m, enum ddsrt_byte_order_selector
      bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_addpar_sentinel
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1001
    functionName: ddsi_xmsg_addpar_sentinel_ifparam
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsi_xmsg_addpar_sentinel
    linkageType: ''
    returnType: int
    signature: int ddsi_xmsg_addpar_sentinel_ifparam (struct ddsi_xmsg * m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1015,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1041,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1043,1
    - Dst: ddsi_writer_update_seq_xmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1044,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - gv
    - chain
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xmsg_chain*
    assertStmts:
    - condition: (m->kindspecific.data.wrseq != 0)
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1050
      start: 1012
    functionDepth: 4
    functionLinenumber: 1012
    functionLinenumberEnd: 1050
    functionName: ddsi_xmsg_chain_release
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_writer_update_seq_xmit
    - assert
    - memset
    - ddsi_xmsg_free
    - ddsi_entidx_lookup_writer_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_chain_release (struct ddsi_domaingv *gv, struct ddsi_xmsg_chain
      *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chain
    - m
    argTypes:
    - struct ddsi_xmsg_chain*
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: ddsi_xmsg_chain_add
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_xmsg_chain_add (struct ddsi_xmsg_chain *chain, struct ddsi_xmsg
      *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct ddsi_xpack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1081
    functionName: ddsi_xpack_reinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_reinit (struct ddsi_xpack *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1087,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1088,1
    - Dst: ddsi_xpack_reinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - gv
    - async_mode
    argTypes:
    - struct ddsi_domaingv*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1109
    functionName: ddsi_xpack_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsi_xpack_reinit
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct ddsi_xpack
    signature: struct ddsi_xpack * ddsi_xpack_new (struct ddsi_domaingv *gv, bool
      async_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1113,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1114,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1116,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct ddsi_xpack*
    assertStmts:
    - condition: (xp->msgfrags == NULL || xp->msgfrags->niov == 0)
      pos:
        line_end: 1112
        line_start: 1112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (xp->included_msgs.latest == NULL)
      pos:
        line_end: 1113
        line_start: 1113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1118
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1118
    functionName: ddsi_xpack_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_free (struct ddsi_xpack *xp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_security_secure_conn_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1128,1
    - Dst: ddsi_conn_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xp
    - loc
    argTypes:
    - struct ddsi_xpack*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1120
    functionDepth: 4
    functionLinenumber: 1120
    functionLinenumberEnd: 1146
    functionName: ddsi_xpack_send_rtps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_security_secure_conn_write
    - ddsi_conn_write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_xpack_send_rtps(struct ddsi_xpack * xp, const ddsi_xlocator_t
      *loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1157,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1157,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1164,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1166,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1172,1
    - Dst: ddsi_xpack_send_rtps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1175,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1185,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts:
    - condition: (loc->c.kind != DDSI_LOCATOR_KIND_PSMX)
      pos:
        line_end: 1171
        line_start: 1171
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (nbytes == -1 || (size_t) nbytes >= len)
      pos:
        line_end: 1184
        line_start: 1184
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1199
      start: 1148
    functionDepth: 5
    functionLinenumber: 1148
    functionLinenumberEnd: 1199
    functionName: ddsi_xpack_send1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - assert
    - ddsi_xpack_send_rtps
    - ddsi_xlocator_to_string
    - GVTRACE
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_xpack_send1 (const ddsi_xlocator_t *loc, void * varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xpack_send1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: ddsi_xpack_send1v
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_send1
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_send1v (const ddsi_xlocator_t *loc, void * varg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1210,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1217,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1222,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1225,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1230,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1234,1
    - Dst: ddsi_xpack_send1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1237,1
    - Dst: ddsi_addrset_forall_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1246,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1247,1
    - Dst: ddsi_addrset_forall_uc_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1253,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1254,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1258,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1261,1
    - Dst: ddsi_xmsg_chain_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1263,1
    - Dst: ddsi_xpack_reinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1264,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct ddsi_xpack*
    assertStmts:
    - condition: (xp->msgfrags == NULL || xp->msgfrags->niov <= DDSI_XMSG_MAX_MESSAGE_IOVECS)
      pos:
        line_end: 1209
        line_start: 1209
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (xp->dstmode != NN_XMSG_DST_UNSET)
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 1233
        line_start: 1233
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1265
      start: 1206
    functionDepth: 6
    functionLinenumber: 1206
    functionLinenumberEnd: 1265
    functionName: ddsi_xpack_send_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_reinit
    - assert
    - ddsi_xmsg_chain_release
    - GVLOG
    - ddsi_addrset_forall_count
    - ddsi_unref_addrset
    - ddsi_addrset_forall_uc_count
    - ddsi_xpack_send1
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_send_real (struct ddsi_xpack *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1272,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1273,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1274,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1280,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1281,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1282,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1288,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1289,1
    - Dst: ddsi_xpack_send_real
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1290,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1291,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1292,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1295,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - vgv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1269
    functionDepth: 7
    functionLinenumber: 1269
    functionLinenumberEnd: 1298
    functionName: ddsi_xpack_sendq_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsi_xpack_free
    - ddsi_thread_state_awake_fixed_domain
    - ddsrt_cond_broadcast
    - ddsi_xpack_send_real
    - ddsi_thread_state_asleep
    - ddsrt_cond_wait
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_xpack_sendq_thread (void *vgv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1306,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1308
    functionName: ddsi_xpack_sendq_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_init
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_sendq_init (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1312,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1310
    functionDepth: 6
    functionLinenumber: 1310
    functionLinenumberEnd: 1315
    functionName: ddsi_xpack_sendq_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached:
    - ddsi_create_thread
    - GVERROR
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_sendq_start (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1319,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1321,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    functionName: ddsi_xpack_sendq_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_sendq_stop (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1327,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1328,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1329,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (gv->sendq_head == NULL)
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1331
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1331
    functionName: ddsi_xpack_sendq_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_destroy
    - assert
    - ddsi_join_thread
    - ddsrt_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_sendq_fini (struct ddsi_domaingv *gv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xpack_send_real
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1336,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1341,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1342,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1344,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1346,1
    - Dst: ddsi_xpack_reinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1348,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1350,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1352,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1354,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - xp
    - immediately
    argTypes:
    - struct ddsi_xpack*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1333
    functionDepth: 7
    functionLinenumber: 1333
    functionLinenumberEnd: 1363
    functionName: ddsi_xpack_send
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 7
    functionsReached:
    - ddsi_xpack_reinit
    - memcpy
    - ddsrt_mutex_lock
    - ddsrt_cond_broadcast
    - ddsi_xpack_send_real
    - ddsrt_cond_wait
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_xpack_send (struct ddsi_xpack *xp, bool immediately)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1371,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1377,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - xp
    - m
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1370
        line_start: 1370
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1383
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1383
    functionName: copy_addressing_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - ddsi_ref_addrset
    - assert
    linkageType: ''
    returnType: void
    signature: void copy_addressing_info (struct ddsi_xpack *xp, const struct ddsi_xmsg
      *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1392,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1394,1
    - Dst: ddsi_addrset_eq_onesidederr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1396,1
    - Dst: ddsi_addrset_eq_onesidederr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1398,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - xp
    - m
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1391
        line_start: 1391
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (0)
      pos:
        line_end: 1399
        line_start: 1399
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1402
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1402
    functionName: addressing_info_eq_onesidederr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_addrset_eq_onesidederr
    - memcmp
    linkageType: ''
    returnType: int
    signature: int addressing_info_eq_onesidederr (const struct ddsi_xpack *xp, const
      struct ddsi_xmsg *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1416
    functionName: ddsi_xmsg_is_rexmit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_xmsg_is_rexmit (const struct ddsi_xmsg *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_is_rexmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1420,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1426,1
    - Dst: addressing_info_eq_onesidederr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - xp
    - m
    - flags
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_xmsg*
    - uint32_t
    assertStmts:
    - condition: (xp->included_msgs.latest != NULL)
      pos:
        line_end: 1425
        line_start: 1425
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1453
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1453
    functionName: ddsi_xpack_mayaddmsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached:
    - assert
    - addressing_info_eq_onesidederr
    - ddsi_xmsg_is_rexmit
    linkageType: ''
    returnType: int
    signature: int ddsi_xpack_mayaddmsg (const struct ddsi_xpack *xp, const struct
      ddsi_xmsg *m, const uint32_t flags)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1470,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1472,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1473,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1478,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1479,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1480,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1484,1
    - Dst: ddsi_xpack_mayaddmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1488,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1490,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1491,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1492,1
    - Dst: ddsi_xpack_mayaddmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1492,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1503,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1505,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1509,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1514,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1516,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1521,1
    - Dst: copy_addressing_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1527,1
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1554,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1570,1
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1584,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1629,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1632,1
    - Dst: ddsi_xmsg_is_rexmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1636,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1640,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1644,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1645,1
    - Dst: ddsi_xmsg_is_rexmit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1650,1
    - Dst: ddsi_xmsg_chain_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1652,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c:1653,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 108
    argCount: 3
    argNames:
    - xp
    - m
    - flags
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_xmsg*
    - uint32_t
    assertStmts:
    - condition: (niov <= DDSI_XMSG_MAX_MESSAGE_IOVECS)
      pos:
        line_end: 1628
        line_start: 1628
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (niov >= 1)
      pos:
        line_end: 1569
        line_start: 1569
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->kind != DDSI_XMSG_KIND_DATA_REXMIT || m->kindspecific.data.readerId_off
        != 0)
      pos:
        line_end: 1469
        line_start: 1469
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->dstmode != NN_XMSG_DST_UNSET)
      pos:
        line_end: 1472
        line_start: 1472
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (xp->msgfrags->niov > 0)
      pos:
        line_end: 1489
        line_start: 1489
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((xp->msg_len.length % 4) == 0)
      pos:
        line_end: 1477
        line_start: 1477
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((m->sz % 4) == 0)
      pos:
        line_end: 1478
        line_start: 1478
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->sz > 0)
      pos:
        line_end: 1471
        line_start: 1471
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (m->refd_payload == NULL || (m->refd_payload_iov.iov_len % 4) ==
        0)
      pos:
        line_end: 1479
        line_start: 1479
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (niov + DDSI_XMSG_MAX_SUBMESSAGE_IOVECS <= DDSI_XMSG_MAX_MESSAGE_IOVECS)
      pos:
        line_end: 1502
        line_start: 1502
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: (ddsi_xpack_mayaddmsg (xp, m, flags))
      pos:
        line_end: 1491
        line_start: 1491
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - condition: ((uint32_t)sz == sz)
      pos:
        line_end: 1631
        line_start: 1631
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    constantsTouched: []
    func_position:
      end: 1657
      start: 1455
    functionDepth: 8
    functionLinenumber: 1455
    functionLinenumberEnd: 1657
    functionName: ddsi_xpack_addmsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 7
    functionsReached:
    - ddsi_xpack_send
    - ddsi_xmsg_chain_add
    - assert
    - PGUID
    - copy_addressing_info
    - ddsi_xmsg_is_rexmit
    - ddsi_xpack_mayaddmsg
    - ddsrt_malloc
    - GVTRACE
    - ddsi_guid_prefix_eq
    - ddsi_xpack_addmsg
    linkageType: ''
    returnType: int
    signature: int ddsi_xpack_addmsg (struct ddsi_xpack *xp, struct ddsi_xmsg *m,
      const uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct ddsi_xpack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1662
    functionName: ddsi_xpack_maxdelay
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_xpack_maxdelay (const struct ddsi_xpack *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct ddsi_xpack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1667
    functionName: ddsi_xpack_packetid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ddsi_xpack_packetid (const struct ddsi_xpack *xp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - reqname
    - n_interfaces
    - interfaces
    - match
    argTypes:
    - char*
    - size_t
    - struct ddsi_network_interface*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: find_interface_by_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: enum find_interface_result
    signature: enum find_interface_result find_interface_by_name (const char *reqname,
      size_t n_interfaces, const struct ddsi_network_interface *interfaces, size_t
      *match)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:62,1
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:69,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:85,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:86,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - gv
    - reqip
    - n_interfaces
    - interfaces
    - match
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - size_t
    - struct ddsi_network_interface*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: find_interface_by_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsi_locator_from_string
    - ddsi_compare_locators
    linkageType: ''
    returnType: enum find_interface_result
    signature: enum find_interface_result find_interface_by_address (const struct
      ddsi_domaingv *gv, const char *reqip, size_t n_interfaces, const struct ddsi_network_interface
      *interfaces, size_t *match)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: compare_interface_priority
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_interface_priority (const void *va, const void *vb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:131,1
    - Dst: ddsrt_sockaddr_isunspecified
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:133,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:134,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:141,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:144,1
    - Dst: ddsi_locator_from_sockaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:150,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:152,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:153,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:165,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:184,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:201,1
    - Dst: ddsi_locator_from_sockaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:205,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:212,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 4
    argNames:
    - gv
    - dst
    - ifa
    - qout
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_interface*
    - ddsrt_ifaddrs_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 231
    functionName: maybe_add_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string_no_port
    - IN6_IS_ADDR_LINKLOCAL
    - memset
    - ddsrt_strdup
    - ddsrt_sockaddr_isunspecified
    - ddsi_locator_from_sockaddr
    - GVLOG
    linkageType: ''
    returnType: enum maybe_add_interface_result
    signature: enum maybe_add_interface_result maybe_add_interface (struct ddsi_domaingv
      * const gv, struct ddsi_network_interface *dst, const ddsrt_ifaddrs_t *ifa,
      int *qout)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_enumerate_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:236,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:238,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:246,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:247,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:256,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:257,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:264,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:268,1
    - Dst: maybe_add_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:274,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:292,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:293,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:294,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:297,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:303,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:304,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - gv
    - n_interfaces
    - interfaces
    - maxq_count
    - maxq_list
    argTypes:
    - struct ddsi_domaingv*
    - size_t*
    - struct ddsi_network_interface**
    - size_t*
    - size_t**
    assertStmts:
    - condition: ((*n_interfaces > 0) == (*maxq_count > 0))
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    constantsTouched: []
    func_position:
      end: 306
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 306
    functionName: gather_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_free
    - assert
    - strcmp
    - ddsrt_realloc
    - maybe_add_interface
    - ddsrt_malloc
    - GVERROR
    - ddsi_enumerate_interfaces
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool gather_interfaces (struct ddsi_domaingv * const gv, size_t *n_interfaces,
      struct ddsi_network_interface **interfaces, size_t *maxq_count, size_t **maxq_list)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: find_interface_by_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:317,1
    - Dst: find_interface_by_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:318,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:322,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:326,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:330,1
    - Dst: find_interface_by_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:337,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:340,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:343,1
    - Dst: find_interface_by_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:347,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:350,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:353,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 6
    argNames:
    - gv
    - n_interfaces
    - interfaces
    - iface
    - match
    - required
    argTypes:
    - struct ddsi_domaingv*
    - size_t
    - struct ddsi_network_interface*
    - struct ddsi_config_network_interface_listelem*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 361
    functionName: match_config_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - find_interface_by_name
    - GVERROR
    - find_interface_by_address
    - GVWARNING
    linkageType: ''
    returnType: bool
    signature: bool match_config_interface (struct ddsi_domaingv * const gv, size_t
      n_interfaces, struct ddsi_network_interface const * const interfaces, const
      struct ddsi_config_network_interface_listelem *iface, size_t *match, bool required)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:367,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:380,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:384,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - gv
    - matches
    - num_matches
    - act_iface
    - xx_idx
    - cfg_iface
    argTypes:
    - struct ddsi_domaingv*
    - struct interface_priority*
    - size_t*
    - struct ddsi_network_interface*
    - size_t
    - struct ddsi_config_network_interface_listelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 398
    functionName: add_matching_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool add_matching_interface (struct ddsi_domaingv *gv, struct interface_priority
      *matches, size_t *num_matches, struct ddsi_network_interface *act_iface, size_t
      xx_idx, const struct ddsi_config_network_interface_listelem *cfg_iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:404,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:405,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:407,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - gv
    - interfaces
    - maxq_list
    - maxq_count
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_interface*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: log_arbitrary_selection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string_no_port
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void log_arbitrary_selection (struct ddsi_domaingv *gv, const struct
      ddsi_network_interface *interfaces, const size_t *maxq_list, size_t maxq_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: set_and_check_link_local
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - GVERROR
    linkageType: ''
    returnType: bool
    signature: bool set_and_check_link_local (struct ddsi_domaingv *gv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:440,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:446,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:450,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:454,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: ((gv->config.allowMulticast & DDSI_AMC_DEFAULT) == 0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: ((act_iface->allow_multicast & DDSI_AMC_DEFAULT) == 0)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    constantsTouched: []
    func_position:
      end: 465
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 465
    functionName: set_and_check_allow_multicast
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 0
    functionsReached:
    - assert
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool set_and_check_allow_multicast (struct ddsi_domaingv *gv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:471,1
    - Dst: gather_interfaces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:475,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:480,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:481,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:483,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:489,1
    - Dst: log_arbitrary_selection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:493,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:496,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:503,1
    - Dst: match_config_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:512,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:514,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:517,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:521,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:522,1
    - Dst: add_matching_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:525,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:533,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:536,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:541,1
    - Dst: set_and_check_link_local
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:544,1
    - Dst: set_and_check_allow_multicast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:546,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:551,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:552,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:553,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:559,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:564,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:565,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:567,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:573,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:575,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:578,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:581,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c:585,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (gv->n_interfaces > 0)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: (maxq_list[i] < n_interfaces)
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: (gv->n_interfaces <= MAX_XMIT_CONNS)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: (maxq_count <= n_interfaces)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: (n_interfaces <= (size_t) INT_MAX)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - condition: (n_interfaces > 0 && maxq_count > 0)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    constantsTouched: []
    func_position:
      end: 587
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 587
    functionName: ddsi_gather_network_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    functionUses: 1
    functionsReached:
    - qsort
    - snprintf
    - add_matching_interface
    - ddsi_locator_to_string_no_port
    - set_and_check_link_local
    - ddsrt_free
    - assert
    - gather_interfaces
    - log_arbitrary_selection
    - ddsrt_strdup
    - set_and_check_allow_multicast
    - ddsrt_malloc
    - match_config_interface
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_gather_network_interfaces (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - prefix_
    - ','
    - elemT_
    - ','
    - extension_
    - ','
    - batch_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 41
    functionName: DDSI_LIST_TYPES_TMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_LIST_TYPES_TMPL(prefix_, elemT_, extension_, batch_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DDSI_LIST_TMPL_POISON
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_LIST_TMPL_POISON(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: DDSI_LIST_TMPL_POISON
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_LIST_TMPL_POISON(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - linkage_
    - ','
    - prefix_
    - ','
    - elemT_
    - ','
    - attrs_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: DDSI_LIST_DECLS_TMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_LIST_DECLS_TMPL(linkage_, prefix_, elemT_, attrs_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - linkage_
    - ','
    - prefix_
    - ','
    - elemT_
    - ','
    - null_
    - ','
    - malloc_
    - ','
    - free_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: DDSI_LIST_CODE_TMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_LIST_CODE_TMPL(linkage_, prefix_, elemT_, null_, malloc_, free_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc_
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - list
    - o
    argTypes:
    - struct prefix_*
    - elemT_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: _insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 44
    functionsReached:
    - malloc_
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _insert (struct prefix_ *list, elemT_ o)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc_
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - list
    - o
    argTypes:
    - struct prefix_*
    - elemT_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: _append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 47
    functionsReached:
    - malloc_
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _append (struct prefix_ *list, elemT_ o)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - list
    - iter
    argTypes:
    - struct prefix_*
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: _iter_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_first (const struct prefix_ *list, struct prefix_##_iter
      *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct prefix_*
    assertStmts:
    - condition: (iter->node != NULL)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: _iter_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 54
    functionsReached:
    - assert
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_next (struct prefix_##_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct prefix_*
    assertStmts:
    - condition: (iter->node != NULL)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: _iter_elem_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: linkage_
    signature: linkage_ *prefix_##_iter_elem_addr (struct prefix_##_iter *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - iter
    argTypes:
    - struct prefix_*
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: _iter_d_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_first (struct prefix_ *list, struct prefix_##_iter_d
      *iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: _iter_d_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 1
    functionsReached:
    - _iter_d_first
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_next (struct prefix_##_iter_d *iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:201,1
    - Dst: DDSI_LIST_TMPL_POISON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:215,1
    - Dst: free_
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct prefix_*
    assertStmts:
    - condition: (iter->node)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: _iter_d_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 1
    functionsReached:
    - assert
    - free_
    - DDSI_LIST_TMPL_POISON
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_remove (struct prefix_##_iter_d *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:230,1
    - Dst: equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:230,1
    - Dst: _iter_d_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:230,1
    - Dst: equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - list
    - o
    - equals
    argTypes:
    - struct prefix_*
    - elemT_
    - prefix_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: _remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 38
    functionsReached:
    - _iter_d_first
    - equals
    - _iter_d_next
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _remove (struct prefix_ *list, elemT_ o, prefix_##_eq_fn equals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: _take_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached:
    - _iter_d_first
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _take_first (struct prefix_ *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:258,1
    - Dst: _iter_d_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: _take_last
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached:
    - _iter_d_first
    - _iter_d_next
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _take_last (struct prefix_ *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: uint32_t
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: linkage_
    signature: linkage_ uint32_t prefix_##_count (const struct prefix_ *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - b
    argTypes:
    - struct prefix_*
    - struct prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: _append_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _append_list (struct prefix_ *list, struct prefix_ *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - list
    - index
    argTypes:
    - struct prefix_*
    - uint32_t
    assertStmts:
    - condition: (pos <= index && index < pos + n->lastp1 - n->first)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    constantsTouched: []
    func_position:
      end: 307
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 307
    functionName: _index_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: linkage_
    signature: linkage_ *prefix_##_index_addr (struct prefix_ *list, uint32_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prefix_
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - index
    argTypes:
    - struct prefix_*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: elemT_
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
    functionUses: 0
    functionsReached:
    - prefix_
    linkageType: ''
    returnType: linkage_
    signature: linkage_ elemT_ prefix_##_index (struct prefix_ *list, uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ddsi_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ddsi_is_valid_timestamp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_valid_timestamp (ddsi_time_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ddsi_time22_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: ddsi_is_valid_timestamp22
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_valid_timestamp22 (ddsi_time22_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - int64_t
    assertStmts:
    - condition: (t >= 0 || t == DDS_TIME_INVALID)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: to_ddsi_time
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsi_time_t
    signature: ddsi_time_t to_ddsi_time (int64_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:51,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - seconds
    - fraction
    - t
    argTypes:
    - int32_t*
    - uint32_t*
    - int64_t
    assertStmts:
    - condition: (t >= 0 || t == DDS_TIME_INVALID)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: to_ddsi_time22_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 0
    functionsReached:
    - assert
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void to_ddsi_time22_duration (int32_t * restrict seconds, uint32_t
      * restrict fraction, int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ddsi_time
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ddsi_wctime_to_ddsi_time
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached:
    - to_ddsi_time
    linkageType: ''
    returnType: ddsi_time_t
    signature: ddsi_time_t ddsi_wctime_to_ddsi_time (ddsrt_wctime_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ddsi_time22_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ddsi_wctime_to_ddsi_time22
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 0
    functionsReached:
    - to_ddsi_time22_duration
    linkageType: ''
    returnType: ddsi_time22_t
    signature: ddsi_time22_t ddsi_wctime_to_ddsi_time22 (ddsrt_wctime_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsi_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: from_ddsi_time
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t from_ddsi_time (ddsi_time_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_ddsi_time
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsi_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ddsi_wctime_from_ddsi_time
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached:
    - from_ddsi_time
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsi_wctime_from_ddsi_time (ddsi_time_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - fraction
    argTypes:
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: from_ddsi_time22_duration
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t from_ddsi_time22_duration (int32_t seconds, uint32_t fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_ddsi_time22_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsi_time22_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ddsi_wctime_from_ddsi_time22
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 1
    functionsReached:
    - from_ddsi_time22_duration
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsi_wctime_from_ddsi_time22 (ddsi_time22_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:130,1
    - Dst: to_ddsi_time22_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - dds_duration_t
    assertStmts:
    - condition: (x >= 0)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: ddsi_duration_from_dds
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 3
    functionsReached:
    - assert
    - to_ddsi_time22_duration
    linkageType: ''
    returnType: ddsi_duration_t
    signature: ddsi_duration_t ddsi_duration_from_dds (dds_duration_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_ddsi_time22_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsi_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: ddsi_duration_to_dds
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
    functionUses: 3
    functionsReached:
    - from_ddsi_time22_duration
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t ddsi_duration_to_dds (ddsi_duration_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - v
    - k
    argTypes:
    - uint32_t[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: dds_tea_encrypt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_tea_encrypt (uint32_t v[2], const uint32_t k[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - v
    - k
    argTypes:
    - uint32_t[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: dds_tea_decrypt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_tea_decrypt (uint32_t v[2], const uint32_t k[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc64_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:52,1
    - Dst: dds_tea_encrypt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: ddsi_iid_gen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    functionUses: 11
    functionsReached:
    - ddsrt_atomic_inc64_nv
    - dds_tea_encrypt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsi_iid_gen (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:62,1
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:88,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:89,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:93,1
    - Dst: dds_tea_decrypt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:96,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: ddsi_iid_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    functionUses: 7
    functionsReached:
    - ddsrt_random
    - dds_tea_decrypt
    - memcpy
    - DDSRT_STATIC_ASSERT
    - ddsrt_atomic_st64
    - ddsrt_prng_makeseed
    linkageType: ''
    returnType: void
    signature: void ddsi_iid_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: ddsi_iid_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_iid_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - struct ddsi_sertype_v0*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ddsi_sertype_v0
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_v0 (struct ddsi_sertype_v0 *dummy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:39,1
    - Dst: struct ddsi_sertype*::ops::equal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: ddsi_sertype_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - struct ddsi_sertype*::ops::equal
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool ddsi_sertype_equal (const struct ddsi_sertype *a, const struct
      ddsi_sertype *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:55,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:55,1
    - Dst: struct ddsi_sertype*::ops::hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ddsi_sertype_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - ddsrt_mh3
    - strlen
    - struct ddsi_sertype*::ops::hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_sertype_hash (const struct ddsi_sertype *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sertype_const
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ddsi_sertype_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *ddsi_sertype_ref (const struct ddsi_sertype *sertype_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:69,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:72,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:72,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - gv
    - sertype_template
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    assertStmts:
    - condition: ((ddsrt_atomic_ld32 (&sertype->flags_refc) & DDSI_SERTYPE_REFC_MASK)
        > 0)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: ddsi_sertype_lookup_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsi_sertype_ref
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct ddsi_sertype
    signature: struct ddsi_sertype *ddsi_sertype_lookup_locked (struct ddsi_domaingv
      *gv, const struct ddsi_sertype *sertype_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:79,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:79,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:80,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:80,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:84,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:86,1
    - Dst: ddsrt_atomic_fence_stst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:87,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:88,1
    - Dst: ddsrt_atomic_fence_stst
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:89,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:90,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - gv
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (!(ddsrt_atomic_ld32 (&sertype->flags_refc) & DDSI_SERTYPE_REGISTERING))
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: (ddsrt_atomic_ldvoidp (&sertype->gv) == NULL)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: ddsi_sertype_register_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_stvoidp
    - assert
    - ddsrt_atomic_or32
    - ddsrt_atomic_cas32
    - ddsrt_atomic_fence_stst
    - ddsrt_atomic_ldvoidp
    - ddsrt_hh_add_absent
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_register_locked (struct ddsi_domaingv *gv, struct
      ddsi_sertype *sertype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:96,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:97,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:97,1
    - Dst: ddsi_sertype_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:102,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:103,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:108,1
    - Dst: ddsi_sertype_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - gv
    - sertype
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (!(flags_refc1 & DDSI_SERTYPE_REGISTERED) || gv == ddsrt_atomic_ldvoidp
        (&sertype->gv))
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: ddsi_sertype_unref_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_free
    - ddsrt_free
    - assert
    - ddsi_sertype_unref_locked
    - ddsrt_atomic_ldvoidp
    - ddsrt_hh_remove_present
    - ddsrt_atomic_dec32_nv
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_unref_locked (struct ddsi_domaingv * const gv, struct
      ddsi_sertype *sertype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:117,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:119,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:120,1
    - Dst: ddsi_sertype_unref_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:121,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sertype
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (gv != NULL)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: ddsi_sertype_unref_registered_unlocked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_atomic_fence_ldld
    - ddsi_sertype_unref_locked
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_unref_registered_unlocked (struct ddsi_sertype *sertype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:129,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:135,1
    - Dst: ddsi_sertype_unref_registered_unlocked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:144,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:147,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:155,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:156,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:160,1
    - Dst: ddsi_sertype_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - sertype
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: ((flags_refc1 & DDSI_SERTYPE_REFC_MASK) >= 1)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: ((flags_refc & DDSI_SERTYPE_REFC_MASK) >= 1)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: (!(flags_refc1 & DDSI_SERTYPE_REGISTERING))
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 164
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 164
    functionName: ddsi_sertype_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 14
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_sertype_free
    - ddsi_sertype_unref_registered_unlocked
    - ddsrt_free
    - ddsi_sertype_unref
    - assert
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_unref (struct ddsi_sertype *sertype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:169,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:170,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:171,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:172,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:174,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:175,1
    - Dst: ddsi_sertype_compute_serdata_basehash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:178,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 8
    argNames:
    - tp
    - type_name
    - sertype_ops
    - serdata_ops
    - sizeof_type
    - data_type_props
    - allowed_data_representation
    - flags
    argTypes:
    - struct ddsi_sertype*
    - char*
    - struct ddsi_sertype_ops*
    - struct ddsi_serdata_ops*
    - size_t
    - dds_data_type_properties_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (sertype_ops->version == ddsi_sertype_v0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: ((flags & ~(uint32_t)DDSI_SERTYPE_PROPS_FLAG_MASK) == 0)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: (sizeof_type <= UINT32_MAX)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    - condition: (sizeof_type > 0 || !(data_type_props & DDS_DATA_TYPE_IS_MEMCPY_SAFE))
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: ddsi_sertype_init_props
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_stvoidp
    - ddsi_sertype_compute_serdata_basehash
    - assert
    - ddsrt_strdup
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_init_props (struct ddsi_sertype *tp, const char *type_name,
      const struct ddsi_sertype_ops *sertype_ops, const struct ddsi_serdata_ops *serdata_ops,
      size_t sizeof_type, dds_data_type_properties_t data_type_props, uint32_t allowed_data_representation,
      uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_init_props
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tp
    - type_name
    - sertype_ops
    - serdata_ops
    - flags
    argTypes:
    - struct ddsi_sertype*
    - char*
    - struct ddsi_sertype_ops*
    - struct ddsi_serdata_ops*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: ddsi_sertype_init_flags
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_init_props
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_init_flags (struct ddsi_sertype *tp, const char *type_name,
      const struct ddsi_sertype_ops *sertype_ops, const struct ddsi_serdata_ops *serdata_ops,
      uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_init_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tp
    - type_name
    - sertype_ops
    - serdata_ops
    - typekind_no_key
    argTypes:
    - struct ddsi_sertype*
    - char*
    - struct ddsi_sertype_ops*
    - struct ddsi_serdata_ops*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: ddsi_sertype_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 3
    functionsReached:
    - ddsi_sertype_init_flags
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_init (struct ddsi_sertype *tp, const char *type_name,
      const struct ddsi_sertype_ops *sertype_ops, const struct ddsi_serdata_ops *serdata_ops,
      bool typekind_no_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:206,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:206,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: ((ddsrt_atomic_ld32 (&tp->flags_refc) & DDSI_SERTYPE_REFC_MASK) ==
        0)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: ddsi_sertype_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_sertype_fini (struct ddsi_sertype *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:215,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:216,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:217,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:218,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ops
    argTypes:
    - struct ddsi_serdata_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: ddsi_sertype_compute_serdata_basehash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - ddsrt_md5_init
    - ddsrt_md5_finish
    - ddsrt_md5_append
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_sertype_compute_serdata_basehash (const struct ddsi_serdata_ops
      *ops)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENC_CONCAT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:238,1
    - Dst: ENC_CONCAT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:239,1
    - Dst: ENC_CONCAT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:242,1
    - Dst: ENC_CONCAT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:244,1
    - Dst: ENC_CONCAT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:245,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - enc_version
    - enc_format
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: ddsi_sertype_get_native_enc_identifier
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 6
    functionsReached:
    - abort
    - ENC_CONCAT
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ddsi_sertype_get_native_enc_identifier (uint32_t enc_version,
      uint32_t enc_format)
  - 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: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: ENC_CONCAT_
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENC_CONCAT_(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: ENC_CONCAT
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENC_CONCAT(id,suffix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type_extensibility
    argTypes:
    - enum dds_cdr_type_extensibility
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: ddsi_sertype_extensibility_enc_format
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ddsi_sertype_extensibility_enc_format (enum dds_cdr_type_extensibility
      type_extensibility)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: ddsi_sertype_enc_id_xcdr_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_sertype_enc_id_xcdr_version (uint16_t cdr_identifier)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - cdr_identifier
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: ddsi_sertype_enc_id_enc_format
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
    functionUses: 3
    functionsReached:
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_sertype_enc_id_enc_format (uint16_t cdr_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: compare_lifespan_texp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_lifespan_texp (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_lifespan_adm*::sample_expired_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:37,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: lifespan_rhc_node_exp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 0
    functionsReached:
    - struct ddsi_lifespan_adm*::sample_expired_cb
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void lifespan_rhc_node_exp (struct ddsi_domaingv *gv, struct ddsi_xevent
      *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - lifespan_adm
    - tnow
    - sample
    argTypes:
    - struct ddsi_lifespan_adm*
    - ddsrt_mtime_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: ddsi_lifespan_next_expired_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 2
    functionsReached:
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsi_lifespan_next_expired_locked (const struct ddsi_lifespan_adm
      *lifespan_adm, ddsrt_mtime_t tnow, void **sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:59,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - gv
    - lifespan_adm
    - fh_offset
    - fh_node_offset
    - sample_expired_cb
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_lifespan_adm*
    - size_t
    - size_t
    - ddsi_sample_expired_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: ddsi_lifespan_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 2
    functionsReached:
    - ddsrt_fibheap_init
    - ddsi_qxev_callback
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_init (const struct ddsi_domaingv *gv, struct ddsi_lifespan_adm
      *lifespan_adm, size_t fh_offset, size_t fh_node_offset, ddsi_sample_expired_cb_t
      sample_expired_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:69,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:69,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lifespan_adm
    argTypes:
    - struct ddsi_lifespan_adm*
    assertStmts:
    - condition: (ddsrt_fibheap_min (&lifespan_fhdef, &lifespan_adm->ls_exp_heap)
        == NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ddsi_lifespan_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 2
    functionsReached:
    - assert
    - ddsrt_fibheap_min
    - ddsi_delete_xevent
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_fini (const struct ddsi_lifespan_adm *lifespan_adm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:77,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lifespan_adm
    - node
    argTypes:
    - struct ddsi_lifespan_adm*
    - struct ddsi_lifespan_fhnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ddsi_lifespan_register_sample_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_insert
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_register_sample_real (struct ddsi_lifespan_adm *lifespan_adm,
      struct ddsi_lifespan_fhnode *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lifespan_adm
    - node
    argTypes:
    - struct ddsi_lifespan_adm*
    - struct ddsi_lifespan_fhnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: ddsi_lifespan_unregister_sample_real
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_delete
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_unregister_sample_real (struct ddsi_lifespan_adm
      *lifespan_adm, struct ddsi_lifespan_fhnode *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:34,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:35,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (a->nops > 0)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: sertype_pserop_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sertype_pserop_equal (const struct ddsi_sertype *acmn, const struct
      ddsi_sertype *bcmn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:46,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:50,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:51,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:52,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:53,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:54,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:55,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:57,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: sertype_pserop_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_finish
    - ddsrt_md5_init
    - assert
    - ddsrt_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_pserop_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:64,1
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:66,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: sertype_pserop_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    - ddsi_sertype_fini
    linkageType: ''
    returnType: void
    signature: void sertype_pserop_free (struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sertype_common
    - sample
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: sertype_pserop_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sertype_pserop_zero_samples (const struct ddsi_sertype *sertype_common,
      void *sample, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:80,1
    - Dst: count::count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:81,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:82,1
    - Dst: size::size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:82,1
    - Dst: i::i
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ptrs
    - sertype_common
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: sertype_pserop_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - count::count
    - memset
    - i::i
    - size::size
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void sertype_pserop_realloc_samples (void **ptrs, const struct ddsi_sertype
      *sertype_common, void *old, size_t oldcount, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:98,1
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:103,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - sertype_common
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts:
    - condition: ((char *)ptrs[i] == (char *)ptrs[0] + off)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: sertype_pserop_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_fini_generic
    - dds_free
    - assert
    linkageType: ''
    returnType: void
    signature: void sertype_pserop_free_samples (const struct ddsi_sertype *sertype_common,
      void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:40,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: gc_buckets_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_free
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void gc_buckets_impl (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:47,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: gc_buckets
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: void
    signature: void gc_buckets (void *a, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:55,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:56,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: gc_tkmap_instance_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - dds_free
    - ddsi_gcreq_free
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void gc_tkmap_instance_impl (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:62,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tk
    - gcreq_queue
    argTypes:
    - struct ddsi_tkmap_instance*
    - struct ddsi_gcreq_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: gc_tkmap_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: void
    signature: void gc_tkmap_instance (struct ddsi_tkmap_instance *tk, struct ddsi_gcreq_queue
      *gcreq_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: dds_tk_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_tk_hash (const struct ddsi_tkmap_instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_tk_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: dds_tk_hash_void
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - dds_tk_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_tk_hash_void (const void *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_eqkey
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_tkmap_instance*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: dds_tk_equals
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_eqkey
    linkageType: ''
    returnType: bool
    signature: bool dds_tk_equals (const struct ddsi_tkmap_instance *a, const struct
      ddsi_tkmap_instance *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_tk_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: dds_tk_equals_void
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - dds_tk_equals
    linkageType: ''
    returnType: bool
    signature: bool dds_tk_equals_void (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:89,1
    - Dst: ddsrt_chh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:90,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:92,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: ddsi_tkmap_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 1
    functionsReached:
    - ddsrt_chh_new
    - ddsrt_mutex_init
    - dds_alloc
    - ddsrt_cond_init
    linkageType: ''
    returnType: struct ddsi_tkmap
    signature: struct ddsi_tkmap *ddsi_tkmap_new (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:100,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vtk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: free_tkmap_instance
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void free_tkmap_instance (void *vtk, UNUSED_ARG(void *f_arg))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_chh_enum_unsafe
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:106,1
    - Dst: ddsrt_chh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:107,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:108,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:109,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct ddsi_tkmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: ddsi_tkmap_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 2
    functionsReached:
    - dds_free
    - ddsrt_cond_destroy
    - ddsrt_chh_free
    - ddsrt_mutex_destroy
    - ddsrt_chh_enum_unsafe
    linkageType: ''
    returnType: void
    signature: void ddsi_tkmap_free (struct ddsi_tkmap * map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:117,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:117,1
    - Dst: ddsrt_chh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - map
    - sd
    argTypes:
    - struct ddsi_tkmap*
    - struct ddsi_serdata*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ddsi_tkmap_lookup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 2
    functionsReached:
    - ddsrt_chh_lookup
    - assert
    - ddsi_thread_is_awake
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsi_tkmap_lookup (struct ddsi_tkmap * map, const struct ddsi_serdata
      * sd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:129,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:129,1
    - Dst: ddsrt_chh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:130,1
    - Dst: ddsrt_chh_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:130,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:136,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:136,1
    - Dst: ddsi_tkmap_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - map
    - iid
    argTypes:
    - struct ddsi_tkmap*
    - uint64_t
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: ddsi_tkmap_find_by_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsi_tkmap_find
    - ddsrt_atomic_cas32
    - ddsrt_chh_iter_next
    - ddsi_thread_is_awake
    - ddsrt_chh_iter_first
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *ddsi_tkmap_find_by_id (struct ddsi_tkmap
      *map, uint64_t iid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:161,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:161,1
    - Dst: ddsrt_chh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:164,1
    - Dst: ddsrt_atomic_inc32_nv::ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:167,1
    - Dst: REFC_DELETE::REFC_DELETE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:168,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:171,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:176,1
    - Dst: ddsrt_chh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:177,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:177,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:178,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:179,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:185,1
    - Dst: ddsi_serdata_to_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:188,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:189,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:190,1
    - Dst: ddsrt_chh_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:191,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:194,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - map
    - sd
    - create
    argTypes:
    - struct ddsi_tkmap*
    - struct ddsi_serdata*
    - bool
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    constantsTouched: []
    func_position:
      end: 200
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 200
    functionName: ddsi_tkmap_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_iid_gen
    - ddsi_serdata_to_untyped
    - ddsrt_cond_wait
    - ddsi_serdata_unref
    - dds_free
    - assert
    - ddsrt_mutex_lock
    - ddsrt_chh_add
    - ddsrt_atomic_inc32_nv::ddsrt_atomic_inc32_nv
    - ddsi_thread_is_awake
    - REFC_DELETE::REFC_DELETE
    - ddsrt_atomic_st32
    - ddsrt_chh_lookup
    - dds_alloc
    - ddsrt_mutex_unlock
    - ddsrt_atomic_dec32
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *ddsi_tkmap_find (struct ddsi_tkmap *map,
      struct ddsi_serdata *sd, const bool create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - map
    - sd
    argTypes:
    - struct ddsi_tkmap*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: ddsi_tkmap_lookup_instance_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 12
    functionsReached:
    - ddsi_tkmap_find
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *ddsi_tkmap_lookup_instance_ref (struct
      ddsi_tkmap *map, struct ddsi_serdata *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tk
    argTypes:
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: ddsi_tkmap_instance_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void ddsi_tkmap_instance_ref (struct ddsi_tkmap_instance *tk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:215,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:215,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:217,1
    - Dst: REFC_DELETE::REFC_DELETE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:222,1
    - Dst: old::old
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:223,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:225,1
    - Dst: REFC_DELETE::REFC_DELETE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:226,1
    - Dst: ddsrt_chh_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:229,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:230,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:234,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:235,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:236,1
    - Dst: gc_tkmap_instance
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - map
    - tk
    argTypes:
    - struct ddsi_tkmap*
    - struct ddsi_tkmap_instance*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    - condition: (!(old & REFC_DELETE))
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    - condition: (removed)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: ddsi_tkmap_instance_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    functionUses: 17
    functionsReached:
    - gc_tkmap_instance
    - ddsrt_atomic_ld32
    - ddsrt_chh_remove
    - assert
    - ddsrt_mutex_lock
    - ddsrt_atomic_cas32
    - ddsrt_cond_broadcast
    - ddsi_thread_is_awake
    - REFC_DELETE::REFC_DELETE
    - old::old
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_tkmap_instance_unref (struct ddsi_tkmap *map, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:106,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dst
    - sizeof_dst
    - loc
    - conn
    - with_port
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    - struct ddsi_tran_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: ddsi_raweth_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *ddsi_raweth_to_string (char *dst, size_t sizeof_dst, const ddsi_locator_t
      *loc, struct ddsi_tran_conn * conn, int with_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:122,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - pktinfo
    - addr
    - port
    - vtag
    argTypes:
    - struct ddsi_network_packet_info*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: set_pktinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void set_pktinfo(struct ddsi_network_packet_info *pktinfo, const uint8_t
      * addr, uint16_t port, uint16_t vtag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:133,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:134,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:137,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:138,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:139,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - hdr
    - proto
    - dst
    - src
    argTypes:
    - struct ddsi_vlan_header*
    - uint16_t
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: set_ethernet_header
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htons
    linkageType: ''
    returnType: size_t
    signature: size_t set_ethernet_header(struct ddsi_vlan_header *hdr, uint16_t proto,
      const ddsi_locator_t * dst, const ddsi_locator_t * src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:169,1
    - Dst: ddsrt_recvmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:179,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:186,1
    - Dst: CMSG_NXTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:186,1
    - Dst: CMSG_LEN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:188,1
    - Dst: CMSG_DATA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:190,1
    - Dst: set_pktinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:196,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:196,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:206,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:208,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:209,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - conn
    - buf
    - len
    - allow_spurious
    - pktinfo
    argTypes:
    - struct ddsi_tran_conn*
    - unsigned char*
    - size_t
    - bool
    - struct ddsi_network_packet_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 219
    functionName: ddsi_raweth_conn_read
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DDS_CWARNING
    - CMSG_NXTHDR
    - CMSG_LEN
    - set_pktinfo
    - memset
    - ntohs
    - DDS_CERROR
    - ddsrt_recvmsg
    - CMSG_FIRSTHDR
    - CMSG_DATA
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_raweth_conn_read (struct ddsi_tran_conn * conn, unsigned
      char * buf, size_t len, bool allow_spurious, struct ddsi_network_packet_info
      *pktinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:233,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:234,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:236,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:239,1
    - Dst: set_ethernet_header
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:241,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:243,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:249,1
    - Dst: ddsrt_sendmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:260,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - conn
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts:
    - condition: (msgfrags->niov <= INT_MAX - 1)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    constantsTouched: []
    func_position:
      end: 272
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: ddsi_raweth_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - set_ethernet_header
    - htons
    - memcpy
    - assert
    - DDSRT_STATIC_ASSERT
    - memset
    - DDS_CERROR
    - ddsrt_sendmsg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_raweth_conn_write (struct ddsi_tran_conn * conn, const
      ddsi_locator_t *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:292,1
    - Dst: BPF_JUMP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:293,1
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:294,1
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:295,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:300,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fact
    - sock
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - ddsrt_socket_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: ddsi_raweth_set_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - DDS_CERROR
    - BPF_JUMP
    - BPF_STMT
    - ddsrt_setsockopt
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_raweth_set_filter (struct ddsi_tran_factory * fact,
      ddsrt_socket_t sock, uint32_t port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:324,1
    - Dst: ddsrt_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:328,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:328,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:331,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:335,1
    - Dst: htons
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:337,1
    - Dst: ddsrt_bind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:340,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:343,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:344,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:348,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:353,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:356,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:357,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:362,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:365,1
    - Dst: ddsi_raweth_set_filter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:368,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:371,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:372,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:376,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:378,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:382,1
    - Dst: ddsrt_socket_ext_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:383,1
    - Dst: ddsi_factory_conn_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:385,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 4
    argNames:
    - conn_out
    - fact
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 398
    functionName: ddsi_raweth_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - ddsrt_socket_ext_init
    - ddsrt_close
    - ddsrt_bind
    - DDS_CWARNING
    - htons
    - DDS_CTRACE
    - ddsi_raweth_set_filter
    - ddsi_factory_conn_init
    - memset
    - ddsrt_socket
    - DDS_CERROR
    - ddsrt_malloc
    - ddsrt_setsockopt
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_raweth_create_conn (struct ddsi_tran_conn **conn_out,
      struct ddsi_tran_factory * fact, uint32_t port, const struct ddsi_tran_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:408,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - socket
    - join
    - mcloc
    - interf
    argTypes:
    - ddsrt_socket_t
    - int
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: joinleave_asm_mcgroup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_setsockopt
    linkageType: ''
    returnType: int
    signature: int joinleave_asm_mcgroup (ddsrt_socket_t socket, int join, const ddsi_locator_t
      *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:447,1
    - Dst: read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:451,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:453,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:473,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:481,1
    - Dst: set_pktinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:483,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:483,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:483,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:488,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:490,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:490,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:491,1
    - Dst: BPF_WORDALIGN
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:498,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 5
    argNames:
    - conn
    - buf
    - len
    - allow_spurious
    - pktinfo
    argTypes:
    - struct ddsi_tran_conn*
    - unsigned char*
    - size_t
    - bool
    - struct ddsi_network_packet_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 508
    functionName: ddsi_raweth_conn_read
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DDS_CWARNING
    - BPF_WORDALIGN
    - memcpy
    - ddsrt_mutex_lock
    - set_pktinfo
    - read
    - ntohs
    - DDS_CERROR
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_raweth_conn_read (struct ddsi_tran_conn * conn, unsigned
      char * buf, size_t len, bool allow_spurious, struct ddsi_network_packet_info
      *pktinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:519,1
    - Dst: set_ethernet_header
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:521,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:523,1
    - Dst: writev
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:529,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts:
    - condition: (msgfrags->niov <= INT_MAX - 1)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    constantsTouched: []
    func_position:
      end: 536
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 536
    functionName: ddsi_raweth_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - set_ethernet_header
    - writev
    - assert
    - DDSRT_STATIC_ASSERT
    - DDS_CERROR
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_raweth_conn_write (struct ddsi_tran_conn * conn, const
      ddsi_locator_t *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:543,1
    - Dst: BPF_JUMP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:544,1
    - Dst: BPF_JUMP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:545,1
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:546,1
    - Dst: BPF_JUMP
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:547,1
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:548,1
    - Dst: BPF_STMT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:549,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:554,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:555,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fact
    - sock
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - ddsrt_socket_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 560
    functionName: ddsi_raweth_set_filter
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 1
    functionsReached:
    - ddsrt_close
    - BPF_STMT
    - BPF_JUMP
    - ioctl
    - DDS_CERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_raweth_set_filter (struct ddsi_tran_factory * fact,
      ddsrt_socket_t sock, uint32_t port)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:577,1
    - Dst: open
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:582,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:586,1
    - Dst: open
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:587,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:595,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:601,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:602,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:603,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:610,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:612,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:613,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:618,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:619,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:620,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:621,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:625,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:626,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:627,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:633,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:634,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:635,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:639,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:640,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:641,1
    - Dst: ddsi_raweth_set_filter
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:645,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:648,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:649,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:653,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:655,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:659,1
    - Dst: ddsi_factory_conn_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:662,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:671,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:675,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:677,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 78
    argCount: 4
    argNames:
    - conn_out
    - fact
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 681
    functionName: ddsi_raweth_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - snprintf
    - DDS_CWARNING
    - open
    - DDS_CTRACE
    - ddsi_raweth_set_filter
    - ddsi_factory_conn_init
    - memset
    - strcpy
    - ioctl
    - DDS_CERROR
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_raweth_create_conn (struct ddsi_tran_conn **conn_out,
      struct ddsi_tran_factory * fact, uint32_t port, const struct ddsi_tran_qos *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - socket
    - join
    - mcloc
    - interf
    argTypes:
    - ddsrt_socket_t
    - int
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: joinleave_asm_mcgroup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int joinleave_asm_mcgroup (ddsrt_socket_t socket, int join, const ddsi_locator_t
      *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: ddsi_raweth_conn_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_raweth_conn_handle (struct ddsi_tran_base * base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fact
    - kind
    argTypes:
    - struct ddsi_tran_factory*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: ddsi_raweth_supports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_raweth_supports (const struct ddsi_tran_factory *fact, int32_t
      kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fact
    - base
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - struct ddsi_tran_base*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 719
    functionName: ddsi_raweth_conn_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_conn_locator (struct ddsi_tran_factory * fact, struct
      ddsi_tran_base * base, ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: isbroadcast
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isbroadcast(const ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isbroadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:732,1
    - Dst: joinleave_asm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 740
    functionName: ddsi_raweth_join_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - isbroadcast
    - joinleave_asm_mcgroup
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_join_mc (struct ddsi_tran_conn * conn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isbroadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:744,1
    - Dst: joinleave_asm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: ddsi_raweth_leave_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - isbroadcast
    - joinleave_asm_mcgroup
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_leave_mc (struct ddsi_tran_conn * conn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:757,1
    - Dst: ddsrt_socket_ext_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:762,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:763,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 765
    functionName: ddsi_raweth_release_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - ddsrt_socket_ext_fini
    - DDS_CTRACE
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_raweth_release_conn (struct ddsi_tran_conn * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 772
    functionName: ddsi_raweth_is_loopbackaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_is_loopbackaddr (const struct ddsi_tran_factory *tran,
      const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts:
    - condition: (loc->kind == DDSI_LOCATOR_KIND_RAWETH)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: ddsi_raweth_is_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_is_mcaddr (const struct ddsi_tran_factory *tran, const
      ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: ddsi_raweth_is_ssm_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_is_ssm_mcaddr (const struct ddsi_tran_factory *tran,
      const ddsi_locator_t *loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - loc
    - ninterf
    - interf
    - interf_idx
    argTypes:
    - ddsi_locator_t*
    - size_t
    - struct ddsi_network_interface[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: ddsi_raweth_is_nearby_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: enum ddsi_nearby_address_result
    signature: enum ddsi_nearby_address_result ddsi_raweth_is_nearby_address (const
      ddsi_locator_t *loc, size_t ninterf, const struct ddsi_network_interface interf[],
      size_t *interf_idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:805,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:810,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:825,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - tran
    - loc
    - str
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 839
    functionName: ddsi_raweth_address_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - sscanf
    - memset
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_raweth_address_from_string
      (const struct ddsi_tran_factory *tran, ddsi_locator_t *loc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:843,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fact
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: ddsi_raweth_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_raweth_deinit(struct ddsi_tran_factory * fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fact
    - transport_selector
    - ifs
    argTypes:
    - struct ddsi_tran_factory*
    - enum ddsi_transport_selector
    - ddsrt_ifaddrs_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 853
    functionName: ddsi_raweth_enumerate_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - ddsrt_getifaddrs
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_enumerate_interfaces (struct ddsi_tran_factory * fact,
      enum ddsi_transport_selector transport_selector, ddsrt_ifaddrs_t **ifs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fact
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 867
    functionName: ddsi_raweth_is_valid_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_is_valid_port (const struct ddsi_tran_factory *fact,
      uint32_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fact
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: ddsi_raweth_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_raweth_receive_buffer_size (const struct ddsi_tran_factory
      *fact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:884,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:886,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tran
    - loc
    - sockaddr
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 894
    functionName: ddsi_raweth_locator_from_sockaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_locator_from_sockaddr (const struct ddsi_tran_factory
      *tran, ddsi_locator_t *loc, const struct sockaddr *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - factory
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: ddsi_raweth_get_locator_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_raweth_get_locator_port (const struct ddsi_tran_factory
      *factory, const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - factory
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: ddsi_raweth_get_locator_aux
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_raweth_get_locator_aux (const struct ddsi_tran_factory
      *factory, const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - factory
    - loc
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - uint32_t
    assertStmts:
    - condition: ((port & 0xffff0000) == 0)
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: ddsi_raweth_set_locator_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_raweth_set_locator_port (const struct ddsi_tran_factory *factory,
      ddsi_locator_t *loc, uint32_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - factory
    - loc
    - aux
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - uint32_t
    assertStmts:
    - condition: ((aux & 0xffff0000) == 0)
      pos:
        line_end: 917
        line_start: 917
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: ddsi_raweth_set_locator_aux
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_raweth_set_locator_aux (const struct ddsi_tran_factory *factory,
      ddsi_locator_t *loc, uint32_t aux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:924,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:925,1
    - Dst: ddsi_factory_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:951,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 954
    functionName: ddsi_raweth_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 1
    functionsReached:
    - ddsi_factory_add
    - ddsrt_malloc
    - memset
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_init (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: ddsi_raweth_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_raweth_init (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ddsi_ssl_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_new
    linkageType: ''
    returnType: SSL
    signature: SSL *ddsi_ssl_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_error_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:43,1
    - Dst: SSL_get_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:43,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - gv
    - ssl
    - str
    - err
    argTypes:
    - struct ddsi_domaingv*
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ddsi_ssl_error
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - GVERROR
    - ERR_error_string
    linkageType: ''
    returnType: void
    signature: void ddsi_ssl_error (const struct ddsi_domaingv *gv, SSL *ssl, const
      char *str, int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:52,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:53,1
    - Dst: X509_NAME_oneline
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:60,1
    - Dst: X509_get_issuer_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:60,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:61,1
    - Dst: X509_verify_cert_error_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ok
    - store
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: ddsi_ssl_verify
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - X509_get_issuer_name
    - DDS_ERROR
    - X509_NAME_oneline
    - X509_STORE_CTX_get_current_cert
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int ddsi_ssl_verify (int ok, X509_STORE_CTX *store)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:69,1
    - Dst: SSL_get_shutdown
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:70,1
    - Dst: SSL_read
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:77,1
    - Dst: SSL_get_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ssl
    - buf
    - len
    - rc
    argTypes:
    - SSL*
    - void*
    - size_t
    - dds_return_t*
    assertStmts:
    - condition: (len <= INT32_MAX)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: ddsi_ssl_read
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_read
    - SSL_get_error
    - assert
    - SSL_get_shutdown
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_ssl_read (SSL *ssl, void *buf, size_t len, dds_return_t
      *rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:101,1
    - Dst: SSL_get_shutdown
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:103,1
    - Dst: SSL_write
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:110,1
    - Dst: SSL_get_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ssl
    - buf
    - len
    - rc
    argTypes:
    - SSL*
    - void*
    - size_t
    - dds_return_t*
    assertStmts:
    - condition: (len <= INT32_MAX)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: ddsi_ssl_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - assert
    - SSL_write
    - SSL_get_shutdown
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_ssl_write (SSL *ssl, const void *buf, size_t len, dds_return_t
      *rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - num
    - rwflag
    - udata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: ddsi_ssl_password
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    linkageType: ''
    returnType: int
    signature: int ddsi_ssl_password (char *buf, int num, int rwflag, void *udata)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:145,1
    - Dst: SSLv23_method
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:145,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:149,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:151,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:156,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:157,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:160,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:162,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:167,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:169,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:174,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:176,1
    - Dst: RAND_load_file
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:183,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:185,1
    - Dst: SSL_CTX_set_verify
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:192,1
    - Dst: SSL_CTX_set_verify
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:201,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:215,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:220,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:225,1
    - Dst: SSL_CTX_set_options
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:228,1
    - Dst: SSL_CTX_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 234
    functionName: ddsi_ssl_ctx_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_certificate_file
    - SSL_CTX_load_verify_locations
    - SSLv23_method
    - SSL_CTX_set_default_passwd_cb_userdata
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_options
    - SSL_CTX_new
    - RAND_load_file
    - SSL_CTX_free
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_set_verify
    - SSL_CTX_use_PrivateKey_file
    - GVLOG
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *ddsi_ssl_ctx_init (struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:241,1
    - Dst: X509_get_issuer_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:241,1
    - Dst: SSL_get_peer_certificate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:241,1
    - Dst: X509_NAME_oneline
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:242,1
    - Dst: X509_get_subject_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:242,1
    - Dst: SSL_get_peer_certificate
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:242,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:243,1
    - Dst: SSL_get_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gv
    - ssl
    - oper
    argTypes:
    - struct ddsi_domaingv*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: dds_report_tls_version
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_peer_certificate
    - X509_get_issuer_name
    - X509_NAME_oneline
    - SSL_get_version
    - X509_get_subject_name
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void dds_report_tls_version (const struct ddsi_domaingv *gv, const
      SSL *ssl, const char *oper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ssl_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:256,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:257,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:258,1
    - Dst: SSL_set_fd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:259,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:260,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:261,1
    - Dst: SSL_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:262,1
    - Dst: ddsi_ssl_error
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:265,1
    - Dst: SSL_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:266,1
    - Dst: dds_report_tls_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - gv
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: ddsi_ssl_connect
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_GNUC_ON
    - SSL_connect
    - SSL_free
    - DDSRT_WARNING_GNUC_OFF
    - SSL_set_fd
    - DDSRT_WARNING_MSVC_ON
    - ddsi_ssl_error
    - ddsi_ssl_new
    - dds_report_tls_version
    linkageType: ''
    returnType: SSL
    signature: SSL *ddsi_ssl_connect (const struct ddsi_domaingv *gv, ddsrt_socket_t
      sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:276,1
    - Dst: BIO_s_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:276,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:277,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:278,1
    - Dst: BIO_set_fd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:279,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:280,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: ddsi_ssl_listen
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_fd
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - BIO_new
    - BIO_s_accept
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: BIO
    signature: BIO *ddsi_ssl_listen (ddsrt_socket_t sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_do_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:291,1
    - Dst: BIO_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:293,1
    - Dst: BIO_get_fd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:294,1
    - Dst: ddsi_ssl_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:295,1
    - Dst: SSL_set_bio
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:296,1
    - Dst: SSL_accept
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:297,1
    - Dst: SSL_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:300,1
    - Dst: dds_report_tls_version
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - gv
    - bio
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - BIO*
    - ddsrt_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: ddsi_ssl_accept
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_set_bio
    - SSL_free
    - BIO_pop
    - BIO_get_fd
    - ddsi_ssl_new
    - BIO_do_accept
    - SSL_accept
    - dds_report_tls_version
    linkageType: ''
    returnType: SSL
    signature: SSL *ddsi_ssl_accept (const struct ddsi_domaingv *gv, BIO *bio, ddsrt_socket_t
      *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_BIO_strings
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:313,1
    - Dst: SSL_load_error_strings
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:315,1
    - Dst: SSL_library_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:316,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:317,1
    - Dst: ddsi_ssl_ctx_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: ddsi_ssl_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - ddsi_ssl_ctx_init
    - OpenSSL_add_all_algorithms
    - SSL_load_error_strings
    - ERR_load_BIO_strings
    - SSL_library_init
    linkageType: ''
    returnType: bool
    signature: bool ddsi_ssl_init (struct ddsi_domaingv *gv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:324,1
    - Dst: ERR_free_strings
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:325,1
    - Dst: EVP_cleanup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: ddsi_ssl_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 0
    functionsReached:
    - EVP_cleanup
    - SSL_CTX_free
    - ERR_free_strings
    linkageType: ''
    returnType: void
    signature: void ddsi_ssl_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - struct ddsi_ssl_plugins*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: ddsi_ssl_config_plugin
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_ssl_config_plugin (struct ddsi_ssl_plugins *plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:45,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:46,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:46,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:52,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:53,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:53,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:57,1
    - Dst: ddsi_participant_generic_message_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:61,1
    - Dst: ddsi_participant_generic_message_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:63,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:66,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:67,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:68,1
    - Dst: ddsi_enqueue_sample_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:69,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:70,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:71,1
    - Dst: ddsi_participant_generic_message_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - pp
    - proxypp
    - mdata
    - request
    - related_message_id
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_dataholderseq_t*
    - bool
    - ddsi_message_identity_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 75
    functionName: ddsi_write_auth_handshake_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 1
    functionsReached:
    - ddsi_serdata_unref
    - ddsi_get_builtin_writer
    - PGUID
    - ddsrt_mutex_lock
    - ddsi_participant_generic_message_init
    - ddsi_serdata_size
    - ddsi_enqueue_sample_wrlock_held
    - ddsi_serdata_from_sample
    - ddsi_participant_generic_message_deinit
    - ddsi_entidx_lookup_proxy_reader_guid
    - GVTRACE
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_write_auth_handshake_message(const struct ddsi_participant
      *pp, const struct ddsi_proxy_participant *proxypp, ddsi_dataholderseq_t *mdata,
      bool request, const ddsi_message_identity_t *related_message_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:84,1
    - Dst: ddsi_get_participant_builtin_topic_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:85,1
    - Dst: ddsi_plist_addtomsg_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:86,1
    - Dst: ddsi_xmsg_addpar_sentinel_bo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:87,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:88,1
    - Dst: ddsi_xmsg_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:89,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:91,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:92,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pp
    - seq
    argTypes:
    - struct ddsi_participant*
    - ddsi_octetseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: ddsi_auth_get_serialized_participant_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 1
    functionsReached:
    - ddsi_get_participant_builtin_topic_data
    - memcpy
    - ddsi_plist_fini
    - ddsi_xmsg_payload
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ddsi_xmsg_addpar_sentinel_bo
    - ddsi_plist_addtomsg_bo
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsi_auth_get_serialized_participant_data(struct ddsi_participant
      *pp, ddsi_octetseq_t *seq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:106,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:120,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:124,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:126,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:126,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:128,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:130,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:130,1
    - Dst: ddsi_handshake_find
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:132,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:134,1
    - Dst: ddsi_handshake_handle_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:139,1
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - rst
    - wr_entity_id
    - sample_common
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_entityid_t
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 142
    functionName: ddsi_handle_auth_handshake_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_handle_message
    - RSTTRACE
    - PGUID
    - ddsi_handshake_release
    - DDSRT_UNUSED_ARG
    - ddsi_handshake_find
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_auth_handshake_message(const struct ddsi_receiver_state
      *rst, ddsi_entityid_t wr_entity_id, struct ddsi_serdata *sample_common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:156,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:158,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:158,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:164,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:167,1
    - Dst: ddsi_participant_generic_message_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:173,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:174,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:175,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:176,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:177,1
    - Dst: ddsi_write_sample_p2p_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:178,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:179,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:180,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:181,1
    - Dst: ddsi_participant_generic_message_deinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - pp
    - dst_pguid
    - src_eguid
    - dst_eguid
    - classid
    - tokens
    argTypes:
    - struct ddsi_participant*
    - ddsi_guid_t*
    - ddsi_guid_t*
    - ddsi_guid_t*
    - char*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 186
    functionName: write_crypto_exchange_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 0
    functionsReached:
    - ddsi_write_sample_p2p_wrlock_held
    - ddsi_tkmap_instance_unref
    - ddsi_serdata_unref
    - ddsi_get_builtin_writer
    - PGUID
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_participant_generic_message_init
    - ddsi_serdata_size
    - ddsi_participant_generic_message_deinit
    - ddsi_serdata_from_sample
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    - GVLOG
    linkageType: ''
    returnType: bool
    signature: bool write_crypto_exchange_message(const struct ddsi_participant *pp,
      const ddsi_guid_t *dst_pguid, const ddsi_guid_t *src_eguid, const ddsi_guid_t
      *dst_eguid, const char *classid, const ddsi_dataholderseq_t *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_crypto_exchange_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pp
    - proxypp
    - tokens
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 6
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: ddsi_write_crypto_participant_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 1
    functionsReached:
    - write_crypto_exchange_message
    linkageType: ''
    returnType: bool
    signature: bool ddsi_write_crypto_participant_tokens(const struct ddsi_participant
      *pp, const struct ddsi_proxy_participant *proxypp, const ddsi_dataholderseq_t
      *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_crypto_exchange_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wr
    - prd
    - tokens
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: ddsi_write_crypto_writer_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 1
    functionsReached:
    - write_crypto_exchange_message
    linkageType: ''
    returnType: bool
    signature: bool ddsi_write_crypto_writer_tokens(const struct ddsi_writer *wr,
      const struct ddsi_proxy_reader *prd, const ddsi_dataholderseq_t *tokens)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_crypto_exchange_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rd
    - pwr
    - tokens
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - ddsi_dataholderseq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: ddsi_write_crypto_reader_tokens
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 1
    functionsReached:
    - write_crypto_exchange_message
    linkageType: ''
    returnType: bool
    signature: bool ddsi_write_crypto_reader_tokens(const struct ddsi_reader *rd,
      const struct ddsi_proxy_writer *pwr, const ddsi_dataholderseq_t *tokens)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:219,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:221,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:224,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:224,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:224,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:227,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:230,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:230,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:230,1
    - Dst: ddsi_omg_security_set_participant_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:233,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:235,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:237,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:240,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:240,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:240,1
    - Dst: ddsi_omg_security_set_remote_writer_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:243,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:245,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:247,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:250,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:250,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:250,1
    - Dst: ddsi_omg_security_set_remote_reader_crypto_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:253,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:260,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - rst
    - sample_common
    argTypes:
    - struct ddsi_receiver_state*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 262
    functionName: ddsi_handle_crypto_exchange_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - ddsi_entidx_lookup_proxy_participant_guid
    - ddsi_omg_security_set_participant_crypto_tokens
    - ddsi_entidx_lookup_reader_guid
    - ddsi_omg_security_set_remote_writer_crypto_tokens
    - ddsi_omg_security_set_remote_reader_crypto_tokens
    - PGUID
    - strcmp
    - ddsi_entidx_lookup_writer_guid
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_crypto_exchange_message(const struct ddsi_receiver_state
      *rst, struct ddsi_serdata *sample_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: compare_xlocators_vwrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_xlocators
    linkageType: ''
    returnType: int
    signature: int compare_xlocators_vwrap (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: compare_spdp_pp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_guid
    linkageType: ''
    returnType: int
    signature: int compare_spdp_pp (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:180,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:180,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:182,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:183,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:185,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:190,1
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:196,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:202,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:202,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:203,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - adm
    - xloc
    - prune_delay
    argTypes:
    - struct spdp_admin*
    - ddsi_xlocator_t*
    - dds_duration_t
    assertStmts:
    - condition: (ddsrt_avl_is_empty (&adm->live))
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 211
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 211
    functionName: add_peer_address_xlocator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup_ipath
    - ddsrt_avl_is_empty
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mtime_add_duration
    - DDS_MSECS
    - ddsrt_malloc_s
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_peer_address_xlocator (struct spdp_admin *adm, const
      ddsi_xlocator_t *xloc, dds_duration_t prune_delay)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:217,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:219,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:224,1
    - Dst: add_peer_address_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:225,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:237,1
    - Dst: ddsi_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:239,1
    - Dst: add_peer_address_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:256,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - adm
    - loc
    - prune_delay
    argTypes:
    - struct spdp_admin*
    - ddsi_locator_t*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 262
    functionName: add_peer_address_ports_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_is_nearby_address
    - ddsi_is_unspec_locator
    - add_peer_address_xlocator
    - ddsi_factory_supports
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_peer_address_ports_interface (struct spdp_admin *adm,
      const ddsi_locator_t *loc, dds_duration_t prune_delay)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_factory_find_supported_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:267,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:268,1
    - Dst: ddsi_tran_get_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:275,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:279,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:281,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:281,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:286,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:286,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:290,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:290,1
    - Dst: add_peer_address_ports_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:291,1
    - Dst: ddsi_tran_set_locator_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:294,1
    - Dst: ddsi_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:294,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:296,1
    - Dst: add_peer_address_ports_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:297,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - adm
    - loc
    - prune_delay
    argTypes:
    - struct spdp_admin*
    - ddsi_locator_t*
    - dds_duration_t
    assertStmts:
    - condition: (tran != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 301
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 301
    functionName: add_peer_address_ports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_find_supported_kind
    - assert
    - ddsi_tran_set_locator_port
    - ddsi_tran_get_locator_port
    - GVLOG
    - ddsi_get_port
    - add_peer_address_ports_interface
    - ddsi_locator_to_string
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_peer_address_ports (struct spdp_admin *adm, ddsi_locator_t
      *loc, dds_duration_t prune_delay)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:305,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:309,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:311,1
    - Dst: ddsi_locator_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:314,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:319,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:322,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:325,1
    - Dst: add_peer_address_ports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:328,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:335,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:337,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - adm
    - addrs
    - prune_delay
    argTypes:
    - struct spdp_admin*
    - char*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 338
    functionName: add_peer_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_from_string
    - add_peer_address_ports
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - ddsrt_strdup
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_strsep
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_peer_address (struct spdp_admin *adm, const char *addrs,
      dds_duration_t prune_delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_peer_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - adm
    - list
    argTypes:
    - struct spdp_admin*
    - struct ddsi_config_peer_listelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: add_peer_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - add_peer_address
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_peer_addresses (struct spdp_admin *adm, const struct
      ddsi_config_peer_listelem *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_peer_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:360,1
    - Dst: ddsi_locator_to_string_no_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:366,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:367,1
    - Dst: add_peer_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:371,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:384,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:389,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:390,1
    - Dst: ddsi_spdp_ref_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - adm
    - add_localhost
    argTypes:
    - struct spdp_admin*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 395
    functionName: populate_initial_addresses
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_locator_to_string_no_port
    - ddsi_spdp_ref_locator
    - ddsi_xlocator_to_string
    - add_peer_addresses
    - ddsi_factory_supports
    - GVLOG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t populate_initial_addresses (struct spdp_admin *adm, bool
      add_localhost)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:400,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:402,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:404,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:405,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:406,1
    - Dst: populate_initial_addresses
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:408,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:410,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:411,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:412,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:413,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:419,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:421,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - gv
    - add_localhost
    argTypes:
    - struct ddsi_domaingv*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 397
    functionDepth: 8
    functionLinenumber: 397
    functionLinenumberEnd: 425
    functionName: ddsi_spdp_scheduler_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 1
    functionsReached:
    - ddsi_qxev_callback
    - ddsrt_free
    - ddsrt_avl_init
    - ddsrt_avl_free
    - ddsrt_malloc_s
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - ddsrt_time_monotonic
    - populate_initial_addresses
    linkageType: ''
    returnType: struct spdp_admin
    signature: struct spdp_admin *ddsi_spdp_scheduler_new (struct ddsi_domaingv *gv,
      bool add_localhost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:429,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:429,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:433,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:433,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:434,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:437,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:438,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:440,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:441,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:442,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - adm
    argTypes:
    - struct spdp_admin*
    assertStmts:
    - condition: (ddsrt_avl_is_empty (&adm->pp))
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (n->proxypp_refc == 1)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 444
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 444
    functionName: ddsi_spdp_scheduler_delete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_free
    - ddsrt_avl_iter_first
    - ddsrt_avl_is_empty
    - assert
    - ddsi_delete_xevent
    - ddsrt_avl_free
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_spdp_scheduler_delete (struct spdp_admin *adm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:449,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:450,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:451,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:452,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:453,1
    - Dst: ddsi_spdp_force_republish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:455,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:459,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - adm
    - pp
    argTypes:
    - struct spdp_admin*
    - struct ddsi_participant*
    assertStmts:
    - condition: (pp->spdp_serdata)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (pp->spdp_seqno == 1)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (pp->spdp_serdata->statusinfo == 0)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 527
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 527
    functionName: ddsi_spdp_register_participant
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 1
    functionsReached:
    - ddsi_spdp_force_republish
    - assert
    - ddsrt_mutex_lock
    - ddsi_xlocator_to_string
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_spdp_register_participant (struct spdp_admin *adm,
      const struct ddsi_participant *pp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:556,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:560,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:561,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:562,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:567,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:567,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:571,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:572,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:572,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:573,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:579,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:579,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:580,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:591,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:591,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:592,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:599,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:600,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:603,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:604,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:605,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:605,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:606,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - adm
    - xloc
    - on_lease_expiry
    argTypes:
    - struct spdp_admin*
    - ddsi_xlocator_t*
    - bool
    assertStmts:
    - condition: (n != NULL)
      pos:
        line_end: 560
        line_start: 560
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (n->live.proxypp_refc > 0)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (ddsrt_avl_lookup (&spdp_loc_td, &adm->aging, xloc) == NULL)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 610
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 610
    functionName: ddsi_spdp_unref_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_mutex_unlock
    - ddsrt_free
    - ddsrt_avl_lookup
    - DDS_SECS
    - assert
    - ddsrt_mutex_lock
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    - ddsrt_mtime_add_duration
    - ddsi_xlocator_to_string
    - ddsi_resched_xevent_if_earlier
    - GVTRACE
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_spdp_unref_locator (struct spdp_admin *adm, const ddsi_xlocator_t
      *xloc, bool on_lease_expiry)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:632,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:635,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:635,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:652,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:654,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:657,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:659,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:660,1
    - Dst: ddsi_create_fragment_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:667,1
    - Dst: ddsi_xmsg_setdst1_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:671,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:674,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:676,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - xp
    - pp
    - dst
    argTypes:
    - struct ddsi_xpack*
    - struct ddsi_participant*
    - struct resend_spdp_dst*
    assertStmts:
    - condition: ((xloc != NULL) != (prd != NULL))
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - condition: (serdata)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 680
      start: 626
    functionDepth: 9
    functionLinenumber: 626
    functionLinenumberEnd: 680
    functionName: resend_spdp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsi_xpack_addmsg
    - ddsi_qxev_msg
    - ddsi_serdata_unref
    - ddsi_get_builtin_writer
    - assert
    - PGUID
    - ddsrt_mutex_lock
    - ddsi_serdata_ref
    - ddsi_xmsg_setdst1_generic
    - ETRACE
    - ddsrt_mutex_unlock
    - ddsi_create_fragment_message
    linkageType: ''
    returnType: void
    signature: void resend_spdp (struct ddsi_xpack *xp, const struct ddsi_participant
      *pp, const struct resend_spdp_dst *dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:686,1
    - Dst: ddsrt_mtime_t::ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:687,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:689,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:690,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:693,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:697,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:697,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:698,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:699,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:706,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:706,1
    - Dst: resend_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:707,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:724,1
    - Dst: ddsrt_mtime_t::ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:725,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - adm
    - xp
    - tnow
    argTypes:
    - struct spdp_admin*
    - struct ddsi_xpack*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 682
    functionDepth: 10
    functionLinenumber: 682
    functionLinenumberEnd: 737
    functionName: ddsrt_mtime_t::spdp_do_aging_locators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - GVLOGDISC
    - ddsrt_free
    - ddsrt_avl_iter_first
    - DDS_SECS
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_xlocator_to_string
    - ddsrt_mtime_t::ddsrt_mtime_add_duration
    - ddsrt_avl_find_succ
    - resend_spdp
    - ddsrt_mutex_unlock
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all ddsrt_mtime_t spdp_do_aging_locators (struct spdp_admin
      *adm, struct ddsi_xpack *xp, ddsrt_mtime_t tnow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:751,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:756,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:759,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:761,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: dds_duration_t
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - DDS_MSECS
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_duration_t spdp_intv (const struct ddsi_participant
      *pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:770,1
    - Dst: ddsrt_mtime_t::ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:771,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:775,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:777,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:777,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:778,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:778,1
    - Dst: resend_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:780,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:783,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:783,1
    - Dst: ddsrt_mtime_t::ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:786,1
    - Dst: spdp_intv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:786,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - adm
    - xp
    - tnow
    argTypes:
    - struct spdp_admin*
    - struct ddsi_xpack*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 767
    functionDepth: 10
    functionLinenumber: 767
    functionLinenumberEnd: 792
    functionName: ddsrt_mtime_t::spdp_do_live_locators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - DDS_MSECS
    - spdp_intv
    - ddsrt_mtime_t::ddsrt_mtime_add_duration
    - resend_spdp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all ddsrt_mtime_t spdp_do_live_locators (struct spdp_admin
      *adm, struct ddsi_xpack *xp, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdp_do_aging_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:798,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 800
    functionName: ddsi_spdp_handle_aging_locators_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - spdp_do_aging_locators
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void ddsi_spdp_handle_aging_locators_xevent_cb (struct ddsi_domaingv
      *gv, struct ddsi_xevent *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t
      tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spdp_do_live_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:806,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - gv
    - xev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 808
    functionName: ddsi_spdp_handle_live_locators_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 0
    functionsReached:
    - spdp_do_live_locators
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void ddsi_spdp_handle_live_locators_xevent_cb (struct ddsi_domaingv
      *gv, struct ddsi_xevent *xev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t
      tnow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:822,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:823,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:824,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:827,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:829,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:829,1
    - Dst: resend_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:830,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:831,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:831,1
    - Dst: resend_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:832,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:833,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:838,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:841,1
    - Dst: resend_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:842,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - adm
    - pp
    - prd
    argTypes:
    - struct spdp_admin*
    - struct ddsi_participant*
    - struct ddsi_proxy_reader*
    assertStmts:
    - condition: (pp->spdp_serdata)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    constantsTouched: []
    func_position:
      end: 851
      start: 810
    functionDepth: 10
    functionLinenumber: 810
    functionLinenumberEnd: 851
    functionName: ddsi_spdp_force_republish
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    functionUses: 3
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_avl_iter_first
    - assert
    - ddsrt_mutex_lock
    - resend_spdp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_spdp_force_republish (struct spdp_admin *adm, const struct
      ddsi_participant *pp, const struct ddsi_proxy_reader *prd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: DDSI_SERDATA_PSEROP_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_PSEROP_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DDSI_SERDATA_PSEROP_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_PSEROP_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: serdata_pserop_get_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serdata_pserop_get_size (const struct ddsi_serdata *dcmn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: serdata_pserop_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool serdata_pserop_eqkey (const struct ddsi_serdata *acmn, const struct
      ddsi_serdata *bcmn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_fini_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:50,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:52,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dcmn
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: serdata_pserop_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_fini_generic
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void serdata_pserop_free (struct ddsi_serdata *dcmn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:62,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:68,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:71,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:79,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - tp
    - kind
    - size
    - cdr_header
    argTypes:
    - struct ddsi_sertype_pserop*
    - enum ddsi_serdata_kind
    - size_t
    - void*
    assertStmts:
    - condition: (kind != SDK_EMPTY)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: serdata_pserop_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_free
    - ddsi_serdata_init
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_serdata_pserop
    signature: struct ddsi_serdata_pserop *serdata_pserop_new (const struct ddsi_sertype_pserop
      *tp, enum ddsi_serdata_kind kind, size_t size, const void *cdr_header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:89,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:94,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:96,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:97,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:102,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - tp
    - d
    argTypes:
    - struct ddsi_sertype_pserop*
    - struct ddsi_serdata_pserop*
    assertStmts:
    - condition: (d->pos >= 16 && tp->memsize >= 16)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: serdata_pserop_fix
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - assert
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - ddsrt_mh3
    - ddsi_plist_deser_generic
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_fix (const struct ddsi_sertype_pserop
      *tp, struct ddsi_serdata_pserop *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: serdata_pserop_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:115,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:115,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:115,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:120,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:123,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:124,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:128,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:128,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:130,1
    - Dst: serdata_pserop_fix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - tpcmn
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts:
    - condition: (fragchain->maxp1 >= off)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    - condition: (fragchain->min == 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    - condition: (frag->min <= off)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    - condition: (frag->maxp1 <= size)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 7
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: serdata_pserop_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - DDSI_RMSG_PAYLOADOFF
    - DDSI_RDATA_PAYLOAD_OFF
    - serdata_pserop_fix
    - serdata_pserop_new
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_from_ser (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:140,1
    - Dst: serdata_pserop_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:150,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:153,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:157,1
    - Dst: serdata_pserop_fix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - tpcmn
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts:
    - condition: (niov >= 1)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: serdata_pserop_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - serdata_pserop_fix
    - serdata_pserop_new
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_from_ser_iov (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t
      *iov, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_pserop_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tpcmn
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - ddsi_keyhash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 8
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: serdata_pserop_from_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - serdata_pserop_from_ser_iov
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_from_keyhash (const struct ddsi_sertype
      *tpcmn, const ddsi_keyhash_t *keyhash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:174,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:176,1
    - Dst: DDSI_RTPS_CDR_ENC_IS_NATIVE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:179,1
    - Dst: ddsi_plist_deser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:180,1
    - Dst: ddsi_plist_unalias_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:181,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts:
    - condition: (ret >= 0)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: serdata_pserop_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - DDSI_RTPS_CDR_ENC_IS_NATIVE
    - ddsi_plist_unalias_generic
    - ddsi_plist_deser_generic
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_pserop_to_sample (const struct ddsi_serdata *serdata_common,
      void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: serdata_pserop_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void serdata_pserop_to_ser (const struct ddsi_serdata *serdata_common,
      size_t off, size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - serdata_common
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: serdata_pserop_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_to_ser_ref (const struct ddsi_serdata
      *serdata_common, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serdata_common
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: serdata_pserop_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void serdata_pserop_to_ser_unref (struct ddsi_serdata *serdata_common,
      const ddsrt_iovec_t *ref)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:211,1
    - Dst: serdata_pserop_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:215,1
    - Dst: ddsi_plist_ser_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:222,1
    - Dst: serdata_pserop_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:225,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:227,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:230,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:231,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:232,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:233,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:235,1
    - Dst: serdata_pserop_fix
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - tpcmn
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts:
    - condition: (tp->ops_key == NULL || (size >= 16 && tp->memsize >= 16))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    - condition: (d->data != NULL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 7
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: serdata_pserop_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - assert
    - memset
    - ddsi_plist_ser_generic
    - ddsi_sertype_get_native_enc_identifier
    - serdata_pserop_fix
    - serdata_pserop_new
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_from_sample (const struct ddsi_sertype
      *tpcmn, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serdata_pserop_from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:246,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serdata_common
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (dcmn_tl != NULL)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 8
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: serdata_pserop_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - assert
    - serdata_pserop_from_ser_iov
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *serdata_pserop_to_untyped (const struct ddsi_serdata
      *serdata_common)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:256,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - type_common
    - serdata_common
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: serdata_pserop_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - memcpy
    - abort
    linkageType: ''
    returnType: bool
    signature: bool serdata_pserop_untyped_to_sample (const struct ddsi_sertype *type_common,
      const struct ddsi_serdata *serdata_common, void *sample, void **bufptr, void
      *buflim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:267,1
    - Dst: ddsi_plist_ser_generic_be
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:275,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:276,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:278,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:282,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:283,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:284,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - serdata_common
    - buf
    - force_md5
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_keyhash*
    - bool
    assertStmts:
    - condition: (besize == 16)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: serdata_pserop_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_ser_generic_be
    - ddsrt_free
    - memcpy
    - assert
    - ddsrt_md5_finish
    - memset
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void serdata_pserop_get_keyhash (const struct ddsi_serdata *serdata_common,
      struct ddsi_keyhash *buf, bool force_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_print_generic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sertype_common
    - serdata_common
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: serdata_pserop_print_pserop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    functionUses: 0
    functionsReached:
    - ddsi_plist_print_generic
    linkageType: ''
    returnType: size_t
    signature: size_t serdata_pserop_print_pserop (const struct ddsi_sertype *sertype_common,
      const struct ddsi_serdata *serdata_common, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: uint32_t_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint32_t_cmp(const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:34,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:35,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:36,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:37,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:37,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:39,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:40,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:41,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct ddsi_inverse_uint32_set*
    assertStmts:
    - condition: (set->min <= set->max)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (set->cursor <= set->max)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (set->cursor >= set->min)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (n->min <= n->max)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (n->min >= set->min)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (n->max <= set->max)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (pn == NULL || n->min > pn->max+1)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: check
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 16
    functionsReached:
    - ddsrt_avl_iter_first
    - ddsrt_avl_iter_next
    - assert
    linkageType: ''
    returnType: void
    signature: void check(const struct ddsi_inverse_uint32_set *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:52,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:56,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:59,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - set
    - min
    - max
    argTypes:
    - struct ddsi_inverse_uint32_set*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: ddsi_inverse_uint32_set_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - check
    - ddsrt_malloc
    - ddsrt_avl_init
    linkageType: ''
    returnType: void
    signature: void ddsi_inverse_uint32_set_init(struct ddsi_inverse_uint32_set *set,
      uint32_t min, uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct ddsi_inverse_uint32_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ddsi_inverse_uint32_set_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_free
    linkageType: ''
    returnType: void
    signature: void ddsi_inverse_uint32_set_fini(struct ddsi_inverse_uint32_set *set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:73,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - set
    - n
    argTypes:
    - struct ddsi_inverse_uint32_set*
    - struct ddsi_inverse_uint32_set_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: inverse_uint32_set_alloc_use_min
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_avl_delete
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t inverse_uint32_set_alloc_use_min(struct ddsi_inverse_uint32_set
      *set, struct ddsi_inverse_uint32_set_node *n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:87,1
    - Dst: inverse_uint32_set_alloc_use_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:92,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:96,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:101,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:102,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:106,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:109,1
    - Dst: inverse_uint32_set_alloc_use_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:112,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:114,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:117,1
    - Dst: inverse_uint32_set_alloc_use_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:124,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - id
    - set
    argTypes:
    - uint32_t*
    - struct ddsi_inverse_uint32_set*
    assertStmts:
    - condition: (n->min < n->max)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (n->min < set->cursor && set->cursor < n->max)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (n->max < set->cursor)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    - condition: (*id >= set->min)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    constantsTouched: []
    func_position:
      end: 128
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 128
    functionName: ddsi_inverse_uint32_set_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_avl_lookup_pred_eq
    - check
    - ddsrt_avl_lookup_succ
    - assert
    - inverse_uint32_set_alloc_use_min
    - ddsrt_malloc
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: int
    signature: int ddsi_inverse_uint32_set_alloc(uint32_t * const id, struct ddsi_inverse_uint32_set
      *set)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:135,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:146,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:150,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:151,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:155,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:162,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:164,1
    - Dst: check
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - set
    - id
    argTypes:
    - struct ddsi_inverse_uint32_set*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: ddsi_inverse_uint32_set_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_avl_lookup_pred_eq
    - check
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - ddsrt_avl_delete_dpath
    - ddsrt_avl_lookup_dpath
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsi_inverse_uint32_set_free(struct ddsi_inverse_uint32_set *set,
      uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - logcfg
    - ','
    - guard
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: LOG_THREAD_CPUTIME
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__log.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_THREAD_CPUTIME(logcfg, guard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - logcfg
    - ','
    - guard
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: LOG_THREAD_CPUTIME
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__log.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_THREAD_CPUTIME(logcfg, guard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: DDSI_SEQUENCE_NUMBER_SET_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SEQUENCE_NUMBER_SET_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: DDSI_FRAGMENT_NUMBER_SET_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_FRAGMENT_NUMBER_SET_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: DDSI_ACKNACK_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_ACKNACK_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: DDSI_GAP_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_GAP_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - numbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: DDSI_NACKFRAG_SIZE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_NACKFRAG_SIZE(numbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: cmp_type_ptrs
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_type_ptrs (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:65,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - gv
    - sample
    - tk
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: free_sample_after_store
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsi_serdata_unref
    linkageType: ''
    returnType: void
    signature: void free_sample_after_store (struct ddsi_domaingv *gv, struct ddsi_serdata
      *sample, struct ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tsc
    argTypes:
    - struct type_sample_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: type_sample_cache_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_init
    linkageType: ''
    returnType: void
    signature: void type_sample_cache_init (struct type_sample_cache *tsc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_sample_after_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:80,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: free_large_entry
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - free_sample_after_store
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_large_entry (void *vnode, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_sample_after_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:88,1
    - Dst: ddsrt_avl_free_arg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - tsc
    - gv
    argTypes:
    - struct type_sample_cache*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: type_sample_cache_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_free_arg
    - free_sample_after_store
    linkageType: ''
    returnType: void
    signature: void type_sample_cache_fini (struct type_sample_cache *tsc, struct
      ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sample
    - tk
    - tsc
    - type
    argTypes:
    - struct ddsi_serdata**
    - struct ddsi_tkmap_instance**
    - struct type_sample_cache*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: type_sample_cache_lookup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: bool
    signature: bool type_sample_cache_lookup (struct ddsi_serdata **sample, struct
      ddsi_tkmap_instance **tk, struct type_sample_cache *tsc, const struct ddsi_sertype
      *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:126,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - tsc
    - type
    - sample
    - tk
    argTypes:
    - struct type_sample_cache*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: type_sample_cache_store
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void type_sample_cache_store (struct type_sample_cache *tsc, const
      struct ddsi_sertype *type, struct ddsi_serdata *sample, struct ddsi_tkmap_instance
      *tk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:137,1
    - Dst: struct ddsi_deliver_locally_ops*::makesample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:143,1
    - Dst: EETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:145,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:145,1
    - Dst: ddsrt_atomic_add64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:149,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:149,1
    - Dst: ddsi_rhc_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:150,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:153,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:154,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:154,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:156,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:157,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:158,1
    - Dst: free_sample_after_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - gv
    - source_entity
    - source_entity_locked
    - rdguid
    - wrinfo
    - ops
    - vsourceinfo
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_entity_common*
    - bool
    - ddsi_guid_t*
    - struct ddsi_writer_info*
    - struct ddsi_deliver_locally_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: ddsi_deliver_locally_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - struct ddsi_deliver_locally_ops*::makesample
    - EETRACE
    - ddsi_rhc_store
    - PGUID
    - ddsrt_mutex_lock
    - dds_sleepfor
    - ddsi_serdata_size
    - ddsrt_atomic_add64
    - DDS_MSECS
    - free_sample_after_store
    - ddsi_entidx_lookup_guid_untyped
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_deliver_locally_one (struct ddsi_domaingv *gv, struct
      ddsi_entity_common *source_entity, bool source_entity_locked, const ddsi_guid_t
      *rdguid, const struct ddsi_writer_info *wrinfo, const struct ddsi_deliver_locally_ops
      *ops, void *vsourceinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: type_sample_cache_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:181,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:183,1
    - Dst: struct ddsi_deliver_locally_ops*::first_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:187,1
    - Dst: struct ddsi_deliver_locally_ops*::next_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:189,1
    - Dst: type_sample_cache_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:193,1
    - Dst: struct ddsi_deliver_locally_ops*::makesample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:195,1
    - Dst: type_sample_cache_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:196,1
    - Dst: EETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:201,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:201,1
    - Dst: ddsrt_atomic_add64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:203,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:203,1
    - Dst: ddsi_rhc_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:204,1
    - Dst: EETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:207,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:209,1
    - Dst: type_sample_cache_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - gv
    - source_entity
    - source_entity_locked
    - wrinfo
    - ops
    - vsourceinfo
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_entity_common*
    - bool
    - struct ddsi_writer_info*
    - struct ddsi_deliver_locally_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 169
    functionDepth: 7
    functionLinenumber: 169
    functionLinenumberEnd: 212
    functionName: deliver_locally_slowpath
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - struct ddsi_deliver_locally_ops*::next_reader
    - struct ddsi_deliver_locally_ops*::makesample
    - EETRACE
    - ddsi_rhc_store
    - ddsrt_mutex_lock
    - PGUID
    - type_sample_cache_lookup
    - type_sample_cache_init
    - struct ddsi_deliver_locally_ops*::first_reader
    - ddsi_serdata_size
    - type_sample_cache_fini
    - ddsrt_atomic_add64
    - type_sample_cache_store
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deliver_locally_slowpath (struct ddsi_domaingv *gv, struct
      ddsi_entity_common *source_entity, bool source_entity_locked, const struct ddsi_writer_info
      *wrinfo, const struct ddsi_deliver_locally_ops *ops, void *vsourceinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_deliver_locally_ops*::makesample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:223,1
    - Dst: ddsrt_atomic_add64
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:233,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:233,1
    - Dst: ddsi_rhc_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:234,1
    - Dst: struct ddsi_deliver_locally_ops*::on_failure_fastpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:236,1
    - Dst: free_sample_after_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:238,1
    - Dst: free_sample_after_store
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - gv
    - source_entity
    - source_entity_locked
    - fastpath_rdary
    - wrinfo
    - ops
    - vsourceinfo
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_entity_common*
    - bool
    - struct ddsi_local_reader_ary*
    - struct ddsi_writer_info*
    - struct ddsi_deliver_locally_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 247
    functionName: deliver_locally_fastpath
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 0
    functionsReached:
    - struct ddsi_deliver_locally_ops*::on_failure_fastpath
    - struct ddsi_deliver_locally_ops*::makesample
    - ddsi_rhc_store
    - ddsi_serdata_size
    - ddsrt_atomic_add64
    - free_sample_after_store
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t deliver_locally_fastpath (struct ddsi_domaingv *gv, struct
      ddsi_entity_common *source_entity, bool source_entity_locked, struct ddsi_local_reader_ary
      *fastpath_rdary, const struct ddsi_writer_info *wrinfo, const struct ddsi_deliver_locally_ops
      *ops, void *vsourceinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:255,1
    - Dst: EETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:258,1
    - Dst: deliver_locally_fastpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:260,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:263,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:267,1
    - Dst: deliver_locally_slowpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - gv
    - source_entity
    - source_entity_locked
    - fastpath_rdary
    - wrinfo
    - ops
    - vsourceinfo
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_entity_common*
    - bool
    - struct ddsi_local_reader_ary*
    - struct ddsi_writer_info*
    - struct ddsi_deliver_locally_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 249
    functionDepth: 8
    functionLinenumber: 249
    functionLinenumberEnd: 272
    functionName: ddsi_deliver_locally_allinsync
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    functionUses: 2
    functionsReached:
    - deliver_locally_slowpath
    - EETRACE
    - deliver_locally_fastpath
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_deliver_locally_allinsync (struct ddsi_domaingv *gv,
      struct ddsi_entity_common *source_entity, bool source_entity_locked, struct
      ddsi_local_reader_ary *fastpath_rdary, const struct ddsi_writer_info *wrinfo,
      const struct ddsi_deliver_locally_ops *ops, void *vsourceinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:39,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - dst
    - sizeof_dst
    - loc
    - conn
    - with_port
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    - struct ddsi_tran_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: ddsi_vnet_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *ddsi_vnet_to_string (char *dst, size_t sizeof_dst, const ddsi_locator_t
      *loc, struct ddsi_tran_conn * conn, int with_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fact_cmn
    - kind
    argTypes:
    - struct ddsi_tran_factory*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ddsi_vnet_supports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vnet_supports (const struct ddsi_tran_factory *fact_cmn,
      int32_t kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ddsi_vnet_conn_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_vnet_conn_handle (struct ddsi_tran_base * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vfact
    - base
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - struct ddsi_tran_base*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: ddsi_vnet_conn_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_conn_locator (struct ddsi_tran_factory * vfact, struct
      ddsi_tran_base * base, ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - conn_cmn
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ddsi_vnet_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_vnet_conn_write (struct ddsi_tran_conn * conn_cmn, const
      ddsi_locator_t *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:81,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:83,1
    - Dst: ddsi_factory_conn_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:85,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - conn_out
    - fact_cmn
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: ddsi_vnet_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - DDS_CTRACE
    - ddsrt_malloc
    - ddsi_factory_conn_init
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_vnet_create_conn (struct ddsi_tran_conn **conn_out,
      struct ddsi_tran_factory * fact_cmn, uint32_t port, const struct ddsi_tran_qos
      *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:102,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ddsi_vnet_release_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - DDS_CTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_vnet_release_conn (struct ddsi_tran_conn * conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: ddsi_vnet_is_not
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_is_not (const struct ddsi_tran_factory *tran, const ddsi_locator_t
      *loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - loc
    - ninterf
    - interf
    - interf_idx
    argTypes:
    - ddsi_locator_t*
    - size_t
    - struct ddsi_network_interface[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: ddsi_vnet_is_nearby_address
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: enum ddsi_nearby_address_result
    signature: enum ddsi_nearby_address_result ddsi_vnet_is_nearby_address (const
      ddsi_locator_t *loc, size_t ninterf, const struct ddsi_network_interface interf[],
      size_t *interf_idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:137,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:147,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:148,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - tran_cmn
    - loc
    - str
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: ddsi_vnet_address_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - sscanf
    - memset
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_vnet_address_from_string
      (const struct ddsi_tran_factory *tran_cmn, ddsi_locator_t *loc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:168,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:171,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:174,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - fact
    - transport_selector
    - ifs
    argTypes:
    - struct ddsi_tran_factory*
    - enum ddsi_transport_selector
    - ddsrt_ifaddrs_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: ddsi_vnet_enumerate_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_enumerate_interfaces (struct ddsi_tran_factory * fact,
      enum ddsi_transport_selector transport_selector, ddsrt_ifaddrs_t **ifs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fact
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: ddsi_vnet_is_valid_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_is_valid_port (const struct ddsi_tran_factory *fact,
      uint32_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fact
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: ddsi_vnet_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_vnet_receive_buffer_size (const struct ddsi_tran_factory
      *fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:198,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - tran
    - loc
    - sockaddr
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: ddsi_vnet_locator_from_sockaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_locator_from_sockaddr (const struct ddsi_tran_factory
      *tran, ddsi_locator_t *loc, const struct sockaddr *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:207,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:208,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fact
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: ddsi_vnet_deinit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_vnet_deinit (struct ddsi_tran_factory * fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:214,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:215,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:219,1
    - Dst: ddsi_factory_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:238,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 3
    argNames:
    - gv
    - name
    - locator_kind
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: ddsi_vnet_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    functionUses: 3
    functionsReached:
    - memset
    - ddsrt_strdup
    - ddsi_factory_add
    - ddsrt_malloc
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_vnet_init (struct ddsi_domaingv *gv, const char *name, int32_t
      locator_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct ddsi_lat_estim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: ddsi_lat_estim_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_lat_estim_init (struct ddsi_lat_estim *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ddsi_lat_estim_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_lat_estim_fini (UNUSED_ARG (struct ddsi_lat_estim *le))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: cmpfloat
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpfloat (const float *a, const float *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:49,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - le
    - est
    argTypes:
    - struct ddsi_lat_estim*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: ddsi_lat_estim_update
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 1
    functionsReached:
    - qsort
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ddsi_lat_estim_update (struct ddsi_lat_estim *le, int64_t est)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:66,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:67,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:69,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:71,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:73,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - logcat
    - logcfg
    - tag
    - le
    argTypes:
    - uint32_t
    - struct ddsrt_log_cfg*
    - char*
    - struct ddsi_lat_estim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: ddsi_lat_estim_log
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 1
    functionsReached:
    - qsort
    - memcpy
    - DDS_CLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_lat_estim_log (uint32_t logcat, const struct ddsrt_log_cfg
      *logcfg, const char *tag, const struct ddsi_lat_estim *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct ddsi_lat_estim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: ddsi_lat_estim_current
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ddsi_lat_estim_current (const struct ddsi_lat_estim *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sl
    - gv
    argTypes:
    - struct ddsi_threadmon*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: find_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct threadmon_domain
    signature: struct threadmon_domain *find_domain (struct ddsi_threadmon *sl, const
      struct ddsi_domaingv *gv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:64,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:74,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sl
    - nthreads
    argTypes:
    - struct ddsi_threadmon*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: update_av_ary
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_malloc
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void update_av_ary (struct ddsi_threadmon *sl, uint32_t nthreads)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:88,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:88,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:90,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:94,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:99,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:105,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:115,1
    - Dst: update_av_ary
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:125,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:130,1
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:131,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:132,1
    - Dst: find_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:133,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:137,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:137,1
    - Dst: ddsi_vtime_gt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:137,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:145,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:159,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:170,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:170,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:173,1
    - Dst: DDS_CTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:176,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:180,1
    - Dst: ddsi_log_stack_traces
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:182,1
    - Dst: ddsrt_getrusage
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:194,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:196,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:210,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - void*
    assertStmts:
    - condition: (threadidx < tslist->nthreads)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    constantsTouched: []
    func_position:
      end: 212
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 212
    functionName: threadmon_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 0
    functionsReached:
    - DDS_CLOG
    - ddsrt_hh_iter_next
    - ddsi_vtime_gt
    - ddsrt_atomic_ld32
    - snprintf
    - DDS_CTRACE
    - update_av_ary
    - ddsrt_mutex_lock
    - assert
    - ddsrt_atomic_fence_ldld
    - ddsi_log_stack_traces
    - ddsrt_getrusage
    - ddsrt_time_monotonic
    - ddsi_vtime_asleep_p
    - ddsrt_cond_mtime_waituntil
    - ddsrt_mtime_add_duration
    - find_domain
    - ddsrt_hh_iter_first
    - ddsrt_atomic_ldvoidp
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t threadmon_thread (void *vsl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - va
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: threadmon_domain_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t threadmon_domain_hash (const void *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: threadmon_domain_eq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool threadmon_domain_eq (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:233,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:238,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:243,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - liveliness_monitoring_interval
    - noprogress_log_stacktraces
    argTypes:
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: ddsi_threadmon_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 1
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_cond_mtime_init
    - ddsrt_hh_new
    linkageType: ''
    returnType: struct ddsi_threadmon
    signature: struct ddsi_threadmon *ddsi_threadmon_new (int64_t liveliness_monitoring_interval,
      bool noprogress_log_stacktraces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:250,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:251,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:253,1
    - Dst: ddsi_create_thread_with_properties
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sl
    - name
    argTypes:
    - struct ddsi_threadmon*
    - char*
    assertStmts:
    - condition: (sl->keepgoing == -1)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 6
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: ddsi_threadmon_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_create_thread_with_properties
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_threadmon_start (struct ddsi_threadmon *sl, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:269,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:275,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:276,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sl
    - gv
    argTypes:
    - struct ddsi_threadmon*
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: ddsi_threadmon_register_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    - ddsrt_hh_add_absent
    linkageType: ''
    returnType: void
    signature: void ddsi_threadmon_register_domain (struct ddsi_threadmon *sl, const
      struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:285,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:288,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:289,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:290,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:291,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sl
    - gv
    argTypes:
    - struct ddsi_threadmon*
    - struct ddsi_domaingv*
    assertStmts:
    - condition: (tmdom)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: ddsi_threadmon_unregister_domain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - assert
    - ddsrt_mutex_lock
    - ddsrt_hh_lookup
    - ddsrt_hh_remove_present
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_threadmon_unregister_domain (struct ddsi_threadmon *sl, const
      struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:300,1
    - Dst: ddsrt_cond_mtime_signal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:302,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:303,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct ddsi_threadmon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: ddsi_threadmon_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 2
    functionsReached:
    - ddsrt_cond_mtime_signal
    - ddsrt_mutex_lock
    - ddsi_join_thread
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_threadmon_stop (struct ddsi_threadmon *sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:312,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:312,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:314,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:315,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:316,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:317,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct ddsi_threadmon*
    assertStmts:
    - condition: (ddsrt_hh_iter_first (sl->domains, &it) == NULL)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: ddsi_threadmon_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    functionUses: 2
    functionsReached:
    - ddsrt_cond_mtime_destroy
    - ddsrt_free
    - assert
    - ddsrt_hh_free
    - ddsrt_hh_iter_first
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_threadmon_free (struct ddsi_threadmon *sl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:69,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:71,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp
    - entityid
    argTypes:
    - struct ddsi_participant*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ddsi_get_sedp_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 4
    functionsReached:
    - ddsi_get_builtin_writer
    - PGUID
    - DDS_FATAL
    linkageType: ''
    returnType: struct ddsi_writer
    signature: struct ddsi_writer *ddsi_get_sedp_writer (const struct ddsi_participant
      *pp, unsigned entityid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:80,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:82,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:84,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sedp_kind
    - entity_guid
    argTypes:
    - ddsi_sedp_kind_t
    - ddsi_guid_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: ddsi_check_sedp_kind_and_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_is_reader_entityid
    - ddsi_is_writer_entityid
    - ddsi_is_topic_entityid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_check_sedp_kind_and_guid (ddsi_sedp_kind_t sedp_kind, const
      ddsi_guid_t *entity_guid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_check_sedp_kind_and_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:93,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:94,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:98,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:99,1
    - Dst: ddsi_is_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:100,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:101,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:102,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:103,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:104,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:105,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:107,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:109,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:110,1
    - Dst: E
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 7
    argNames:
    - gv
    - sedp_kind
    - entity_guid
    - datap
    - vendorid
    - proxypp
    - ppguid
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_sedp_kind_t
    - ddsi_guid_t*
    - ddsi_plist_t*
    - ddsi_vendorid_t
    - struct ddsi_proxy_participant**
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: ddsi_handle_sedp_checks
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_lookup_proxy_participant_guid
    - memcmp
    - ddsi_check_sedp_kind_and_guid
    - E
    - ddsi_is_deleted_participant_guid
    - ddsi_is_builtin_entityid
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool ddsi_handle_sedp_checks (struct ddsi_domaingv * const gv, ddsi_sedp_kind_t
      sedp_kind, ddsi_guid_t *entity_guid, ddsi_plist_t *datap, ddsi_vendorid_t vendorid,
      struct ddsi_proxy_participant **proxypp, ddsi_guid_t *ppguid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - lbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: E
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 310
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(msg, lbl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:119,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:122,1
    - Dst: ddsi_handle_sedp_alive_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:130,1
    - Dst: ddsi_handle_sedp_alive_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:135,1
    - Dst: ddsi_handle_sedp_dead_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:146,1
    - Dst: ddsi_handle_sedp_dead_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:151,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - rst
    - seq
    - serdata
    - sedp_kind
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    - struct ddsi_serdata*
    - ddsi_sedp_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 116
    functionDepth: 8
    functionLinenumber: 116
    functionLinenumberEnd: 158
    functionName: ddsi_handle_sedp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 0
    functionsReached:
    - ddsi_handle_sedp_dead_topic
    - GVLOGDISC
    - ddsi_handle_sedp_alive_topic
    - ddsi_plist_fini
    - ddsi_handle_sedp_dead_endpoint
    - ddsi_handle_sedp_alive_endpoint
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_sedp (const struct ddsi_receiver_state *rst, ddsi_seqno_t
      seq, struct ddsi_serdata *serdata, ddsi_sedp_kind_t sedp_kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tl_handle_request
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:167,1
    - Dst: ddsi_tl_handle_reply
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:169,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rst
    - wr_entity_id
    - serdata
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_entityid_t
    - struct ddsi_serdata*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: handle_typelookup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 0
    functionsReached:
    - ddsi_tl_handle_request
    - assert
    - ddsi_tl_handle_reply
    linkageType: ''
    returnType: void
    signature: void handle_typelookup (const struct ddsi_receiver_state *rst, ddsi_entityid_t
      wr_entity_id, struct ddsi_serdata *serdata)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:194,1
    - Dst: DDSI_RDATA_SUBMSG_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:194,1
    - Dst: ddsi_normalize_data_datafrag_flags
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:195,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:205,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:210,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:210,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:211,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:211,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:212,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:223,1
    - Dst: DDSI_RDATA_SUBMSG_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:229,1
    - Dst: DDSI_RMSG_PAYLOADOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:234,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:235,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:236,1
    - Dst: ddsi_plist_init_frommsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:237,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:240,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:241,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:250,1
    - Dst: ddsi_serdata_from_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:319,1
    - Dst: ddsi_serdata_from_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:321,1
    - Dst: DDSI_SC_STRICT_P
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:322,1
    - Dst: ddsi_serdata_from_keyhash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:323,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:326,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:328,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:333,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:335,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:339,1
    - Dst: ddsi_serdata_print
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:357,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:358,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:359,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:361,1
    - Dst: ddsi_handle_spdp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:370,1
    - Dst: ddsi_handle_sedp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:374,1
    - Dst: ddsi_handle_sedp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:378,1
    - Dst: ddsi_handle_sedp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:382,1
    - Dst: ddsi_handle_pmd_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:387,1
    - Dst: handle_typelookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:392,1
    - Dst: ddsi_handle_auth_handshake_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:397,1
    - Dst: ddsi_handle_crypto_exchange_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:400,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:404,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:406,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:410,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c:416,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 155
    argCount: 2
    argNames:
    - sampleinfo
    - fragchain
    argTypes:
    - struct ddsi_rsample_info*
    - struct ddsi_rdata*
    assertStmts:
    - condition: "((srcguid.entityid.u == DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER)
        ||\n            (srcguid.entityid.u == DDSI_ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER))"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    - condition: (memcmp (&pwr->e.guid, &srcguid, sizeof (srcguid)) == 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    - condition: (srcguid.entityid.u != DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    - condition: (ddsi_is_builtin_entityid (pwr->e.guid.entityid, pwr->c.vendor))
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    constantsTouched: []
    func_position:
      end: 419
      start: 176
    functionDepth: 9
    functionLinenumber: 176
    functionLinenumberEnd: 419
    functionName: ddsi_builtins_dqueue_handler
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - memcmp
    - ddsi_handle_pmd_message
    - ddsi_handle_auth_handshake_message
    - handle_typelookup
    - ddsi_handle_crypto_exchange_message
    - ddsi_normalize_data_datafrag_flags
    - GVLOG
    - ddsi_handle_sedp
    - DDSI_SC_STRICT_P
    - ddsrt_time_wallclock
    - ddsi_serdata_from_keyhash
    - GVWARNING
    - ddsi_serdata_print
    - ddsi_serdata_unref
    - assert
    - PGUID
    - ddsrt_avl_is_empty
    - DDSI_RDATA_PAYLOAD_OFF
    - ddsi_handle_spdp
    - ddsi_serdata_from_ser
    - DDSI_RDATA_SUBMSG_OFF
    - ddsi_plist_init_empty
    - DDSI_RMSG_PAYLOADOFF
    - memset
    - ddsrt_atomic_st32
    - ddsi_plist_init_frommsg
    - GVTRACE
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_builtins_dqueue_handler (const struct ddsi_rsample_info *sampleinfo,
      const struct ddsi_rdata *fragchain, UNUSED_ARG (const ddsi_guid_t *rdguid),
      UNUSED_ARG (void *qarg))
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:137,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsi_entityid_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 140
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 140
    functionName: builtin_entityid_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsi_entityid_t
    signature: ddsi_entityid_t builtin_entityid_match (ddsi_entityid_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wr
    - reason
    argTypes:
    - struct ddsi_writer*
    - dds_qos_policy_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: writer_qos_mismatch
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writer_qos_mismatch (struct ddsi_writer * wr, dds_qos_policy_id_t
      reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rd
    - reason
    argTypes:
    - struct ddsi_reader*
    - dds_qos_policy_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: reader_qos_mismatch
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reader_qos_mismatch (struct ddsi_reader * rd, dds_qos_policy_id_t
      reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:174,1
    - Dst: ddsi_is_reader_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:174,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:175,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:175,1
    - Dst: ddsi_is_keyed_endpoint_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:176,1
    - Dst: ddsi_is_keyed_endpoint_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:176,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:184,1
    - Dst: ddsi_qos_match_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:189,1
    - Dst: ddsi_is_proxy_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:196,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:198,1
    - Dst: ddsi_is_proxy_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:201,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:203,1
    - Dst: ddsi_qos_match_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:208,1
    - Dst: ddsi_qos_match_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:210,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:213,1
    - Dst: ddsi_tl_request_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 8
    argNames:
    - gv
    - rd
    - rdqos
    - wr
    - wrqos
    - reason
    - rd_type_pair
    - wr_type_pair
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_entity_common*
    - dds_qos_t*
    - struct ddsi_entity_common*
    - dds_qos_t*
    - dds_qos_policy_id_t*
    - struct ddsi_type_pair*
    - struct ddsi_type_pair*
    assertStmts:
    - condition: (ddsi_is_reader_entityid (rd->guid.entityid))
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (ddsi_is_writer_entityid (wr->guid.entityid))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 224
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 224
    functionName: topickind_qos_match_p_lock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_qos_match_p
    - ddsrt_mutex_lock
    - assert
    - ddsi_is_proxy_endpoint
    - ddsi_is_reader_entityid
    - ddsi_type_pair_minimal_id
    - ddsi_is_writer_entityid
    - ddsi_tl_request_type
    - ddsi_is_keyed_endpoint_entityid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: "bool topickind_qos_match_p_lock (struct ddsi_domaingv *gv, struct
      ddsi_entity_common *rd, const dds_qos_t *rdqos, struct ddsi_entity_common *wr,
      const dds_qos_t *wrqos, dds_qos_policy_id_t *reason\n#ifdef DDS_HAS_TYPELIB\n
      \   , const struct ddsi_type_pair *rd_type_pair, const struct ddsi_type_pair
      *wr_type_pair\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:228,1
    - Dst: ddsi_proxy_reader_add_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:229,1
    - Dst: ddsi_writer_add_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wr
    - prd
    - tnow
    - crypto_handle
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - ddsrt_mtime_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ddsi_connect_writer_with_proxy_reader_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_proxy_reader_add_connection
    - DDSRT_UNUSED_ARG
    - ddsi_writer_add_connection
    linkageType: ''
    returnType: void
    signature: void ddsi_connect_writer_with_proxy_reader_secure (struct ddsi_writer
      *wr, struct ddsi_proxy_reader *prd, ddsrt_mtime_t tnow, int64_t crypto_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_proxy_writer_get_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:241,1
    - Dst: ddsi_reader_add_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:242,1
    - Dst: ddsi_proxy_writer_add_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:243,1
    - Dst: ddsi_proxy_writer_get_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:247,1
    - Dst: ddsi_reader_update_notify_pwr_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - rd
    - pwr
    - tnow
    - crypto_handle
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - ddsrt_mtime_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: ddsi_connect_reader_with_proxy_writer_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_reader_add_connection
    - ddsi_proxy_writer_get_alive_state
    - ddsi_reader_update_notify_pwr_alive_state
    - ddsi_proxy_writer_add_connection
    linkageType: ''
    returnType: void
    signature: void ddsi_connect_reader_with_proxy_writer_secure (struct ddsi_reader
      *rd, struct ddsi_proxy_writer *pwr, ddsrt_mtime_t tnow, int64_t crypto_handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:345,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:346,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:352,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - guid1
    - guid2
    - xqos1
    - xqos2
    argTypes:
    - ddsi_guid_t*
    - ddsi_guid_t*
    - struct dds_qos*
    - struct dds_qos*
    assertStmts:
    - condition: (xqos1->present & DDSI_QP_CYCLONE_IGNORELOCAL)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (xqos2->present & DDSI_QP_CYCLONE_IGNORELOCAL)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 370
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 370
    functionName: ignore_local_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ignore_local_p (const ddsi_guid_t *guid1, const ddsi_guid_t *guid2,
      const struct dds_qos *xqos1, const struct dds_qos *xqos2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_local_orphan_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:377,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:377,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:377,1
    - Dst: ignore_local_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:379,1
    - Dst: topickind_qos_match_p_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:382,1
    - Dst: topickind_qos_match_p_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:384,1
    - Dst: writer_qos_mismatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:387,1
    - Dst: reader_qos_mismatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:388,1
    - Dst: ddsi_writer_get_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:394,1
    - Dst: ddsi_reader_add_local_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:395,1
    - Dst: ddsi_writer_add_local_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:396,1
    - Dst: ddsi_writer_get_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:400,1
    - Dst: ddsi_reader_update_notify_wr_alive_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - wr
    - rd
    - tnow
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_reader*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 402
    functionName: connect_writer_with_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ignore_local_p
    - writer_qos_mismatch
    - topickind_qos_match_p_lock
    - reader_qos_mismatch
    - ddsi_writer_add_local_connection
    - ddsi_writer_get_alive_state
    - ddsi_is_local_orphan_endpoint
    - ddsi_reader_add_local_connection
    - ddsi_reader_update_notify_wr_alive_state
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void connect_writer_with_reader (struct ddsi_writer *wr, struct ddsi_reader
      *rd, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:408,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:409,1
    - Dst: connect_writer_with_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vwr
    - vprd
    - tnow
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (wr->e.kind == DDSI_EK_WRITER)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (prd->e.kind == DDSI_EK_PROXY_READER)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: connect_writer_with_proxy_reader_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - connect_writer_with_proxy_reader
    linkageType: ''
    returnType: void
    signature: void connect_writer_with_proxy_reader_wrapper (struct ddsi_entity_common
      *vwr, struct ddsi_entity_common *vprd, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:417,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:418,1
    - Dst: connect_proxy_writer_with_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vpwr
    - vrd
    - tnow
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (pwr->e.kind == DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (rd->e.kind == DDSI_EK_READER)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: connect_proxy_writer_with_reader_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - connect_proxy_writer_with_reader
    linkageType: ''
    returnType: void
    signature: void connect_proxy_writer_with_reader_wrapper (struct ddsi_entity_common
      *vpwr, struct ddsi_entity_common *vrd, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:427,1
    - Dst: connect_writer_with_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vwr
    - vrd
    - tnow
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (wr->e.kind == DDSI_EK_WRITER)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (rd->e.kind == DDSI_EK_READER)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 6
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: connect_writer_with_reader_wrapper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - connect_writer_with_reader
    linkageType: ''
    returnType: void
    signature: void connect_writer_with_reader_wrapper (struct ddsi_entity_common
      *vwr, struct ddsi_entity_common *vrd, ddsrt_mtime_t tnow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:437,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:438,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:442,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - kind
    - local
    argTypes:
    - enum ddsi_entity_kind
    - bool
    assertStmts:
    - condition: (!local)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (0)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (!local)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (0)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 447
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 447
    functionName: generic_do_match_mkind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: enum ddsi_entity_kind
    signature: enum ddsi_entity_kind generic_do_match_mkind (enum ddsi_entity_kind
      kind, bool local)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: connect_writer_with_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:455,1
    - Dst: connect_writer_with_proxy_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:457,1
    - Dst: connect_writer_with_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:461,1
    - Dst: connect_proxy_writer_with_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:463,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:466,1
    - Dst: connect_proxy_writer_with_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:467,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:470,1
    - Dst: connect_writer_with_proxy_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:471,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - e
    - em
    - tnow
    - local
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    - ddsrt_mtime_t
    - bool
    assertStmts:
    - condition: (!local)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (!local)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (0)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 479
      start: 449
    functionDepth: 7
    functionLinenumber: 449
    functionLinenumberEnd: 479
    functionName: generic_do_match_connect
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - connect_writer_with_proxy_reader_wrapper
    - assert
    - connect_proxy_writer_with_reader_wrapper
    - connect_writer_with_reader_wrapper
    linkageType: ''
    returnType: void
    signature: void generic_do_match_connect (struct ddsi_entity_common *e, struct
      ddsi_entity_common *em, ddsrt_mtime_t tnow, bool local)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:496,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:498,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 508
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 508
    functionName: entity_topic_name
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: char
    signature: char *entity_topic_name (const struct ddsi_entity_common *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match_mkind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:521,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:526,1
    - Dst: ddsi_is_local_orphan_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:526,1
    - Dst: entity_topic_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:532,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:533,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:535,1
    - Dst: ddsi_entidx_enum_init_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:543,1
    - Dst: ddsi_entidx_enum_next_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:544,1
    - Dst: generic_do_match_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:545,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:546,1
    - Dst: builtin_entityid_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:554,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:557,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:559,1
    - Dst: ddsi_entidx_enum_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:563,1
    - Dst: ddsi_entidx_enum_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:564,1
    - Dst: ddsi_entidx_lookup_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:568,1
    - Dst: generic_do_match_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:569,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - e
    - tnow
    - local
    argTypes:
    - struct ddsi_entity_common*
    - ddsrt_mtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 510
    functionDepth: 8
    functionLinenumber: 510
    functionLinenumberEnd: 574
    functionName: generic_do_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - builtin_entityid_match
    - ddsi_entidx_enum_next_max
    - ddsi_entidx_enum_init_topic
    - generic_do_match_connect
    - PGUID
    - EELOGDISC
    - ddsi_entidx_enum_fini
    - ddsi_entidx_enum_next
    - ddsi_entidx_lookup_guid
    - generic_do_match_mkind
    - ddsi_entidx_enum_init
    - ddsi_is_local_orphan_endpoint
    - entity_topic_name
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void generic_do_match (struct ddsi_entity_common *e, ddsrt_mtime_t
      tnow, bool local)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wr
    - tnow
    argTypes:
    - struct ddsi_writer*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 9
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: ddsi_match_writer_with_proxy_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_writer_with_proxy_readers (struct ddsi_writer *wr,
      ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wr
    - tnow
    argTypes:
    - struct ddsi_writer*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 9
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: ddsi_match_writer_with_local_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 2
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_writer_with_local_readers (struct ddsi_writer *wr,
      ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - tnow
    argTypes:
    - struct ddsi_reader*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 9
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: ddsi_match_reader_with_proxy_writers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_reader_with_proxy_writers (struct ddsi_reader *rd,
      ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rd
    - tnow
    argTypes:
    - struct ddsi_reader*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 9
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: ddsi_match_reader_with_local_writers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_reader_with_local_writers (struct ddsi_reader *rd,
      ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pwr
    - tnow
    argTypes:
    - struct ddsi_proxy_writer*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 9
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: ddsi_match_proxy_writer_with_readers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_proxy_writer_with_readers (struct ddsi_proxy_writer
      *pwr, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_do_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prd
    - tnow
    argTypes:
    - struct ddsi_proxy_reader*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 9
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: ddsi_match_proxy_reader_with_writers
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - generic_do_match
    linkageType: ''
    returnType: void
    signature: void ddsi_match_proxy_reader_with_writers (struct ddsi_proxy_reader
      *prd, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_deregister_remote_reader_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:611,1
    - Dst: ddsi_lat_estim_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:616,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gv
    - wr_guid
    - m
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - struct ddsi_wr_prd_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: ddsi_free_wr_prd_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_security_deregister_remote_reader_match
    - ddsi_lat_estim_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_wr_prd_match (const struct ddsi_domaingv *gv, const
      ddsi_guid_t *wr_guid, struct ddsi_wr_prd_match *m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_deregister_remote_writer_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:626,1
    - Dst: ddsi_is_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:631,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:633,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:633,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:634,1
    - Dst: ddsi_is_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:634,1
    - Dst: ddsi_leave_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:635,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:636,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - gv
    - rd_guid
    - m
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - struct ddsi_rd_pwr_match*
    assertStmts:
    - condition: (!ddsi_is_unspec_xlocator (&m->ssm_src_loc))
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (ddsi_is_mcaddr (gv, &m->ssm_mc_loc.c))
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 644
      start: 621
    functionDepth: 8
    functionLinenumber: 621
    functionLinenumberEnd: 644
    functionName: ddsi_free_rd_pwr_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - GVWARNING
    - ddsrt_free
    - ddsi_is_unspec_xlocator
    - ddsi_leave_mc
    - assert
    - ddsi_omg_security_deregister_remote_writer_match
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void ddsi_free_rd_pwr_match (struct ddsi_domaingv *gv, const ddsi_guid_t
      *rd_guid, struct ddsi_rd_pwr_match *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:651,1
    - Dst: ddsi_reorder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:652,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_pwr_rd_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: ddsi_free_pwr_rd_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_reorder_free
    - ddsi_delete_xevent
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_pwr_rd_match (struct ddsi_pwr_rd_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_prd_wr_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: ddsi_free_prd_wr_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_prd_wr_match (struct ddsi_prd_wr_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_rd_wr_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: ddsi_free_rd_wr_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_rd_wr_match (struct ddsi_rd_wr_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct ddsi_wr_rd_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: ddsi_free_wr_rd_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_free_wr_rd_match (struct ddsi_wr_rd_match *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_generic_endpoint*
    - struct ddsi_generic_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: connected_via_psmx_bothlocal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool connected_via_psmx_bothlocal (const struct ddsi_generic_endpoint
      *a, const struct ddsi_generic_endpoint *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: connected_via_psmx_leftlocal_rightproxy_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void connected_via_psmx_leftlocal_rightproxy_helper (const ddsi_xlocator_t
      *loc, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b_as
    argTypes:
    - struct ddsi_generic_endpoint*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 706
    functionName: connected_via_psmx_leftlocal_rightproxy
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_forall
    linkageType: ''
    returnType: bool
    signature: bool connected_via_psmx_leftlocal_rightproxy (const struct ddsi_generic_endpoint
      *a, const struct ddsi_addrset *b_as)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:715,1
    - Dst: connected_via_psmx_bothlocal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:719,1
    - Dst: connected_via_psmx_leftlocal_rightproxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_generic_endpoint*
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 725
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 725
    functionName: connected_via_psmx_leftlocal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - connected_via_psmx_bothlocal
    - assert
    - connected_via_psmx_leftlocal_rightproxy
    linkageType: ''
    returnType: bool
    signature: bool connected_via_psmx_leftlocal (const struct ddsi_generic_endpoint
      *a, const struct ddsi_entity_common *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:734,1
    - Dst: connected_via_psmx_leftlocal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:738,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:742,1
    - Dst: connected_via_psmx_leftlocal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - condition: (b->kind != DDSI_EK_PROXY_READER && b->kind != DDSI_EK_PROXY_WRITER)
      pos:
        line_end: 741
        line_start: 741
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 746
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 746
    functionName: connected_via_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - assert
    - connected_via_psmx_leftlocal
    linkageType: ''
    returnType: bool
    signature: bool connected_via_psmx (const struct ddsi_entity_common *a, const
      struct ddsi_entity_common *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:750,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:757,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:765,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:768,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:771,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:772,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:772,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:785,1
    - Dst: ddsi_lat_estim_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:788,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:789,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:793,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:799,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:801,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:801,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:802,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:803,1
    - Dst: ddsi_lat_estim_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:804,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:805,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:809,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:810,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:811,1
    - Dst: ddsi_rebuild_writer_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:815,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:816,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:837,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:838,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:838,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:839,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:847,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 3
    argNames:
    - wr
    - prd
    - crypto_handle
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_proxy_reader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 852
    functionName: ddsi_writer_add_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_lat_estim_init
    - ddsrt_malloc
    - ELOGDISC
    - ddsrt_mutex_lock
    - DDS_MSECS
    - ddsrt_time_wallclock
    - already
    - ddsrt_avl_insert_ipath
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - PGUID
    - ddsi_rebuild_writer_addrset
    - ddsi_lat_estim_fini
    - ddsrt_time_monotonic
    - DDSRT_UNUSED_ARG
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    - connected_via_psmx
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_add_connection (struct ddsi_writer *wr, struct ddsi_proxy_reader
      *prd, int64_t crypto_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:856,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:859,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:860,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:862,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:862,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:863,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:864,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:865,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:869,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:870,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:870,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:872,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:873,1
    - Dst: ddsi_local_reader_ary_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:874,1
    - Dst: ddsi_deliver_historical_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:879,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:881,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - wr
    - rd
    argTypes:
    - struct ddsi_writer*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 893
    functionName: ddsi_writer_add_local_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsi_deliver_historical_data
    - ddsi_local_reader_ary_insert
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - ddsrt_mutex_lock
    - PGUID
    - already
    - connected_via_psmx
    - ddsrt_malloc
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_add_local_connection (struct ddsi_writer *wr, struct
      ddsi_reader *rd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:897,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:901,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:907,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:910,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:918,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:919,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:922,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:924,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:924,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:925,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:926,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:927,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:931,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:932,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:934,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:936,1
    - Dst: ddsi_addrset_any_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:943,1
    - Dst: ddsi_addrset_any_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:944,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:945,1
    - Dst: ddsi_join_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:949,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:951,1
    - Dst: ddsi_set_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:955,1
    - Dst: ddsi_set_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 5
    argNames:
    - rd
    - pwr
    - init_count
    - alive_state
    - crypto_handle
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_proxy_writer*
    - ddsi_count_t*
    - struct ddsi_alive_state*
    - int64_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 974
      start: 895
    functionDepth: 8
    functionLinenumber: 895
    functionLinenumberEnd: 974
    functionName: ddsi_reader_add_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsi_addrset_any_uc
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - ddsrt_mutex_lock
    - PGUID
    - DDSRT_UNUSED_ARG
    - already
    - ddsi_addrset_any_ssm
    - assert
    - ddsi_set_unspec_xlocator
    - ddsi_join_mc
    - connected_via_psmx
    - ddsrt_malloc
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_add_connection (struct ddsi_reader *rd, struct ddsi_proxy_writer
      *pwr, ddsi_count_t *init_count, const struct ddsi_alive_state *alive_state,
      int64_t crypto_handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:978,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:982,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:986,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:988,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:990,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:990,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:991,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:992,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:993,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:997,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:998,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:999,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - rd
    - wr
    - alive_state
    argTypes:
    - struct ddsi_reader*
    - struct ddsi_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 976
    functionDepth: 4
    functionLinenumber: 976
    functionLinenumberEnd: 1016
    functionName: ddsi_reader_add_local_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - ddsrt_mutex_lock
    - PGUID
    - already
    - connected_via_psmx
    - ddsrt_malloc
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_add_local_connection (struct ddsi_reader *rd, struct
      ddsi_writer *wr, const struct ddsi_alive_state *alive_state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1020,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1023,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1024,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1027,1
    - Dst: ddsi_is_builtin_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1027,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1029,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1030,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1030,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1059,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1064,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1075,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1075,1
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1107,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1122,1
    - Dst: ddsi_local_reader_ary_setfastpath_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1124,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1142,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1145,1
    - Dst: ddsi_reorder_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1148,1
    - Dst: ddsi_reorder_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1155,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1158,1
    - Dst: ddsi_local_reader_ary_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1161,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1163,1
    - Dst: ddsi_send_entityid_to_pwr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1164,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1166,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1170,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1170,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1171,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1172,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 80
    argCount: 5
    argNames:
    - pwr
    - rd
    - tnow
    - init_count
    - crypto_handle
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_reader*
    - ddsrt_mtime_t
    - ddsi_count_t
    - int64_t
    assertStmts:
    - condition: (rd->type || ddsi_is_builtin_endpoint (rd->e.guid.entityid, DDSI_VENDORID_ECLIPSE))
      pos:
        line_end: 1026
        line_start: 1026
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1175
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1175
    functionName: ddsi_proxy_writer_add_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_qxev_callback
    - ddsi_reorder_new
    - ddsrt_malloc
    - ELOGDISC
    - ddsi_local_reader_ary_insert
    - ddsrt_mutex_lock
    - ddsi_send_entityid_to_pwr
    - ddsi_is_builtin_entityid
    - already
    - ddsrt_avl_insert_ipath
    - ddsi_local_reader_ary_setfastpath_ok
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - assert
    - PGUID
    - ddsrt_avl_is_empty
    - ddsi_is_builtin_endpoint
    - DDSRT_UNUSED_ARG
    - ddsrt_mtime_add_duration
    - connected_via_psmx
    - ddsi_vendor_is_eclipse
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_writer_add_connection (struct ddsi_proxy_writer *pwr,
      struct ddsi_reader *rd, ddsrt_mtime_t tnow, ddsi_count_t init_count, int64_t
      crypto_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1179,1
    - Dst: connected_via_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1183,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1187,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1190,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1191,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1193,1
    - Dst: already
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1193,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1194,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1195,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1196,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1200,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1201,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1202,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1203,1
    - Dst: ddsi_send_entityid_to_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - prd
    - wr
    - crypto_handle
    argTypes:
    - struct ddsi_proxy_reader*
    - struct ddsi_writer*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1207
    functionName: ddsi_proxy_reader_add_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsrt_free
    - ddsrt_avl_lookup_ipath
    - ddsrt_mutex_lock
    - PGUID
    - DDSRT_UNUSED_ARG
    - already
    - ddsi_send_entityid_to_prd
    - connected_via_psmx
    - ddsrt_malloc
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_reader_add_connection (struct ddsi_proxy_reader *prd,
      struct ddsi_writer *wr, int64_t crypto_handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1212,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1216,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1217,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1220,1
    - Dst: ddsi_rebuild_writer_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1224,1
    - Dst: ddsi_remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1225,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1228,1
    - Dst: ddsi_whc_free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1237,1
    - Dst: ddsi_free_wr_prd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wr_guid
    - prd
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1209
    functionDepth: 4
    functionLinenumber: 1209
    functionLinenumberEnd: 1240
    functionName: ddsi_writer_drop_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_free_wr_prd_match
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_rebuild_writer_addrset
    - ddsi_whc_free_deferred_free_list
    - ddsi_remove_acked_messages
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_drop_connection (const struct ddsi_guid *wr_guid,
      const struct ddsi_proxy_reader *prd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1246,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1250,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1251,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1253,1
    - Dst: ddsi_local_reader_ary_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1254,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1256,1
    - Dst: ddsi_free_wr_rd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - wr_guid
    - rd
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1242
    functionDepth: 4
    functionLinenumber: 1242
    functionLinenumberEnd: 1267
    functionName: ddsi_writer_drop_local_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsi_local_reader_ary_remove
    - ddsrt_avl_delete
    - ddsi_free_wr_rd_match
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_writer_drop_local_connection (const struct ddsi_guid *wr_guid,
      struct ddsi_reader *rd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1272,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1275,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1276,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1278,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1282,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1288,1
    - Dst: ddsi_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1289,1
    - Dst: ddsi_free_rd_pwr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - rd_guid
    - pwr
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1269
    functionDepth: 9
    functionLinenumber: 1269
    functionLinenumberEnd: 1307
    functionName: ddsi_reader_drop_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_make_writer_info
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_lookup
    - ddsi_rhc_unregister_wr
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsrt_mutex_unlock
    - ddsi_free_rd_pwr_match
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_drop_connection (const struct ddsi_guid *rd_guid,
      const struct ddsi_proxy_writer *pwr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1312,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1315,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1316,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1317,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1318,1
    - Dst: ddsi_make_writer_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1325,1
    - Dst: ddsi_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1326,1
    - Dst: ddsi_free_rd_wr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - rd_guid
    - wr
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1309
    functionDepth: 4
    functionLinenumber: 1309
    functionLinenumberEnd: 1344
    functionName: ddsi_reader_drop_local_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_make_writer_info
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_lookup
    - ddsi_rhc_unregister_wr
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_free_rd_wr_match
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_reader_drop_local_connection (const struct ddsi_guid *rd_guid,
      const struct ddsi_writer *wr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1350,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1354,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1355,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1357,1
    - Dst: ddsi_local_reader_ary_setfastpath_ok
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1361,1
    - Dst: ddsi_defrag_notegap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1372,1
    - Dst: ddsi_reorder_drop_upto
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1373,1
    - Dst: ddsi_local_reader_ary_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1375,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1377,1
    - Dst: ddsi_update_reader_init_acknack_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1380,1
    - Dst: ddsi_defrag_prune
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1382,1
    - Dst: ddsi_free_pwr_rd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pwr_guid
    - rd
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1386
    functionName: ddsi_proxy_writer_drop_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_local_reader_ary_setfastpath_ok
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_defrag_notegap
    - ddsi_local_reader_ary_remove
    - ddsi_defrag_prune
    - ddsi_reorder_drop_upto
    - ddsi_update_reader_init_acknack_count
    - ddsi_free_pwr_rd_match
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_writer_drop_connection (const struct ddsi_guid *pwr_guid,
      struct ddsi_reader *rd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1391,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1394,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1395,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1398,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1400,1
    - Dst: ddsi_free_prd_wr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - prd_guid
    - wr
    argTypes:
    - struct ddsi_guid*
    - struct ddsi_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1388
    functionDepth: 4
    functionLinenumber: 1388
    functionLinenumberEnd: 1403
    functionName: ddsi_proxy_reader_drop_connection
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - ddsi_free_prd_wr_match
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_reader_drop_connection (const struct ddsi_guid *prd_guid,
      struct ddsi_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1407,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - struct ddsi_local_reader_ary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1413
    functionName: ddsi_local_reader_ary_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_init (struct ddsi_local_reader_ary *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1417,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - struct ddsi_local_reader_ary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1419
    functionName: ddsi_local_reader_ary_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_fini (struct ddsi_local_reader_ary *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1423,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1430,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1433,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1449,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - x
    - rd
    argTypes:
    - struct ddsi_local_reader_ary*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1456
    functionName: ddsi_local_reader_ary_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 2
    functionsReached:
    - memmove
    - ddsrt_mutex_lock
    - ddsrt_realloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_insert (struct ddsi_local_reader_ary *x,
      struct ddsi_reader *rd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1461,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1466,1
    - Dst: memmove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1478,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1482,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - x
    - rd
    argTypes:
    - struct ddsi_local_reader_ary*
    - struct ddsi_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1484
    functionName: ddsi_local_reader_ary_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 2
    functionsReached:
    - memmove
    - ddsrt_mutex_lock
    - ddsrt_realloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_remove (struct ddsi_local_reader_ary *x,
      struct ddsi_reader *rd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1488,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - fastpath_ok
    argTypes:
    - struct ddsi_local_reader_ary*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1492
    functionName: ddsi_local_reader_ary_setfastpath_ok
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 3
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_setfastpath_ok (struct ddsi_local_reader_ary
      *x, bool fastpath_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1496,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - struct ddsi_local_reader_ary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1500
    functionName: ddsi_local_reader_ary_setinvalid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_local_reader_ary_setinvalid (struct ddsi_local_reader_ary
      *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1507,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1525,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1525,1
    - Dst: ddsi_delete_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1535,1
    - Dst: ddsi_delete_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1538,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1541,1
    - Dst: ddsi_omg_security_deregister_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1540
        line_start: 1540
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1548
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1548
    functionName: downgrade_to_nonsecure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - DDS_CWARNING
    - ddsi_delete_proxy_writer
    - PGUID
    - assert
    - ddsi_omg_security_deregister_remote_participant
    - ddsrt_time_wallclock
    - ddsi_delete_proxy_reader
    linkageType: ''
    returnType: void
    signature: void downgrade_to_nonsecure (struct ddsi_proxy_participant *proxypp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1557,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1559,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1560,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1560,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1564,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1568,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1573,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1577,1
    - Dst: connect_proxy_writer_with_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1580,1
    - Dst: connect_writer_with_proxy_reader_wrapper
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pp
    - proxypp
    argTypes:
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1550
    functionDepth: 4
    functionLinenumber: 1550
    functionLinenumberEnd: 1582
    functionName: ddsi_match_volatile_secure_endpoints
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_entidx_lookup_reader_guid
    - connect_writer_with_proxy_reader_wrapper
    - PGUID
    - EELOGDISC
    - ddsi_entidx_lookup_proxy_writer_guid
    - connect_proxy_writer_with_reader_wrapper
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_match_volatile_secure_endpoints (struct ddsi_participant
      *pp, struct ddsi_proxy_participant *proxypp)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1606
    functionName: get_entity_parent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_entity_common
    signature: struct ddsi_entity_common * get_entity_parent (struct ddsi_entity_common
      *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1615,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1617,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1618,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1618,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1620,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1621,1
    - Dst: ddsi_entity_common_from_proxy_endpoint_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1624,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1627,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1637,1
    - Dst: generic_do_match_mkind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1640,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1641,1
    - Dst: entity_topic_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1646,1
    - Dst: ddsi_entidx_enum_init_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1648,1
    - Dst: ddsi_entidx_enum_next_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1649,1
    - Dst: get_entity_parent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1651,1
    - Dst: generic_do_match_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1652,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1654,1
    - Dst: builtin_entityid_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1658,1
    - Dst: ddsi_is_builtin_volatile_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1661,1
    - Dst: ddsi_entidx_lookup_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1664,1
    - Dst: generic_do_match_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1665,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - proxypp
    - pp
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1608
    functionDepth: 8
    functionLinenumber: 1608
    functionLinenumberEnd: 1671
    functionName: ddsi_update_proxy_participant_endpoint_matching
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_entity_common_from_proxy_endpoint_common
    - ddsi_entidx_enum_init_topic
    - ddsi_entidx_lookup_guid
    - generic_do_match_mkind
    - ddsi_entidx_lookup_guid_untyped
    - ddsrt_malloc
    - builtin_entityid_match
    - ddsi_entidx_enum_next_max
    - ddsrt_mutex_lock
    - EELOGDISC
    - ddsi_is_builtin_entityid
    - ddsi_is_builtin_volatile_endpoint
    - ddsrt_free
    - generic_do_match_connect
    - ddsi_entidx_enum_fini
    - PGUID
    - entity_topic_name
    - ddsrt_time_monotonic
    - get_entity_parent
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_proxy_participant_endpoint_matching (struct ddsi_proxy_participant
      *proxypp, struct ddsi_participant *pp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_handshake_get_shared_secret
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1681,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1682,1
    - Dst: ddsi_omg_security_register_remote_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1683,1
    - Dst: ddsi_match_volatile_secure_endpoints
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1684,1
    - Dst: ddsi_omg_security_set_remote_participant_authenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1685,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1690,1
    - Dst: ddsi_omg_security_participant_send_tokens
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1691,1
    - Dst: DDS_CLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1695,1
    - Dst: ddsi_handshake_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1697,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1701,1
    - Dst: Timed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1701,1
    - Dst: ddsi_omg_participant_allow_unauthenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1702,1
    - Dst: downgrade_to_nonsecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1703,1
    - Dst: ddsi_update_proxy_participant_endpoint_matching
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1704,1
    - Dst: ddsi_handshake_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1706,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1709,1
    - Dst: Failed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1709,1
    - Dst: ddsi_omg_participant_allow_unauthenticated
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1710,1
    - Dst: downgrade_to_nonsecure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1711,1
    - Dst: ddsi_update_proxy_participant_endpoint_matching
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1712,1
    - Dst: ddsi_handshake_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1714,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - handshake
    - pp
    - proxypp
    - result
    argTypes:
    - struct ddsi_handshake*
    - struct ddsi_participant*
    - struct ddsi_proxy_participant*
    - enum ddsi_handshake_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1673
    functionDepth: 9
    functionLinenumber: 1673
    functionLinenumberEnd: 1720
    functionName: ddsi_handshake_end_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_security_participant_send_tokens
    - ddsi_match_volatile_secure_endpoints
    - DDS_CLOG
    - ddsi_update_proxy_participant_endpoint_matching
    - Timed
    - ddsi_omg_participant_allow_unauthenticated
    - ddsi_omg_security_register_remote_participant
    - ddsi_omg_security_set_remote_participant_authenticated
    - Failed
    - DDS_CERROR
    - ddsi_handshake_remove
    - downgrade_to_nonsecure
    - ddsi_handshake_get_shared_secret
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_end_cb (struct ddsi_handshake *handshake, struct
      ddsi_participant *pp, struct ddsi_proxy_participant *proxypp, enum ddsi_handshake_state
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1729,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1730,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1734,1
    - Dst: ddsi_omg_is_similar_participant_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1734,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - proxypp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1723
    functionDepth: 4
    functionLinenumber: 1723
    functionLinenumberEnd: 1738
    functionName: ddsi_proxy_participant_has_pp_match
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_is_similar_participant_security_info
    - ddsi_entidx_enum_participant_init
    - ddsi_entidx_enum_participant_next
    - ddsi_entidx_enum_participant_fini
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: bool
    signature: bool ddsi_proxy_participant_has_pp_match (struct ddsi_domaingv *gv,
      struct ddsi_proxy_participant *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_security_remote_participant_set_initialized
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1745,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1747,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1748,1
    - Dst: ddsi_omg_security_participant_is_initialized
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1749,1
    - Dst: ddsi_handshake_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1750,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - proxypp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 4
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: ddsi_proxy_participant_create_handshakes
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_omg_security_participant_is_initialized
    - ddsi_entidx_enum_participant_init
    - ddsi_handshake_register
    - ddsi_omg_security_remote_participant_set_initialized
    - ddsi_entidx_enum_participant_fini
    - ddsi_entidx_enum_participant_next
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_participant_create_handshakes (struct ddsi_domaingv
      *gv, struct ddsi_proxy_participant *proxypp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1761,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1763,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1764,1
    - Dst: ddsi_handshake_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1766,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - proxypp
    argTypes:
    - struct ddsi_proxy_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1755
    functionDepth: 4
    functionLinenumber: 1755
    functionLinenumberEnd: 1770
    functionName: ddsi_disconnect_proxy_participant_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsi_entidx_enum_participant_init
    - ddsi_entidx_enum_participant_fini
    - ddsi_handshake_remove
    - ddsi_omg_proxy_participant_is_secure
    - ddsi_entidx_enum_participant_next
    linkageType: ''
    returnType: void
    signature: void ddsi_disconnect_proxy_participant_secure (struct ddsi_proxy_participant
      *proxypp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1776,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1776,1
    - Dst: generic_do_match_mkind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1777,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1778,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1778,1
    - Dst: entity_topic_name
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1782,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1783,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1785,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1785,1
    - Dst: ddsi_entidx_enum_init_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1786,1
    - Dst: ddsi_entidx_enum_next_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1787,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1789,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1789,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1789,1
    - Dst: generic_do_match_connect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1790,1
    - Dst: ddsi_entidx_enum_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1792,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1793,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - gv
    - proxy_ep
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_generic_proxy_endpoint*
    assertStmts:
    - condition: (!ddsi_is_builtin_entityid (proxy_ep->e.guid.entityid, DDSI_VENDORID_ECLIPSE))
      pos:
        line_end: 1777
        line_start: 1777
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1794
      start: 1774
    functionDepth: 8
    functionLinenumber: 1774
    functionLinenumberEnd: 1794
    functionName: ddsi_update_proxy_endpoint_matching
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 2
    functionsReached:
    - GVLOGDISC
    - ddsi_thread_state_awake
    - ddsi_lookup_thread_state
    - ddsi_entidx_enum_next_max
    - ddsi_entidx_enum_init_topic
    - generic_do_match_connect
    - assert
    - PGUID
    - ddsi_entidx_enum_fini
    - generic_do_match_mkind
    - ddsi_thread_state_asleep
    - entity_topic_name
    - ddsrt_time_monotonic
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: void
    signature: void ddsi_update_proxy_endpoint_matching (const struct ddsi_domaingv
      *gv, struct ddsi_generic_proxy_endpoint *proxy_ep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1801,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1801,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1802,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1803,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1805,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1808,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1815,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1817,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1820,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1827,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1828,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1828,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1832,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - wr
    - rds
    - nrds
    argTypes:
    - struct ddsi_writer*
    - uint64_t*
    - size_t
    assertStmts:
    - condition: (nrds_act <= INT32_MAX)
      pos:
        line_end: 1831
        line_start: 1831
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1835
      start: 1796
    functionDepth: 4
    functionLinenumber: 1796
    functionLinenumberEnd: 1835
    functionName: ddsi_writer_get_matched_subscriptions
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_thread_state_awake
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - assert
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_writer_get_matched_subscriptions (struct ddsi_writer
      *wr, uint64_t *rds, size_t nrds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1842,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1842,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1843,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1844,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1846,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1849,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1856,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1858,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1861,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1868,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1869,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1869,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - rd
    - wrs
    - nwrs
    argTypes:
    - struct ddsi_reader*
    - uint64_t*
    - size_t
    assertStmts:
    - condition: (nwrs_act <= INT32_MAX)
      pos:
        line_end: 1872
        line_start: 1872
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1876
      start: 1837
    functionDepth: 4
    functionLinenumber: 1837
    functionLinenumberEnd: 1876
    functionName: ddsi_reader_get_matched_publications
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_thread_state_awake
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - assert
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_thread_state_asleep
    - ddsi_entidx_lookup_writer_guid
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_reader_get_matched_publications (struct ddsi_reader
      *rd, uint64_t *wrs, size_t nwrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1884,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1884,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1885,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1886,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1888,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1891,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1899,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1901,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1904,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - wr
    - ih
    - rdc
    - rdqos
    - ppc
    argTypes:
    - struct ddsi_writer*
    - uint64_t
    - struct ddsi_entity_common**
    - struct dds_qos**
    - struct ddsi_entity_common**
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 1883
        line_start: 1883
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1915
      start: 1878
    functionDepth: 4
    functionLinenumber: 1878
    functionLinenumberEnd: 1915
    functionName: ddsi_writer_find_matched_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - assert
    - ddsi_thread_is_awake
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_writer_find_matched_reader (struct ddsi_writer *wr, uint64_t
      ih, const struct ddsi_entity_common **rdc, const struct dds_qos **rdqos, const
      struct ddsi_entity_common **ppc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1923,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1923,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1924,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1925,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1927,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1930,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1938,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1940,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1943,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c:1952,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - rd
    - ih
    - wrc
    - wrqos
    - ppc
    argTypes:
    - struct ddsi_reader*
    - uint64_t
    - struct ddsi_entity_common**
    - struct dds_qos**
    - struct ddsi_entity_common**
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 1922
        line_start: 1922
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    constantsTouched: []
    func_position:
      end: 1954
      start: 1917
    functionDepth: 4
    functionLinenumber: 1917
    functionLinenumberEnd: 1954
    functionName: ddsi_reader_find_matched_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_avl_iter_first
    - ddsrt_mutex_lock
    - assert
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_thread_is_awake
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_reader_find_matched_writer (struct ddsi_reader *rd, uint64_t
      ih, const struct ddsi_entity_common **wrc, const struct dds_qos **wrqos, const
      struct ddsi_entity_common **ppc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:24,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - wr
    - rexmit_bytes
    - throttle_count
    - time_throttled
    - time_retransmit
    argTypes:
    - struct ddsi_writer*
    - uint64_t*
    - uint32_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: ddsi_get_writer_stats
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_get_writer_stats (struct ddsi_writer *wr, uint64_t *rexmit_bytes,
      uint32_t *throttle_count, uint64_t *time_throttled, uint64_t *time_retransmit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:36,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:37,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:37,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:42,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:43,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:47,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:48,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:51,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:52,1
    - Dst: ddsi_defrag_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:55,1
    - Dst: ddsi_reorder_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:57,1
    - Dst: ddsi_reorder_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:59,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:62,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:64,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - rd
    - discarded_bytes
    argTypes:
    - struct ddsi_reader*
    - uint64_t*
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: ddsi_get_reader_stats
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - assert
    - memset
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_defrag_stats
    - ddsi_reorder_stats
    - ddsi_thread_is_awake
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_get_reader_stats (struct ddsi_reader *rd, uint64_t *discarded_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - as
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: LOCK
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(as)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - as
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: TRYLOCK
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYLOCK(as)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - as
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: UNLOCK
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK(as)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_locator_t*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: ddsi_compare_locators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_locators (const ddsi_locator_t *a, const ddsi_locator_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_locators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_xlocator_t*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: ddsi_compare_xlocators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 3
    functionsReached:
    - ddsi_compare_locators
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_xlocators (const ddsi_xlocator_t *a, const ddsi_xlocator_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: compare_xlocators_vwrap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_compare_xlocators
    linkageType: ''
    returnType: int
    signature: int compare_xlocators_vwrap (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:84,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:85,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:86,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:87,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ddsi_new_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 8
    functionsReached:
    - ddsrt_avl_cinit
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_new_addrset (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ddsi_ref_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 9
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: struct ddsi_addrset
    signature: struct ddsi_addrset *ddsi_ref_addrset (struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:103,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:105,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:106,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:107,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: ddsi_unref_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 13
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_atomic_dec32_ov
    - ddsrt_avl_cfree
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_unref_addrset (struct ddsi_addrset *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: ddsi_set_unspec_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsi_set_unspec_locator (ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_set_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ddsi_set_unspec_xlocator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - ddsi_set_unspec_locator
    linkageType: ''
    returnType: void
    signature: void ddsi_set_unspec_xlocator (ddsi_xlocator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ddsi_is_unspec_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 7
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_unspec_locator (const ddsi_locator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: ddsi_is_unspec_xlocator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_unspec_xlocator (const ddsi_xlocator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:143,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:144,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:144,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:146,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:148,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - gv
    - as
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: ddsi_addrset_contains_ssm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_contains_ssm (const struct ddsi_domaingv *gv, const
      struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:160,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:161,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:161,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:163,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:166,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - gv
    - as
    - dst
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: ddsi_addrset_any_ssm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_any_ssm (const struct ddsi_domaingv *gv, const struct
      ddsi_addrset *as, ddsi_xlocator_t *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:178,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:179,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:179,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:181,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:184,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - gv
    - as
    - dst
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: ddsi_addrset_any_non_ssm_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_any_non_ssm_mc (const struct ddsi_domaingv *gv, const
      struct ddsi_addrset *as, ddsi_xlocator_t *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:195,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:195,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:196,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:198,1
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:199,1
    - Dst: ddsrt_avl_clookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:200,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:202,1
    - Dst: ddsrt_avl_cinsert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:204,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - gv
    - as
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts:
    - condition: (!ddsi_is_unspec_locator (&loc->c))
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    - condition: (loc->conn != NULL)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: add_xlocator_to_addrset_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_unspec_locator
    - assert
    - ddsi_is_mcaddr
    - ddsrt_avl_clookup_ipath
    - ddsrt_malloc
    - UNLOCK
    - ddsrt_avl_cinsert_ipath
    - LOCK
    linkageType: ''
    returnType: void
    signature: void add_xlocator_to_addrset_impl (const struct ddsi_domaingv *gv,
      struct ddsi_addrset *as, const ddsi_xlocator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:211,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - as
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ddsi_add_xlocator_to_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 5
    functionsReached:
    - add_xlocator_to_addrset_impl
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: void
    signature: void ddsi_add_xlocator_to_addrset (const struct ddsi_domaingv *gv,
      struct ddsi_addrset *as, const ddsi_xlocator_t *loc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:218,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:220,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:225,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:226,1
    - Dst: ddsi_factory_supports
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:238,1
    - Dst: ddsi_is_nearby_address
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:240,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - gv
    - as
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 262
    functionName: ddsi_add_locator_to_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 4
    functionsReached:
    - ddsi_is_nearby_address
    - ddsi_is_unspec_locator
    - ddsi_factory_supports
    - add_xlocator_to_addrset_impl
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: void
    signature: void ddsi_add_locator_to_addrset (const struct ddsi_domaingv *gv, struct
      ddsi_addrset *as, const ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:267,1
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:269,1
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:270,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:272,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:273,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - as
    - loc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: ddsi_remove_from_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_avl_cdelete_dpath
    - ddsrt_avl_clookup_dpath
    - ddsi_is_mcaddr
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ddsi_remove_from_addrset (const struct ddsi_domaingv *gv, struct
      ddsi_addrset *as, const ddsi_xlocator_t *loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:282,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:283,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:283,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:284,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - gv
    - as
    - asadd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: ddsi_copy_addrset_into_addrset_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - add_xlocator_to_addrset_impl
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ddsi_copy_addrset_into_addrset_uc (const struct ddsi_domaingv
      *gv, struct ddsi_addrset *as, const struct ddsi_addrset *asadd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:292,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:293,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:293,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:294,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - gv
    - as
    - asadd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: ddsi_copy_addrset_into_addrset_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - add_xlocator_to_addrset_impl
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ddsi_copy_addrset_into_addrset_mc (const struct ddsi_domaingv
      *gv, struct ddsi_addrset *as, const struct ddsi_addrset *asadd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_copy_addrset_into_addrset_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:300,1
    - Dst: ddsi_copy_addrset_into_addrset_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - gv
    - as
    - asadd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: ddsi_copy_addrset_into_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - ddsi_copy_addrset_into_addrset_mc
    - ddsi_copy_addrset_into_addrset_uc
    linkageType: ''
    returnType: void
    signature: void ddsi_copy_addrset_into_addrset (const struct ddsi_domaingv *gv,
      struct ddsi_addrset *as, const struct ddsi_addrset *asadd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:309,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:310,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:310,1
    - Dst: ddsi_is_ssm_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:312,1
    - Dst: add_xlocator_to_addrset_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:313,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gv
    - as
    - asadd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: ddsi_copy_addrset_into_addrset_no_ssm_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_is_ssm_mcaddr
    - ddsrt_avl_citer_first
    - UNLOCK
    - add_xlocator_to_addrset_impl
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ddsi_copy_addrset_into_addrset_no_ssm_mc (const struct ddsi_domaingv
      *gv, struct ddsi_addrset *as, const struct ddsi_addrset *asadd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_copy_addrset_into_addrset_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:321,1
    - Dst: ddsi_copy_addrset_into_addrset_no_ssm_mc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - gv
    - as
    - asadd
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: ddsi_copy_addrset_into_addrset_no_ssm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_copy_addrset_into_addrset_no_ssm_mc
    - ddsi_copy_addrset_into_addrset_uc
    linkageType: ''
    returnType: void
    signature: void ddsi_copy_addrset_into_addrset_no_ssm (const struct ddsi_domaingv
      *gv, struct ddsi_addrset *as, const struct ddsi_addrset *asadd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:333,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:334,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:334,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 338
    functionName: ddsi_addrset_count
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_ccount
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_addrset_count (const struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:347,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:348,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: ddsi_addrset_count_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_ccount
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_addrset_count_uc (const struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:361,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:362,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: ddsi_addrset_count_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_ccount
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_addrset_count_mc (const struct ddsi_addrset *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:371,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:372,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: ddsi_addrset_empty_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_cis_empty
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_empty_uc (const struct ddsi_addrset *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:380,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:381,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: ddsi_addrset_empty_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_cis_empty
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_empty_mc (const struct ddsi_addrset *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:389,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:390,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:390,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: ddsi_addrset_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 9
    functionsReached:
    - ddsrt_avl_cis_empty
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_empty (const struct ddsi_addrset *as)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:398,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:400,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:400,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: ddsi_addrset_contains_non_psmx_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    - ddsrt_avl_citer_next
    - ddsrt_avl_citer_first
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_contains_non_psmx_uc (const struct ddsi_addrset *as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:417,1
    - Dst: ddsrt_avl_croot_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:418,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:425,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:425,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:434,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - as
    - dst
    argTypes:
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts:
    - condition: (dst->c.kind != DDSI_LOCATOR_KIND_INVALID)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    constantsTouched: []
    func_position:
      end: 438
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 438
    functionName: ddsi_addrset_any_uc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_croot_non_empty
    - assert
    - ddsrt_avl_citer_first
    - UNLOCK
    - ddsrt_avl_citer_next
    - LOCK
    linkageType: ''
    returnType: void
    signature: void ddsi_addrset_any_uc (const struct ddsi_addrset *as, ddsi_xlocator_t
      *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:442,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:443,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:445,1
    - Dst: ddsrt_avl_croot_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:450,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - as
    - dst
    argTypes:
    - struct ddsi_addrset*
    - ddsi_xlocator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: ddsi_addrset_any_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_cis_empty
    - UNLOCK
    - ddsrt_avl_croot_non_empty
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_any_mc (const struct ddsi_addrset *as, ddsi_xlocator_t
      *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct addrset_forall_helper_arg*::f
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vnode
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: addrset_forall_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - struct addrset_forall_helper_arg*::f
    linkageType: ''
    returnType: void
    signature: void addrset_forall_helper (const void *vnode, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:476,1
    - Dst: ddsrt_avl_cconst_walk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:477,1
    - Dst: ddsrt_avl_cconst_walk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:478,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:479,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:479,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - as
    - f
    - arg
    argTypes:
    - struct ddsi_addrset*
    - ddsi_addrset_forall_fun_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: ddsi_addrset_forall_count
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_ccount
    - ddsrt_avl_cconst_walk
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_addrset_forall_count (struct ddsi_addrset *as, ddsi_addrset_forall_fun_t
      f, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - as
    - f
    - arg
    argTypes:
    - struct ddsi_addrset*
    - ddsi_addrset_forall_fun_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ddsi_addrset_forall
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 9
    functionsReached:
    - ddsi_addrset_forall_count
    linkageType: ''
    returnType: void
    signature: void ddsi_addrset_forall (struct ddsi_addrset *as, ddsi_addrset_forall_fun_t
      f, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:495,1
    - Dst: ddsrt_avl_cconst_walk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:496,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:497,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - as
    - f
    - arg
    argTypes:
    - struct ddsi_addrset*
    - ddsi_addrset_forall_fun_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 500
    functionName: ddsi_addrset_forall_uc_count
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_ccount
    - ddsrt_avl_cconst_walk
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_addrset_forall_uc_count (struct ddsi_addrset *as, ddsi_addrset_forall_fun_t
      f, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:512,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - as
    - f
    - arg
    argTypes:
    - struct ddsi_addrset*
    - ddsi_addrset_forone_fun_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: ddsi_addrset_forone
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_citer_next
    - ddsrt_avl_citer_first
    linkageType: ''
    returnType: int
    signature: int ddsi_addrset_forone (struct ddsi_addrset *as, ddsi_addrset_forone_fun_t
      f, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:537,1
    - Dst: ddsi_xlocator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - n
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: log_addrset_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsi_xlocator_to_string
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void log_addrset_helper (const ddsi_xlocator_t *n, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:547,1
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - gv
    - tf
    - prefix
    - as
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    - char*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: ddsi_log_addrset
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 3
    functionsReached:
    - ddsi_addrset_forall
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_log_addrset (struct ddsi_domaingv *gv, uint32_t tf, const
      char *prefix, const struct ddsi_addrset *as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:555,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:555,1
    - Dst: ddsrt_avl_cis_singleton
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:557,1
    - Dst: ddsrt_avl_cis_singleton
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:557,1
    - Dst: ddsrt_avl_croot_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:558,1
    - Dst: ddsrt_avl_croot_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:559,1
    - Dst: ddsi_compare_xlocators
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - at
    - bt
    argTypes:
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: addrset_eq_onesidederr1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_croot_non_empty
    - ddsi_compare_xlocators
    - ddsrt_avl_cis_singleton
    - ddsrt_avl_cis_empty
    linkageType: ''
    returnType: int
    signature: int addrset_eq_onesidederr1 (const ddsrt_avl_ctree_t *at, const ddsrt_avl_ctree_t
      *bt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:572,1
    - Dst: TRYLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:574,1
    - Dst: addrset_eq_onesidederr1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:577,1
    - Dst: addrset_eq_onesidederr1
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:578,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:579,1
    - Dst: UNLOCK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_addrset*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 591
    functionName: ddsi_addrset_eq_onesidederr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    functionUses: 1
    functionsReached:
    - addrset_eq_onesidederr1
    - TRYLOCK
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool ddsi_addrset_eq_onesidederr (const struct ddsi_addrset *a, const
      struct ddsi_addrset *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:26,1
    - Dst: strchr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: is_wildcard_partition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_wildcard_partition (const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:32,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:34,1
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:35,1
    - Dst: ddsi_patmatch
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pat
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: partition_patmatch_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ddsi_patmatch
    - is_wildcard_partition
    linkageType: ''
    returnType: int
    signature: int partition_patmatch_p (const char *pat, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: partition_patmatch_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: partitions_match_default
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached:
    - partition_patmatch_p
    linkageType: ''
    returnType: int
    signature: int partitions_match_default (const dds_qos_t *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: partitions_match_default
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:55,1
    - Dst: partitions_match_default
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:57,1
    - Dst: partition_patmatch_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:63,1
    - Dst: partition_patmatch_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: partitions_match_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached:
    - partitions_match_default
    - partition_patmatch_p
    linkageType: ''
    returnType: int
    signature: int partitions_match_p (const dds_qos_t *a, const dds_qos_t *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:78,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:79,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:80,1
    - Dst: ddsi_type_resolved_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:81,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:85,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:86,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:87,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:89,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:89,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:91,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:91,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:92,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:98,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - gv
    - type_name
    - type_pair
    - req_lookup
    - entity
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - ddsi_type_pair_t*
    - bool*
    - char*
    assertStmts:
    - condition: (type_pair)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: is_endpoint_type_resolved
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached:
    - ddsi_type_pair_complete_id
    - ddsrt_mutex_lock
    - assert
    - ddsi_make_typeid_str
    - ddsi_type_resolved_locked
    - ddsi_type_pair_minimal_id
    - GVTRACE
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t is_endpoint_type_resolved (struct ddsi_domaingv *gv, char
      *type_name, const ddsi_type_pair_t *type_pair, bool *req_lookup, const char
      *entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:112,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:113,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:114,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rd_qos
    - wr_qos
    argTypes:
    - dds_qos_t*
    - dds_qos_t*
    assertStmts:
    - condition: (rd_qos->present & DDSI_QP_DATA_REPRESENTATION)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    - condition: (rd_qos->data_representation.value.n > 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    - condition: (wr_qos->data_representation.value.n > 0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    - condition: (wr_qos->present & DDSI_QP_DATA_REPRESENTATION)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: data_representation_match_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int data_representation_match_p (const dds_qos_t *rd_qos, const dds_qos_t
      *wr_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - ddsi_type_pair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: type_pair_has_id
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool type_pair_has_id (const ddsi_type_pair_t *pair)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:147,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:150,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:151,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:166,1
    - Dst: partitions_match_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:170,1
    - Dst: data_representation_match_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:217,1
    - Dst: type_pair_has_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:223,1
    - Dst: type_pair_has_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:223,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:235,1
    - Dst: dds_qget_type_consistency
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:248,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:252,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:252,1
    - Dst: ddsi_type_pair_minimal_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:252,1
    - Dst: is_endpoint_type_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:261,1
    - Dst: is_endpoint_type_resolved
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:262,1
    - Dst: ddsi_is_assignable_from
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:265,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:273,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 88
    argCount: 9
    argNames:
    - gv
    - rd_qos
    - wr_qos
    - mask
    - reason
    - rd_type_pair
    - wr_type_pair
    - rd_typeid_req_lookup
    - wr_typeid_req_lookup
    argTypes:
    - struct ddsi_domaingv*
    - dds_qos_t*
    - dds_qos_t*
    - uint64_t
    - dds_qos_policy_id_t*
    - struct ddsi_type_pair*
    - struct ddsi_type_pair*
    - bool*
    - bool*
    assertStmts:
    - condition: ((rd_qos->present & musthave) == musthave)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    - condition: ((wr_qos->present & musthave) == musthave)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    constantsTouched: []
    func_position:
      end: 278
      start: 131
    functionDepth: 17
    functionLinenumber: 131
    functionLinenumberEnd: 278
    functionName: ddsi_qos_match_mask_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 1
    functionsReached:
    - assert
    - strcmp
    - DDSRT_UNUSED_ARG
    - dds_qget_type_consistency
    - partitions_match_p
    - ddsi_type_pair_minimal_id
    - type_pair_has_id
    - ddsi_is_assignable_from
    - ddsi_typeid_compare
    - is_endpoint_type_resolved
    - data_representation_match_p
    linkageType: ''
    returnType: bool
    signature: "bool ddsi_qos_match_mask_p (\n    struct ddsi_domaingv *gv,\n    const
      dds_qos_t *rd_qos,\n    const dds_qos_t *wr_qos,\n    uint64_t mask,\n    dds_qos_policy_id_t
      *reason\n#ifdef DDS_HAS_TYPELIB\n    , const struct ddsi_type_pair *rd_type_pair\n
      \   , const struct ddsi_type_pair *wr_type_pair\n#endif\n#ifdef DDS_HAS_TYPE_DISCOVERY\n
      \   , bool *rd_typeid_req_lookup\n    , bool *wr_typeid_req_lookup\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:297,1
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:299,1
    - Dst: ddsi_qos_match_mask_p
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - gv
    - rd_qos
    - wr_qos
    - reason
    - rd_type_pair
    - wr_type_pair
    - rd_typeid_req_lookup
    - wr_typeid_req_lookup
    argTypes:
    - struct ddsi_domaingv*
    - dds_qos_t*
    - dds_qos_t*
    - dds_qos_policy_id_t*
    - struct ddsi_type_pair*
    - struct ddsi_type_pair*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 280
    functionDepth: 18
    functionLinenumber: 280
    functionLinenumberEnd: 303
    functionName: ddsi_qos_match_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
    functionUses: 1
    functionsReached:
    - ddsi_qos_match_mask_p
    linkageType: ''
    returnType: bool
    signature: "bool ddsi_qos_match_p (\n    struct ddsi_domaingv *gv,\n    const
      dds_qos_t *rd_qos,\n    const dds_qos_t *wr_qos,\n    dds_qos_policy_id_t *reason\n#ifdef
      DDS_HAS_TYPELIB\n    , const struct ddsi_type_pair *rd_type_pair\n    , const
      struct ddsi_type_pair *wr_type_pair\n#endif\n#ifdef DDS_HAS_TYPE_DISCOVERY\n
      \   , bool *rd_typeid_req_lookup\n    , bool *wr_typeid_req_lookup\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - logcfg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: TRACE_CFG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_CFG(obj, logcfg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: TRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 160
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(obj, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RBPTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RBPTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: RBUFTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RBUFTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: RMSGTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RMSGTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rdata
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: RDATATRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDATATRACE(rdata, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: align_rmsg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t align_rmsg (uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: ASSERT_RBUFPOOL_OWNER
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RBUFPOOL_OWNER(rbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: ASSERT_RBUFPOOL_OWNER
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RBUFPOOL_OWNER(rbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: max_uint32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t max_uint32 (uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max_uint32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_rmsg_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: max_rmsg_size_w_hdr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - max_uint32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t max_rmsg_size_w_hdr (uint32_t max_rmsg_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:337,1
    - Dst: max_rmsg_size_w_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:343,1
    - Dst: max_rmsg_size_w_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:344,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:346,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:349,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:352,1
    - Dst: VALGRIND_CREATE_MEMPOOL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:360,1
    - Dst: ddsi_rbuf_alloc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:363,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:371,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - logcfg
    - rbuf_size
    - max_rmsg_size
    argTypes:
    - struct ddsrt_log_cfg*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (max_rmsg_size > 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 375
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 375
    functionName: ddsi_rbufpool_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 5
    functionsReached:
    - ddsrt_free
    - ddsrt_thread_self
    - assert
    - ddsi_rbuf_alloc_new
    - ddsrt_mutex_destroy
    - max_rmsg_size_w_hdr
    - ddsrt_mutex_init
    - VALGRIND_CREATE_MEMPOOL
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_rbufpool
    signature: struct ddsi_rbufpool *ddsi_rbufpool_new (const struct ddsrt_log_cfg
      *logcfg, uint32_t rbuf_size, uint32_t max_rmsg_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: ddsi_rbufpool_setowner
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_rbufpool_setowner (UNUSED_ARG_NDEBUG (struct ddsi_rbufpool
      *rbp), UNUSED_ARG_NDEBUG (ddsrt_thread_t tid))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:391,1
    - Dst: ddsi_rbuf_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:393,1
    - Dst: VALGRIND_DESTROY_MEMPOOL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:395,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:397,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rbp
    argTypes:
    - struct ddsi_rbufpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: ddsi_rbufpool_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached:
    - ddsrt_free
    - ASSERT_RBUFPOOL_OWNER
    - ddsi_rbuf_release
    - VALGRIND_DESTROY_MEMPOOL
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_rbufpool_free (struct ddsi_rbufpool *rbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:430,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:432,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:435,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:439,1
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rbp
    argTypes:
    - struct ddsi_rbufpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 446
    functionName: ddsi_rbuf_alloc_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - ASSERT_RBUFPOOL_OWNER
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - RBPTRACE
    linkageType: ''
    returnType: struct ddsi_rbuf
    signature: struct ddsi_rbuf *ddsi_rbuf_alloc_new (struct ddsi_rbufpool *rbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:451,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:452,1
    - Dst: ddsi_rbuf_alloc_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:453,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:455,1
    - Dst: ddsi_rbuf_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:456,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rbp
    argTypes:
    - struct ddsi_rbufpool*
    assertStmts:
    - condition: (rbp->current)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 461
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 461
    functionName: ddsi_rbuf_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ASSERT_RBUFPOOL_OWNER
    - assert
    - ddsrt_mutex_lock
    - ddsi_rbuf_release
    - ddsi_rbuf_alloc_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_rbuf
    signature: struct ddsi_rbuf *ddsi_rbuf_new (struct ddsi_rbufpool *rbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:466,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:467,1
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:469,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - struct ddsi_rbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: ddsi_rbuf_release
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_dec32_ov
    - RBPTRACE
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsi_rbuf_release (struct ddsi_rbuf *rbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rmsg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: ASSERT_RMSG_UNCOMMITTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RMSG_UNCOMMITTED(rmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rmsg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: ASSERT_RMSG_UNCOMMITTED
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RMSG_UNCOMMITTED(rmsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max_rmsg_size_w_hdr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:494,1
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:496,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:497,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:499,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:500,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:501,1
    - Dst: ddsi_rbuf_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:506,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:510,1
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:513,1
    - Dst: VALGRIND_MEMPOOL_ALLOC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - rbp
    argTypes:
    - struct ddsi_rbufpool*
    assertStmts:
    - condition: (rb->freeptr >= rb->raw)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rb != NULL)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rb->freeptr <= rb->raw + rb->size)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: ((uint32_t) (rb->raw + rb->size - rb->freeptr) >= asize)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 518
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 518
    functionName: ddsi_rbuf_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MEMPOOL_ALLOC
    - ASSERT_RBUFPOOL_OWNER
    - ddsi_rbuf_new
    - assert
    - max_rmsg_size_w_hdr
    - RBPTRACE
    linkageType: ''
    returnType: void
    signature: void *ddsi_rbuf_alloc (struct ddsi_rbufpool *rbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - chunk
    - rbuf
    argTypes:
    - struct ddsi_rmsg_chunk*
    - struct ddsi_rbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: init_rmsg_chunk
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void init_rmsg_chunk (struct ddsi_rmsg_chunk *chunk, struct ddsi_rbuf
      *rbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:532,1
    - Dst: ddsi_rbuf_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:534,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:539,1
    - Dst: init_rmsg_chunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:541,1
    - Dst: RBPTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rbp
    argTypes:
    - struct ddsi_rbufpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 548
    functionName: ddsi_rmsg_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_st32
    - ddsi_rbuf_alloc
    - RBPTRACE
    - init_rmsg_chunk
    linkageType: ''
    returnType: struct ddsi_rmsg
    signature: struct ddsi_rmsg *ddsi_rmsg_new (struct ddsi_rbufpool *rbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align_rmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:552,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:553,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:554,1
    - Dst: ASSERT_RMSG_UNCOMMITTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:555,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:556,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:556,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:557,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:558,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:559,1
    - Dst: VALGRIND_MEMPOOL_CHANGE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - rmsg
    - size
    argTypes:
    - struct ddsi_rmsg*
    - uint32_t
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&rmsg->refcount) == RMSG_REFCOUNT_UNCOMMITTED_BIAS)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rmsg->chunk.u.size == 0)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (size8P <= rmsg->chunk.rbuf->max_rmsg_size)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rmsg->lastchunk == &rmsg->chunk)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 564
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 564
    functionName: ddsi_rmsg_setsize
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_ld32
    - ASSERT_RBUFPOOL_OWNER
    - ASSERT_RMSG_UNCOMMITTED
    - assert
    - VALGRIND_MEMPOOL_CHANGE
    - align_rmsg
    - RMSGTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_setsize (struct ddsi_rmsg *rmsg, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:576,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:577,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:577,1
    - Dst: VALGRIND_MEMPOOL_FREE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:585,1
    - Dst: VALGRIND_MEMPOOL_FREE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:587,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:590,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:590,1
    - Dst: ddsi_rbuf_release
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - rmsg
    argTypes:
    - struct ddsi_rmsg*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&rmsg->refcount) == 0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsrt_atomic_ld32 (&rbuf->n_live_rmsg_chunks) > 0)
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 594
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 594
    functionName: ddsi_rmsg_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - RMSGTRACE
    - ddsi_rbuf_release
    - VALGRIND_MEMPOOL_FREE
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_free (struct ddsi_rmsg *rmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RBUFTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct ddsi_rmsg_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: commit_rmsg_chunk
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - RBUFTRACE
    linkageType: ''
    returnType: void
    signature: void commit_rmsg_chunk (struct ddsi_rmsg_chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:614,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:616,1
    - Dst: ASSERT_RMSG_UNCOMMITTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:617,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:618,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:619,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:620,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:620,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:621,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:621,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:622,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:622,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:623,1
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:624,1
    - Dst: ddsi_rmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:625,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:630,1
    - Dst: commit_rmsg_chunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rmsg
    argTypes:
    - struct ddsi_rmsg*
    assertStmts:
    - condition: (chunk->u.size <= chunk->rbuf->max_rmsg_size)
      pos:
        line_end: 617
        line_start: 617
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: ((chunk->u.size % DDSI_ALIGNOF_RMSG) == 0)
      pos:
        line_end: 618
        line_start: 618
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsrt_atomic_ld32 (&rmsg->refcount) >= RMSG_REFCOUNT_UNCOMMITTED_BIAS)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsrt_atomic_ld32 (&rmsg->chunk.rbuf->n_live_rmsg_chunks) > 0)
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsrt_atomic_ld32 (&chunk->rbuf->n_live_rmsg_chunks) > 0)
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (chunk->rbuf->rbufpool->current == chunk->rbuf)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 633
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 633
    functionName: ddsi_rmsg_commit
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_ld32
    - commit_rmsg_chunk
    - ASSERT_RBUFPOOL_OWNER
    - ASSERT_RMSG_UNCOMMITTED
    - assert
    - RMSGTRACE
    - ddsrt_atomic_sub32_nv
    - ddsi_rmsg_free
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_commit (struct ddsi_rmsg *rmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:643,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:644,1
    - Dst: ASSERT_RMSG_UNCOMMITTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:645,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rmsg
    argTypes:
    - struct ddsi_rmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 647
    functionName: ddsi_rmsg_addbias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ASSERT_RBUFPOOL_OWNER
    - ASSERT_RMSG_UNCOMMITTED
    - RMSGTRACE
    - ddsrt_atomic_add32
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_addbias (struct ddsi_rmsg *rmsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:655,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:656,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:657,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:659,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:659,1
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:660,1
    - Dst: ddsi_rmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rmsg
    - adjust
    argTypes:
    - struct ddsi_rmsg*
    - int
    assertStmts:
    - condition: ((uint32_t) adjust < RMSG_REFCOUNT_RDATA_BIAS)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsrt_atomic_ld32 (&rmsg->refcount) >= sub)
      pos:
        line_end: 658
        line_start: 658
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (adjust >= 0)
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 662
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 662
    functionName: ddsi_rmsg_rmbias_and_adjust
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - RMSGTRACE
    - ddsrt_atomic_sub32_nv
    - ddsi_rmsg_free
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_rmbias_and_adjust (struct ddsi_rmsg *rmsg, int adjust)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:666,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:667,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:667,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:668,1
    - Dst: ddsi_rmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rmsg
    argTypes:
    - struct ddsi_rmsg*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&rmsg->refcount) > 0)
      pos:
        line_end: 666
        line_start: 666
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: ddsi_rmsg_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_dec32_ov
    - assert
    - RMSGTRACE
    - ddsi_rmsg_free
    linkageType: ''
    returnType: void
    signature: void ddsi_rmsg_unref (struct ddsi_rmsg *rmsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: align_rmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:676,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:678,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:679,1
    - Dst: ASSERT_RMSG_UNCOMMITTED
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:680,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:681,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:682,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:688,1
    - Dst: commit_rmsg_chunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:689,1
    - Dst: ddsi_rbuf_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:690,1
    - Dst: DDS_CWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:693,1
    - Dst: init_rmsg_chunk
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:696,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:703,1
    - Dst: VALGRIND_MEMPOOL_CHANGE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:706,1
    - Dst: VALGRIND_MEMPOOL_CHANGE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - rmsg
    - size
    argTypes:
    - struct ddsi_rmsg*
    - uint32_t
    assertStmts:
    - condition: ((chunk->u.size % DDSI_ALIGNOF_RMSG) == 0)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (size8P <= rbuf->max_rmsg_size)
      pos:
        line_end: 681
        line_start: 681
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 712
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 712
    functionName: ddsi_rmsg_alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - DDS_CWARNING
    - commit_rmsg_chunk
    - ASSERT_RBUFPOOL_OWNER
    - ASSERT_RMSG_UNCOMMITTED
    - assert
    - VALGRIND_MEMPOOL_CHANGE
    - align_rmsg
    - RMSGTRACE
    - ddsi_rbuf_alloc
    - init_rmsg_chunk
    linkageType: ''
    returnType: void
    signature: void *ddsi_rmsg_alloc (struct ddsi_rmsg *rmsg, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:719,1
    - Dst: DDSI_OFF_TO_ZOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:725,1
    - Dst: DDSI_OFF_TO_ZOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:726,1
    - Dst: DDSI_OFF_TO_ZOFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:727,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:729,1
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:731,1
    - Dst: DDSI_RDATA_SUBMSG_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:732,1
    - Dst: DDSI_RDATA_PAYLOAD_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - rmsg
    - start
    - endp1
    - submsg_offset
    - payload_offset
    - keyhash_offset
    argTypes:
    - struct ddsi_rmsg*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 716
    functionDepth: 5
    functionLinenumber: 716
    functionLinenumberEnd: 734
    functionName: ddsi_rdata_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - DDSI_RDATA_SUBMSG_OFF
    - DDSI_OFF_TO_ZOFF
    - ddsi_rmsg_alloc
    - RMSGTRACE
    - DDSI_RDATA_PAYLOAD_OFF
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: struct ddsi_rdata
    signature: struct ddsi_rdata *ddsi_rdata_new (struct ddsi_rmsg *rmsg, uint32_t
      start, uint32_t endp1, uint32_t submsg_offset, uint32_t payload_offset, uint32_t
      keyhash_offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:739,1
    - Dst: ASSERT_RBUFPOOL_OWNER
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:741,1
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:742,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:743,1
    - Dst: ddsi_rmsg_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: ddsi_rdata_addbias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ASSERT_RBUFPOOL_OWNER
    - RMSGTRACE
    - ddsrt_atomic_inc32_nv
    - abort
    - ddsi_rmsg_addbias
    linkageType: ''
    returnType: void
    signature: void ddsi_rdata_addbias (struct ddsi_rdata *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:751,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:753,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:754,1
    - Dst: ddsi_rmsg_rmbias_and_adjust
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rdata
    - adjust
    argTypes:
    - struct ddsi_rdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: ddsi_rdata_rmbias_and_adjust
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - abort
    - ddsrt_atomic_dec32_ov
    - ddsi_rmsg_rmbias_and_adjust
    - RMSGTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_rdata_rmbias_and_adjust (struct ddsi_rdata *rdata, int adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RMSGTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:762,1
    - Dst: ddsi_rmsg_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: ddsi_rdata_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_rmsg_unref
    - RMSGTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_rdata_unref (struct ddsi_rdata *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: compare_uint32
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_uint32 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: compare_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_seqno (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:888,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:889,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - logcfg
    - drop_mode
    - max_samples
    argTypes:
    - struct ddsrt_log_cfg*
    - enum ddsi_defrag_drop_mode
    - uint32_t
    assertStmts:
    - condition: (max_samples >= 1)
      pos:
        line_end: 887
        line_start: 887
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: ddsi_defrag_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_avl_init
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_defrag
    signature: struct ddsi_defrag *ddsi_defrag_new (const struct ddsrt_log_cfg *logcfg,
      enum ddsi_defrag_drop_mode drop_mode, uint32_t max_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - defrag
    - discarded_bytes
    argTypes:
    - struct ddsi_defrag*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: ddsi_defrag_stats
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_defrag_stats (struct ddsi_defrag *defrag, uint64_t *discarded_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RDATATRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:909,1
    - Dst: ddsi_rdata_rmbias_and_adjust
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - frag
    - adjust
    argTypes:
    - struct ddsi_rdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: ddsi_fragchain_adjust_refcount
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached:
    - RDATATRACE
    - ddsi_rdata_rmbias_and_adjust
    linkageType: ''
    returnType: void
    signature: void ddsi_fragchain_adjust_refcount (struct ddsi_rdata *frag, int adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_fragchain_adjust_refcount
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - frag
    argTypes:
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 6
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: ddsi_fragchain_rmbias
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_fragchain_adjust_refcount
    linkageType: ''
    returnType: void
    signature: void ddsi_fragchain_rmbias (struct ddsi_rdata *frag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:934,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:935,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:936,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:938,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:938,1
    - Dst: ddsi_fragchain_rmbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - defrag
    - rsample
    argTypes:
    - struct ddsi_defrag*
    - struct ddsi_rsample*
    assertStmts:
    - condition: (defrag->n_samples > 0)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 944
      start: 923
    functionDepth: 7
    functionLinenumber: 923
    functionLinenumberEnd: 944
    functionName: defrag_rsample_drop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsrt_avl_iter_first
    - assert
    - TRACE
    - ddsrt_avl_delete
    - ddsi_fragchain_rmbias
    linkageType: ''
    returnType: void
    signature: void defrag_rsample_drop (struct ddsi_defrag *defrag, struct ddsi_rsample
      *rsample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:949,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:952,1
    - Dst: defrag_rsample_drop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:953,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:954,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:956,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - defrag
    argTypes:
    - struct ddsi_defrag*
    assertStmts:
    - condition: (defrag->n_samples == 0)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 958
      start: 946
    functionDepth: 8
    functionLinenumber: 946
    functionLinenumberEnd: 958
    functionName: ddsi_defrag_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - assert
    - defrag_rsample_drop
    - TRACE
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void ddsi_defrag_free (struct ddsi_defrag *defrag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:964,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:968,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:972,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:973,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:974,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:977,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:987,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:990,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1005,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - defrag
    - sample
    - node
    argTypes:
    - struct ddsi_defrag*
    - struct ddsi_rsample_defrag*
    - struct ddsi_defrag_iv*
    assertStmts:
    - condition: (succ != NULL)
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1017
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1017
    functionName: defrag_try_merge_with_succ
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_find_succ
    - assert
    - TRACE
    - ddsrt_avl_delete
    linkageType: ''
    returnType: int
    signature: int defrag_try_merge_with_succ (const struct ddsi_defrag *defrag, struct
      ddsi_rsample_defrag *sample, struct ddsi_defrag_iv *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1022,1
    - Dst: ddsi_rdata_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1028,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sample
    - rdata
    - path
    argTypes:
    - struct ddsi_rsample_defrag*
    - struct ddsi_rdata*
    - ddsrt_avl_ipath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: defrag_rsample_addiv
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsi_rdata_addbias
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: void
    signature: void defrag_rsample_addiv (struct ddsi_rsample_defrag *sample, struct
      ddsi_rdata *rdata, ddsrt_avl_ipath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: rsample_init_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rsample_init_common (UNUSED_ARG (struct ddsi_rsample *rsample),
      UNUSED_ARG (struct ddsi_rdata *rdata), UNUSED_ARG (const struct ddsi_rsample_info
      *sampleinfo))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1044,1
    - Dst: rsample_init_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1046,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1050,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1054,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1060,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1064,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1065,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1069,1
    - Dst: defrag_rsample_addiv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - rdata
    - sampleinfo
    argTypes:
    - struct ddsi_rdata*
    - struct ddsi_rsample_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1038
    functionDepth: 6
    functionLinenumber: 1038
    functionLinenumberEnd: 1072
    functionName: defrag_rsample_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert_ipath
    - defrag_rsample_addiv
    - rsample_init_common
    - ddsrt_avl_lookup_ipath
    - ddsrt_avl_init
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *defrag_rsample_new (struct ddsi_rdata *rdata,
      const struct ddsi_rsample_info *sampleinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1088,1
    - Dst: rsample_init_common
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1090,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1092,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1096,1
    - Dst: ddsi_rdata_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - rdata
    - sampleinfo
    argTypes:
    - struct ddsi_rdata*
    - struct ddsi_rsample_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1108
    functionName: reorder_rsample_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_rdata_addbias
    - rsample_init_common
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *reorder_rsample_new (struct ddsi_rdata *rdata,
      const struct ddsi_rsample_info *sampleinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1116,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1117,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1126,1
    - Dst: ddsrt_avl_is_singleton
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sample
    argTypes:
    - struct ddsi_rsample_defrag*
    assertStmts:
    - condition: (ddsrt_avl_is_singleton (&sample->fragtree))
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (iv != NULL)
      pos:
        line_end: 1116
        line_start: 1116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1133
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1133
    functionName: is_complete
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - assert
    - ddsrt_avl_is_singleton
    - ddsrt_avl_root
    linkageType: ''
    returnType: int
    signature: int is_complete (const struct ddsi_rsample_defrag *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1143,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sample
    argTypes:
    - struct ddsi_rsample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1159
    functionName: rsample_convert_defrag_to_reorder
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void rsample_convert_defrag_to_reorder (struct ddsi_rsample *sample)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1170,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1172,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1173,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1175,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1177,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1177,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1179,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1187,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1192,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1193,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1194,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1200,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1206,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1215,1
    - Dst: ddsi_rdata_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1216,1
    - Dst: defrag_try_merge_with_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1231,1
    - Dst: is_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1233,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1236,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1243,1
    - Dst: ddsi_rdata_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1244,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1253,1
    - Dst: defrag_try_merge_with_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1255,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1258,1
    - Dst: is_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1258,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1266,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1267,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1268,1
    - Dst: defrag_rsample_addiv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 4
    argNames:
    - defrag
    - sample
    - rdata
    - sampleinfo
    argTypes:
    - struct ddsi_defrag*
    - struct ddsi_rsample*
    - struct ddsi_rdata*
    - struct ddsi_rsample_info*
    assertStmts:
    - condition: (predeq != NULL)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (!is_complete (dfsample))
      pos:
        line_end: 1257
        line_start: 1257
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (dfsample)
      pos:
        line_end: 1171
        line_start: 1171
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (dfsample->lastfrag == ddsrt_avl_find_max (&rsample_defrag_fragtree_treedef,
        &dfsample->fragtree))
      pos:
        line_end: 1176
        line_start: 1176
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (predeq)
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (0)
      pos:
        line_end: 1267
        line_start: 1267
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (min < maxp1)
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (dfsample->lastfrag)
      pos:
        line_end: 1174
        line_start: 1174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (dfsample->seq == sampleinfo->seq)
      pos:
        line_end: 1172
        line_start: 1172
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1272
      start: 1161
    functionDepth: 6
    functionLinenumber: 1161
    functionLinenumberEnd: 1272
    functionName: defrag_add_fragment
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    - defrag_rsample_addiv
    - ddsrt_avl_lookup_ipath
    - assert
    - ddsi_rdata_addbias
    - TRACE
    - ddsrt_avl_find_max
    - defrag_try_merge_with_succ
    - is_complete
    - ddsrt_avl_find_succ
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *defrag_add_fragment (struct ddsi_defrag *defrag,
      struct ddsi_rsample *sample, struct ddsi_rdata *rdata, const struct ddsi_rsample_info
      *sampleinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1277,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdata
    - sampleinfo
    argTypes:
    - struct ddsi_rdata*
    - struct ddsi_rsample_info*
    assertStmts:
    - condition: (rdata->min <= rdata->maxp1)
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rdata->maxp1 <= sampleinfo->size)
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1280
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1280
    functionName: ddsi_rdata_is_fragment
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int ddsi_rdata_is_fragment (const struct ddsi_rdata *rdata, const struct
      ddsi_rsample_info *sampleinfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1288,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1289,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1293,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1296,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1302,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1303,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1304,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1307,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1312,1
    - Dst: defrag_rsample_drop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1313,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1316,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - defrag
    - seq
    - max_seq
    argTypes:
    - struct ddsi_defrag*
    - ddsi_seqno_t
    - ddsi_seqno_t*
    assertStmts:
    - condition: (defrag->max_sample != NULL)
      pos:
        line_end: 1287
        line_start: 1287
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sample_to_drop)
      pos:
        line_end: 1303
        line_start: 1303
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sample_to_drop != NULL)
      pos:
        line_end: 1311
        line_start: 1311
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1322
      start: 1282
    functionDepth: 8
    functionLinenumber: 1282
    functionLinenumberEnd: 1322
    functionName: defrag_limit_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    - defrag_rsample_drop
    - TRACE
    - ddsrt_avl_find_max
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: int
    signature: int defrag_limit_samples (struct ddsi_defrag *defrag, ddsi_seqno_t
      seq, ddsi_seqno_t *max_seq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1352,1
    - Dst: ddsi_rdata_is_fragment
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1356,1
    - Dst: reorder_rsample_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1357,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1362,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1362,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1364,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1372,1
    - Dst: defrag_add_fragment
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1373,1
    - Dst: defrag_limit_samples
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1375,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1377,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1385,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1386,1
    - Dst: defrag_rsample_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1387,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1389,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1394,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1397,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1398,1
    - Dst: defrag_rsample_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1399,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1401,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1408,1
    - Dst: defrag_add_fragment
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1409,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1417,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1418,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1419,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1423,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1424,1
    - Dst: rsample_convert_defrag_to_reorder
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1427,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1430,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - defrag
    - rdata
    - sampleinfo
    argTypes:
    - struct ddsi_defrag*
    - struct ddsi_rdata*
    - struct ddsi_rsample_info*
    assertStmts:
    - condition: (sampleinfo->seq < max_seq)
      pos:
        line_end: 1397
        line_start: 1397
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (defrag->n_samples > 0)
      pos:
        line_end: 1418
        line_start: 1418
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (defrag->n_samples <= defrag->max_samples)
      pos:
        line_end: 1351
        line_start: 1351
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (defrag->max_sample == ddsrt_avl_find_max (&defrag_sampletree_treedef,
        &defrag->sampletree))
      pos:
        line_end: 1361
        line_start: 1361
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (defrag->max_sample == ddsrt_avl_find_max (&defrag_sampletree_treedef,
        &defrag->sampletree))
      pos:
        line_end: 1429
        line_start: 1429
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1432
      start: 1324
    functionDepth: 9
    functionLinenumber: 1324
    functionLinenumberEnd: 1432
    functionName: ddsi_defrag_rsample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - ddsrt_avl_insert_ipath
    - ddsi_rdata_is_fragment
    - defrag_limit_samples
    - ddsrt_avl_lookup_ipath
    - assert
    - ddsrt_avl_find_max
    - TRACE
    - defrag_add_fragment
    - defrag_rsample_new
    - ddsrt_avl_delete
    - reorder_rsample_new
    - rsample_convert_defrag_to_reorder
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *ddsi_defrag_rsample (struct ddsi_defrag *defrag,
      struct ddsi_rdata *rdata, const struct ddsi_rsample_info *sampleinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1439,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1442,1
    - Dst: defrag_rsample_drop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1443,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - defrag
    - min
    - maxp1
    argTypes:
    - struct ddsi_defrag*
    - ddsi_seqno_t
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1434
    functionDepth: 8
    functionLinenumber: 1434
    functionLinenumberEnd: 1447
    functionName: ddsi_defrag_notegap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 4
    functionsReached:
    - ddsrt_avl_find_succ
    - ddsrt_avl_lookup_succ_eq
    - defrag_rsample_drop
    - ddsrt_avl_find_max
    linkageType: ''
    returnType: void
    signature: void ddsi_defrag_notegap (struct ddsi_defrag *defrag, ddsi_seqno_t
      min, ddsi_seqno_t maxp1)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1454,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1455,1
    - Dst: ddsi_bitset_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1473,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1492,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1493,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1514,1
    - Dst: ddsi_bitset_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1520,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1538,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1544,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1550,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - defrag
    - seq
    - maxfragnum
    - map
    - mapbits
    - maxsz
    argTypes:
    - struct ddsi_defrag*
    - ddsi_seqno_t
    - uint32_t
    - struct ddsi_fragment_number_set_header*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (maxsz <= 256)
      pos:
        line_end: 1453
        line_start: 1453
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (iv != NULL)
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1553
      start: 1449
    functionDepth: 2
    functionLinenumber: 1449
    functionLinenumberEnd: 1553
    functionName: ddsi_defrag_nackmap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup
    - assert
    - ddsi_bitset_zero
    - ddsi_bitset_set
    - ddsrt_avl_find_succ
    - ddsi_bitset_one
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: enum ddsi_defrag_nackmap_result
    signature: enum ddsi_defrag_nackmap_result ddsi_defrag_nackmap (struct ddsi_defrag
      *defrag, ddsi_seqno_t seq, uint32_t maxfragnum, struct ddsi_fragment_number_set_header
      *map, uint32_t *mapbits, uint32_t maxsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1564,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1567,1
    - Dst: ddsi_guid_prefix_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1568,1
    - Dst: defrag_rsample_drop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1570,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - defrag
    - dst
    - min
    argTypes:
    - struct ddsi_defrag*
    - ddsi_guid_prefix_t*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1562
    functionDepth: 8
    functionLinenumber: 1562
    functionLinenumberEnd: 1575
    functionName: ddsi_defrag_prune
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ_eq
    - defrag_rsample_drop
    - ddsrt_avl_find_max
    - ddsrt_avl_find_succ
    - ddsi_guid_prefix_eq
    linkageType: ''
    returnType: void
    signature: void ddsi_defrag_prune (struct ddsi_defrag *defrag, ddsi_guid_prefix_t
      *dst, ddsi_seqno_t min)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1672,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - logcfg
    - mode
    - max_samples
    - late_ack_mode
    argTypes:
    - struct ddsrt_log_cfg*
    - enum ddsi_reorder_mode
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1685
    functionName: ddsi_reorder_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    - ddsrt_avl_init
    linkageType: ''
    returnType: struct ddsi_reorder
    signature: struct ddsi_reorder *ddsi_reorder_new (const struct ddsrt_log_cfg *logcfg,
      enum ddsi_reorder_mode mode, uint32_t max_samples, bool late_ack_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reorder
    - discarded_bytes
    argTypes:
    - struct ddsi_reorder*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1690
    functionName: ddsi_reorder_stats
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_reorder_stats (struct ddsi_reorder *reorder, uint64_t *discarded_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rdata_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - frag
    argTypes:
    - struct ddsi_rdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1692
    functionDepth: 5
    functionLinenumber: 1692
    functionLinenumberEnd: 1701
    functionName: ddsi_fragchain_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsi_rdata_unref
    linkageType: ''
    returnType: void
    signature: void ddsi_fragchain_unref (struct ddsi_rdata *frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1708,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1711,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1716,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1719,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ddsi_reorder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1703
    functionDepth: 6
    functionLinenumber: 1703
    functionLinenumberEnd: 1722
    functionName: ddsi_reorder_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - ddsi_fragchain_unref
    - ddsrt_avl_delete
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void ddsi_reorder_free (struct ddsi_reorder *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1727,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1728,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - reorder
    - rsample
    argTypes:
    - struct ddsi_reorder*
    - struct ddsi_rsample*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1727
        line_start: 1727
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1730
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1730
    functionName: reorder_add_rsampleiv
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_ipath
    - assert
    - ddsrt_avl_insert_ipath
    linkageType: ''
    returnType: void
    signature: void reorder_add_rsampleiv (struct ddsi_reorder *reorder, struct ddsi_rsample
      *rsample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1735,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1738,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1739,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1740,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1741,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ddsi_rsample_reorder*
    assertStmts:
    - condition: (s->min < s->maxp1)
      pos:
        line_end: 1734
        line_start: 1734
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->min + s->n_samples <= s->maxp1)
      pos:
        line_end: 1738
        line_start: 1738
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->min + 1 == s->maxp1)
      pos:
        line_end: 1737
        line_start: 1737
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->sc.first == s->sc.last)
      pos:
        line_end: 1740
        line_start: 1740
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->sc.first != NULL)
      pos:
        line_end: 1739
        line_start: 1739
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->sc.first->next == NULL)
      pos:
        line_end: 1741
        line_start: 1741
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1744
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1744
    functionName: rsample_is_singleton
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int rsample_is_singleton (const struct ddsi_rsample_reorder *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_rsample*
    - struct ddsi_rsample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1753
    functionName: append_rsample_interval
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_rsample_interval (struct ddsi_rsample *a, struct ddsi_rsample
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1759,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1764,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1772,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1776,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1777,1
    - Dst: append_rsample_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1778,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - reorder
    - appendto
    - todiscard
    argTypes:
    - struct ddsi_reorder*
    - struct ddsi_rsample*
    - struct ddsi_rsample*
    assertStmts:
    - condition: (todiscard->u.reorder.min == appendto->u.reorder.maxp1)
      pos:
        line_end: 1775
        line_start: 1775
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1788
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1788
    functionName: reorder_try_append_and_discard
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    - TRACE
    - append_rsample_interval
    - ddsrt_avl_delete
    linkageType: ''
    returnType: int
    signature: int reorder_try_append_and_discard (struct ddsi_reorder *reorder, struct
      ddsi_rsample *appendto, struct ddsi_rsample *todiscard)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1807,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1810,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - rmsg
    - rsampleiv
    argTypes:
    - struct ddsi_rmsg*
    - struct ddsi_rsample*
    assertStmts:
    - condition: (d != NULL)
      pos:
        line_end: 1806
        line_start: 1806
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1822
      start: 1790
    functionDepth: 5
    functionLinenumber: 1790
    functionLinenumberEnd: 1822
    functionName: ddsi_reorder_rsample_dup_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *ddsi_reorder_rsample_dup_first (struct ddsi_rmsg
      *rmsg, struct ddsi_rsample *rsampleiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1826,1
    - Dst: rsample_is_singleton
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rsample
    argTypes:
    - struct ddsi_rsample*
    assertStmts:
    - condition: (rsample_is_singleton (&rsample->u.reorder))
      pos:
        line_end: 1825
        line_start: 1825
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1828
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1828
    functionName: ddsi_rsample_fragchain
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - assert
    - rsample_is_singleton
    linkageType: ''
    returnType: struct ddsi_rdata
    signature: struct ddsi_rdata *ddsi_rsample_fragchain (struct ddsi_rsample *rsample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - reorder
    argTypes:
    - struct ddsi_reorder*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1837
        line_start: 1837
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1840
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1840
    functionName: reorder_mode_as_char
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char reorder_mode_as_char (const struct ddsi_reorder *reorder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1849,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1850,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1856,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1860,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1861,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1864,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1874,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1875,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1876,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1886,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - reorder
    argTypes:
    - struct ddsi_reorder*
    assertStmts:
    - condition: (reorder->n_samples > 0)
      pos:
        line_end: 1848
        line_start: 1848
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->max_sampleiv != NULL)
      pos:
        line_end: 1849
        line_start: 1849
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->max_sampleiv != NULL)
      pos:
        line_end: 1863
        line_start: 1863
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (last->n_samples >= 1)
      pos:
        line_end: 1874
        line_start: 1874
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (last->min + last->n_samples <= last->maxp1)
      pos:
        line_end: 1875
        line_start: 1875
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (pe->sampleinfo == NULL || pe->sampleinfo->seq + 1 < last->maxp1)
      pos:
        line_end: 1885
        line_start: 1885
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 1893
      start: 1842
    functionDepth: 6
    functionLinenumber: 1842
    functionLinenumberEnd: 1893
    functionName: delete_last_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    - TRACE
    - ddsrt_avl_find_max
    - ddsrt_avl_delete
    - ddsi_fragchain_unref
    linkageType: ''
    returnType: void
    signature: void delete_last_sample (struct ddsi_reorder *reorder)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1906,1
    - Dst: reorder_mode_as_char
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1907,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1911,1
    - Dst: rsample_is_singleton
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1911,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1917,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1919,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1920,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1921,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1925,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1925,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1926,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1926,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1927,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1929,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1944,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1955,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1956,1
    - Dst: reorder_try_append_and_discard
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1957,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1963,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1966,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1967,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1968,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1969,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1977,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1981,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1986,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1987,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1990,1
    - Dst: reorder_add_rsampleiv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:1996,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2001,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2007,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2013,1
    - Dst: append_rsample_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2016,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2021,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2031,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2037,1
    - Dst: reorder_add_rsampleiv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2038,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2044,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2059,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2063,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2068,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2070,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2073,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2077,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2082,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2084,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2087,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2091,1
    - Dst: append_rsample_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2092,1
    - Dst: reorder_try_append_and_discard
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2093,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2101,1
    - Dst: ddsrt_avl_swap_node
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2120,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2127,1
    - Dst: reorder_add_rsampleiv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2128,1
    - Dst: delete_last_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2139,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 132
    argCount: 5
    argNames:
    - sc
    - reorder
    - rsampleiv
    - refcount_adjust
    - delivery_queue_full_p
    argTypes:
    - struct ddsi_rsample_chain*
    - struct ddsi_reorder*
    - struct ddsi_rsample*
    - int*
    - int
    assertStmts:
    - condition: "((reorder->max_sampleiv == NULL && min == NULL) ||\n            (reorder->max_sampleiv
        != NULL && min != NULL))"
      pos:
        line_end: 1921
        line_start: 1920
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->max_sampleiv == NULL || reorder->max_sampleiv == ddsrt_avl_find_max
        (&reorder_sampleivtree_treedef, &reorder->sampleivtree))
      pos:
        line_end: 1925
        line_start: 1925
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->maxp1 - s->min <= (int) INT32_MAX)
      pos:
        line_end: 1966
        line_start: 1966
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (min == NULL || reorder->next_seq < min->u.reorder.min)
      pos:
        line_end: 1919
        line_start: 1919
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->n_samples <= reorder->max_samples)
      pos:
        line_end: 1926
        line_start: 1926
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->n_samples >= s->n_samples - 1)
      pos:
        line_end: 1968
        line_start: 1968
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rsample_is_singleton (s))
      pos:
        line_end: 1910
        line_start: 1910
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: ((!!ddsrt_avl_is_empty (&reorder->sampleivtree)) == (reorder->max_sampleiv
        == NULL))
      pos:
        line_end: 1924
        line_start: 1924
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->min + s->n_samples <= s->maxp1)
      pos:
        line_end: 1967
        line_start: 1967
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->n_samples == 0)
      pos:
        line_end: 1985
        line_start: 1985
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->maxp1 - s->min >= 1)
      pos:
        line_end: 1965
        line_start: 1965
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->max_sampleiv != NULL)
      pos:
        line_end: 2000
        line_start: 2000
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2145
      start: 1895
    functionDepth: 7
    functionLinenumber: 1895
    functionLinenumberEnd: 2145
    functionName: ddsi_reorder_rsample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - reorder_mode_as_char
    - ddsrt_avl_lookup_pred_eq
    - ddsrt_avl_lookup
    - ddsrt_avl_swap_node
    - assert
    - rsample_is_singleton
    - TRACE
    - ddsrt_avl_is_empty
    - ddsrt_avl_find_max
    - reorder_try_append_and_discard
    - append_rsample_interval
    - delete_last_sample
    - reorder_add_rsampleiv
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: ddsi_reorder_result_t
    signature: ddsi_reorder_result_t ddsi_reorder_rsample (struct ddsi_rsample_chain
      *sc, struct ddsi_reorder *reorder, struct ddsi_rsample *rsampleiv, int *refcount_adjust,
      int delivery_queue_full_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2152,1
    - Dst: ddsrt_avl_find_pred
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2157,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2158,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2166,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2171,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2172,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2174,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2175,1
    - Dst: append_rsample_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - reorder
    - min
    - maxp1
    - valuable
    argTypes:
    - struct ddsi_reorder*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - int*
    assertStmts:
    - condition: (q == NULL || q->u.reorder.maxp1 < min)
      pos:
        line_end: 2157
        line_start: 2157
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (s->u.reorder.min + s->u.reorder.n_samples <= s->u.reorder.maxp1)
      pos:
        line_end: 2170
        line_start: 2170
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (t->u.reorder.min + t->u.reorder.n_samples <= t->u.reorder.maxp1)
      pos:
        line_end: 2174
        line_start: 2174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2191
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2191
    functionName: coalesce_intervals_touching_range
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    - assert
    - ddsrt_avl_delete
    - ddsrt_avl_find_pred
    - append_rsample_interval
    - ddsrt_avl_find_succ
    linkageType: ''
    returnType: struct ddsi_rsample
    signature: struct ddsi_rsample *coalesce_intervals_touching_range (struct ddsi_reorder
      *reorder, ddsi_seqno_t min, ddsi_seqno_t maxp1, int *valuable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_rdata_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2196,1
    - Dst: ddsi_rdata_addbias
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rmsg
    argTypes:
    - struct ddsi_rmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 6
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: ddsi_rdata_newgap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 4
    functionsReached:
    - ddsi_rdata_new
    - ddsi_rdata_addbias
    linkageType: ''
    returnType: struct ddsi_rdata
    signature: struct ddsi_rdata *ddsi_rdata_newgap (struct ddsi_rmsg *rmsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2207,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2208,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2209,1
    - Dst: ddsi_rmsg_alloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2214,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - reorder
    - rdata
    - min
    - maxp1
    argTypes:
    - struct ddsi_reorder*
    - struct ddsi_rdata*
    - ddsi_seqno_t
    - ddsi_seqno_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 2207
        line_start: 2207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2222
      start: 2202
    functionDepth: 5
    functionLinenumber: 2202
    functionLinenumberEnd: 2222
    functionName: reorder_insert_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_ipath
    - assert
    - ddsrt_avl_insert_ipath
    - ddsi_rmsg_alloc
    linkageType: ''
    returnType: int
    signature: int reorder_insert_gap (struct ddsi_reorder *reorder, struct ddsi_rdata
      *rdata, ddsi_seqno_t min, ddsi_seqno_t maxp1)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2254,1
    - Dst: reorder_mode_as_char
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2255,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2260,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2265,1
    - Dst: coalesce_intervals_touching_range
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2270,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2273,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2276,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2284,1
    - Dst: reorder_insert_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2287,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2289,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2294,1
    - Dst: delete_last_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2302,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2305,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2310,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2313,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2315,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2317,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2318,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2322,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2323,1
    - Dst: TRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2329,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 6
    argNames:
    - sc
    - reorder
    - rdata
    - min
    - maxp1
    - refcount_adjust
    argTypes:
    - struct ddsi_rsample_chain*
    - struct ddsi_reorder*
    - struct ddsi_rdata*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - int*
    assertStmts:
    - condition: (coalesced->u.reorder.min + coalesced->u.reorder.n_samples <= coalesced->u.reorder.maxp1)
      pos:
        line_end: 2321
        line_start: 2321
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (min <= reorder->next_seq)
      pos:
        line_end: 2314
        line_start: 2314
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (reorder->n_samples >= coalesced->u.reorder.n_samples)
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2334
      start: 2224
    functionDepth: 7
    functionLinenumber: 2224
    functionLinenumberEnd: 2334
    functionName: ddsi_reorder_gap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 4
    functionsReached:
    - reorder_mode_as_char
    - coalesce_intervals_touching_range
    - assert
    - TRACE
    - ddsrt_avl_find_max
    - ddsrt_avl_delete
    - reorder_insert_gap
    - delete_last_sample
    linkageType: ''
    returnType: ddsi_reorder_result_t
    signature: ddsi_reorder_result_t ddsi_reorder_gap (struct ddsi_rsample_chain *sc,
      struct ddsi_reorder *reorder, struct ddsi_rdata *rdata, ddsi_seqno_t min, ddsi_seqno_t
      maxp1, int *refcount_adjust)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2343,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2349,1
    - Dst: ddsi_reorder_gap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2354,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2360,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2363,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2363,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2364,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - reorder
    - maxp1
    argTypes:
    - struct ddsi_reorder*
    - ddsi_seqno_t
    assertStmts:
    - condition: (reorder->max_sampleiv == NULL || reorder->max_sampleiv->u.reorder.maxp1
        <= maxp1)
      pos:
        line_end: 2342
        line_start: 2342
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (refc_adjust == 0 && !ddsrt_atomic_ld32 (&gap.refcount_bias_added))
      pos:
        line_end: 2362
        line_start: 2362
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsi_reorder_next_seq (reorder) >= maxp1)
      pos:
        line_end: 2363
        line_start: 2363
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2365
      start: 2336
    functionDepth: 8
    functionLinenumber: 2336
    functionLinenumberEnd: 2365
    functionName: ddsi_reorder_drop_upto
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsi_reorder_next_seq
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsi_fragchain_unref
    - ddsi_reorder_gap
    linkageType: ''
    returnType: void
    signature: void ddsi_reorder_drop_upto (struct ddsi_reorder *reorder, ddsi_seqno_t
      maxp1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - reorder
    - seq
    argTypes:
    - struct ddsi_reorder*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2367
    functionDepth: 1
    functionLinenumber: 2367
    functionLinenumberEnd: 2377
    functionName: ddsi_reorder_wantsample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    linkageType: ''
    returnType: int
    signature: int ddsi_reorder_wantsample (const struct ddsi_reorder *reorder, ddsi_seqno_t
      seq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2386,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2387,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2399,1
    - Dst: DDS_CERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2405,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2410,1
    - Dst: ddsi_bitset_zero
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2425,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2429,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2430,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2438,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2442,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2451,1
    - Dst: ddsi_bitset_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2461,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2467,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2469,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2469,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 7
    argNames:
    - reorder
    - base
    - maxseq
    - map
    - mapbits
    - maxsz
    - notail
    argTypes:
    - struct ddsi_reorder*
    - ddsi_seqno_t
    - ddsi_seqno_t
    - struct ddsi_sequence_number_set_header*
    - uint32_t*
    - uint32_t
    - int
    assertStmts:
    - condition: (maxsz <= 256)
      pos:
        line_end: 2385
        line_start: 2385
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (base >= 1)
      pos:
        line_end: 2386
        line_start: 2386
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (iv == NULL || iv->u.reorder.min > base)
      pos:
        line_end: 2429
        line_start: 2429
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (ddsi_bitset_isset (map->numbits, mapbits, map->numbits - 1))
      pos:
        line_end: 2468
        line_start: 2468
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (last_nacked_p1 > base)
      pos:
        line_end: 2466
        line_start: 2466
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2480
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2480
    functionName: ddsi_reorder_nackmap
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_to_seqno
    - ddsi_bitset_zero
    - ddsi_bitset_set
    - ddsrt_avl_find_succ
    - DDS_CERROR
    - ddsi_bitset_isset
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: enum ddsi_reorder_nackmap_result
    signature: enum ddsi_reorder_nackmap_result ddsi_reorder_nackmap (const struct
      ddsi_reorder *reorder, ddsi_seqno_t base, ddsi_seqno_t maxseq, struct ddsi_sequence_number_set_header
      *map, uint32_t *mapbits, uint32_t maxsz, int notail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reorder
    argTypes:
    - struct ddsi_reorder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2485
    functionName: ddsi_reorder_next_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t ddsi_reorder_next_seq (const struct ddsi_reorder *reorder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reorder
    - seq
    argTypes:
    - struct ddsi_reorder*
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2490
    functionName: ddsi_reorder_set_next_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_reorder_set_next_seq (struct ddsi_reorder *reorder, ddsi_seqno_t
      seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_rsample_chain_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2548
    functionName: dqueue_elem_kind
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum dqueue_elem_kind
    signature: enum dqueue_elem_kind dqueue_elem_kind (const struct ddsi_rsample_chain_elem
      *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2552,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2554,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2558,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2560,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2565,1
    - Dst: dqueue_elem_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2566,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2570,1
    - Dst: struct ddsi_dqueue_bubble*::u::cb::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2580,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2584,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2589,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2590,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2550
    functionDepth: 6
    functionLinenumber: 2550
    functionLinenumberEnd: 2595
    functionName: ddsi_dqueue_step_deaf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake
    - ddsrt_free
    - ddsrt_mutex_lock
    - struct ddsi_dqueue_bubble*::u::cb::cb
    - ddsi_thread_state_asleep
    - dqueue_elem_kind
    - ddsi_fragchain_unref
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    - ddsi_thread_state_awake_to_awake_no_nest
    linkageType: ''
    returnType: bool
    signature: bool ddsi_dqueue_step_deaf (struct ddsi_dqueue *q)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2600,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2602,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2609,1
    - Dst: LOG_THREAD_CPUTIME
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2614,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2617,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2620,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2622,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2628,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2629,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2631,1
    - Dst: dqueue_elem_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2632,1
    - Dst: struct ddsi_dqueue*::handler
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2635,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2637,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2640,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2666,1
    - Dst: struct ddsi_dqueue_bubble*::u::cb::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2668,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2676,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2683,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2684,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2686,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 1
    argNames:
    - vq
    argTypes:
    - void*
    assertStmts:
    - condition: (ret == 0)
      pos:
        line_end: 2636
        line_start: 2636
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2688
      start: 2597
    functionDepth: 6
    functionLinenumber: 2597
    functionLinenumberEnd: 2688
    functionName: dqueue_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_dec32_ov
    - ddsrt_free
    - ddsrt_mutex_lock
    - assert
    - LOG_THREAD_CPUTIME
    - ddsi_thread_state_awake_fixed_domain
    - ddsrt_cond_broadcast
    - struct ddsi_dqueue_bubble*::u::cb::cb
    - ddsi_thread_state_asleep
    - dqueue_elem_kind
    - struct ddsi_dqueue*::handler
    - ddsi_fragchain_unref
    - ddsrt_cond_wait
    - ddsrt_atomic_ldvoidp
    - abort
    - ddsi_lookup_thread_state
    - ddsrt_mutex_unlock
    - ddsi_thread_state_awake_to_awake_no_nest
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dqueue_thread (void *vq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2694,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2696,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2699,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2706,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2707,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - name
    - gv
    - max_samples
    - handler
    - arg
    argTypes:
    - char*
    - struct ddsi_domaingv*
    - uint32_t
    - ddsi_dqueue_handler_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2690
    functionDepth: 1
    functionLinenumber: 2690
    functionLinenumberEnd: 2714
    functionName: ddsi_dqueue_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - ddsrt_strdup
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_cond_init
    linkageType: ''
    returnType: struct ddsi_dqueue
    signature: struct ddsi_dqueue *ddsi_dqueue_new (const char *name, const struct
      ddsi_domaingv *gv, uint32_t max_samples, ddsi_dqueue_handler_t handler, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2720,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2721,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2723,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2724,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2716
    functionDepth: 6
    functionLinenumber: 2716
    functionLinenumberEnd: 2727
    functionName: ddsi_dqueue_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - snprintf
    - ddsrt_free
    - strlen
    - ddsi_create_thread
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool ddsi_dqueue_start (struct ddsi_dqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - q
    - sc
    argTypes:
    - struct ddsi_dqueue*
    - struct ddsi_rsample_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2744
    functionName: ddsi_dqueue_enqueue_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_dqueue_enqueue_locked (struct ddsi_dqueue *q, struct ddsi_rsample_chain
      *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2749,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2750,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2751,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2752,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2753,1
    - Dst: ddsi_dqueue_enqueue_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2754,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - q
    - sc
    - rres
    argTypes:
    - struct ddsi_dqueue*
    - struct ddsi_rsample_chain*
    - ddsi_reorder_result_t
    assertStmts:
    - condition: (rres > 0)
      pos:
        line_end: 2748
        line_start: 2748
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sc->last->next == NULL)
      pos:
        line_end: 2750
        line_start: 2750
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sc->first)
      pos:
        line_end: 2749
        line_start: 2749
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2757
      start: 2746
    functionDepth: 1
    functionLinenumber: 2746
    functionLinenumberEnd: 2757
    functionName: ddsi_dqueue_enqueue_deferred_wakeup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_dqueue_enqueue_locked
    - ddsrt_atomic_add32
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_dqueue_enqueue_deferred_wakeup (struct ddsi_dqueue *q, struct
      ddsi_rsample_chain *sc, ddsi_reorder_result_t rres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2761,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2762,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2764
    functionName: ddsi_dqueue_enqueue_trigger
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_enqueue_trigger (struct ddsi_dqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2768,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2769,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2770,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2771,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2772,1
    - Dst: ddsi_dqueue_enqueue_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2773,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2774,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - q
    - sc
    - rres
    argTypes:
    - struct ddsi_dqueue*
    - struct ddsi_rsample_chain*
    - ddsi_reorder_result_t
    assertStmts:
    - condition: (rres > 0)
      pos:
        line_end: 2767
        line_start: 2767
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sc->last->next == NULL)
      pos:
        line_end: 2769
        line_start: 2769
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sc->first)
      pos:
        line_end: 2768
        line_start: 2768
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2776
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2776
    functionName: ddsi_dqueue_enqueue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_dqueue_enqueue_locked
    - ddsrt_cond_broadcast
    - ddsrt_atomic_add32
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_enqueue (struct ddsi_dqueue *q, struct ddsi_rsample_chain
      *sc, ddsi_reorder_result_t rres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_dqueue_enqueue_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - q
    - b
    argTypes:
    - struct ddsi_dqueue*
    - struct ddsi_dqueue_bubble*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2786
    functionName: ddsi_dqueue_enqueue_bubble_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_dqueue_enqueue_locked
    linkageType: ''
    returnType: int
    signature: int ddsi_dqueue_enqueue_bubble_locked (struct ddsi_dqueue *q, struct
      ddsi_dqueue_bubble *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2790,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2791,1
    - Dst: ddsi_dqueue_enqueue_bubble_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2792,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2793,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - q
    - b
    argTypes:
    - struct ddsi_dqueue*
    - struct ddsi_dqueue_bubble*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2788
    functionDepth: 2
    functionLinenumber: 2788
    functionLinenumberEnd: 2795
    functionName: ddsi_dqueue_enqueue_bubble
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - ddsi_dqueue_enqueue_bubble_locked
    - ddsrt_mutex_lock
    - ddsrt_cond_broadcast
    - ddsrt_atomic_inc32
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_enqueue_bubble (struct ddsi_dqueue *q, struct ddsi_dqueue_bubble
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2800,1
    - Dst: ddsi_dqueue_enqueue_bubble
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - q
    - cb
    - arg
    argTypes:
    - struct ddsi_dqueue*
    - ddsi_dqueue_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2797
    functionDepth: 3
    functionLinenumber: 2797
    functionLinenumberEnd: 2805
    functionName: ddsi_dqueue_enqueue_callback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - ddsi_dqueue_enqueue_bubble
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_enqueue_callback (struct ddsi_dqueue *q, ddsi_dqueue_callback_t
      cb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2811,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2816,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2817,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2818,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2819,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2820,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2821,1
    - Dst: ddsi_dqueue_enqueue_bubble_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2822,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2823,1
    - Dst: ddsi_dqueue_enqueue_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2824,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - q
    - rdguid
    - sc
    - rres
    argTypes:
    - struct ddsi_dqueue*
    - ddsi_guid_t*
    - struct ddsi_rsample_chain*
    - ddsi_reorder_result_t
    assertStmts:
    - condition: (sc->last->next == NULL)
      pos:
        line_end: 2818
        line_start: 2818
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (sc->first)
      pos:
        line_end: 2817
        line_start: 2817
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rres > 0)
      pos:
        line_end: 2815
        line_start: 2815
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - condition: (rdguid != NULL)
      pos:
        line_end: 2816
        line_start: 2816
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2826
      start: 2807
    functionDepth: 2
    functionLinenumber: 2807
    functionLinenumberEnd: 2826
    functionName: ddsi_dqueue_enqueue1
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 3
    functionsReached:
    - ddsi_dqueue_enqueue_bubble_locked
    - ddsrt_mutex_lock
    - assert
    - ddsi_dqueue_enqueue_locked
    - ddsrt_cond_broadcast
    - ddsrt_atomic_add32
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_enqueue1 (struct ddsi_dqueue *q, const ddsi_guid_t
      *rdguid, struct ddsi_rsample_chain *sc, ddsi_reorder_result_t rres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2839
    functionName: ddsi_dqueue_is_full
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: int
    signature: int ddsi_dqueue_is_full (struct ddsi_dqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2843,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2846,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2848,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2849,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2850,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2853
    functionName: ddsi_dqueue_wait_until_empty_if_full
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_mutex_lock
    - ddsrt_cond_broadcast
    - ddsrt_cond_wait
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_wait_until_empty_if_full (struct ddsi_dqueue *q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2857,1
    - Dst: dqueue_elem_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2862,1
    - Dst: ddsi_fragchain_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2866,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts:
    - condition: (q->thrst == NULL)
      pos:
        line_end: 2856
        line_start: 2856
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2876
      start: 2855
    functionDepth: 6
    functionLinenumber: 2855
    functionLinenumberEnd: 2876
    functionName: dqueue_free_remaining_elements
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 0
    functionsReached:
    - assert
    - dqueue_elem_kind
    - ddsrt_free
    - ddsi_fragchain_unref
    linkageType: ''
    returnType: void
    signature: void dqueue_free_remaining_elements (struct ddsi_dqueue *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_dqueue_enqueue_bubble
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2889,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2891,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2892,1
    - Dst: dqueue_free_remaining_elements
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2896,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2898,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2899,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2900,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c:2901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct ddsi_dqueue*
    assertStmts:
    - condition: (q->sc.first == NULL)
      pos:
        line_end: 2891
        line_start: 2891
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    constantsTouched: []
    func_position:
      end: 2902
      start: 2878
    functionDepth: 7
    functionLinenumber: 2878
    functionLinenumberEnd: 2902
    functionName: ddsi_dqueue_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - assert
    - ddsi_join_thread
    - ddsrt_cond_destroy
    - dqueue_free_remaining_elements
    - ddsi_dqueue_enqueue_bubble
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_dqueue_free (struct ddsi_dqueue *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:39,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - acmn
    - bcmn
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_sertype*
    assertStmts:
    - condition: (a->type.opt_size_xcdr2 == b->type.opt_size_xcdr2)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: sertype_cdr_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sertype_cdr_equal (const struct ddsi_sertype *acmn, const struct
      ddsi_sertype *bcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:47,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:51,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:52,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:52,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:53,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:54,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:55,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:56,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:57,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts:
    - condition: (tpcmn)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: sertype_cdr_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - ddsrt_md5_finish
    - assert
    - strlen
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sertype_cdr_hash (const struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:65,1
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:66,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tpcmn
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: sertype_cdr_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - ddsi_sertype_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void sertype_cdr_free (struct ddsi_sertype *tpcmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sertype_common
    - sample
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: sertype_cdr_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sertype_cdr_zero_samples (const struct ddsi_sertype *sertype_common,
      void *sample, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:80,1
    - Dst: count::count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:81,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:82,1
    - Dst: size::size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:82,1
    - Dst: i::i
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ptrs
    - sertype_common
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: sertype_cdr_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - count::count
    - memset
    - i::i
    - size::size
    - dds_realloc
    linkageType: ''
    returnType: void
    signature: void sertype_cdr_realloc_samples (void **ptrs, const struct ddsi_sertype
      *sertype_common, void *old, size_t oldcount, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_sertype_cdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: type_may_contain_ptr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool type_may_contain_ptr (const struct ddsi_sertype_cdr *tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:109,1
    - Dst: type_may_contain_ptr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:111,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:116,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - sertype_common
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts:
    - condition: ((char *) ptrs[i] == (char *) ptrs[0] + off)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: sertype_cdr_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 0
    functionsReached:
    - type_may_contain_ptr
    - dds_stream_free_sample
    - assert
    - dds_free
    linkageType: ''
    returnType: void
    signature: void sertype_cdr_free_samples (const struct ddsi_sertype *sertype_common,
      void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_extensibility
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:151,1
    - Dst: ddsi_sertype_init_props
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:154,1
    - Dst: dds_stream_data_types
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:154,1
    - Dst: ddsi_sertype_extensibility_enc_format
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:156,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:158,1
    - Dst: dds_stream_type_nesting_depth
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:160,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:162,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:163,1
    - Dst: dds_stream_check_optimize
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:167,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - gv
    - st
    - desc
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype_cdr*
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: ddsi_sertype_cdr_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
    functionUses: 1
    functionsReached:
    - ddsi_sertype_init_props
    - dds_stream_type_nesting_depth
    - ddsi_sertype_unref
    - ddsi_sertype_extensibility_enc_format
    - dds_cdrstream_desc_init_with_nops
    - dds_stream_extensibility
    - dds_stream_data_types
    - GVTRACE
    - dds_stream_check_optimize
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_sertype_cdr_init (const struct ddsi_domaingv *gv,
      struct ddsi_sertype_cdr *st, const dds_topic_descriptor_t *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - storage
    - storage_n
    argTypes:
    - ddsi_locators_t*
    - struct ddsi_locators_one*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: locators_builder_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct locators_builder
    signature: struct locators_builder locators_builder_init (ddsi_locators_t *dst,
      struct ddsi_locators_one *storage, size_t storage_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - loc
    - port_override
    argTypes:
    - struct locators_builder*
    - ddsi_locator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: locators_add_one
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool locators_add_one (struct locators_builder *b, const ddsi_locator_t
      *loc, uint32_t port_override)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:82,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:95,1
    - Dst: locators_builder_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:104,1
    - Dst: locators_builder_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:105,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:123,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:135,1
    - Dst: locators_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:136,1
    - Dst: locators_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:137,1
    - Dst: ddsi_include_multicast_locator_in_discovery
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:146,1
    - Dst: locators_builder_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:150,1
    - Dst: locators_builder_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:151,1
    - Dst: locators_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:152,1
    - Dst: locators_add_one
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:153,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:159,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:163,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:165,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:166,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:166,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:166,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:166,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:167,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:168,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:169,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:169,1
    - Dst: ddsi_receive_buffer_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:174,1
    - Dst: ddsi_omg_get_participant_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:189,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:196,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:200,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:201,1
    - Dst: ddsi_omg_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:203,1
    - Dst: ddsi_plist_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:204,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 3
    argNames:
    - pp
    - dst
    - locs
    argTypes:
    - struct ddsi_participant*
    - ddsi_plist_t*
    - struct ddsi_participant_builtin_topic_data_locators*
    assertStmts:
    - condition: (kind == gv->loc_meta_uc.kind)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    - condition: (dst->qos.present == 0)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    - condition: (kind == gv->interfaces[i].extloc.kind)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    constantsTouched: []
    func_position:
      end: 206
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 206
    functionName: ddsi_get_participant_builtin_topic_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    - snprintf
    - ddsi_xqos_delta
    - assert
    - strcmp
    - ddsrt_strlcpy
    - PGUID
    - strlen
    - ETRACE
    - ddsi_receive_buffer_size
    - ddsrt_gethostname
    - locators_builder_init
    - locators_add_one
    - ddsi_plist_mergein_missing
    - ddsi_plist_init_empty
    - memset
    - ddsi_omg_get_participant_security_info
    - ddsi_include_multicast_locator_in_discovery
    - ddsi_omg_participant_is_secure
    linkageType: ''
    returnType: void
    signature: void ddsi_get_participant_builtin_topic_data (const struct ddsi_participant
      *pp, ddsi_plist_t *dst, struct ddsi_participant_builtin_topic_data_locators
      *locs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:216,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:218,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:218,1
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:221,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:223,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - gv
    - pp_guid
    - pp
    - spdp_wr
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    - struct ddsi_participant**
    - struct ddsi_writer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: get_pp_and_spdp_wr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - ddsi_get_builtin_writer
    - PGUID
    - GVTRACE
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: bool
    signature: bool get_pp_and_spdp_wr (struct ddsi_domaingv *gv, const ddsi_guid_t
      *pp_guid, struct ddsi_participant **pp, struct ddsi_writer **spdp_wr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_pp_and_spdp_wr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:237,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:239,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:245,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:247,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:247,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:248,1
    - Dst: ddsi_spdp_force_republish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:250,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:253,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:253,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:254,1
    - Dst: x
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:254,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:255,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:256,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:258,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:261,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:262,1
    - Dst: ddsi_delete_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:264,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:268,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:268,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:269,1
    - Dst: x
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:269,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:270,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:271,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - gv
    - ev
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 231
    functionDepth: 11
    functionLinenumber: 231
    functionLinenumberEnd: 275
    functionName: ddsi_spdp_directed_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - get_pp_and_spdp_wr
    - DDS_SECS
    - PGUID
    - ddsi_delete_xevent
    - ddsi_spdp_force_republish
    - ddsrt_mtime_add_duration
    - x
    - PGUIDPREFIX
    - DDS_MSECS
    - ddsi_resched_xevent_if_earlier
    - ddsi_entidx_lookup_proxy_reader_guid
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_spdp_directed_xevent_cb (struct ddsi_domaingv *gv, struct
      ddsi_xevent *ev, UNUSED_ARG (struct ddsi_xpack *xp), void *varg, ddsrt_mtime_t
      tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:283,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:284,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:285,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:286,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:287,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:288,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:289,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:290,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:291,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - x
    - y
    - tnow
    argTypes:
    - ddsi_guid_t*
    - ddsi_guid_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: pseudo_random_delay
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: unsigned
    signature: unsigned pseudo_random_delay (const ddsi_guid_t *x, const ddsi_guid_t
      *y, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:310,1
    - Dst: ddsi_entidx_enum_participant_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:311,1
    - Dst: ddsi_entidx_enum_participant_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:312,1
    - Dst: pseudo_random_delay
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:316,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:320,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:321,1
    - Dst: ddsi_qxev_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:326,1
    - Dst: ddsi_entidx_enum_participant_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - dest_proxypp_guid
    argTypes:
    - struct ddsi_domaingv*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: respond_to_spdp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - ddsi_qxev_callback
    - ddsi_entidx_enum_participant_init
    - ddsrt_mtime_add_duration
    - ddsi_entidx_enum_participant_fini
    - pseudo_random_delay
    - GVTRACE
    - ddsrt_time_monotonic
    - ddsi_entidx_enum_participant_next
    linkageType: ''
    returnType: void
    signature: void respond_to_spdp (const struct ddsi_domaingv *gv, const ddsi_guid_t
      *dest_proxypp_guid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:336,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:341,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:341,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:342,1
    - Dst: ddsi_is_proxy_participant_deletion_allowed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:343,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:345,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:347,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:351,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:356,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - rst
    - pwr_entityid
    - timestamp
    - datap
    - statusinfo
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_entityid_t
    - ddsrt_wctime_t
    - ddsi_plist_t*
    - unsigned
    assertStmts:
    - condition: (guid.entityid.u == DDSI_ENTITYID_PARTICIPANT)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    constantsTouched: []
    func_position:
      end: 363
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 363
    functionName: handle_spdp_dead
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - GVLOGDISC
    - ddsi_is_proxy_participant_deletion_allowed
    - assert
    - PGUID
    - ddsi_delete_proxy_participant_by_guid
    linkageType: ''
    returnType: void
    signature: void handle_spdp_dead (const struct ddsi_receiver_state *rst, ddsi_entityid_t
      pwr_entityid, ddsrt_wctime_t timestamp, const ddsi_plist_t *datap, unsigned
      statusinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - gv
    - nwstack_if_index
    - internal_if_index
    argTypes:
    - struct ddsi_domaingv*
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: find_internal_interface_index
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum find_internal_interface_index_result
    signature: enum find_internal_interface_index_result find_internal_interface_index
      (const struct ddsi_domaingv *gv, uint32_t nwstack_if_index, int *internal_if_index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_internal_interface_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:391,1
    - Dst: ddsi_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - gv
    - rst
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_receiver_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 410
    functionName: accept_packet_from_interface
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - find_internal_interface_index
    - ddsi_is_mcaddr
    linkageType: ''
    returnType: bool
    signature: bool accept_packet_from_interface (const struct ddsi_domaingv *gv,
      const struct ddsi_receiver_state *rst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:422,1
    - Dst: ddsi_is_deleted_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:429,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:431,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:431,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:437,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:437,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:445,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:445,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:450,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:451,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:451,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:452,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:457,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:457,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:458,1
    - Dst: ddsi_update_proxy_participant_plist_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:459,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:461,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:467,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - rst
    - seq
    - timestamp
    - datap
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    - ddsrt_wctime_t
    - ddsi_plist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 471
    functionName: participant_guid_is_known
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - GVLOGDISC
    - RSTTRACE
    - PGUID
    - ddsrt_mutex_lock
    - ddsi_update_proxy_participant_plist_locked
    - ddsi_entidx_lookup_guid_untyped
    - ddsi_is_deleted_participant_guid
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsrt_mutex_unlock
    - ddsi_lease_renew
    linkageType: ''
    returnType: enum participant_guid_is_known_result
    signature: enum participant_guid_is_known_result participant_guid_is_known (const
      struct ddsi_receiver_state *rst, ddsi_seqno_t seq, ddsrt_wctime_t timestamp,
      const ddsi_plist_t *datap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:477,1
    - Dst: ddsi_vendor_is_rti
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:483,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - rst
    - datap
    - is_secure
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_plist_t*
    - bool
    assertStmts:
    - condition: (datap->present & PP_BUILTIN_ENDPOINT_SET)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    constantsTouched: []
    func_position:
      end: 501
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 501
    functionName: get_builtin_endpoint_set
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - assert
    - GVLOGDISC
    - ddsi_vendor_is_rti
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_builtin_endpoint_set (const struct ddsi_receiver_state
      *rst, const ddsi_plist_t *datap, bool is_secure)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:516,1
    - Dst: ddsi_interface_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:517,1
    - Dst: ddsi_addrset_from_locatorlists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:518,1
    - Dst: ddsi_is_unspec_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:524,1
    - Dst: ddsi_interface_set_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:525,1
    - Dst: ddsi_addrset_from_locatorlists
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:526,1
    - Dst: ddsi_log_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:528,1
    - Dst: ddsi_log_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:529,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:530,1
    - Dst: ddsi_addrset_contains_non_psmx_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:532,1
    - Dst: ddsi_addrset_contains_non_psmx_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:532,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:536,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:537,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - rst
    - datap
    - as_default
    - as_meta
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_plist_t*
    - struct ddsi_addrset**
    - struct ddsi_addrset**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 541
    functionName: get_locators
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - ddsi_addrset_from_locatorlists
    - ddsi_interface_set_init
    - ddsi_addrset_contains_non_psmx_uc
    - ddsi_unref_addrset
    - ddsi_log_addrset
    - ddsi_is_unspec_locator
    linkageType: ''
    returnType: bool
    signature: bool get_locators (const struct ddsi_receiver_state *rst, const ddsi_plist_t
      *datap, struct ddsi_addrset **as_default, struct ddsi_addrset **as_meta)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:560,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:563,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:565,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:565,1
    - Dst: accept_packet_from_interface
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:575,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:583,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:585,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:592,1
    - Dst: participant_guid_is_known
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:596,1
    - Dst: get_builtin_endpoint_set
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:602,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:603,1
    - Dst: if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:605,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:607,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - rst
    - seq
    - timestamp
    - datap
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    - ddsrt_wctime_t
    - ddsi_plist_t*
    assertStmts:
    - condition: (ddsi_default_qos_participant.present & DDSI_QP_LIVELINESS)
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    constantsTouched: []
    func_position:
      end: 624
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 624
    functionName: handle_spdp_alive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - GVLOGDISC
    - RSTTRACE
    - memcmp
    - PGUID
    - DDSRT_STATIC_ASSERT
    - strcmp
    - assert
    - accept_packet_from_interface
    - if
    - get_builtin_endpoint_set
    - GVTRACE
    - participant_guid_is_known
    linkageType: ''
    returnType: enum handle_spdp_result
    signature: enum handle_spdp_result handle_spdp_alive (const struct ddsi_receiver_state
      *rst, ddsi_seqno_t seq, ddsrt_wctime_t timestamp, const ddsi_plist_t *datap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:664,1
    - Dst: handle_spdp_alive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:670,1
    - Dst: handle_spdp_dead
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:676,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:681,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - rst
    - pwr_entityid
    - seq
    - serdata
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_entityid_t
    - ddsi_seqno_t
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 684
    functionName: ddsi_handle_spdp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    functionUses: 1
    functionsReached:
    - ddsi_plist_fini
    - handle_spdp_alive
    - handle_spdp_dead
    - ddsi_serdata_to_sample
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_spdp (const struct ddsi_receiver_state *rst, ddsi_entityid_t
      pwr_entityid, ddsi_seqno_t seq, const struct ddsi_serdata *serdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:39,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:43,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:48,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:52,1
    - Dst: ddsi_write_and_fini_plist
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - wr
    - alive
    - guid
    - xqos
    argTypes:
    - struct ddsi_writer*
    - int
    - ddsi_guid_t*
    - dds_qos_t*
    assertStmts:
    - condition: (xqos != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 7
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: ddsi_sedp_write_topic_impl
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_delta
    - ddsi_plist_init_empty
    - assert
    - ddsi_write_and_fini_plist
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_write_topic_impl (struct ddsi_writer *wr, int alive,
      const ddsi_guid_t *guid, const dds_qos_t *xqos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:60,1
    - Dst: ddsi_determine_topic_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:63,1
    - Dst: ddsi_get_sedp_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:64,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:69,1
    - Dst: ddsi_sedp_write_topic_impl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:71,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tp
    - alive
    argTypes:
    - struct ddsi_topic*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 8
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: ddsi_sedp_write_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsi_sedp_write_topic_impl
    - ddsrt_mutex_lock
    - ddsi_get_sedp_writer
    - ddsi_determine_topic_writer
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_sedp_write_topic (struct ddsi_topic *tp, bool alive)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - k
    argTypes:
    - dds_durability_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: durability_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *durability_to_string (dds_durability_kind_t k)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:97,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:98,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:99,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:99,1
    - Dst: ddsi_handle_sedp_checks
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:101,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:105,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:109,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:111,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:114,1
    - Dst: durability_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:116,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:121,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:122,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:123,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:123,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:123,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:125,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:126,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:127,1
    - Dst: ddsi_vendor_is_eclipse_or_adlink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:129,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:131,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:131,1
    - Dst: ddsi_lookup_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:136,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:139,1
    - Dst: ddsi_vendor_is_cloud
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:139,1
    - Dst: ddsi_update_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:140,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:144,1
    - Dst: ddsi_new_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:145,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - rst
    - seq
    - datap
    - vendorid
    - timestamp
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_seqno_t
    - ddsi_plist_t*
    - ddsi_vendorid_t
    - ddsrt_wctime_t
    assertStmts:
    - condition: (xqos->present & DDSI_QP_DURABILITY)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    - condition: (datap->present & PP_CYCLONE_TOPIC_GUID)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    - condition: ((xqos->present & datap->qos.present) == datap->qos.present)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    - condition: (xqos->present & DDSI_QP_RELIABILITY)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    - condition: (datap)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    constantsTouched: []
    func_position:
      end: 149
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 149
    functionName: ddsi_handle_sedp_alive_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    functionUses: 1
    functionsReached:
    - GVLOGDISC
    - ddsi_lookup_proxy_topic
    - ddsi_xqos_log
    - ddsi_typeinfo_complete_typeid
    - PGUID
    - assert
    - ddsi_make_typeid_str
    - ddsi_handle_sedp_checks
    - ddsi_new_proxy_topic
    - ddsi_vendor_is_eclipse_or_adlink
    - ddsi_typeinfo_minimal_typeid
    - ddsi_update_proxy_topic
    - ddsi_vendor_is_cloud
    - durability_to_string
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: void
    signature: 'void ddsi_handle_sedp_alive_topic (const struct ddsi_receiver_state
      *rst, ddsi_seqno_t seq, ddsi_plist_t *datap /* note: potentially modifies datap
      */, ddsi_vendorid_t vendorid, ddsrt_wctime_t timestamp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:156,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:157,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:157,1
    - Dst: ddsi_check_sedp_kind_and_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:158,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:161,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:162,1
    - Dst: ddsi_lookup_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:163,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:164,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:167,1
    - Dst: ddsi_delete_proxy_topic_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:168,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:169,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - rst
    - datap
    - timestamp
    argTypes:
    - struct ddsi_receiver_state*
    - ddsi_plist_t*
    - ddsrt_wctime_t
    assertStmts:
    - condition: (datap->present & PP_CYCLONE_TOPIC_GUID)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: ddsi_handle_sedp_dead_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_delete_proxy_topic_locked
    - GVLOGDISC
    - ddsi_lookup_proxy_topic
    - PGUID
    - assert
    - ddsrt_mutex_lock
    - ddsi_check_sedp_kind_and_guid
    - ddsrt_mutex_unlock
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_sedp_dead_topic (const struct ddsi_receiver_state
      *rst, ddsi_plist_t *datap, ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: ddsi_handshake_register
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_register(UNUSED_ARG(struct ddsi_participant *pp),
      UNUSED_ARG(struct ddsi_proxy_participant *proxypp), UNUSED_ARG(ddsi_handshake_end_cb_t
      callback))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: ddsi_handshake_release
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_release(UNUSED_ARG(struct ddsi_handshake *handshake))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: ddsi_handshake_crypto_tokens_received
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_crypto_tokens_received(UNUSED_ARG(struct ddsi_handshake
      *handshake))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: ddsi_handshake_get_shared_secret
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_handshake_get_shared_secret(UNUSED_ARG(const struct ddsi_handshake
      *handshake))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: ddsi_handshake_get_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ddsi_handshake_get_handle(UNUSED_ARG(const struct ddsi_handshake
      *handshake))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: ddsi_handshake_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_handshake_remove(UNUSED_ARG(struct ddsi_participant *pp),
      UNUSED_ARG(struct ddsi_proxy_participant *proxypp), UNUSED_ARG(struct ddsi_handshake
      *handshake))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: ddsi_handshake_find
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct ddsi_handshake
    signature: struct ddsi_handshake * ddsi_handshake_find(UNUSED_ARG(struct ddsi_participant
      *pp), UNUSED_ARG(struct ddsi_proxy_participant *proxypp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sn
    argTypes:
    - ddsi_sequence_number_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: ddsi_from_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__misc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t ddsi_from_seqno (const ddsi_sequence_number_t sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__misc.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sn
    - res
    argTypes:
    - ddsi_sequence_number_t
    - ddsi_seqno_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: ddsi_validating_from_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__misc.h
    functionUses: 4
    functionsReached:
    - ddsi_from_seqno
    linkageType: ''
    returnType: bool
    signature: bool ddsi_validating_from_seqno (const ddsi_sequence_number_t sn, ddsi_seqno_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - ddsi_seqno_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ddsi_to_seqno
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__misc.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ddsi_sequence_number_t
    signature: ddsi_sequence_number_t ddsi_to_seqno (ddsi_seqno_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fl
    - max
    - linkoff
    argTypes:
    - struct ddsi_freelist*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ddsi_freelist_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_init (struct ddsi_freelist *fl, uint32_t max, size_t
      linkoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ddsi_freelist_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_fini (struct ddsi_freelist *fl, void (*free) (void
      *elem))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fl
    - elem
    argTypes:
    - struct ddsi_freelist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ddsi_freelist_push
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_freelist_push (struct ddsi_freelist *fl, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - fl
    - first
    - last
    - n
    argTypes:
    - struct ddsi_freelist*
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ddsi_freelist_pushmany
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pushmany (struct ddsi_freelist *fl, void *first,
      void *last, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ddsi_freelist_pop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pop (struct ddsi_freelist *fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_lifo_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:54,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fl
    - max
    - linkoff
    argTypes:
    - struct ddsi_freelist*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ddsi_freelist_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_lifo_init
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_init (struct ddsi_freelist *fl, uint32_t max, size_t
      linkoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_lifo_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:63,1
    - Dst: free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ddsi_freelist_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached:
    - free
    - ddsrt_atomic_lifo_pop
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_fini (struct ddsi_freelist *fl, void (*free) (void
      *elem))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:69,1
    - Dst: ddsrt_atomic_lifo_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:71,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fl
    - elem
    argTypes:
    - struct ddsi_freelist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: ddsi_freelist_push
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_lifo_push
    - ddsrt_atomic_inc32_nv
    - ddsrt_atomic_dec32
    linkageType: ''
    returnType: bool
    signature: bool ddsi_freelist_push (struct ddsi_freelist *fl, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:83,1
    - Dst: ddsrt_atomic_lifo_pushmany
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - fl
    - first
    - last
    - n
    argTypes:
    - struct ddsi_freelist*
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ddsi_freelist_pushmany
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_add32
    - ddsrt_atomic_lifo_pushmany
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pushmany (struct ddsi_freelist *fl, void *first,
      void *last, uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_lifo_pop
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:91,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: ddsi_freelist_pop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_lifo_pop
    - ddsrt_atomic_dec32
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pop (struct ddsi_freelist *fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:109,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:112,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:114,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - fl
    - max
    - linkoff
    argTypes:
    - struct ddsi_freelist*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: ddsi_freelist_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached:
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_init (struct ddsi_freelist *fl, uint32_t max, size_t
      linkoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fl
    - e
    argTypes:
    - struct ddsi_freelist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: get_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *get_next (const struct ddsi_freelist *fl, const void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:134,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:137,1
    - Dst: xfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:139,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:140,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:144,1
    - Dst: xfree
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:149,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:150,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:155,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: ddsi_freelist_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 3
    functionsReached:
    - xfree
    - ddsrt_free
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsi_freelist_fini (struct ddsi_freelist *fl, void (*xfree) (void
      *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:167,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:168,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: get_freelist_inner_idx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int get_freelist_inner_idx (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_freelist_inner_idx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:179,1
    - Dst: ddsrt_mutex_trylock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:180,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:182,1
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:183,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:185,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: lock_inner
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_trylock
    - get_freelist_inner_idx
    - ddsrt_atomic_st32
    - ddsrt_atomic_inc32
    - ddsrt_atomic_inc32_nv
    linkageType: ''
    returnType: int
    signature: int lock_inner (struct ddsi_freelist *fl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lock_inner
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:195,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:199,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:205,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:208,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:209,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:218,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:224,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - fl
    - elem
    argTypes:
    - struct ddsi_freelist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 229
    functionName: ddsi_freelist_push
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached:
    - lock_inner
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_malloc
    linkageType: ''
    returnType: bool
    signature: bool ddsi_freelist_push (struct ddsi_freelist *fl, void *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:238,1
    - Dst: ddsi_freelist_push
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - fl
    - first
    - last
    - n
    argTypes:
    - struct ddsi_freelist*
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: ddsi_freelist_pushmany
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 1
    functionsReached:
    - get_next
    - ddsi_freelist_push
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pushmany (struct ddsi_freelist *fl, void *first,
      void *last, uint32_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_inner
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:249,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:253,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:258,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:261,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:262,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:273,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - fl
    argTypes:
    - struct ddsi_freelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 280
    functionName: ddsi_freelist_pop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
    functionUses: 2
    functionsReached:
    - lock_inner
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void *ddsi_freelist_pop (struct ddsi_freelist *fl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_eth.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fact
    - transport_selector
    - ifs
    argTypes:
    - struct ddsi_tran_factory*
    - enum ddsi_transport_selector
    - ddsrt_ifaddrs_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: ddsi_eth_enumerate_interfaces
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_eth.c
    functionUses: 0
    functionsReached:
    - ddsrt_getifaddrs
    linkageType: ''
    returnType: int
    signature: int ddsi_eth_enumerate_interfaces (struct ddsi_tran_factory * fact,
      enum ddsi_transport_selector transport_selector, ddsrt_ifaddrs_t **ifs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:41,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:43,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:44,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:46,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:46,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:49,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:50,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:50,1
    - Dst: ddsi_write_pmd_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:51,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - gv
    - pp_guid
    - pmd_kind
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: ddsi_write_pmd_message_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
    functionUses: 1
    functionsReached:
    - ddsi_thread_state_awake
    - ddsi_lease_renew
    - PGUID
    - ddsrt_time_elapsed
    - ddsi_thread_state_asleep
    - ddsi_write_pmd_message
    - ddsrt_atomic_ldvoidp
    - GVTRACE
    - ddsi_lookup_thread_state
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_write_pmd_message_guid (struct ddsi_domaingv * const gv,
      struct ddsi_guid *pp_guid, unsigned pmd_kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_get_builtin_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:66,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:68,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:68,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:76,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:77,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:79,1
    - Dst: ddsi_write_sample_nogc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:80,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - thrst
    - xp
    - pp
    - pmd_kind
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xpack*
    - struct ddsi_participant*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: ddsi_write_pmd_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
    functionUses: 1
    functionsReached:
    - ddsi_tkmap_instance_unref
    - ddsi_get_builtin_writer
    - PGUID
    - ddsi_tkmap_lookup_instance_ref
    - ddsi_serdata_from_sample
    - ddsi_write_sample_nogc
    - ddsrt_time_wallclock
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_write_pmd_message (struct ddsi_thread_state * const thrst,
      struct ddsi_xpack *xp, struct ddsi_participant *pp, unsigned pmd_kind)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:93,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:98,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:101,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:102,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:104,1
    - Dst: ddsi_lease_renew
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:107,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:107,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:118,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:119,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:121,1
    - Dst: RSTTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - rst
    - sample_common
    argTypes:
    - struct ddsi_receiver_state*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: ddsi_handle_pmd_message
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
    functionUses: 1
    functionsReached:
    - RSTTRACE
    - ddsi_delete_proxy_participant_by_guid
    - ddsrt_atomic_ldvoidp
    - ddsrt_time_elapsed
    - ddsi_lease_renew
    - ddsi_entidx_lookup_proxy_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_handle_pmd_message (const struct ddsi_receiver_state *rst,
      struct ddsi_serdata *sample_common)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:130,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:136,1
    - Dst: ddsi_write_pmd_message
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:141,1
    - Dst: ddsi_participant_get_pmd_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:143,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:147,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:147,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:153,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:154,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:157,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:157,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - gv
    - ev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 7
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: ddsi_write_pmd_message_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
    functionUses: 0
    functionsReached:
    - ddsi_lookup_thread_state
    - DDS_SECS
    - PGUID
    - ddsi_write_pmd_message
    - ddsi_resched_xevent_if_earlier
    - GVTRACE
    - ddsi_participant_get_pmd_interval
    - ddsi_entidx_lookup_participant_guid
    linkageType: ''
    returnType: void
    signature: void ddsi_write_pmd_message_xevent_cb (struct ddsi_domaingv *gv, struct
      ddsi_xevent *ev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vendor
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DDSI_VENDORID_INIT
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_VENDORID_INIT(vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vendor
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DDSI_VENDORID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_VENDORID(vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsi_vendorid_t
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ddsi_vendor_equals
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_equals (ddsi_vendorid_t a, ddsi_vendorid_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:58,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ddsi_vendor_is_eclipse
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 8
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_eclipse (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:64,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ddsi_vendor_is_rti
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 2
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_rti (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:70,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ddsi_vendor_is_rti_micro
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 1
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_rti_micro (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:76,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ddsi_vendor_is_opensplice
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_opensplice (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:82,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ddsi_vendor_is_twinoaks
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 1
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_twinoaks (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:88,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ddsi_vendor_is_eprosima
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 1
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_eprosima (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:94,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ddsi_vendor_is_cloud
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 1
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_cloud (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:100,1
    - Dst: ddsi_vendor_is_opensplice
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: ddsi_vendor_is_eclipse_or_opensplice
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached:
    - ddsi_vendor_is_eclipse
    - ddsi_vendor_is_opensplice
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_eclipse_or_opensplice (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:105,1
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:106,1
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:107,1
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:108,1
    - Dst: DDSI_VENDORID_INIT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:109,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:110,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:111,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:112,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:113,1
    - Dst: ddsi_vendor_equals
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: ddsi_vendor_is_adlink
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 0
    functionsReached:
    - ddsi_vendor_equals
    - DDSI_VENDORID_INIT
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_adlink (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_vendor_is_eclipse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:119,1
    - Dst: ddsi_vendor_is_adlink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: ddsi_vendor_is_eclipse_or_adlink
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
    functionUses: 2
    functionsReached:
    - ddsi_vendor_is_eclipse
    - ddsi_vendor_is_adlink
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vendor_is_eclipse_or_adlink (ddsi_vendorid_t vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tran
    - dst
    - src
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - union addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: addr_to_loc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 7
    functionsReached:
    - ddsi_ipaddr_to_loc
    linkageType: ''
    returnType: void
    signature: void addr_to_loc (const struct ddsi_tran_factory *tran, ddsi_locator_t
      *dst, const union addr *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_FIRSTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:113,1
    - Dst: CMSG_NXTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:113,1
    - Dst: CMSG_DATA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:117,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:120,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:130,1
    - Dst: CMSG_NXTHDR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:130,1
    - Dst: CMSG_DATA
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:134,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:137,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pktinfo
    - msghdr_in
    - port
    - ipv6
    argTypes:
    - struct ddsi_network_packet_info*
    - ddsrt_msghdr_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 152
    functionName: translate_pktinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - CMSG_NXTHDR
    - memcpy
    - memset
    - CMSG_FIRSTHDR
    - CMSG_DATA
    linkageType: ''
    returnType: void
    signature: void translate_pktinfo (struct ddsi_network_packet_info *pktinfo, ddsrt_msghdr_t
      *msghdr_in, uint32_t port, bool ipv6)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:168,1
    - Dst: ddsrt_recvmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:192,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:198,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:202,1
    - Dst: addr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:205,1
    - Dst: translate_pktinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:206,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:213,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:214,1
    - Dst: ddsi_write_pcap_received
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:215,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:215,1
    - Dst: addr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:230,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:231,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - conn_cmn
    - buf
    - len
    - allow_spurious
    - pktinfo
    argTypes:
    - struct ddsi_tran_conn*
    - unsigned char*
    - size_t
    - bool
    - struct ddsi_network_packet_info*
    assertStmts:
    - condition: (rc == DDS_RETCODE_OK && nrecv >= 0)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    constantsTouched: []
    func_position:
      end: 235
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 235
    functionName: ddsi_udp_conn_read
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - GVWARNING
    - addr_to_loc
    - assert
    - ddsrt_getsockname
    - memset
    - ddsi_write_pcap_received
    - CMSG_SPACE
    - ddsrt_time_wallclock
    - ddsi_locator_to_string
    - ddsrt_recvmsg
    - translate_pktinfo
    - GVERROR
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_udp_conn_read (struct ddsi_tran_conn * conn_cmn, unsigned
      char * buf, size_t len, bool allow_spurious, struct ddsi_network_packet_info
      *pktinfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:250,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:251,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:254,1
    - Dst: ddsrt_sendmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:267,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:287,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:289,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:289,1
    - Dst: WaitForSingleObject
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:293,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:294,1
    - Dst: ddsrt_sendmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:297,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:305,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:306,1
    - Dst: ddsi_write_pcap_sent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:307,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:307,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:312,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:312,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 4
    argNames:
    - conn_cmn
    - dst
    - msgfrags
    - flags
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_tran_write_msgfrags_t*
    - uint32_t
    assertStmts:
    - condition: (msgfrags->niov <= INT_MAX)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    constantsTouched: []
    func_position:
      end: 315
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 315
    functionName: ddsi_udp_conn_write
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - ddsi_locator_to_string
    - assert
    - ddsrt_sockaddr_get_size
    - ddsrt_getsockname
    - memset
    - ddsrt_mtime_add_duration
    - WSAEnumNetworkEvents
    - ddsi_ipaddr_from_loc
    - DDS_MSECS
    - ddsi_write_pcap_sent
    - ddsrt_time_wallclock
    - GVERROR
    - ddsrt_sendmsg
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsi_udp_conn_write (struct ddsi_tran_conn * conn_cmn, const
      ddsi_locator_t *dst, const ddsi_tran_write_msgfrags_t *msgfrags, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAEventSelect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:323,1
    - Dst: WSAIoctl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn_cmn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: ddsi_udp_disable_multiplexing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - WSAEventSelect
    - WSAIoctl
    linkageType: ''
    returnType: void
    signature: void ddsi_udp_disable_multiplexing (struct ddsi_tran_conn * conn_cmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_cmn
    argTypes:
    - struct ddsi_tran_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: ddsi_udp_conn_handle
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_socket_t
    signature: ddsrt_socket_t ddsi_udp_conn_handle (struct ddsi_tran_base * conn_cmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fact_cmn
    - kind
    argTypes:
    - struct ddsi_tran_factory*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: ddsi_udp_supports
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_udp_supports (const struct ddsi_tran_factory *fact_cmn, int32_t
      kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fact_cmn
    - conn_cmn
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - struct ddsi_tran_base*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: ddsi_udp_conn_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_conn_locator (struct ddsi_tran_factory * fact_cmn, struct
      ddsi_tran_base * conn_cmn, ddsi_locator_t *loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:362,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:365,1
    - Dst: ddsrt_sockaddr_get_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gv
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: get_socket_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 3
    functionsReached:
    - ddsrt_sockaddr_get_port
    - GVERROR
    - ddsrt_getsockname
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_socket_port (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:378,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:379,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:379,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:386,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:387,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - gv
    - socket
    - ipv6
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 389
    functionName: set_dont_route
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - dds_strretcode
    - ddsrt_setsockopt
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_dont_route (struct ddsi_domaingv const * const gv,
      ddsrt_socket_t socket, bool ipv6)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:400,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:401,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:401,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:403,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:404,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:404,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:407,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:416,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:417,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:417,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - gv
    - socket
    - ipv6
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 422
    functionName: setsockopt_pktinfo
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - GVTRACE
    - ddsrt_setsockopt
    - dds_strretcode
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t setsockopt_pktinfo (struct ddsi_domaingv const * const
      gv, ddsrt_socket_t socket, bool ipv6)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:447,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:451,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:456,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:456,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:462,1
    - Dst: ddsrt_getsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:467,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:469,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:469,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:474,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:476,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:483,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 7
    argNames:
    - gv
    - sock
    - socket_option
    - socket_option_name
    - name
    - config
    - default_min_size
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - int32_t
    - char*
    - char*
    - struct ddsi_config_socket_buf_size*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 491
    functionName: set_socket_buffer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsrt_getsockopt
    - dds_strretcode
    - ddsrt_setsockopt
    - GVERROR
    - GVLOG
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_socket_buffer (struct ddsi_domaingv const * const
      gv, ddsrt_socket_t sock, int32_t socket_option, const char *socket_option_name,
      const char *name, const struct ddsi_config_socket_buf_size *config, uint32_t
      default_min_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_socket_buffer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - sock
    - config
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - struct ddsi_config_socket_buf_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: set_rcvbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - set_socket_buffer
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_rcvbuf (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      sock, const struct ddsi_config_socket_buf_size *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_socket_buffer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gv
    - sock
    - config
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_socket_t
    - struct ddsi_config_socket_buf_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: set_sndbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - set_socket_buffer
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_sndbuf (struct ddsi_domaingv const * const gv, ddsrt_socket_t
      sock, const struct ddsi_config_socket_buf_size *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:511,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:512,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:512,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:515,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:516,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:516,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:519,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:520,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - gv
    - intf
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_interface*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 528
    functionName: set_mc_options_transmit_ipv6
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - dds_strretcode
    - ddsrt_setsockopt
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_mc_options_transmit_ipv6 (struct ddsi_domaingv const
      * const gv, struct ddsi_network_interface const * const intf, ddsrt_socket_t
      sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:538,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:540,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:542,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:544,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:546,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - gv
    - intf
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_interface*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 552
    functionName: set_mc_options_transmit_ipv4_if
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsrt_setsockopt
    - memset
    - htonl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_mc_options_transmit_ipv4_if (struct ddsi_domaingv
      const * const gv, struct ddsi_network_interface const * const intf, ddsrt_socket_t
      sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_mc_options_transmit_ipv4_if
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:559,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:560,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:560,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:563,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:564,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:564,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:567,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:568,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - gv
    - intf
    - sock
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_network_interface*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: set_mc_options_transmit_ipv4
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - GVERROR
    - dds_strretcode
    - ddsrt_setsockopt
    - set_mc_options_transmit_ipv4_if
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t set_mc_options_transmit_ipv4 (struct ddsi_domaingv const
      * const gv, struct ddsi_network_interface const * const intf, ddsrt_socket_t
      sock)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:612,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:616,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:621,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:626,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:638,1
    - Dst: ddsrt_socket
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:640,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:642,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:642,1
    - Dst: ddsrt_setsockreuse
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:646,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:648,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:648,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:654,1
    - Dst: set_rcvbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:658,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:664,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:667,1
    - Dst: set_sndbuf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:670,1
    - Dst: set_dont_route
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:672,1
    - Dst: setsockopt_pktinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:680,1
    - Dst: ddsrt_bind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:682,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:682,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:691,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:693,1
    - Dst: GVERROR
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:694,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:695,1
    - Dst: set_mc_options_transmit_ipv6
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:701,1
    - Dst: set_mc_options_transmit_ipv4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:701,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:706,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:707,1
    - Dst: ddsrt_socket_ext_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:709,1
    - Dst: WSACreateEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:712,1
    - Dst: WSAEventSelect
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:713,1
    - Dst: ddsi_factory_conn_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:716,1
    - Dst: get_socket_port
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:717,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:727,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:732,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:737,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 123
    argCount: 4
    argNames:
    - conn_out
    - fact_cmn
    - port
    - qos
    argTypes:
    - struct ddsi_tran_conn**
    - struct ddsi_tran_factory*
    - uint32_t
    - struct ddsi_tran_qos*
    assertStmts:
    - condition: (purpose_str != NULL)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - condition: (ownloc_w_port.port == DDSI_LOCATOR_PORT_INVALID)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    constantsTouched: []
    func_position:
      end: 739
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 739
    functionName: ddsi_udp_create_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsrt_sockaddr_get_size
    - set_rcvbuf
    - ddsrt_setsockreuse
    - ddsrt_malloc
    - set_mc_options_transmit_ipv6
    - get_socket_port
    - GVLOG
    - ddsrt_atomic_ld32
    - snprintf
    - ddsi_factory_conn_init
    - setsockopt_pktinfo
    - DDS_FATAL
    - ddsi_locator_to_string
    - ddsrt_bind
    - WSAEventSelect
    - assert
    - set_dont_route
    - WSACreateEvent
    - ddsi_ipaddr_from_loc
    - set_sndbuf
    - dds_strretcode
    - ddsrt_socket_ext_init
    - ddsrt_close
    - htonl
    - memset
    - ddsrt_atomic_cas32
    - ddsrt_socket
    - set_mc_options_transmit_ipv4
    - GVTRACE
    - GVERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_udp_create_conn (struct ddsi_tran_conn **conn_out,
      struct ddsi_tran_factory * fact_cmn, uint32_t port, const struct ddsi_tran_qos
      *qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:745,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:750,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:757,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:766,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:768,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:772,1
    - Dst: htonl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:774,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - socket
    - join
    - mcloc
    - interf
    argTypes:
    - ddsrt_socket_t
    - int
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 781
    functionName: joinleave_asm_mcgroup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 2
    functionsReached:
    - htonl
    - memcpy
    - memset
    - ddsi_ipaddr_from_loc
    - ddsrt_setsockopt
    linkageType: ''
    returnType: int
    signature: int joinleave_asm_mcgroup (ddsrt_socket_t socket, int join, const ddsi_locator_t
      *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:788,1
    - Dst: ddsi_ipaddr_from_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:789,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:794,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:798,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:804,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:808,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - socket
    - join
    - srcloc
    - mcloc
    - interf
    argTypes:
    - ddsrt_socket_t
    - int
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 814
    functionName: joinleave_ssm_mcgroup
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ddsi_ipaddr_from_loc
    - ddsrt_setsockopt
    - memset
    linkageType: ''
    returnType: int
    signature: int joinleave_ssm_mcgroup (ddsrt_socket_t socket, int join, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinleave_ssm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:823,1
    - Dst: joinleave_asm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - conn_cmn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 817
    functionDepth: 4
    functionLinenumber: 817
    functionLinenumberEnd: 827
    functionName: ddsi_udp_join_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - joinleave_asm_mcgroup
    - joinleave_ssm_mcgroup
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_join_mc (struct ddsi_tran_conn * conn_cmn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinleave_ssm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:835,1
    - Dst: joinleave_asm_mcgroup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - conn_cmn
    - srcloc
    - mcloc
    - interf
    argTypes:
    - struct ddsi_tran_conn*
    - ddsi_locator_t*
    - ddsi_locator_t*
    - struct ddsi_network_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: ddsi_udp_leave_mc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - joinleave_asm_mcgroup
    - joinleave_ssm_mcgroup
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_leave_mc (struct ddsi_tran_conn * conn_cmn, const ddsi_locator_t
      *srcloc, const ddsi_locator_t *mcloc, const struct ddsi_network_interface *interf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:845,1
    - Dst: ddsrt_socket_ext_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:848,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:849,1
    - Dst: WSACloseEvent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:851,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn_cmn
    argTypes:
    - struct ddsi_tran_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 854
    functionName: ddsi_udp_release_conn
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - ddsrt_free
    - ddsrt_socket_ext_fini
    - GVTRACE
    - WSACloseEvent
    linkageType: ''
    returnType: void
    signature: void ddsi_udp_release_conn (struct ddsi_tran_conn * conn_cmn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 877
    functionName: ddsi_udp_is_loopbackaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_is_loopbackaddr (const struct ddsi_tran_factory *tran,
      const ddsi_locator_t *loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:886,1
    - Dst: IN_MULTICAST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:887,1
    - Dst: ntohl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:887,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:888,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:892,1
    - Dst: IN_MULTICAST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:893,1
    - Dst: ntohl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:893,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:894,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 906
    functionName: ddsi_udp_is_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_MULTICAST
    - ntohl
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - IN_MULTICAST
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_is_mcaddr (const struct ddsi_tran_factory *tran, const
      ddsi_locator_t *loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tran
    - loc
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 928
    functionName: ddsi_udp_is_ssm_mcaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_is_ssm_mcaddr (const struct ddsi_tran_factory *tran, const
      ddsi_locator_t *loc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:935,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:939,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:941,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:951,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:955,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:956,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:957,1
    - Dst: ddsi_ipaddr_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:960,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:963,1
    - Dst: ddsi_udp_is_mcaddr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:964,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:968,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:969,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:970,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:974,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:975,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:978,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - tran_cmn
    - loc
    - str
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - char*
    assertStmts:
    - condition: (ipstrlen >= 0 && (size_t) ipstrlen < sizeof (ipstr))
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - condition: (pos2 >= 0 && (size_t) pos2 < sizeof (ipstr) - (size_t) ipstrlen)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - condition: (loc->kind == DDSI_LOCATOR_KIND_UDPv4)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    constantsTouched: []
    func_position:
      end: 979
      start: 931
    functionDepth: 3
    functionLinenumber: 931
    functionLinenumberEnd: 979
    functionName: mcgen_address_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDSRT_WARNING_MSVC_OFF
    - memcpy
    - ddsrt_strlcpy
    - assert
    - DDSRT_STATIC_ASSERT
    - strlen
    - memset
    - DDSRT_WARNING_MSVC_ON
    - ddsi_udp_is_mcaddr
    - ddsi_ipaddr_from_string
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result mcgen_address_from_string (const
      struct ddsi_tran_factory *tran_cmn, ddsi_locator_t *loc, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mcgen_address_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:984,1
    - Dst: ddsi_ipaddr_from_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - tran_cmn
    - loc
    - str
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 981
    functionDepth: 4
    functionLinenumber: 981
    functionLinenumberEnd: 988
    functionName: ddsi_udp_address_from_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_from_string
    - mcgen_address_from_string
    linkageType: ''
    returnType: enum ddsi_locator_from_string_result
    signature: enum ddsi_locator_from_string_result ddsi_udp_address_from_string (const
      struct ddsi_tran_factory *tran_cmn, ddsi_locator_t *loc, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_string
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:993,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:999,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1000,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1001,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1003,1
    - Dst: ddsrt_sockaddrtostr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1004,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1005,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1006,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1007,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - dst
    - sizeof_dst
    - loc
    - conn
    - with_port
    argTypes:
    - char*
    - size_t
    - ddsi_locator_t*
    - struct ddsi_tran_conn*
    - int
    assertStmts:
    - condition: (sizeof_dst > 1)
      pos:
        line_end: 998
        line_start: 998
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - condition: (pos <= sizeof_dst)
      pos:
        line_end: 1005
        line_start: 1005
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    constantsTouched: []
    func_position:
      end: 1016
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1016
    functionName: ddsi_udp_locator_to_string
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memcpy
    - assert
    - memset
    - strlen
    - ddsi_ipaddr_to_string
    - ddsrt_sockaddrtostr
    linkageType: ''
    returnType: char
    signature: char *ddsi_udp_locator_to_string (char *dst, size_t sizeof_dst, const
      ddsi_locator_t *loc, struct ddsi_tran_conn * conn, int with_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1022,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fact_cmn
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1024
    functionName: ddsi_udp_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - GVLOG
    linkageType: ''
    returnType: void
    signature: void ddsi_udp_fini (struct ddsi_tran_factory * fact_cmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fact
    - port
    argTypes:
    - struct ddsi_tran_factory*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1030
    functionName: ddsi_udp_is_valid_port
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_is_valid_port (const struct ddsi_tran_factory *fact, uint32_t
      port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fact_cmn
    argTypes:
    - struct ddsi_tran_factory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: ddsi_udp_receive_buffer_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_udp_receive_buffer_size (const struct ddsi_tran_factory
      *fact_cmn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tran_cmn
    - loc
    - sockaddr
    argTypes:
    - struct ddsi_tran_factory*
    - ddsi_locator_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1038
    functionDepth: 3
    functionLinenumber: 1038
    functionLinenumberEnd: 1054
    functionName: ddsi_udp_locator_from_sockaddr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 0
    functionsReached:
    - ddsi_ipaddr_to_loc
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_locator_from_sockaddr (const struct ddsi_tran_factory
      *tran_cmn, ddsi_locator_t *loc, const struct sockaddr *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1058,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1059,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1092,1
    - Dst: ddsi_factory_add
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1094,1
    - Dst: GVLOG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - gv
    argTypes:
    - struct ddsi_domaingv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1097
    functionName: ddsi_udp_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    functionUses: 4
    functionsReached:
    - memset
    - ddsi_factory_add
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - GVLOG
    linkageType: ''
    returnType: int
    signature: int ddsi_udp_init (struct ddsi_domaingv*gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - loc
    - varg
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: count_local_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void count_local_psmx (const ddsi_xlocator_t *loc, void * varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - gv
    - as
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: proxy_is_local_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_forall
    linkageType: ''
    returnType: bool
    signature: bool proxy_is_local_psmx (const struct ddsi_domaingv *gv, struct ddsi_addrset
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pwr
    - st
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: proxy_writer_get_alive_state_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void proxy_writer_get_alive_state_locked (struct ddsi_proxy_writer
      *pwr, struct ddsi_alive_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:77,1
    - Dst: proxy_writer_get_alive_state_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:78,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pwr
    - st
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_alive_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ddsi_proxy_writer_get_alive_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - proxy_writer_get_alive_state_locked
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_writer_get_alive_state (struct ddsi_proxy_writer *pwr,
      struct ddsi_alive_state *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - loc
    - vdst
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: determine_preferred_uc_locator_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_is_unspec_xlocator
    linkageType: ''
    returnType: void
    signature: void determine_preferred_uc_locator_helper (const ddsi_xlocator_t *loc,
      void *vdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:95,1
    - Dst: ddsi_addrset_count_uc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:95,1
    - Dst: ddsi_set_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:110,1
    - Dst: ddsi_addrset_forall_uc_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:111,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:112,1
    - Dst: ddsi_is_unspec_xlocator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - as
    argTypes:
    - ddsi_xlocator_t*
    - struct ddsi_addrset*
    assertStmts:
    - condition: (ddsi_addrset_count_uc (as) > 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (!ddsi_is_unspec_xlocator (dst))
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: determine_preferred_uc_locator
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_count_uc
    - ddsi_is_unspec_xlocator
    - assert
    - ddsi_set_unspec_xlocator
    - ddsi_addrset_forall_uc_count
    linkageType: ''
    returnType: void
    signature: void determine_preferred_uc_locator (ddsi_xlocator_t *dst, struct ddsi_addrset
      *as)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:120,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:122,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:124,1
    - Dst: ddsi_xqos_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:125,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:126,1
    - Dst: determine_preferred_uc_locator
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:127,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:133,1
    - Dst: ddsi_type_ref_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:138,1
    - Dst: ddsi_type_ref_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:139,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:151,1
    - Dst: ddsi_omg_get_proxy_endpoint_security_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:154,1
    - Dst: ddsi_ref_proxy_participant_begin
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:157,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:169,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:170,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:174,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:175,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:177,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:180,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:181,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:182,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 9
    argNames:
    - e
    - c
    - kind
    - guid
    - tcreate
    - seq
    - proxypp
    - as
    - plist
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_proxy_endpoint_common*
    - enum ddsi_entity_kind
    - struct ddsi_guid*
    - ddsrt_wctime_t
    - ddsi_seqno_t
    - struct ddsi_proxy_participant*
    - struct ddsi_addrset*
    - ddsi_plist_t*
    assertStmts:
    - condition: ((plist->qos.present & (DDSI_QP_TOPIC_NAME | DDSI_QP_TYPE_NAME))
        == (DDSI_QP_TOPIC_NAME | DDSI_QP_TYPE_NAME))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: ((plist->qos.present & DDSI_QP_TYPE_NAME) == 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 187
      start: 115
    functionDepth: 9
    functionLinenumber: 115
    functionLinenumberEnd: 187
    functionName: proxy_endpoint_common_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_get_proxy_endpoint_security_info
    - ddsrt_calloc
    - ddsrt_free
    - ddsi_entity_common_init
    - assert
    - ddsi_type_unreg_proxy
    - determine_preferred_uc_locator
    - memset
    - ddsi_ref_addrset
    - ddsi_is_builtin_entityid
    - ddsi_entity_common_fini
    - ddsi_ref_proxy_participant_begin
    - ddsi_type_ref_proxy
    - ddsi_unref_addrset
    - ddsi_xqos_fini
    - ddsi_type_unref
    - ddsi_xqos_dup
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t proxy_endpoint_common_init (struct ddsi_entity_common
      *e, struct ddsi_proxy_endpoint_common *c, enum ddsi_entity_kind kind, const
      struct ddsi_guid *guid, ddsrt_wctime_t tcreate, ddsi_seqno_t seq, struct ddsi_proxy_participant
      *proxypp, struct ddsi_addrset *as, const ddsi_plist_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_unref_proxy_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:191,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:192,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:193,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:194,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - e
    - c
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_proxy_endpoint_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: proxy_endpoint_common_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_unref_proxy_participant
    - ddsi_entity_common_fini
    - ddsi_unref_addrset
    - ddsi_xqos_fini
    linkageType: ''
    returnType: void
    signature: void proxy_endpoint_common_fini (struct ddsi_entity_common *e, struct
      ddsi_proxy_endpoint_common *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - xloc
    - vssm_allowed
    argTypes:
    - ddsi_xlocator_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: addrset_interfaces_allow_ssm_helper
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void addrset_interfaces_allow_ssm_helper (const ddsi_xlocator_t *xloc,
      void *vssm_allowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_addrset_forall
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct ddsi_addrset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: addrset_interfaces_allow_ssm
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_addrset_forall
    linkageType: ''
    returnType: bool
    signature: bool addrset_interfaces_allow_ssm (struct ddsi_addrset *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: ddsi_is_proxy_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_proxy_endpoint (const struct ddsi_entity_common *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:228,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:228,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:229,1
    - Dst: ddsi_xmsg_setdst_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:230,1
    - Dst: ddsi_xmsg_add_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:231,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - prd
    - guid
    argTypes:
    - struct ddsi_proxy_reader*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: ddsi_send_entityid_to_prd
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_qxev_msg
    - ddsi_xmsg_new
    - PGUIDPREFIX
    - ddsi_xmsg_add_entityid
    - GVTRACE
    - ddsi_xmsg_setdst_prd
    linkageType: ''
    returnType: void
    signature: void ddsi_send_entityid_to_prd (struct ddsi_proxy_reader *prd, const
      ddsi_guid_t *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:242,1
    - Dst: PGUIDPREFIX
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:242,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:243,1
    - Dst: ddsi_xmsg_setdst_pwr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:244,1
    - Dst: ddsi_xmsg_add_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:245,1
    - Dst: ddsi_qxev_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pwr
    - guid
    argTypes:
    - struct ddsi_proxy_writer*
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 7
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: ddsi_send_entityid_to_pwr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_qxev_msg
    - ddsi_xmsg_setdst_pwr
    - ddsi_xmsg_new
    - PGUIDPREFIX
    - ddsi_xmsg_add_entityid
    - GVTRACE
    linkageType: ''
    returnType: void
    signature: void ddsi_send_entityid_to_pwr (struct ddsi_proxy_writer *pwr, const
      ddsi_guid_t *guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pwr_entityid
    - isreliable
    argTypes:
    - ddsi_entityid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: get_proxy_writer_reorder_mode
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ddsi_reorder_mode
    signature: enum ddsi_reorder_mode get_proxy_writer_reorder_mode(const ddsi_entityid_t
      pwr_entityid, int isreliable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:270,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:274,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:275,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:275,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:276,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:276,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:278,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:280,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:280,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:284,1
    - Dst: proxy_endpoint_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:285,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:287,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:291,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:300,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:301,1
    - Dst: ddsi_addrset_contains_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:319,1
    - Dst: addrset_interfaces_allow_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:319,1
    - Dst: proxy_is_local_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:321,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:327,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:330,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:330,1
    - Dst: ddsi_lease_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:331,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:334,1
    - Dst: ddsi_proxy_participant_add_pwr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:335,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:336,1
    - Dst: ddsi_lease_register
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:340,1
    - Dst: ddsi_defrag_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:350,1
    - Dst: ddsi_defrag_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:354,1
    - Dst: get_proxy_writer_reorder_mode
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:356,1
    - Dst: ddsi_reorder_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:357,1
    - Dst: ddsi_reorder_set_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:367,1
    - Dst: ddsi_local_reader_ary_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:374,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:377,1
    - Dst: ddsi_entidx_insert_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:378,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:379,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:380,1
    - Dst: ddsi_ref_proxy_participant_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:418,1
    - Dst: ddsi_delete_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:420,1
    - Dst: ddsi_match_proxy_writer_with_readers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:425,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:427,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 10
    argNames:
    - proxy_writer
    - gv
    - ppguid
    - guid
    - as
    - plist
    - dqueue
    - evq
    - timestamp
    - seq
    argTypes:
    - struct ddsi_proxy_writer**
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - struct ddsi_guid*
    - struct ddsi_addrset*
    - ddsi_plist_t*
    - struct ddsi_dqueue*
    - struct ddsi_xeventq*
    - ddsrt_wctime_t
    - ddsi_seqno_t
    assertStmts:
    - condition: (ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (pwr->c.xqos->present & DDSI_QP_LIVELINESS)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (proxy_writer)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (ddsi_entidx_lookup_proxy_writer_guid (gv->entity_index, guid) ==
        NULL)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 434
      start: 265
    functionDepth: 10
    functionLinenumber: 265
    functionLinenumberEnd: 434
    functionName: ddsi_new_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 3
    functionsReached:
    - ddsi_reorder_new
    - ddsi_ref_proxy_participant_complete
    - ddsi_is_writer_entityid
    - ddsi_entidx_insert_proxy_writer_guid
    - ddsrt_malloc
    - ddsi_entidx_lookup_proxy_participant_guid
    - get_proxy_writer_reorder_mode
    - ddsi_addrset_contains_ssm
    - ddsrt_mutex_lock
    - ddsi_defrag_new
    - ddsi_match_proxy_writer_with_readers
    - ddsi_lease_register
    - GVWARNING
    - ddsrt_mutex_unlock
    - ddsi_delete_proxy_writer
    - ddsrt_free
    - ddsi_local_reader_ary_init
    - assert
    - PGUID
    - ddsrt_etime_add_duration
    - ddsrt_avl_init
    - proxy_is_local_psmx
    - proxy_endpoint_common_init
    - ddsi_reorder_set_next_seq
    - ddsrt_time_monotonic
    - ddsi_proxy_participant_add_pwr_lease_locked
    - ddsi_builtintopic_write_endpoint
    - addrset_interfaces_allow_ssm
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsrt_atomic_st32
    - ddsrt_time_elapsed
    - ddsi_lease_new
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_new_proxy_writer (struct ddsi_proxy_writer **proxy_writer,
      struct ddsi_domaingv *gv, const struct ddsi_guid *ppguid, const struct ddsi_guid
      *guid, struct ddsi_addrset *as, const ddsi_plist_t *plist, struct ddsi_dqueue
      *dqueue, struct ddsi_xeventq *evq, ddsrt_wctime_t timestamp, ddsi_seqno_t seq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:444,1
    - Dst: ddsi_addrset_eq_onesidederr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:448,1
    - Dst: ddsi_addrset_contains_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:451,1
    - Dst: addrset_interfaces_allow_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:451,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:453,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:454,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:456,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:459,1
    - Dst: ddsi_send_entityid_to_pwr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:462,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:464,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:468,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - pwr
    - seq
    - as
    - xqos
    - timestamp
    argTypes:
    - struct ddsi_proxy_writer*
    - ddsi_seqno_t
    - struct ddsi_addrset*
    - struct dds_qos*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 436
    functionDepth: 8
    functionLinenumber: 436
    functionLinenumberEnd: 471
    functionName: ddsi_update_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_next
    - ddsi_entidx_lookup_reader_guid
    - ddsrt_avl_iter_first
    - ddsi_addrset_contains_ssm
    - ddsrt_mutex_lock
    - addrset_interfaces_allow_ssm
    - ddsi_send_entityid_to_pwr
    - ddsi_ref_addrset
    - ddsi_unref_addrset
    - ddsi_update_qos_locked
    - ddsi_addrset_eq_onesidederr
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_proxy_writer (struct ddsi_proxy_writer *pwr, ddsi_seqno_t
      seq, struct ddsi_addrset *as, const struct dds_qos *xqos, ddsrt_wctime_t timestamp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:476,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:476,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:477,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:482,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:483,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:484,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:488,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:490,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:491,1
    - Dst: ddsi_reader_drop_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:492,1
    - Dst: ddsi_update_reader_init_acknack_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:493,1
    - Dst: ddsi_free_pwr_rd_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:494,1
    - Dst: ddsi_local_reader_ary_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:496,1
    - Dst: ddsi_lease_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:498,1
    - Dst: ddsi_omg_security_deregister_remote_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:500,1
    - Dst: proxy_endpoint_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:502,1
    - Dst: ddsi_defrag_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:503,1
    - Dst: ddsi_reorder_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:504,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 473
    functionDepth: 10
    functionLinenumber: 473
    functionLinenumberEnd: 506
    functionName: gc_delete_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_reorder_free
    - ddsrt_free
    - PGUID
    - ddsrt_avl_is_empty
    - ddsi_local_reader_ary_fini
    - ddsrt_avl_delete
    - ddsi_defrag_free
    - ddsi_lease_free
    - ddsi_gcreq_free
    - ddsi_free_pwr_rd_match
    - ddsi_omg_security_deregister_remote_writer
    - ddsi_update_reader_init_acknack_count
    - ddsi_reader_drop_connection
    - proxy_endpoint_common_fini
    - ELOGDISC
    - ddsi_type_unref
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_writer (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:513,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:513,1
    - Dst: ddsi_gcreq_requeue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vgcreq
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: gc_delete_proxy_writer_dqueue_bubble_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - PGUID
    - ELOGDISC
    - ddsi_gcreq_requeue
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_writer_dqueue_bubble_cb (void *vgcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:522,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:522,1
    - Dst: ddsi_dqueue_enqueue_callback
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: gc_delete_proxy_writer_dqueue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - PGUID
    - ELOGDISC
    - ddsi_dqueue_enqueue_callback
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_writer_dqueue (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:528,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pwr
    argTypes:
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: gcreq_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_proxy_writer (struct ddsi_proxy_writer *pwr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:539,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:540,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:540,1
    - Dst: ddsi_entidx_tryremove_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:542,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:544,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:548,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:549,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:550,1
    - Dst: ddsi_local_reader_ary_setinvalid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:554,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:555,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:563,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:564,1
    - Dst: ddsi_lease_unregister
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:568,1
    - Dst: ddsi_proxy_writer_set_notalive
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:569,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:570,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:570,1
    - Dst: gcreq_proxy_writer
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - gv
    - guid
    - timestamp
    - lease_expired
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 573
    functionName: ddsi_delete_proxy_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 4
    functionsReached:
    - GVLOGDISC
    - ddsi_builtintopic_write_endpoint
    - PGUID
    - ddsrt_mutex_lock
    - DDSRT_UNUSED_ARG
    - ddsi_type_unreg_proxy
    - ddsi_proxy_writer_set_notalive
    - gcreq_proxy_writer
    - ddsi_local_reader_ary_setinvalid
    - ddsi_lease_unregister
    - ddsi_entidx_tryremove_proxy_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int ddsi_delete_proxy_writer (struct ddsi_domaingv *gv, const struct
      ddsi_guid *guid, ddsrt_wctime_t timestamp, bool lease_expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxy_writer_get_alive_state_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:578,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:582,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:584,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:587,1
    - Dst: ddsi_reader_update_notify_pwr_alive_state_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:590,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pwr
    argTypes:
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 593
    functionName: proxy_writer_notify_liveliness_change_may_unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_reader_update_notify_pwr_alive_state_guid
    - ddsrt_avl_lookup_succ
    - ddsrt_mutex_lock
    - memset
    - proxy_writer_get_alive_state_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void proxy_writer_notify_liveliness_change_may_unlock (struct ddsi_proxy_writer
      *pwr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:600,1
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:603,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:605,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:605,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:609,1
    - Dst: ddsi_proxy_participant_add_pwr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:615,1
    - Dst: ddsi_lease_set_expiry
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:617,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:617,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:617,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:619,1
    - Dst: proxy_writer_notify_liveliness_change_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pwr
    - notify
    argTypes:
    - struct ddsi_proxy_writer*
    - bool
    assertStmts:
    - condition: (!pwr->alive)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 623
      start: 595
    functionDepth: 6
    functionLinenumber: 595
    functionLinenumberEnd: 623
    functionName: ddsi_proxy_writer_set_alive_may_unlock
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsi_lease_set_expiry
    - ddsi_proxy_participant_add_pwr_lease_locked
    - proxy_writer_notify_liveliness_change_may_unlock
    - ddsrt_mutex_lock
    - PGUID
    - assert
    - ddsrt_etime_add_duration
    - ddsrt_time_elapsed
    - ddsi_entidx_lookup_proxy_writer_guid
    - ELOGDISC
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_proxy_writer_set_alive_may_unlock (struct ddsi_proxy_writer
      *pwr, bool notify)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:629,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:632,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:636,1
    - Dst: ddsi_proxy_participant_remove_pwr_lease_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:640,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:641,1
    - Dst: proxy_writer_notify_liveliness_change_may_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:644,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pwr
    - notify
    argTypes:
    - struct ddsi_proxy_writer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 647
    functionName: ddsi_proxy_writer_set_notalive
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 2
    functionsReached:
    - proxy_writer_notify_liveliness_change_may_unlock
    - ddsrt_mutex_lock
    - ddsi_proxy_participant_remove_pwr_lease_locked
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int ddsi_proxy_writer_set_notalive (struct ddsi_proxy_writer *pwr,
      bool notify)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:659,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:662,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:663,1
    - Dst: ddsi_is_writer_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:663,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:664,1
    - Dst: ddsi_entidx_lookup_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:664,1
    - Dst: ddsi_entidx_lookup_proxy_participant_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:666,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:668,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:668,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:672,1
    - Dst: proxy_endpoint_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:673,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:675,1
    - Dst: addrset_interfaces_allow_ssm
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:681,1
    - Dst: proxy_is_local_psmx
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:683,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:692,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:704,1
    - Dst: ddsi_entidx_insert_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:705,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:706,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:707,1
    - Dst: ddsi_ref_proxy_participant_complete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:710,1
    - Dst: ddsi_delete_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:712,1
    - Dst: ddsi_match_proxy_reader_with_writers
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 9
    argNames:
    - proxy_reader
    - gv
    - ppguid
    - guid
    - as
    - plist
    - timestamp
    - seq
    - favours_ssm
    argTypes:
    - struct ddsi_proxy_reader**
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - struct ddsi_guid*
    - struct ddsi_addrset*
    - ddsi_plist_t*
    - ddsrt_wctime_t
    - ddsi_seqno_t
    - int
    assertStmts:
    - condition: (proxy_reader)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (!ddsi_is_writer_entityid (guid->entityid))
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (ddsi_entidx_lookup_proxy_reader_guid (gv->entity_index, guid) ==
        NULL)
      pos:
        line_end: 663
        line_start: 663
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 721
      start: 651
    functionDepth: 10
    functionLinenumber: 651
    functionLinenumberEnd: 721
    functionName: ddsi_new_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 4
    functionsReached:
    - ddsi_ref_proxy_participant_complete
    - ddsi_is_writer_entityid
    - ddsi_entidx_lookup_proxy_reader_guid
    - ddsrt_malloc
    - ddsi_entidx_insert_proxy_reader_guid
    - ddsi_entidx_lookup_proxy_participant_guid
    - ddsrt_mutex_lock
    - GVWARNING
    - ddsrt_free
    - assert
    - PGUID
    - ddsrt_avl_init
    - proxy_is_local_psmx
    - proxy_endpoint_common_init
    - ddsi_match_proxy_reader_with_writers
    - ddsi_delete_proxy_reader
    - ddsrt_time_monotonic
    - ddsi_builtintopic_write_endpoint
    - addrset_interfaces_allow_ssm
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: 'dds_return_t ddsi_new_proxy_reader (struct ddsi_proxy_reader **proxy_reader,
      struct ddsi_domaingv *gv, const struct ddsi_guid *ppguid, const struct ddsi_guid
      *guid, struct ddsi_addrset *as, const ddsi_plist_t *plist, ddsrt_wctime_t timestamp,
      ddsi_seqno_t seq

      #ifdef DDSRT_HAVE_SSM

      , int favours_ssm

      #endif

      )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:728,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:730,1
    - Dst: ddsi_addrset_eq_onesidederr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:734,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:738,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:739,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:744,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:751,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:758,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:762,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:763,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:766,1
    - Dst: ddsi_rebuild_writer_addrset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:767,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:768,1
    - Dst: ddsi_send_entityid_to_prd
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:769,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:772,1
    - Dst: ddsi_update_qos_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:776,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 5
    argNames:
    - prd
    - seq
    - as
    - xqos
    - timestamp
    argTypes:
    - struct ddsi_proxy_reader*
    - ddsi_seqno_t
    - struct ddsi_addrset*
    - struct dds_qos*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 723
    functionDepth: 8
    functionLinenumber: 723
    functionLinenumberEnd: 779
    functionName: ddsi_update_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ_eq
    - ddsrt_mutex_lock
    - memset
    - ddsi_rebuild_writer_addrset
    - ddsi_ref_addrset
    - ddsi_unref_addrset
    - ddsi_send_entityid_to_prd
    - ddsrt_avl_find_succ
    - ddsi_entidx_lookup_writer_guid
    - ddsi_addrset_eq_onesidederr
    - ddsrt_mutex_unlock
    - ddsi_update_qos_locked
    linkageType: ''
    returnType: void
    signature: void ddsi_update_proxy_reader (struct ddsi_proxy_reader *prd, ddsi_seqno_t
      seq, struct ddsi_addrset *as, const struct dds_qos *xqos, ddsrt_wctime_t timestamp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:787,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:788,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:790,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:797,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:801,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:805,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:806,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:810,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:811,1
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:815,1
    - Dst: ddsi_remove_acked_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:816,1
    - Dst: ddsi_writer_clear_retransmitting
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:817,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:819,1
    - Dst: ddsi_whc_free_deferred_free_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:820,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:824,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - prd
    argTypes:
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 827
    functionName: proxy_reader_set_delete_and_ack_all_messages
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_lookup_succ_eq
    - ddsi_remove_acked_messages
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - memset
    - ddsi_whc_free_deferred_free_list
    - ddsi_writer_clear_retransmitting
    - ddsrt_avl_augment_update
    - ddsrt_avl_find_succ
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void proxy_reader_set_delete_and_ack_all_messages (struct ddsi_proxy_reader
      *prd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:832,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:832,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:833,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:838,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:839,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:840,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:844,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:846,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:847,1
    - Dst: ddsi_writer_drop_connection
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:848,1
    - Dst: ddsi_free_prd_wr_match
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:849,1
    - Dst: ddsi_omg_security_deregister_remote_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:852,1
    - Dst: proxy_endpoint_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:854,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 829
    functionDepth: 9
    functionLinenumber: 829
    functionLinenumberEnd: 856
    functionName: gc_delete_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsi_writer_drop_connection
    - PGUID
    - ddsrt_avl_is_empty
    - ddsrt_avl_delete
    - ddsi_gcreq_free
    - ddsi_free_prd_wr_match
    - ddsi_omg_security_deregister_remote_reader
    - proxy_endpoint_common_fini
    - ELOGDISC
    - ddsi_type_unref
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_reader (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:860,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - prd
    argTypes:
    - struct ddsi_proxy_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 3
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: gcreq_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_proxy_reader (struct ddsi_proxy_reader *prd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:870,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:870,1
    - Dst: ddsi_entidx_tryremove_proxy_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:872,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:874,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:878,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:887,1
    - Dst: ddsi_type_unreg_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:888,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:891,1
    - Dst: proxy_reader_set_delete_and_ack_all_messages
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:897,1
    - Dst: gcreq_proxy_reader
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - gv
    - guid
    - timestamp
    - lease_expired
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 900
    functionName: ddsi_delete_proxy_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 5
    functionsReached:
    - GVLOGDISC
    - ddsi_builtintopic_write_endpoint
    - PGUID
    - ddsi_type_unreg_proxy
    - ddsi_entidx_tryremove_proxy_reader_guid
    - gcreq_proxy_reader
    - proxy_reader_set_delete_and_ack_all_messages
    linkageType: ''
    returnType: int
    signature: int ddsi_delete_proxy_reader (struct ddsi_domaingv *gv, const struct
      ddsi_guid *guid, ddsrt_wctime_t timestamp, bool lease_expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:904,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:905,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:906,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ddsi_proxy_endpoint_common*
    assertStmts:
    - condition: (offsetof (struct ddsi_proxy_writer, e) == 0)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (offsetof (struct ddsi_proxy_reader, c) == offsetof (struct ddsi_proxy_writer,
        c))
      pos:
        line_end: 905
        line_start: 905
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (offsetof (struct ddsi_proxy_reader, e) == offsetof (struct ddsi_proxy_writer,
        e))
      pos:
        line_end: 904
        line_start: 904
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    - condition: (c != NULL)
      pos:
        line_end: 906
        line_start: 906
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: ddsi_entity_common_from_proxy_endpoint_common
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct ddsi_entity_common
    signature: struct ddsi_entity_common *ddsi_entity_common_from_proxy_endpoint_common
      (const struct ddsi_proxy_endpoint_common *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _init (prefix_##_t *list)
    argTypes:
    - DDSI_LIST_DECLS_TMPL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: DDSI_LIST_TYPES_TMPL
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 0
    functionsReached:
    - generic_ptr_list_init
    linkageType: ''
    returnType: void
    signature: 'void DDSI_LIST_TYPES_TMPL(generic_ptr_list, void *, NOARG, 32)

      DDSI_LIST_DECLS_TMPL(extern, generic_ptr_list, void *, ddsrt_attribute_unused)

      #undef NOARG


      #define DDSI_LIST_GENERIC_PTR_TYPES(prefix_) \

      typedef struct generic_ptr_list_node prefix_##_node_t; \

      typedef struct generic_ptr_list prefix_##_t; \

      typedef struct generic_ptr_list_iter prefix_##_iter_t; \

      typedef struct generic_ptr_list_iter_d prefix_##_iter_d_t;


      #define DDSI_LIST_GENERIC_PTR_DECL(linkage_, prefix_, elemT_, attrs_)                          \

      linkage_ void prefix_##_init (prefix_##_t *list) attrs_;                                       \

      linkage_ void prefix_##_free (prefix_##_t *list) attrs_;                                       \

      linkage_ elemT_ prefix_##_insert (prefix_##_t *list, elemT_ o) attrs_;                         \

      linkage_ elemT_ prefix_##_append (prefix_##_t *list, elemT_ o) attrs_;                         \

      linkage_ elemT_ prefix_##_iter_first (const prefix_##_t *list, prefix_##_iter_t
      *iter) attrs_; \

      linkage_ elemT_ prefix_##_iter_next (prefix_##_iter_t *iter) attrs_;                           \

      linkage_ elemT_ *prefix_##_iter_elem_addr (prefix_##_iter_t *iter) attrs_;                     \

      linkage_ elemT_ prefix_##_iter_d_first (prefix_##_t *list, prefix_##_iter_d_t
      *iter) attrs_;   \

      linkage_ elemT_ prefix_##_iter_d_next (prefix_##_iter_d_t *iter) attrs_;                       \

      linkage_ void prefix_##_iter_d_remove (prefix_##_iter_d_t *iter) attrs_;                       \

      linkage_ elemT_ prefix_##_remove (prefix_##_t *list, elemT_ o) attrs_;                         \

      linkage_ elemT_ prefix_##_take_first (prefix_##_t *list) attrs_;                               \

      linkage_ elemT_ prefix_##_take_last (prefix_##_t *list) attrs_;                                \

      linkage_ uint32_t prefix_##_count (const prefix_##_t *list) attrs_;                            \

      linkage_ void prefix_##_append_list (prefix_##_t *list, prefix_##_t *b) attrs_;                \

      linkage_ elemT_ *prefix_##_index_addr (prefix_##_t *list, uint32_t index) attrs_;              \

      linkage_ elemT_ prefix_##_index (prefix_##_t *list, uint32_t index) attrs_;


      #define DDSI_LIST_GENERIC_PTR_CODE(linkage_, prefix_, elemT_, equals_)                                                       \

      linkage_ void prefix_##_init (prefix_##_t *list)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: _free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 973
    functionsReached:
    - generic_ptr_list_free
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _free (prefix_##_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - o
    argTypes:
    - prefix_*
    - elemT_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: _insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 52
    functionsReached:
    - generic_ptr_list_insert
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _insert (prefix_##_t *list, elemT_ o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - o
    argTypes:
    - prefix_*
    - elemT_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: _append
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 52
    functionsReached:
    - generic_ptr_list_append
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _append (prefix_##_t *list, elemT_ o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - iter
    argTypes:
    - prefix_*
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: _iter_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 62
    functionsReached:
    - generic_ptr_list_iter_first
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_first (const prefix_##_t *list, prefix_##_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: _iter_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 68
    functionsReached:
    - generic_ptr_list_iter_next
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_next (prefix_##_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_elem_addr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: _iter_elem_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 1
    functionsReached:
    - generic_ptr_list_iter_elem_addr
    linkageType: ''
    returnType: linkage_
    signature: linkage_ *prefix_##_iter_elem_addr (prefix_##_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_d_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - iter
    argTypes:
    - prefix_*
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: _iter_d_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 6
    functionsReached:
    - generic_ptr_list_iter_d_first
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_first (prefix_##_t *list, prefix_##_iter_d_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_d_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: _iter_d_next
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 4
    functionsReached:
    - generic_ptr_list_iter_d_next
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_next (prefix_##_iter_d_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_iter_d_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: _iter_d_remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 2
    functionsReached:
    - generic_ptr_list_iter_d_remove
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _iter_d_remove (prefix_##_iter_d_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_remove
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - o
    argTypes:
    - prefix_*
    - elemT_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: _remove
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 45
    functionsReached:
    - generic_ptr_list_remove
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _remove (prefix_##_t *list, elemT_ o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_take_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: _take_first
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 1
    functionsReached:
    - generic_ptr_list_take_first
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _take_first (prefix_##_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_take_last
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: _take_last
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 1
    functionsReached:
    - generic_ptr_list_take_last
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _take_last (prefix_##_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_count
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: uint32_t
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 13
    functionsReached:
    - generic_ptr_list_count
    linkageType: ''
    returnType: linkage_
    signature: linkage_ uint32_t prefix_##_count (const prefix_##_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_append_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - b
    argTypes:
    - prefix_*
    - prefix_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: _append_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 1
    functionsReached:
    - generic_ptr_list_append_list
    linkageType: ''
    returnType: linkage_
    signature: linkage_ _append_list (prefix_##_t *list, prefix_##_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_index_addr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - index
    argTypes:
    - prefix_*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: _index_addr
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 1
    functionsReached:
    - generic_ptr_list_index_addr
    linkageType: ''
    returnType: linkage_
    signature: linkage_ *prefix_##_index_addr (prefix_##_t *list, uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_ptr_list_index
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - index
    argTypes:
    - prefix_*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: elemT_
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
    functionUses: 0
    functionsReached:
    - generic_ptr_list_index
    linkageType: ''
    returnType: linkage_
    signature: linkage_ elemT_ prefix_##_index (prefix_##_t *list, uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ASSERT_RDLOCK_HELD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__sysdeps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RDLOCK_HELD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: ASSERT_WRLOCK_HELD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__sysdeps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_WRLOCK_HELD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ASSERT_MUTEX_HELD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__sysdeps.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_MUTEX_HELD(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:69,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pwr
    - next_seq
    argTypes:
    - struct ddsi_proxy_writer*
    - ddsi_seqno_t
    assertStmts:
    - condition: (0 < next_deliv_seq && next_deliv_seq <= next_seq)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    constantsTouched: []
    func_position:
      end: 76
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 76
    functionName: next_deliv_seq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    linkageType: ''
    returnType: ddsi_seqno_t
    signature: ddsi_seqno_t next_deliv_seq (const struct ddsi_proxy_writer *pwr, const
      ddsi_seqno_t next_seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:84,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:92,1
    - Dst: next_deliv_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:97,1
    - Dst: ddsi_reorder_next_seq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:97,1
    - Dst: ddsi_dqueue_is_full
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - pwr
    - rwn
    - reorder
    - bitmap_base
    - notail
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - struct ddsi_reorder**
    - ddsi_seqno_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: add_acknack_getsource
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - next_deliv_seq
    - ddsi_dqueue_is_full
    - ddsi_reorder_next_seq
    linkageType: ''
    returnType: void
    signature: void add_acknack_getsource (const struct ddsi_proxy_writer *pwr, const
      struct ddsi_pwr_rd_match *rwn, struct ddsi_reorder **reorder, ddsi_seqno_t *bitmap_base,
      int *notail)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_acknack_getsource
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:108,1
    - Dst: ddsi_reorder_nackmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:112,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:122,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:126,1
    - Dst: ddsi_defrag_nackmap
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - pwr
    - rwn
    - info
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - struct ddsi_add_acknack_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 148
    functionName: add_acknack_makebitmaps
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsi_defrag_nackmap
    - ddsi_from_seqno
    - ddsi_reorder_nackmap
    - add_acknack_getsource
    - ddsi_bitset_isset
    linkageType: ''
    returnType: enum ddsi_reorder_nackmap_result
    signature: enum ddsi_reorder_nackmap_result add_acknack_makebitmaps (const struct
      ddsi_proxy_writer *pwr, const struct ddsi_pwr_rd_match *rwn, struct ddsi_add_acknack_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:155,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:156,1
    - Dst: DDSI_NACKFRAG_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:156,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:158,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:159,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:160,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:161,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:168,1
    - Dst: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:168,1
    - Dst: DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:172,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:175,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:179,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:180,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:183,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:183,1
    - Dst: ddsi_security_encode_datareader_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - msg
    - pwr
    - rwn
    - info
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - struct ddsi_add_acknack_info*
    assertStmts:
    - condition: (info->nackfrag.set.numbits > 0 && info->nackfrag.set.numbits <=
        DDSI_FRAGMENT_NUMBER_SET_MAX_BITS)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: add_NackFrag
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
    - DDSI_NACKFRAG_SIZE
    - assert
    - memcpy
    - ddsi_security_encode_datareader_submsg
    - ETRACE
    - ddsi_xmsg_submsg_setnext
    - ddsi_to_seqno
    - ddsi_bitset_isset
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    - ddsi_hton_entityid
    linkageType: ''
    returnType: void
    signature: void add_NackFrag (struct ddsi_xmsg *msg, const struct ddsi_proxy_writer
      *pwr, const struct ddsi_pwr_rd_match *rwn, const struct ddsi_add_acknack_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:200,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:201,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:202,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:203,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:212,1
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:212,1
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:216,1
    - Dst: ddsi_xmsg_shrink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:219,1
    - Dst: DDSI_ACKNACK_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:219,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:220,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:224,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:225,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:225,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:226,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:228,1
    - Dst: ddsi_bitset_isset
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:228,1
    - Dst: ddsi_security_encode_datareader_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - msg
    - pwr
    - rwn
    - info
    argTypes:
    - struct ddsi_xmsg*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - struct ddsi_add_acknack_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 233
    functionName: add_acknack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - ddsi_xmsg_shrink
    - memcpy
    - DDSI_ACKNACK_SIZE
    - PGUID
    - ETRACE
    - ddsi_xmsg_submsg_setnext
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    - ddsi_security_encode_datareader_submsg
    - ddsi_bitset_isset
    - ddsi_xmsg_append
    - ddsi_xmsg_submsg_init
    - ddsi_hton_entityid
    linkageType: ''
    returnType: void
    signature: void add_acknack (struct ddsi_xmsg *msg, const struct ddsi_proxy_writer
      *pwr, const struct ddsi_pwr_rd_match *rwn, const struct ddsi_add_acknack_info
      *info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: add_acknack_makebitmaps
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:247,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:253,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:263,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:264,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:265,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:328,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 6
    argNames:
    - pwr
    - rwn
    - nack_summary
    - info
    - ackdelay_passed
    - nackdelay_passed
    argTypes:
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - struct ddsi_last_nack_summary*
    - struct ddsi_add_acknack_info*
    - bool
    - bool
    assertStmts:
    - condition: (info->nackfrag.seq == 0 || info->nackfrag.set.numbits > 0)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (seq_base >= 1 && (info->acknack.set.numbits > 0 || info->nackfrag.seq
        > 0))
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (result == AANR_ACK || result == AANR_NACK || result == AANR_SUPPRESSED_NACK)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    constantsTouched: []
    func_position:
      end: 345
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 345
    functionName: get_acknack_info
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsi_from_seqno
    - add_acknack_makebitmaps
    linkageType: ''
    returnType: enum ddsi_add_acknack_result
    signature: enum ddsi_add_acknack_result get_acknack_info (const struct ddsi_proxy_writer
      *pwr, const struct ddsi_pwr_rd_match *rwn, struct ddsi_last_nack_summary *nack_summary,
      struct ddsi_add_acknack_info *info, bool ackdelay_passed, bool nackdelay_passed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:368,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:369,1
    - Dst: get_acknack_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:373,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:382,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:386,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ev
    - pwr
    - rwn
    - tnow
    argTypes:
    - struct ddsi_xevent*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 389
    functionName: ddsi_sched_acknack_if_needed
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 1
    functionsReached:
    - ddsrt_mtime_add_duration
    - get_acknack_info
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void ddsi_sched_acknack_if_needed (struct ddsi_xevent *ev, struct ddsi_proxy_writer
      *pwr, struct ddsi_pwr_rd_match *rwn, ddsrt_mtime_t tnow)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - aanr
    argTypes:
    - enum ddsi_add_acknack_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: need_to_eventually_nack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool need_to_eventually_nack (enum ddsi_add_acknack_result aanr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:425,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:425,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:436,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:438,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ev
    - pwr
    - rwn
    - tnow
    - aanr
    argTypes:
    - struct ddsi_xevent*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsrt_mtime_t
    - enum ddsi_add_acknack_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 443
    functionName: resched_acknack_if_data_missing
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsrt_mtime_add_duration
    - ddsi_resched_xevent_if_earlier
    linkageType: ''
    returnType: void
    signature: void resched_acknack_if_data_missing (struct ddsi_xevent *ev, struct
      ddsi_proxy_writer *pwr, struct ddsi_pwr_rd_match *rwn, ddsrt_mtime_t tnow, const
      enum ddsi_add_acknack_result aanr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_acknack_info
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:453,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:454,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:455,1
    - Dst: resched_acknack_if_data_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:458,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:463,1
    - Dst: need_to_eventually_nack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:463,1
    - Dst: ddsi_xevent_is_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:463,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:482,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:484,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:489,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:491,1
    - Dst: need_to_eventually_nack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:491,1
    - Dst: ddsi_xevent_is_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:491,1
    - Dst: ddsi_xmsg_setdst_pwr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:495,1
    - Dst: ddsi_xmsg_add_timestamp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:503,1
    - Dst: add_acknack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:508,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:511,1
    - Dst: add_NackFrag
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:512,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:514,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:515,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:518,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:519,1
    - Dst: need_to_eventually_nack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:519,1
    - Dst: ddsi_xevent_is_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:519,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:529,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:554,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:554,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:554,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:555,1
    - Dst: need_to_eventually_nack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:555,1
    - Dst: ddsi_xevent_is_scheduled
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:555,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 4
    argNames:
    - ev
    - pwr
    - rwn
    - tnow
    argTypes:
    - struct ddsi_xevent*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (!need_to_eventually_nack (aanr) || ddsi_xevent_is_scheduled (ev))
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (!need_to_eventually_nack (aanr) || ddsi_xevent_is_scheduled (ev))
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (!need_to_eventually_nack (aanr) || ddsi_xevent_is_scheduled (ev))
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    - condition: (!need_to_eventually_nack (aanr) || ddsi_xevent_is_scheduled (ev))
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    constantsTouched: []
    func_position:
      end: 557
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 557
    functionName: make_and_resched_acknack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsi_xevent_is_scheduled
    - ddsi_xmsg_setdst_pwr
    - ddsi_entidx_lookup_reader_guid
    - assert
    - get_acknack_info
    - resched_acknack_if_data_missing
    - need_to_eventually_nack
    - ddsi_xmsg_new
    - ddsi_xmsg_add_timestamp
    - ddsrt_mtime_add_duration
    - add_NackFrag
    - ddsi_xmsg_free
    - ETRACE
    - ddsi_xmsg_size
    - add_acknack
    - PGUID
    - GVTRACE
    - ddsi_omg_proxy_participant_is_secure
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *make_and_resched_acknack (struct ddsi_xevent *ev,
      struct ddsi_proxy_writer *pwr, struct ddsi_pwr_rd_match *rwn, ddsrt_mtime_t
      tnow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:562,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:563,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:564,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:565,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:566,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:567,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rwn
    argTypes:
    - struct ddsi_pwr_rd_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: preemptive_acknack_interval
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t preemptive_acknack_interval (const struct ddsi_pwr_rd_match
      *rwn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: preemptive_acknack_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:574,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:575,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:577,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:577,1
    - Dst: ddsi_omg_proxy_participant_is_secure
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:583,1
    - Dst: ddsi_entidx_lookup_reader_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:585,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:591,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:594,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:594,1
    - Dst: ddsi_xmsg_setdst_pwr
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:598,1
    - Dst: ddsi_xmsg_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:600,1
    - Dst: DDSI_ACKNACK_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:600,1
    - Dst: ddsi_xmsg_submsg_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:601,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:602,1
    - Dst: ddsi_hton_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:603,1
    - Dst: ddsi_to_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:604,1
    - Dst: DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:607,1
    - Dst: ddsi_xmsg_submsg_setnext
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:609,1
    - Dst: ETRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:613,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:614,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:614,1
    - Dst: ddsi_from_seqno
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:615,1
    - Dst: ddsi_security_encode_datareader_submsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:617,1
    - Dst: preemptive_acknack_interval
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:620,1
    - Dst: ddsi_resched_xevent_if_earlier
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:621,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - ev
    - pwr
    - rwn
    - tnow
    argTypes:
    - struct ddsi_xevent*
    - struct ddsi_proxy_writer*
    - struct ddsi_pwr_rd_match*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 572
    functionDepth: 7
    functionLinenumber: 572
    functionLinenumberEnd: 623
    functionName: make_preemptive_acknack
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - ddsi_from_seqno
    - ddsi_xmsg_setdst_pwr
    - ddsi_entidx_lookup_reader_guid
    - PGUID
    - ddsi_security_encode_datareader_submsg
    - ddsi_xmsg_new
    - ddsrt_mtime_add_duration
    - ddsi_hton_entityid
    - ETRACE
    - preemptive_acknack_interval
    - ddsi_resched_xevent_if_earlier
    - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
    - ddsi_xmsg_submsg_setnext
    - ddsi_to_seqno
    - ddsi_xmsg_append
    - ddsi_omg_proxy_participant_is_secure
    - ddsi_xmsg_submsg_init
    - DDSI_ACKNACK_SIZE
    linkageType: ''
    returnType: struct ddsi_xmsg
    signature: struct ddsi_xmsg *make_preemptive_acknack (struct ddsi_xevent *ev,
      struct ddsi_proxy_writer *pwr, struct ddsi_pwr_rd_match *rwn, ddsrt_mtime_t
      tnow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_entidx_lookup_proxy_writer_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:641,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:646,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:647,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:649,1
    - Dst: make_preemptive_acknack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:654,1
    - Dst: make_and_resched_acknack
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:656,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:657,1
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:666,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:667,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - gv
    - ev
    - xp
    - varg
    - tnow
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - void*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 625
    functionDepth: 9
    functionLinenumber: 625
    functionLinenumberEnd: 671
    functionName: ddsi_acknack_xevent_cb
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
    functionUses: 0
    functionsReached:
    - make_and_resched_acknack
    - ddsrt_avl_lookup
    - ddsrt_mutex_lock
    - ddsi_entidx_lookup_proxy_writer_guid
    - ddsi_xmsg_free
    - ddsi_xmsg_size
    - make_preemptive_acknack
    - ddsrt_mutex_unlock
    - ddsi_xpack_addmsg
    linkageType: ''
    returnType: void
    signature: void ddsi_acknack_xevent_cb (struct ddsi_domaingv *gv, struct ddsi_xevent
      *ev, struct ddsi_xpack *xp, void *varg, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:78,1
    - Dst: fopen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:82,1
    - Dst: GVWARNING
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:84,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:95,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - gv
    - name
    argTypes:
    - struct ddsi_domaingv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: ddsi_new_pcap_file
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    functionUses: 1
    functionsReached:
    - GVWARNING
    - DDSRT_WARNING_MSVC_OFF
    - fwrite
    - DDSRT_WARNING_MSVC_ON
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE *ddsi_new_pcap_file (struct ddsi_domaingv *gv, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:108,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fp
    - msghdr
    - sz
    argTypes:
    - FILE*
    - ddsrt_msghdr_t*
    - size_t
    assertStmts:
    - condition: (n == sz)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: write_data
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    functionUses: 0
    functionsReached:
    - fwrite
    - assert
    linkageType: ''
    returnType: void
    signature: void write_data (FILE *fp, const ddsrt_msghdr_t *msghdr, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: calc_ipv4_checksum
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t calc_ipv4_checksum (const uint16_t *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:138,1
    - Dst: ddsrt_wctime_to_sec_usec
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:139,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:141,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:143,1
    - Dst: calc_ipv4_checksum
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:147,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:148,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:151,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:153,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:154,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 6
    argNames:
    - gv
    - tstamp
    - src
    - dst
    - buf
    - sz
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_wctime_t
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 157
    functionName: ddsi_write_pcap_received
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    functionUses: 1
    functionsReached:
    - ddsrt_toBE2u
    - ddsrt_wctime_to_sec_usec
    - fwrite
    - ddsrt_mutex_lock
    - calc_ipv4_checksum
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_write_pcap_received (struct ddsi_domaingv *gv, ddsrt_wctime_t
      tstamp, const struct sockaddr_storage *src, const struct sockaddr_storage *dst,
      unsigned char *buf, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:171,1
    - Dst: ddsrt_wctime_to_sec_usec
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:172,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:174,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:176,1
    - Dst: calc_ipv4_checksum
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:180,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:181,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:184,1
    - Dst: fwrite
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:186,1
    - Dst: write_data
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:187,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - gv
    - tstamp
    - src
    - hdr
    - sz
    argTypes:
    - struct ddsi_domaingv*
    - ddsrt_wctime_t
    - struct sockaddr_storage*
    - ddsrt_msghdr_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: ddsi_write_pcap_sent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    functionUses: 1
    functionsReached:
    - ddsrt_toBE2u
    - ddsrt_wctime_to_sec_usec
    - fwrite
    - ddsrt_mutex_lock
    - write_data
    - calc_ipv4_checksum
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_write_pcap_sent (struct ddsi_domaingv *gv, ddsrt_wctime_t
      tstamp, const struct sockaddr_storage *src, const ddsrt_msghdr_t *hdr, size_t
      sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: EVQTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVQTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: compare_xevent_tsched
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_xevent_tsched (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:138,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - evq
    - msg_rexmit_queued_rexmit_bytes
    argTypes:
    - struct ddsi_xeventq*
    - size_t
    assertStmts:
    - condition: (msg_rexmit_queued_rexmit_bytes <= evq->queued_rexmit_bytes)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (evq->queued_rexmit_msgs > 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: update_rexmit_counts
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void update_rexmit_counts (struct ddsi_xeventq *evq, size_t msg_rexmit_queued_rexmit_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_log_mask
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:148,1
    - Dst: ddsi_xmsg_guid_seq_fragid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:153,1
    - Dst: EVQTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:154,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - evq
    - func
    - m
    argTypes:
    - struct ddsi_xeventq*
    - char*
    - struct ddsi_xmsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: trace_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - dds_get_log_mask
    - PGUID
    - EVQTRACE
    - ddsi_xmsg_guid_seq_fragid
    linkageType: ''
    returnType: void
    signature: void trace_msg (struct ddsi_xeventq *evq, const char *func, const struct
      ddsi_xmsg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: trace_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trace_msg (UNUSED_ARG (struct ddsi_xeventq *evq), UNUSED_ARG (const
      char *func), UNUSED_ARG (const struct ddsi_xmsg *m))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:165,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:169,1
    - Dst: trace_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:172,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:173,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - evq
    - msg
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (0)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: lookup_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_kind
    - assert
    - ddsrt_avl_lookup
    - trace_msg
    linkageType: ''
    returnType: struct ddsi_xevent_nt
    signature: struct ddsi_xevent_nt *lookup_msg (struct ddsi_xeventq *evq, struct
      ddsi_xmsg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:183,1
    - Dst: trace_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:184,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - evq
    - ev
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent_nt*
    assertStmts:
    - condition: (ev->kind == XEVK_MSG_REXMIT)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: remember_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_insert
    - assert
    - trace_msg
    linkageType: ''
    returnType: void
    signature: void remember_msg (struct ddsi_xeventq *evq, struct ddsi_xevent_nt
      *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:190,1
    - Dst: trace_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:191,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - evq
    - ev
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent_nt*
    assertStmts:
    - condition: (ev->kind == XEVK_MSG_REXMIT)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: forget_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_avl_delete
    - trace_msg
    linkageType: ''
    returnType: void
    signature: void forget_msg (struct ddsi_xeventq *evq, struct ddsi_xevent_nt *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - evq
    - delta
    - tnow
    argTypes:
    - struct ddsi_xeventq*
    - int
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: update_non_timed_list_stats
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_non_timed_list_stats (struct ddsi_xeventq *evq, int delta,
      ddsrt_mtime_t tnow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update_non_timed_list_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:216,1
    - Dst: remember_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:219,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - evq
    - ev
    - tnow
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent_nt*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: add_to_non_timed_xmit_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - update_non_timed_list_stats
    - ddsrt_cond_mtime_broadcast
    - remember_msg
    linkageType: ''
    returnType: void
    signature: void add_to_non_timed_xmit_list (struct ddsi_xeventq *evq, struct ddsi_xevent_nt
      *ev, ddsrt_mtime_t tnow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update_non_timed_list_stats
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:231,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:236,1
    - Dst: lookup_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:236,1
    - Dst: forget_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - evq
    - tnow
    argTypes:
    - struct ddsi_xeventq*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (lookup_msg (evq, ev->u.msg_rexmit.msg) == ev)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: getnext_from_non_timed_xmit_list
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - forget_msg
    - update_non_timed_list_stats
    - assert
    - lookup_msg
    linkageType: ''
    returnType: struct ddsi_xevent_nt
    signature: struct ddsi_xevent_nt *getnext_from_non_timed_xmit_list  (struct ddsi_xeventq
      *evq, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: non_timed_xmit_list_is_empty
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int non_timed_xmit_list_is_empty (struct ddsi_xeventq *evq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:255,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:260,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - evq
    - ev
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent_nt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: nontimed_xevent_in_queue
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int nontimed_xevent_in_queue (struct ddsi_xeventq *evq, struct ddsi_xevent_nt
      *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: free_xevent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_xevent (struct ddsi_xevent *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:276,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:278,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:279,1
    - Dst: ddsrt_fibheap_decrease_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:283,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:288,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - evq
    - ev
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent*
    assertStmts:
    - condition: (ev->sync_state == CSODS_NO_SYNC_NEEDED)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (ev->tsched.v != TSCHED_DELETE)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (TSCHED_DELETE < ev->tsched.v)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: ddsi_delete_xevent_nosync
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_insert
    - assert
    - ddsrt_cond_mtime_broadcast
    - ddsrt_fibheap_decrease_key
    linkageType: ''
    returnType: void
    signature: void ddsi_delete_xevent_nosync (struct ddsi_xeventq *evq, struct ddsi_xevent
      *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:302,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:303,1
    - Dst: ddsrt_cond_mtime_wait
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:308,1
    - Dst: free_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - evq
    - ev
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent*
    assertStmts:
    - condition: (ev->tsched.v != TSCHED_DELETE)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: ddsi_delete_xevent_sync
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_wait
    - assert
    - ddsrt_fibheap_delete
    - free_xevent
    linkageType: ''
    returnType: void
    signature: void ddsi_delete_xevent_sync (struct ddsi_xeventq *evq, struct ddsi_xevent
      *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:317,1
    - Dst: ddsi_delete_xevent_nosync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:321,1
    - Dst: ddsi_delete_xevent_sync
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:326,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: ddsi_delete_xevent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 13
    functionsReached:
    - ddsi_delete_xevent_sync
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ddsi_delete_xevent_nosync
    linkageType: ''
    returnType: void
    signature: void ddsi_delete_xevent (struct ddsi_xevent *ev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:337,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:342,1
    - Dst: earliest_in_xeventq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:347,1
    - Dst: ddsrt_fibheap_decrease_key
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:351,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:356,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:360,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ev
    - tsched
    argTypes:
    - struct ddsi_xevent*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (tsched.v != TSCHED_DELETE)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 364
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 364
    functionName: ddsi_resched_xevent_if_earlier
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 24
    functionsReached:
    - ddsrt_fibheap_insert
    - assert
    - ddsrt_mutex_lock
    - earliest_in_xeventq
    - ddsrt_cond_mtime_broadcast
    - ddsrt_mutex_unlock
    - ddsrt_fibheap_decrease_key
    linkageType: ''
    returnType: int
    signature: int ddsi_resched_xevent_if_earlier (struct ddsi_xevent *ev, ddsrt_mtime_t
      tsched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:370,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: ddsi_xevent_is_scheduled
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int ddsi_xevent_is_scheduled (struct ddsi_xevent *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:381,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: ddsi_delete_xevent_pending
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_delete_xevent_pending (struct ddsi_xevent *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - evq
    - kind
    argTypes:
    - struct ddsi_xeventq*
    - enum ddsi_xeventkind_nt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: qxev_common_nt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: struct ddsi_xevent_nt
    signature: struct ddsi_xevent_nt *qxev_common_nt (struct ddsi_xeventq *evq, enum
      ddsi_xeventkind_nt kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:400,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: earliest_in_xeventq
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 1
    functionsReached:
    - ASSERT_MUTEX_HELD
    - ddsrt_fibheap_min
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t earliest_in_xeventq (struct ddsi_xeventq *evq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:409,1
    - Dst: earliest_in_xeventq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:412,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:413,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct ddsi_xevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: qxev_insert
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_insert
    - ddsrt_cond_mtime_broadcast
    - ASSERT_MUTEX_HELD
    - earliest_in_xeventq
    linkageType: ''
    returnType: void
    signature: void qxev_insert (struct ddsi_xevent *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:423,1
    - Dst: add_to_non_timed_xmit_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ev
    - tnow
    argTypes:
    - struct ddsi_xevent_nt*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: qxev_insert_nt
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - add_to_non_timed_xmit_list
    - ASSERT_MUTEX_HELD
    linkageType: ''
    returnType: void
    signature: void qxev_insert_nt (struct ddsi_xevent_nt *ev, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_compare_fragid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: msg_xevents_cmp
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsi_xmsg_compare_fragid
    linkageType: ''
    returnType: int
    signature: int msg_xevents_cmp (const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:434,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:438,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:439,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:449,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:450,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - gv
    - max_queued_rexmit_bytes
    - max_queued_rexmit_msgs
    argTypes:
    - struct ddsi_domaingv*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 457
    functionName: ddsi_xeventq_new
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_init
    - ddsrt_cond_mtime_init
    - ddsrt_fibheap_init
    - ddsrt_malloc
    - ddsrt_mutex_init
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: struct ddsi_xeventq
    signature: struct ddsi_xeventq * ddsi_xeventq_new (struct ddsi_domaingv *gv, size_t
      max_queued_rexmit_bytes, size_t max_queued_rexmit_msgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:463,1
    - Dst: strlen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:467,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:468,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:469,1
    - Dst: ddsi_create_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:473,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - evq
    - name
    argTypes:
    - struct ddsi_xeventq*
    - char*
    assertStmts:
    - condition: (evq->thrst == NULL)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: ddsi_xeventq_start
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 3
    functionsReached:
    - snprintf
    - ddsrt_free
    - assert
    - strlen
    - ddsi_create_thread
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_xeventq_start (struct ddsi_xeventq *evq, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:484,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:485,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:487,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:488,1
    - Dst: ddsi_join_thread
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts:
    - condition: (evq->thrst != NULL)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: ddsi_xeventq_stop
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 4
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsi_join_thread
    - ddsrt_cond_mtime_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_xeventq_stop (struct ddsi_xeventq *evq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:496,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:497,1
    - Dst: free_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:498,1
    - Dst: ddsi_xpack_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:501,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:502,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:502,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:503,1
    - Dst: non_timed_xmit_list_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:504,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:506,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:506,1
    - Dst: handle_nontimed_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:507,1
    - Dst: getnext_from_non_timed_xmit_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:507,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:507,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:509,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:510,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:511,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:512,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:512,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:515,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:515,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:516,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:517,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts:
    - condition: (evq->thrst == NULL)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (ddsrt_avl_is_empty (&evq->msg_xevents))
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 8
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: ddsi_xeventq_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 3
    functionsReached:
    - ddsi_thread_state_awake_to_awake_no_nest
    - free_xevent
    - handle_nontimed_xevent
    - getnext_from_non_timed_xmit_list
    - ddsrt_mutex_lock
    - ddsi_thread_state_asleep
    - non_timed_xmit_list_is_empty
    - ddsrt_mutex_destroy
    - ddsrt_cond_mtime_destroy
    - ddsi_xpack_send
    - ddsi_xpack_new
    - ddsi_thread_state_awake
    - ddsrt_free
    - assert
    - ddsrt_avl_is_empty
    - ddsrt_fibheap_extract_min
    - ddsi_lookup_thread_state
    - ddsrt_time_monotonic
    - ddsi_xpack_free
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_xeventq_free (struct ddsi_xeventq *evq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:534,1
    - Dst: struct ddsi_xevent*::cb::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:535,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:536,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:541,1
    - Dst: struct ddsi_xevent*::cb::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:542,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:543,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - evq
    - xev
    - xp
    - tnow
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent*
    - struct ddsi_xpack*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 547
    functionName: handle_timed_xevent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - struct ddsi_xevent*::cb::cb
    - ddsrt_mutex_lock
    - ddsrt_cond_mtime_broadcast
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void handle_timed_xevent (struct ddsi_xeventq *evq, struct ddsi_xevent
      *xev, struct ddsi_xpack *xp, ddsrt_mtime_t tnow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:557,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:558,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:562,1
    - Dst: nontimed_xevent_in_queue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:562,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:563,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:567,1
    - Dst: nontimed_xevent_in_queue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:567,1
    - Dst: ddsi_xpack_addmsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:568,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:570,1
    - Dst: struct ddsi_xevent_nt*::u::callback::cb
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:573,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:576,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:577,1
    - Dst: update_rexmit_counts
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - evq
    - xev
    - xp
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xevent_nt*
    - struct ddsi_xpack*
    assertStmts:
    - condition: (!nontimed_xevent_in_queue (evq, xev))
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (!nontimed_xevent_in_queue (evq, xev))
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (msg_rexmit_queued_rexmit_bytes < SIZE_MAX)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 581
      start: 549
    functionDepth: 9
    functionLinenumber: 549
    functionLinenumberEnd: 581
    functionName: handle_nontimed_xevent
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - nontimed_xevent_in_queue
    - update_rexmit_counts
    - assert
    - ddsrt_mutex_lock
    - ASSERT_MUTEX_HELD
    - struct ddsi_xevent_nt*::u::callback::cb
    - ddsrt_mutex_unlock
    - ddsi_xpack_addmsg
    linkageType: ''
    returnType: void
    signature: void handle_nontimed_xevent (struct ddsi_xeventq *evq, struct ddsi_xevent_nt
      *xev, struct ddsi_xpack *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:585,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:586,1
    - Dst: ddsi_thread_is_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:586,1
    - Dst: earliest_in_xeventq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:599,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:601,1
    - Dst: free_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:603,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:606,1
    - Dst: handle_timed_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:607,1
    - Dst: non_timed_xmit_list_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:612,1
    - Dst: getnext_from_non_timed_xmit_list
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:614,1
    - Dst: ddsi_thread_state_awake_to_awake_no_nest
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:615,1
    - Dst: handle_nontimed_xevent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:616,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:620,1
    - Dst: ASSERT_MUTEX_HELD
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - thrst
    - xevq
    - xp
    - tnow
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_xeventq*
    - struct ddsi_xpack*
    - ddsrt_mtime_t
    assertStmts:
    - condition: (ddsi_thread_is_awake ())
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 623
      start: 583
    functionDepth: 10
    functionLinenumber: 583
    functionLinenumberEnd: 623
    functionName: handle_xevents
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - free_xevent
    - handle_nontimed_xevent
    - getnext_from_non_timed_xmit_list
    - assert
    - earliest_in_xeventq
    - handle_timed_xevent
    - ASSERT_MUTEX_HELD
    - non_timed_xmit_list_is_empty
    - ddsi_thread_is_awake
    - ddsrt_fibheap_extract_min
    - ddsrt_time_monotonic
    - ddsi_thread_state_awake_to_awake_no_nest
    linkageType: ''
    returnType: void
    signature: void handle_xevents (struct ddsi_thread_state * const thrst, struct
      ddsi_xeventq *xevq, struct ddsi_xpack *xp, ddsrt_mtime_t tnow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:627,1
    - Dst: ddsi_xpack_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:628,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:629,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:630,1
    - Dst: handle_xevents
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:631,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:631,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:632,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:633,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:634,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - evq
    argTypes:
    - struct ddsi_xeventq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 625
    functionDepth: 11
    functionLinenumber: 625
    functionLinenumberEnd: 636
    functionName: ddsi_xeventq_step
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - handle_xevents
    - ddsi_xpack_send
    - ddsi_xpack_new
    - ddsi_thread_state_awake
    - ddsrt_mutex_lock
    - ddsi_xpack_free
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: void
    signature: void ddsi_xeventq_step (struct ddsi_xeventq *evq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:641,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:647,1
    - Dst: ddsi_xpack_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:649,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:650,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:653,1
    - Dst: LOG_THREAD_CPUTIME
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:655,1
    - Dst: EVQTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:660,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:665,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:665,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:668,1
    - Dst: handle_xevents
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:669,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:671,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:672,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:673,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:674,1
    - Dst: non_timed_xmit_list_is_empty
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:676,1
    - Dst: earliest_in_xeventq
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:682,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:683,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:686,1
    - Dst: ddsi_thread_state_awake_fixed_domain
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:687,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:688,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:689,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - vevq
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 638
    functionDepth: 11
    functionLinenumber: 638
    functionLinenumberEnd: 692
    functionName: xevent_thread
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - handle_xevents
    - ddsi_xpack_send
    - ddsi_xpack_new
    - ddsrt_cond_mtime_waituntil
    - DDS_SECS
    - ddsrt_mutex_lock
    - earliest_in_xeventq
    - LOG_THREAD_CPUTIME
    - ddsrt_mtime_add_duration
    - ddsi_thread_state_awake_fixed_domain
    - ddsi_xpack_free
    - ddsi_thread_state_asleep
    - non_timed_xmit_list_is_empty
    - EVQTRACE
    - ddsi_lookup_thread_state
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t xevent_thread (void *vevq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:697,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:698,1
    - Dst: ddsi_xmsg_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:698,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:699,1
    - Dst: qxev_common_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:700,1
    - Dst: qxev_insert_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:702,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:702,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - evq
    - msg
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xmsg*
    assertStmts:
    - condition: (evq)
      pos:
        line_end: 696
        line_start: 696
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (ddsi_xmsg_kind (msg) != DDSI_XMSG_KIND_DATA_REXMIT)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 704
      start: 694
    functionDepth: 5
    functionLinenumber: 694
    functionLinenumberEnd: 704
    functionName: ddsi_qxev_msg
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 11
    functionsReached:
    - ddsrt_mutex_unlock
    - qxev_common_nt
    - ddsrt_mutex_lock
    - assert
    - ddsi_xmsg_kind
    - ddsrt_time_monotonic
    - qxev_insert_nt
    linkageType: ''
    returnType: void
    signature: void ddsi_qxev_msg (struct ddsi_xeventq *evq, struct ddsi_xmsg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:709,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:710,1
    - Dst: qxev_common_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:711,1
    - Dst: qxev_insert_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:714,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:714,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - evq
    - arg
    argTypes:
    - struct ddsi_xeventq*
    - void*
    assertStmts:
    - condition: (evq)
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 5
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: ddsi_qxev_nt_callback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_unlock
    - qxev_common_nt
    - ddsrt_mutex_lock
    - assert
    - ddsrt_time_monotonic
    - qxev_insert_nt
    linkageType: ''
    returnType: void
    signature: void ddsi_qxev_nt_callback (struct ddsi_xeventq *evq, void (*cb) (void
      *arg), void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xmsg_size
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:721,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:724,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:725,1
    - Dst: ddsi_xmsg_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:725,1
    - Dst: ddsi_xmsg_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:725,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:726,1
    - Dst: lookup_msg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:727,1
    - Dst: ddsi_xmsg_merge_rexmit_destinations_wrlock_held
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:727,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:730,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:731,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:739,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:740,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:742,1
    - Dst: ddsi_xmsg_kind
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:764,1
    - Dst: qxev_common_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:765,1
    - Dst: qxev_insert_nt
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:770,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:770,1
    - Dst: GVTRACE
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:772,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - evq
    - msg
    - force
    argTypes:
    - struct ddsi_xeventq*
    - struct ddsi_xmsg*
    - int
    assertStmts:
    - condition: (evq)
      pos:
        line_end: 723
        line_start: 723
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - condition: (ddsi_xmsg_kind (msg) == DDSI_XMSG_KIND_DATA_REXMIT || ddsi_xmsg_kind
        (msg) == DDSI_XMSG_KIND_DATA_REXMIT_NOMERGE)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 777
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 777
    functionName: ddsi_qxev_msg_rexmit_wrlock_held
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 2
    functionsReached:
    - lookup_msg
    - ddsi_xmsg_merge_rexmit_destinations_wrlock_held
    - qxev_common_nt
    - ddsrt_mutex_lock
    - assert
    - ddsi_xmsg_free
    - ddsi_xmsg_kind
    - ddsi_xmsg_size
    - GVTRACE
    - ddsrt_time_monotonic
    - ddsrt_mutex_unlock
    - qxev_insert_nt
    linkageType: ''
    returnType: enum ddsi_qxev_msg_rexmit_result
    signature: enum ddsi_qxev_msg_rexmit_result ddsi_qxev_msg_rexmit_wrlock_held (struct
      ddsi_xeventq *evq, struct ddsi_xmsg *msg, int force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:781,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:782,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:788,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:789,1
    - Dst: qxev_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:790,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - evq
    - tsched
    - cb
    - arg
    - arg_size
    - sync_on_delete
    argTypes:
    - struct ddsi_xeventq*
    - ddsrt_mtime_t
    - ddsi_xevent_cb_t
    - void*
    - size_t
    - bool
    assertStmts:
    - condition: (tsched.v != TSCHED_DELETE)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    constantsTouched: []
    func_position:
      end: 793
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 793
    functionName: ddsi_qxev_callback
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    functionUses: 13
    functionsReached:
    - memcpy
    - ddsrt_mutex_lock
    - assert
    - ddsrt_malloc
    - qxev_insert
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: struct ddsi_xevent
    signature: struct ddsi_xevent *ddsi_qxev_callback (struct ddsi_xeventq *evq, ddsrt_mtime_t
      tsched, ddsi_xevent_cb_t cb, const void *arg, size_t arg_size, bool sync_on_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bswap.h:27,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi__bswap.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sn
    argTypes:
    - ddsi_sequence_number_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ddsi_bswap_sequence_number
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__bswap.h
    functionUses: 7
    functionsReached:
    - ddsrt_bswap4u
    - ddsrt_bswap4
    linkageType: ''
    returnType: void
    signature: void ddsi_bswap_sequence_number (ddsi_sequence_number_t *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:61,1
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - id
    - vendorid
    argTypes:
    - ddsi_entityid_t
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ddsi_is_builtin_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 2
    functionsReached:
    - ddsi_is_topic_entityid
    - ddsi_is_builtin_entityid
    linkageType: ''
    returnType: int
    signature: int ddsi_is_builtin_topic (ddsi_entityid_t id, ddsi_vendorid_t vendorid)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: ddsi_is_topic_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_is_topic_entityid (ddsi_entityid_t id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:84,1
    - Dst: ddsi_participant_allocate_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:87,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:89,1
    - Dst: ddsi_entidx_lookup_topic_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:89,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:91,1
    - Dst: ddsi_entity_common_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:94,1
    - Dst: ddsi_ref_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:95,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:98,1
    - Dst: ddsi_xqos_copy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:99,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:100,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:101,1
    - Dst: ddsi_set_xqos_topic_and_type
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:104,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:105,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:109,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:109,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:110,1
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:111,1
    - Dst: ref_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:113,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:113,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:114,1
    - Dst: ddsi_builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:116,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:117,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:118,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:120,1
    - Dst: ddsi_entidx_insert_topic_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:121,1
    - Dst: ddsi_sedp_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:122,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 8
    argNames:
    - tp_out
    - tpguid
    - pp
    - topic_name
    - sertype
    - xqos
    - is_builtin
    - new_topic_def
    argTypes:
    - struct ddsi_topic**
    - struct ddsi_guid*
    - struct ddsi_participant*
    - char*
    - struct ddsi_sertype*
    - struct dds_qos*
    - bool
    - bool*
    assertStmts:
    - condition: (tp_qos->aliased == 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: ((tp_qos->present & DDSI_QP_TYPE_INFORMATION) && tp_qos->type_information)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (ddsi_entidx_lookup_topic_guid (gv->entity_index, tpguid) == NULL)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (tp->definition)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 125
      start: 80
    functionDepth: 9
    functionLinenumber: 80
    functionLinenumberEnd: 125
    functionName: ddsi_new_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_ref_participant
    - ddsi_entity_common_init
    - ddsi_participant_allocate_entityid
    - ddsi_entidx_insert_topic_guid
    - ddsi_xqos_fini
    - ddsrt_malloc
    - ELOGDISC
    - ddsi_entidx_lookup_topic_guid
    - ddsi_sedp_write_topic
    - ddsi_xqos_log
    - ddsi_typeinfo_complete_typeid
    - ddsrt_mutex_lock
    - ddsi_xqos_copy
    - ddsrt_time_wallclock
    - ddsi_xqos_mergein_missing
    - ddsrt_free
    - assert
    - PGUID
    - ref_topic_definition
    - ddsi_builtintopic_write_topic
    - ddsi_set_xqos_topic_and_type
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsi_new_topic (struct ddsi_topic **tp_out, struct ddsi_guid
      *tpguid, struct ddsi_participant *pp, const char *topic_name, const struct ddsi_sertype
      *sertype,\n    const struct dds_qos *xqos, bool is_builtin, bool *new_topic_def)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:134,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:135,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:137,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:138,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:138,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:139,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:140,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:143,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:144,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:149,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:150,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:151,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:152,1
    - Dst: ref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:153,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:153,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:154,1
    - Dst: unref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:155,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:155,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:156,1
    - Dst: ddsi_builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:158,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:158,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:159,1
    - Dst: ddsi_sedp_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:160,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:161,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - tp
    - xqos
    argTypes:
    - struct ddsi_topic*
    - dds_qos_t*
    assertStmts:
    - condition: (tp->definition)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 9
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: ddsi_update_topic_qos
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - GVLOGDISC
    - ddsi_xqos_delta
    - ddsi_type_pair_complete_id
    - ddsi_xqos_log
    - PGUID
    - ddsrt_mutex_lock
    - assert
    - unref_topic_definition_locked
    - ref_topic_definition_locked
    - ddsi_builtintopic_write_topic
    - dds_delete_qos
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    - ddsrt_mutex_unlock
    - ddsrt_time_wallclock
    - ddsi_sedp_write_topic
    linkageType: ''
    returnType: void
    signature: void ddsi_update_topic_qos (struct ddsi_topic *tp, const dds_qos_t
      *xqos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:168,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:168,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:169,1
    - Dst: ddsi_is_builtin_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:170,1
    - Dst: ddsi_sedp_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:171,1
    - Dst: ddsi_entity_common_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:172,1
    - Dst: unref_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:173,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:173,1
    - Dst: ddsi_unref_participant
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:174,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 9
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: gc_delete_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_unref_participant
    - ddsrt_free
    - PGUID
    - ddsi_entity_common_fini
    - ddsi_gcreq_free
    - ddsrt_time_wallclock
    - ELOGDISC
    - ddsi_is_builtin_entityid
    - unref_topic_definition
    - ddsi_sedp_write_topic
    linkageType: ''
    returnType: void
    signature: void gc_delete_topic (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:180,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_topic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: gcreq_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_topic (struct ddsi_topic *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:189,1
    - Dst: ddsi_is_topic_entityid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:189,1
    - Dst: ddsi_entidx_tryremove_topic_guid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:190,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:192,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:192,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:195,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:195,1
    - Dst: gcreq_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts:
    - condition: (ddsi_is_topic_entityid (guid->entityid))
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: ddsi_delete_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 3
    functionsReached:
    - GVLOGDISC
    - gcreq_topic
    - assert
    - PGUID
    - ddsi_is_topic_entityid
    - ddsi_entidx_tryremove_topic_guid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_delete_topic (struct ddsi_domaingv *gv, const struct
      ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:207,1
    - Dst: ddsi_builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:208,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:211,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:212,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:213,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:215,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:216,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:217,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:218,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 9
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: gc_delete_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - ddsrt_free
    - ddsi_builtintopic_write_topic
    - ddsi_gcreq_free
    - ddsi_xqos_fini
    - ddsi_type_unref
    linkageType: ''
    returnType: void
    signature: void gc_delete_topic_definition (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:224,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:225,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tpd
    - timestamp
    argTypes:
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: gcreq_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsrt_malloc
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_topic_definition (struct ddsi_topic_definition *tpd, ddsrt_wctime_t
      timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:236,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:237,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:238,1
    - Dst: gcreq_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tpd
    - timestamp
    argTypes:
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: delete_topic_definition_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - gcreq_topic_definition
    - ddsrt_hh_remove_present
    linkageType: ''
    returnType: void
    signature: void delete_topic_definition_locked (struct ddsi_topic_definition *tpd,
      ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tpd
    argTypes:
    - struct ddsi_topic_definition*
    assertStmts:
    - condition: (tpd != NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: ddsi_topic_definition_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_topic_definition_hash (const struct ddsi_topic_definition
      *tpd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:250,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:251,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:251,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:252,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:255,1
    - Dst: ddsi_typeid_ser
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:260,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:261,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:262,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:263,1
    - Dst: ddsi_xmsg_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:269,1
    - Dst: ddsi_xqos_addtomsg
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:270,1
    - Dst: ddsi_xmsg_payload
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:272,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:273,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:274,1
    - Dst: ddsi_xmsg_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:275,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - tpd
    argTypes:
    - struct ddsi_topic_definition*
    assertStmts:
    - condition: (!ddsi_typeid_is_none (tid_complete))
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (tpd->xqos != NULL)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (sz && buf)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (sqos_sz <= UINT32_MAX)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 278
      start: 248
    functionDepth: 7
    functionLinenumber: 248
    functionLinenumberEnd: 278
    functionName: set_ddsi_topic_definition_hash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_addtomsg
    - ddsi_type_pair_complete_id
    - ddsrt_free
    - ddsi_typeid_is_none
    - assert
    - ddsrt_md5_finish
    - ddsi_xmsg_payload
    - ddsi_xmsg_new
    - ddsi_xmsg_free
    - ddsrt_md5_init
    - ddsi_typeid_ser
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void set_ddsi_topic_definition_hash (struct ddsi_topic_definition *tpd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_typeid_is_minimal
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:283,1
    - Dst: ddsi_type_pair_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:289,1
    - Dst: set_ddsi_topic_definition_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:292,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:293,1
    - Dst: ddsi_type_pair_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:294,1
    - Dst: new_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - gv
    - sertype
    - type_id
    - qos
    - is_new
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - ddsi_typeid_t*
    - struct dds_qos*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 8
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: ref_topic_definition_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_type_pair_free
    - ddsrt_hh_lookup
    - ddsi_type_pair_init
    - set_ddsi_topic_definition_hash
    - new_topic_definition
    - ddsi_typeid_is_minimal
    linkageType: ''
    returnType: struct ddsi_topic_definition
    signature: struct ddsi_topic_definition * ref_topic_definition_locked (struct
      ddsi_domaingv *gv, const struct ddsi_sertype *sertype, const ddsi_typeid_t *type_id,
      struct dds_qos *qos, bool *is_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:308,1
    - Dst: ref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:309,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - gv
    - sertype
    - type_id
    - qos
    - is_new
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - ddsi_typeid_t*
    - struct dds_qos*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 9
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: ref_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - ref_topic_definition_locked
    linkageType: ''
    returnType: struct ddsi_topic_definition
    signature: struct ddsi_topic_definition * ref_topic_definition (struct ddsi_domaingv
      *gv, const struct ddsi_sertype *sertype, const ddsi_typeid_t *type_id, struct
      dds_qos *qos, bool *is_new)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - tpd
    - timestamp
    argTypes:
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: unref_topic_definition_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - delete_topic_definition_locked
    linkageType: ''
    returnType: void
    signature: void unref_topic_definition_locked (struct ddsi_topic_definition *tpd,
      ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:322,1
    - Dst: unref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:323,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gv
    - tpd
    - timestamp
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 6
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: unref_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - unref_topic_definition_locked
    linkageType: ''
    returnType: void
    signature: void unref_topic_definition (struct ddsi_domaingv *gv, struct ddsi_topic_definition
      *tpd, ddsrt_wctime_t timestamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:332,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:333,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:334,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:335,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tpd_a
    - tpd_b
    argTypes:
    - struct ddsi_topic_definition*
    - struct ddsi_topic_definition*
    assertStmts:
    - condition: (tpd_a->xqos != NULL && tpd_b->xqos != NULL)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: ddsi_topic_definition_equal
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsi_type_pair_complete_id
    - ddsi_xqos_delta
    - ddsi_typeid_compare
    linkageType: ''
    returnType: bool
    signature: bool ddsi_topic_definition_equal (const struct ddsi_topic_definition
      *tpd_a, const struct ddsi_topic_definition *tpd_b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:344,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:345,1
    - Dst: ddsi_xqos_dup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:348,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:351,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:354,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:355,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:363,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:364,1
    - Dst: ddsi_type_ref_local
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:365,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:366,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:371,1
    - Dst: ddsi_type_ref_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:372,1
    - Dst: ddsi_type_ref_proxy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:373,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:376,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:377,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:378,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:379,1
    - Dst: set_ddsi_topic_definition_hash
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:385,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:388,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:390,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:391,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:392,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:393,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - gv
    - type
    - qos
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_sertype*
    - struct dds_qos*
    assertStmts:
    - condition: (qos->present & DDSI_QP_TYPE_INFORMATION)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: ((qos->present & (DDSI_QP_TOPIC_NAME | DDSI_QP_TYPE_NAME)) == (DDSI_QP_TOPIC_NAME
        | DDSI_QP_TYPE_NAME))
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (ret == DDS_RETCODE_OK)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 399
      start: 341
    functionDepth: 10
    functionLinenumber: 341
    functionLinenumberEnd: 399
    functionName: new_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_type_ref_local
    - GVLOGDISC
    - ddsrt_free
    - ddsi_xqos_log
    - assert
    - set_ddsi_topic_definition_hash
    - ddsi_type_ref_proxy
    - ddsi_xqos_fini
    - ddsrt_malloc
    - ddsi_type_unref
    - ddsi_xqos_dup
    - ddsrt_hh_add_absent
    linkageType: ''
    returnType: struct ddsi_topic_definition
    signature: struct ddsi_topic_definition * new_topic_definition (struct ddsi_domaingv
      *gv, const struct ddsi_sertype *type, const struct dds_qos *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:403,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:407,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:408,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:408,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:410,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:411,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:411,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:411,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - gv
    - topic_name
    - type_id
    - tpd
    argTypes:
    - struct ddsi_domaingv*
    - char*
    - ddsi_typeid_t*
    - struct ddsi_topic_definition**
    assertStmts:
    - condition: (tpd != NULL)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: ddsi_lookup_topic_definition
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsi_typeid_is_none
    - ddsi_typeinfo_complete_typeid
    - ddsrt_mutex_lock
    - assert
    - strcmp
    - ddsrt_hh_iter_next
    - ddsrt_hh_iter_first
    - ddsi_typeid_compare
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_lookup_topic_definition (struct ddsi_domaingv *gv,
      const char * topic_name, const ddsi_typeid_t *type_id, struct ddsi_topic_definition
      **tpd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:425,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:426,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:427,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - proxypp
    - guid
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsi_guid_t*
    assertStmts:
    - condition: (proxypp != NULL)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: ddsi_lookup_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 2
    functionsReached:
    - ddsrt_mutex_lock
    - assert
    - ddsrt_mutex_unlock
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: struct ddsi_proxy_topic
    signature: struct ddsi_proxy_topic *ddsi_lookup_proxy_topic (struct ddsi_proxy_participant
      *proxypp, const ddsi_guid_t *guid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:434,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:438,1
    - Dst: ref_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:439,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:440,1
    - Dst: ref_topic_definition
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:441,1
    - Dst: ddsi_lookup_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:445,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:446,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:448,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:454,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:455,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:456,1
    - Dst: ddsi_builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:459,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:460,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:462,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 7
    argNames:
    - proxypp
    - seq
    - guid
    - type_id_minimal
    - type_id_complete
    - qos
    - timestamp
    argTypes:
    - struct ddsi_proxy_participant*
    - ddsi_seqno_t
    - ddsi_guid_t*
    - ddsi_typeid_t*
    - ddsi_typeid_t*
    - struct dds_qos*
    - ddsrt_wctime_t
    assertStmts:
    - condition: (proxypp != NULL)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - condition: (!found_proxytp)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 467
      start: 432
    functionDepth: 10
    functionLinenumber: 432
    functionLinenumberEnd: 467
    functionName: ddsi_new_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_insert
    - ddsi_lookup_proxy_topic
    - ddsi_typeid_is_none
    - assert
    - ddsrt_mutex_lock
    - ddsrt_cond_etime_broadcast
    - ddsi_builtintopic_write_topic
    - ref_topic_definition
    - ddsrt_malloc
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsi_new_proxy_topic (struct ddsi_proxy_participant *proxypp,
      ddsi_seqno_t seq, const ddsi_guid_t *guid, const ddsi_typeid_t *type_id_minimal,
      const ddsi_typeid_t *type_id_complete, struct dds_qos *qos, ddsrt_wctime_t timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:471,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:475,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:476,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:481,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:482,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:485,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:489,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:490,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:491,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:492,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:495,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:496,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:499,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:500,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:501,1
    - Dst: ref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:503,1
    - Dst: ddsi_type_pair_complete_id
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:503,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:504,1
    - Dst: unref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:505,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:507,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:508,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:509,1
    - Dst: ddsi_builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:512,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:514,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:516,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 5
    argNames:
    - proxypp
    - proxytp
    - seq
    - xqos
    - timestamp
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_topic*
    - ddsi_seqno_t
    - struct dds_qos*
    - ddsrt_wctime_t
    assertStmts:
    - condition: (tpd1)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    constantsTouched: []
    func_position:
      end: 519
      start: 469
    functionDepth: 9
    functionLinenumber: 469
    functionLinenumberEnd: 519
    functionName: ddsi_update_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 1
    functionsReached:
    - GVLOGDISC
    - ddsi_xqos_delta
    - ddsi_type_pair_complete_id
    - ddsi_xqos_log
    - ddsrt_mutex_lock
    - assert
    - ddsrt_cond_etime_broadcast
    - unref_topic_definition_locked
    - ref_topic_definition_locked
    - dds_delete_qos
    - ddsi_builtintopic_write_topic
    - dds_create_qos
    - ddsi_xqos_mergein_missing
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsi_update_proxy_topic (struct ddsi_proxy_participant *proxypp,
      struct ddsi_proxy_topic *proxytp, ddsi_seqno_t seq, struct dds_qos *xqos, ddsrt_wctime_t
      timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:525,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:527,1
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:529,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:530,1
    - Dst: unref_topic_definition_locked
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:531,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:532,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:533,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:534,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:535,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 6
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: gc_delete_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - GVLOGDISC
    - ddsrt_free
    - ddsrt_mutex_lock
    - ddsrt_avl_delete
    - unref_topic_definition_locked
    - ddsi_gcreq_free
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void gc_delete_proxy_topic (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:541,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:542,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - proxypp
    - proxytp
    - timestamp
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_topic*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: gcreq_proxy_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 0
    functionsReached:
    - ddsi_gcreq_new
    - ddsrt_malloc
    - ddsi_gcreq_enqueue
    linkageType: ''
    returnType: int
    signature: int gcreq_proxy_topic (struct ddsi_proxy_participant *proxypp, struct
      ddsi_proxy_topic *proxytp, ddsrt_wctime_t timestamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GVLOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:554,1
    - Dst: gcreq_proxy_topic
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - proxypp
    - proxytp
    - timestamp
    argTypes:
    - struct ddsi_proxy_participant*
    - struct ddsi_proxy_topic*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 4
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: ddsi_delete_proxy_topic_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    functionUses: 2
    functionsReached:
    - gcreq_proxy_topic
    - GVLOGDISC
    linkageType: ''
    returnType: int
    signature: int ddsi_delete_proxy_topic_locked (struct ddsi_proxy_participant *proxypp,
      struct ddsi_proxy_topic *proxytp, ddsrt_wctime_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ddsi_compare_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_guid (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ddsi_compare_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsi_compare_entityid (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - guid
    argTypes:
    - ddsi_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ddsi_is_null_guid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_is_null_guid (const ddsi_guid_t *guid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ddsi_to_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: ddsi_entityid_t
    signature: ddsi_entityid_t ddsi_to_entityid (unsigned u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:70,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:71,1
    - Dst: ddsi_builtintopic_is_visible
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:72,1
    - Dst: ddsi_builtintopic_get_tkmap_entry
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:74,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:75,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 7
    argNames:
    - e
    - gv
    - guid
    - kind
    - tcreate
    - vendorid
    - onlylocal
    argTypes:
    - struct ddsi_entity_common*
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    - enum ddsi_entity_kind
    - ddsrt_wctime_t
    - ddsi_vendorid_t
    - bool
    assertStmts:
    - condition: (e->tk != NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: ddsi_entity_common_init
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 6
    functionsReached:
    - ddsi_iid_gen
    - ddsi_builtintopic_get_tkmap_entry
    - assert
    - ddsi_builtintopic_is_visible
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsi_entity_common_init (struct ddsi_entity_common *e, struct
      ddsi_domaingv *gv, const struct ddsi_guid *guid, enum ddsi_entity_kind kind,
      ddsrt_wctime_t tcreate, ddsi_vendorid_t vendorid, bool onlylocal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:88,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:89,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: ddsi_entity_common_fini
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 7
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsi_tkmap_instance_unref
    linkageType: ''
    returnType: void
    signature: void ddsi_entity_common_fini (struct ddsi_entity_common *e)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct ddsi_entity_common*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: ddsi_get_entity_vendorid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsi_vendorid_t
    signature: ddsi_vendorid_t ddsi_get_entity_vendorid (const struct ddsi_entity_common
      *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_vendor_is_eclipse_or_adlink
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - id
    - vendorid
    argTypes:
    - ddsi_entityid_t
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: ddsi_is_builtin_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 31
    functionsReached:
    - ddsi_vendor_is_eclipse_or_adlink
    linkageType: ''
    returnType: int
    signature: int ddsi_is_builtin_entityid (ddsi_entityid_t id, ddsi_vendorid_t vendorid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:133,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:139,1
    - Dst: getpid
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:140,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:140,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:145,1
    - Dst: PGUID
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:145,1
    - Dst: ddsi_xqos_log
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:146,1
    - Dst: EELOGDISC
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:147,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:153,1
    - Dst: ddsi_xqos_fini_mask
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:154,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:155,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:156,1
    - Dst: ddsi_builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - e
    - ent_qos
    - xqos
    - timestamp
    argTypes:
    - struct ddsi_entity_common*
    - dds_qos_t*
    - dds_qos_t*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: ddsi_update_qos_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 6
    functionsReached:
    - ddsi_xqos_delta
    - ddsi_xqos_log
    - ddsi_builtintopic_write_endpoint
    - getpid
    - PGUID
    - EELOGDISC
    - ddsrt_mutex_lock
    - printf
    - ddsi_xqos_fini_mask
    - ddsi_xqos_mergein_missing
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsi_update_qos_locked (struct ddsi_entity_common *e, dds_qos_t
      *ent_qos, const dds_qos_t *xqos, ddsrt_wctime_t timestamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:163,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:166,1
    - Dst: ddsi_entidx_lookup_guid_untyped
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:167,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - gv
    - guid
    argTypes:
    - struct ddsi_domaingv*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: ddsi_get_entity_instanceid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 3
    functionsReached:
    - ddsi_entidx_lookup_guid_untyped
    - ddsi_thread_state_asleep
    - ddsi_thread_state_awake
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsi_get_entity_instanceid (const struct ddsi_domaingv *gv,
      const struct ddsi_guid *guid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:178,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:183,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - xqos
    - topic_name
    - type
    argTypes:
    - dds_qos_t*
    - char*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: ddsi_set_xqos_topic_and_type
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - ddsi_sertype_typeinfo
    linkageType: ''
    returnType: int
    signature: int ddsi_set_xqos_topic_and_type (dds_qos_t *xqos, const char * topic_name,
      const struct ddsi_sertype * type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ddsi_hton_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 11
    functionsReached:
    - ddsrt_toBE4u
    linkageType: ''
    returnType: ddsi_entityid_t
    signature: ddsi_entityid_t ddsi_hton_entityid (ddsi_entityid_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fromBE4u
      Src: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ddsi_entityid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ddsi_ntoh_entityid
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
    functionUses: 10
    functionsReached:
    - ddsrt_fromBE4u
    linkageType: ''
    returnType: ddsi_entityid_t
    signature: ddsi_entityid_t ddsi_ntoh_entityid (ddsi_entityid_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DDSI_SERDATA_CDR_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_CDR_PAD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DDSI_SERDATA_CDR_PAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SERDATA_CDR_PAD(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_deadline_register_instance_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - deadline_adm
    - elem
    - tnow
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ddsi_deadline_register_instance_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    functionUses: 1
    functionsReached:
    - ddsi_deadline_register_instance_real
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_register_instance_locked (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_deadline_reregister_instance_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - deadline_adm
    - elem
    - tnow
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: ddsi_deadline_reregister_instance_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    functionUses: 2
    functionsReached:
    - ddsi_deadline_reregister_instance_real
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_reregister_instance_locked (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem, ddsrt_mtime_t tnow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:90,1
    - Dst: ddsi_deadline_unregister_instance_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - deadline_adm
    - elem
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    assertStmts:
    - condition: (elem->t_deadline.v != DDS_NEVER)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ddsi_deadline_unregister_instance_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    functionUses: 3
    functionsReached:
    - ddsi_deadline_unregister_instance_real
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_unregister_instance_locked (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:100,1
    - Dst: ddsi_deadline_renew_instance_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - deadline_adm
    - elem
    argTypes:
    - struct ddsi_deadline_adm*
    - struct deadline_elem*
    assertStmts:
    - condition: (elem->t_deadline.v != DDS_NEVER)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: ddsi_deadline_renew_instance_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    functionUses: 1
    functionsReached:
    - ddsi_deadline_renew_instance_real
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsi_deadline_renew_instance_locked (struct ddsi_deadline_adm
      *deadline_adm, struct deadline_elem *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: DDS_XTypes_EquivalenceKind__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_EquivalenceKind__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: DDS_XTypes_TypeKind__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeKind__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: DDS_XTypes_TypeIdentiferKind__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentiferKind__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: DDS_XTypes_MemberName__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MemberName__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: DDS_XTypes_QualifiedTypeName__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_QualifiedTypeName__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: DDS_XTypes_PrimitiveTypeId__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_PrimitiveTypeId__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: DDS_XTypes_EquivalenceHash__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_EquivalenceHash__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: DDS_XTypes_NameHash__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_NameHash__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: DDS_XTypes_LBound__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_LBound__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: DDS_XTypes_LBoundSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_LBoundSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: DDS_XTypes_LBoundSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_LBoundSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: DDS_XTypes_SBound__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_SBound__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: DDS_XTypes_SBoundSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_SBoundSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: DDS_XTypes_SBoundSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_SBoundSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: DDS_XTypes_CollectionElementFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CollectionElementFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: DDS_XTypes_StructMemberFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_StructMemberFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: DDS_XTypes_UnionMemberFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_UnionMemberFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: DDS_XTypes_UnionDiscriminatorFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_UnionDiscriminatorFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: DDS_XTypes_EnumeratedLiteralFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_EnumeratedLiteralFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: DDS_XTypes_AnnotationParameterFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AnnotationParameterFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: DDS_XTypes_AliasMemberFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AliasMemberFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: DDS_XTypes_BitflagFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_BitflagFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: DDS_XTypes_BitsetMemberFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_BitsetMemberFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: DDS_XTypes_StructTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_StructTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: DDS_XTypes_UnionTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_UnionTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: DDS_XTypes_CollectionTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CollectionTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: DDS_XTypes_AnnotationTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AnnotationTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: DDS_XTypes_AliasTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AliasTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: DDS_XTypes_EnumTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_EnumTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: DDS_XTypes_BitmaskTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_BitmaskTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: DDS_XTypes_BitsetTypeFlag__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_BitsetTypeFlag__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: DDS_XTypes_TypeIdentifier__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifier__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: DDS_XTypes_TypeIdentifier_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifier_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: DDS_XTypes_TypeIdentifierSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: DDS_XTypes_TypeIdentifierSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: DDS_XTypes_MemberId__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MemberId__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: DDS_XTypes_AppliedAnnotationParameterSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AppliedAnnotationParameterSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: DDS_XTypes_AppliedAnnotationParameterSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AppliedAnnotationParameterSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: DDS_XTypes_AppliedAnnotationSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AppliedAnnotationSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: DDS_XTypes_AppliedAnnotationSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_AppliedAnnotationSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: DDS_XTypes_CompleteStructMemberSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteStructMemberSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionName: DDS_XTypes_CompleteStructMemberSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteStructMemberSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: DDS_XTypes_MinimalStructMemberSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalStructMemberSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: DDS_XTypes_MinimalStructMemberSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalStructMemberSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: DDS_XTypes_UnionCaseLabelSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_UnionCaseLabelSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: DDS_XTypes_UnionCaseLabelSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_UnionCaseLabelSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: DDS_XTypes_CompleteUnionMemberSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteUnionMemberSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: DDS_XTypes_CompleteUnionMemberSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteUnionMemberSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: DDS_XTypes_MinimalUnionMemberSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalUnionMemberSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: DDS_XTypes_MinimalUnionMemberSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalUnionMemberSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 687
    functionName: DDS_XTypes_CompleteAnnotationParameterSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteAnnotationParameterSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: DDS_XTypes_CompleteAnnotationParameterSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteAnnotationParameterSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: DDS_XTypes_MinimalAnnotationParameterSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalAnnotationParameterSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: DDS_XTypes_MinimalAnnotationParameterSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalAnnotationParameterSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionName: DDS_XTypes_BitBound__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_BitBound__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 904
    functionName: DDS_XTypes_CompleteEnumeratedLiteralSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteEnumeratedLiteralSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 907
    functionName: DDS_XTypes_CompleteEnumeratedLiteralSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteEnumeratedLiteralSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionName: DDS_XTypes_MinimalEnumeratedLiteralSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalEnumeratedLiteralSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 926
    functionName: DDS_XTypes_MinimalEnumeratedLiteralSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalEnumeratedLiteralSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: DDS_XTypes_CompleteBitflagSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteBitflagSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: DDS_XTypes_CompleteBitflagSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteBitflagSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: DDS_XTypes_MinimalBitflagSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalBitflagSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1000
    functionName: DDS_XTypes_MinimalBitflagSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalBitflagSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: DDS_XTypes_CompleteBitmaskHeader__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteBitmaskHeader__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: DDS_XTypes_MinimalBitmaskHeader__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalBitmaskHeader__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1053
    functionName: DDS_XTypes_CompleteBitfieldSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteBitfieldSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1056
    functionName: DDS_XTypes_CompleteBitfieldSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_CompleteBitfieldSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionName: DDS_XTypes_MinimalBitfieldSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalBitfieldSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: DDS_XTypes_MinimalBitfieldSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_MinimalBitfieldSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1164
    functionName: DDS_XTypes_TypeObject__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeObject__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1167
    functionName: DDS_XTypes_TypeObject_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeObject_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1180
    functionName: DDS_XTypes_TypeObjectSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeObjectSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    functionName: DDS_XTypes_TypeObjectSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeObjectSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: DDS_XTypes_StronglyConnectedComponent__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_StronglyConnectedComponent__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: DDS_XTypes_TypeIdentifierTypeObjectPairSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierTypeObjectPairSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: DDS_XTypes_TypeIdentifierTypeObjectPairSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierTypeObjectPairSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1223
    functionName: DDS_XTypes_TypeIdentifierPairSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierPairSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1226
    functionName: DDS_XTypes_TypeIdentifierPairSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierPairSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: DDS_XTypes_TypeIdentifierWithSizeSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierWithSizeSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1245
    functionName: DDS_XTypes_TypeIdentifierWithSizeSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierWithSizeSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1260
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    functionName: DDS_XTypes_TypeIdentifierWithDependenciesSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierWithDependenciesSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1282
    functionName: DDS_XTypes_TypeIdentifierWithDependenciesSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeIdentifierWithDependenciesSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: DDS_XTypes_TypeInformation__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeInformation__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1295
    functionName: DDS_XTypes_TypeInformation_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeInformation_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1308
    functionName: DDS_XTypes_TypeInformationSeq__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeInformationSeq__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1311
    functionName: DDS_XTypes_TypeInformationSeq_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeInformationSeq_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - whcst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DDSI_WHCST_ISEMPTY
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_WHCST_ISEMPTY(whcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_rhc*::ops::store
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rhc
    - wrinfo
    - sample
    - tk
    argTypes:
    - struct ddsi_rhc*
    - struct ddsi_writer_info*
    - struct ddsi_serdata*
    - struct ddsi_tkmap_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ddsi_rhc_store
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
    functionUses: 4
    functionsReached:
    - struct ddsi_rhc*::ops::store
    linkageType: ''
    returnType: bool
    signature: bool ddsi_rhc_store (struct ddsi_rhc *rhc, const struct ddsi_writer_info
      *wrinfo, struct ddsi_serdata *sample, struct ddsi_tkmap_instance *tk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: PGUIDPREFIX
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PGUIDPREFIX(gp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: PGUID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PGUID(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: DDSI_RTPS_CDR_ENC_LE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_LE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: DDSI_RTPS_CDR_ENC_IS_NATIVE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_IS_NATIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: DDSI_RTPS_CDR_ENC_IS_VALID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_IS_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: DDSI_RTPS_CDR_ENC_TO_NATIVE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_TO_NATIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: DDSI_RTPS_CDR_ENC_LE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_LE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: DDSI_RTPS_CDR_ENC_IS_NATIVE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_IS_NATIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: DDSI_RTPS_CDR_ENC_IS_VALID
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_IS_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: DDSI_RTPS_CDR_ENC_TO_NATIVE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RTPS_CDR_ENC_TO_NATIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ddsi_omg_participant_is_secure
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_omg.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_participant_is_secure(UNUSED_ARG(const struct ddsi_participant
      *pp))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ddsi_omg_security_check_create_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_omg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_topic (UNUSED_ARG(const struct
      ddsi_domaingv *gv), UNUSED_ARG(const ddsi_guid_t *pp_guid), UNUSED_ARG(const
      char *topic_name), UNUSED_ARG(const struct dds_qos *qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ddsi_omg_security_check_create_reader
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_omg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_reader (UNUSED_ARG(struct ddsi_participant
      *pp), UNUSED_ARG(uint32_t domain_id), UNUSED_ARG(const char *topic_name), UNUSED_ARG(const
      struct dds_qos *reader_qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: ddsi_omg_security_check_create_writer
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_omg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_omg_security_check_create_writer (UNUSED_ARG(struct ddsi_participant
      *pp), UNUSED_ARG(uint32_t domain_id), UNUSED_ARG(const char *topic_name), UNUSED_ARG(const
      struct dds_qos *writer_qos))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::free
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: ddsi_sertype_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 2
    functionsReached:
    - struct ddsi_sertype*::ops::free
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_free (struct ddsi_sertype *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::zero_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tp
    - samples
    - count
    argTypes:
    - struct ddsi_sertype*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: ddsi_sertype_zero_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - struct ddsi_sertype*::ops::zero_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_zero_samples (const struct ddsi_sertype
      *tp, void *samples, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::realloc_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptrs
    - tp
    - old
    - oldcount
    - count
    argTypes:
    - void**
    - struct ddsi_sertype*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: ddsi_sertype_realloc_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - struct ddsi_sertype*::ops::realloc_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_realloc_samples (void **ptrs, const
      struct ddsi_sertype *tp, void *old, size_t oldcount, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::free_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tp
    - ptrs
    - count
    - op
    argTypes:
    - struct ddsi_sertype*
    - void**
    - size_t
    - dds_free_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: ddsi_sertype_free_samples
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - struct ddsi_sertype*::ops::free_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_free_samples (const struct ddsi_sertype
      *tp, void **ptrs, size_t count, dds_free_op_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_zero_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tp
    - sample
    argTypes:
    - struct ddsi_sertype*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: ddsi_sertype_zero_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 4
    functionsReached:
    - ddsi_sertype_zero_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_zero_sample (const struct ddsi_sertype
      *tp, void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_realloc_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ddsi_sertype_alloc_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 5
    functionsReached:
    - ddsi_sertype_realloc_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT *ddsi_sertype_alloc_sample (const struct ddsi_sertype
      *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_sertype_free_samples
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tp
    - sample
    - op
    argTypes:
    - struct ddsi_sertype*
    - void*
    - dds_free_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: ddsi_sertype_free_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 13
    functionsReached:
    - ddsi_sertype_free_samples
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_free_sample (const struct ddsi_sertype
      *tp, void *sample, dds_free_op_t op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ops::type_id
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: ddsi_typeid_t * ddsi_sertype_typeid (const struct ddsi_sertype *tp,
      ddsi_typeid_kind_t kind)
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - ops::type_id
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_typeid_t * ddsi_sertype_typeid (const struct
      ddsi_sertype *tp, ddsi_typeid_kind_t kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ops::type_map
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ddsi_typemap_t * ddsi_sertype_typemap (const struct ddsi_sertype
      *tp)
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - ops::type_map
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_typemap_t * ddsi_sertype_typemap (const struct
      ddsi_sertype *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ops::type_info
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: ddsi_typeinfo_t *ddsi_sertype_typeinfo (const struct ddsi_sertype
      *tp)
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - ops::type_info
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_typeinfo_t *ddsi_sertype_typeinfo (const struct
      ddsi_sertype *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::derive_sertype
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - base_sertype
    - data_representation
    - tce_qos
    argTypes:
    - struct ddsi_sertype*
    - dds_data_representation_id_t
    - dds_type_consistency_enforcement_qospolicy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: ddsi_sertype_derive_sertype
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 1
    functionsReached:
    - struct ddsi_sertype*::ops::derive_sertype
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT * ddsi_sertype_derive_sertype (const struct ddsi_sertype
      *base_sertype, dds_data_representation_id_t data_representation, dds_type_consistency_enforcement_qospolicy_t
      tce_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::get_serialized_size
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tp
    - sdkind
    - sample
    - size
    - enc_identifier
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - size_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: dds_return_t::ddsi_sertype_get_serialized_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 0
    functionsReached:
    - struct ddsi_sertype*::ops::get_serialized_size
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_return_t ddsi_sertype_get_serialized_size(const
      struct ddsi_sertype *tp, enum ddsi_serdata_kind sdkind, const void *sample,
      size_t *size, uint16_t *enc_identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::ops::serialize_into
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tp
    - sdkind
    - sample
    - dst_buffer
    - dst_size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: ddsi_sertype_serialize_into
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    functionUses: 1
    functionsReached:
    - struct ddsi_sertype*::ops::serialize_into
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_sertype_serialize_into(const struct ddsi_sertype
      *tp, enum ddsi_serdata_kind sdkind, const void *sample, void *dst_buffer, size_t
      dst_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: UNUSED_ARG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_unused.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_ARG(x)
  - 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: UNUSED_ARG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_unused.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: UNUSED_ARG_NDEBUG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_unused.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_ARG_NDEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: UNUSED_ARG_NDEBUG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_unused.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_ARG_NDEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: DDS_GuidPrefix_t__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_GuidPrefix_t__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: DDS_RPC_UnknownOperation__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RPC_UnknownOperation__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: DDS_RPC_UnknownException__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RPC_UnknownException__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: DDS_RPC_UnusedMember__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RPC_UnusedMember__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: DDS_RPC_RemoteExceptionCode__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RPC_RemoteExceptionCode__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: DDS_RPC_InstanceName__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_RPC_InstanceName__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: dds_sequence_DDS_XTypes_TypeIdentifier__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifier__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: dds_sequence_DDS_XTypes_TypeIdentifier__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifier__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: dds_sequence_octet__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_octet__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: dds_sequence_octet_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_octet_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: dds_sequence_octet__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_octet__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: dds_sequence_octet_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_octet_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: DDS_Builtin_TypeLookup_Request__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Builtin_TypeLookup_Request__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: DDS_Builtin_TypeLookup_Request_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Builtin_TypeLookup_Request_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: DDS_Builtin_TypeLookup_Reply__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Builtin_TypeLookup_Reply__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: DDS_Builtin_TypeLookup_Reply_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_Builtin_TypeLookup_Reply_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: GVTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GVTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cat
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: GVLOG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GVLOG(cat, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: GVWARNING
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GVWARNING(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: GVERROR
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GVERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: RSTTRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSTTRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ETRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ETRACE(e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: EETRACE
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EETRACE(e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cat
    - ','
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ELOG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELOG(cat, e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cat
    - ','
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: EELOG
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EELOG(cat, e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: GVLOGDISC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GVLOGDISC(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ELOGDISC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELOGDISC(e_,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: EELOGDISC
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EELOGDISC(e_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - thrst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ddsi_thread_vtime_trace
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsi_thread_vtime_trace(thrst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: ddsi_lookup_thread_state
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 101
    functionsReached:
    - ddsi_lookup_thread_state_real
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT *ddsi_lookup_thread_state (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vtime
    argTypes:
    - ddsi_vtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ddsi_vtime_awake_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vtime_awake_p (ddsi_vtime_t vtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vtime
    argTypes:
    - ddsi_vtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: ddsi_vtime_asleep_p
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsi_vtime_asleep_p (ddsi_vtime_t vtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:176,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:177,1
    - Dst: ddsi_vtime_awake_p
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: ddsi_thread_is_awake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 15
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_lookup_thread_state
    - ddsi_vtime_awake_p
    linkageType: ''
    returnType: bool
    signature: bool ddsi_thread_is_awake (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:184,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:185,1
    - Dst: ddsi_vtime_asleep_p
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: ddsi_thread_is_asleep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_lookup_thread_state
    - ddsi_vtime_asleep_p
    linkageType: ''
    returnType: bool
    signature: bool ddsi_thread_is_asleep (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:192,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:193,1
    - Dst: ddsi_vtime_awake_p
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:193,1
    - Dst: ddsrt_atomic_fence_rel
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:195,1
    - Dst: ddsi_thread_vtime_trace
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:196,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - thrst
    argTypes:
    - struct ddsi_thread_state*
    assertStmts:
    - condition: (ddsi_vtime_awake_p (vt))
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: ddsi_thread_state_asleep
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 85
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_vtime_awake_p
    - assert
    - ddsi_thread_vtime_trace
    - ddsrt_atomic_fence_rel
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_thread_state_asleep (struct ddsi_thread_state
      *thrst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:208,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:209,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:210,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:210,1
    - Dst: ddsi_thread_vtime_trace
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:211,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:213,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:213,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:213,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:213,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:215,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:216,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:218,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:218,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:219,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:222,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:222,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:223,1
    - Dst: ddsrt_atomic_fence_stst
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:225,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:226,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - thrst
    - gv
    argTypes:
    - struct ddsi_thread_state*
    - struct ddsi_domaingv*
    assertStmts:
    - condition: ((vt & DDSI_VTIME_NEST_MASK) < DDSI_VTIME_NEST_MASK)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - condition: (thrst->state != DDSI_THREAD_STATE_ALIVE || gv == ddsrt_atomic_ldvoidp
        (&thrst->gv))
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - condition: ((vt & DDSI_VTIME_NEST_MASK) == 0 || gv == ddsrt_atomic_ldvoidp (&thrst->gv)
        || gv == ddsrt_atomic_ldvoidp (&thrst->nested_gv) || 0 == ddsrt_atomic_ldvoidp
        (&thrst->nested_gv))
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - condition: (ddsrt_atomic_ld32 (&ddsi_thread_nested_gv_allowed))
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - condition: (gv != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - condition: ((vt & DDSI_VTIME_NEST_MASK) == 0 || gv == ddsrt_atomic_ldvoidp (&thrst->gv))
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: ddsi_thread_state_awake
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    functionUses: 74
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_stvoidp
    - assert
    - ddsrt_atomic_fence_acq
    - ddsi_thread_vtime_trace
    - ddsrt_atomic_fence_stst
    - ddsrt_atomic_st32
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsi_thread_state_awake (struct ddsi_thread_state
      *thrst, const struct ddsi_domaingv *gv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lifespan_register_sample_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lifespan_adm
    - node
    argTypes:
    - struct ddsi_lifespan_adm*
    - struct ddsi_lifespan_fhnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ddsi_lifespan_register_sample_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
    functionUses: 1
    functionsReached:
    - ddsi_lifespan_register_sample_real
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_register_sample_locked (struct ddsi_lifespan_adm
      *lifespan_adm, struct ddsi_lifespan_fhnode *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_lifespan_unregister_sample_real
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lifespan_adm
    - node
    argTypes:
    - struct ddsi_lifespan_adm*
    - struct ddsi_lifespan_fhnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ddsi_lifespan_unregister_sample_locked
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
    functionUses: 4
    functionsReached:
    - ddsi_lifespan_unregister_sample_real
    linkageType: ''
    returnType: void
    signature: void ddsi_lifespan_unregister_sample_locked (struct ddsi_lifespan_adm
      *lifespan_adm, struct ddsi_lifespan_fhnode *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:243,1
    - Dst: DDSRT_WARNING_CLANG_OFF
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:244,1
    - Dst: DDSRT_WARNING_CLANG_ON
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:248,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:249,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - serdata_const
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: ddsi_serdata_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 15
    functionsReached:
    - DDSRT_WARNING_CLANG_OFF
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_CLANG_ON
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_ref (const struct ddsi_serdata *serdata_const)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:260,1
    - Dst: struct ddsi_serdata*::ops::free
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - serdata
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: ddsi_serdata_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 48
    functionsReached:
    - ddsrt_atomic_dec32_ov
    - struct ddsi_serdata*::ops::free
    linkageType: ''
    returnType: void
    signature: void ddsi_serdata_unref (struct ddsi_serdata *serdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::get_size
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: ddsi_serdata_size
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 16
    functionsReached:
    - struct ddsi_serdata*::ops::get_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsi_serdata_size (const struct ddsi_serdata *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_ser
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - kind
    - fragchain
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - struct ddsi_rdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: ddsi_serdata_from_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 2
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_ser
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_ser (const struct ddsi_sertype
      *type, enum ddsi_serdata_kind kind, const struct ddsi_rdata *fragchain, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_ser_iov
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - kind
    - niov
    - iov
    - size
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - ddsrt_msg_iovlen_t
    - ddsrt_iovec_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: ddsi_serdata_from_ser_iov
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 2
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_ser_iov
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_ser_iov (const struct ddsi_sertype
      *type, enum ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t
      *iov, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_keyhash
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - keyhash
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_keyhash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: ddsi_serdata_from_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 2
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_keyhash
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_keyhash (const struct ddsi_sertype
      *type, const struct ddsi_keyhash *keyhash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_sample
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - kind
    - sample
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: ddsi_serdata_from_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 14
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_sample (const struct ddsi_sertype
      *type, enum ddsi_serdata_kind kind, const void *sample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::to_untyped
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:309,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct ddsi_serdata*
    assertStmts:
    - condition: (d1->loan == NULL)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: ddsi_serdata_to_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 1
    functionsReached:
    - struct ddsi_serdata*::ops::to_untyped
    - assert
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_to_untyped (const struct ddsi_serdata
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::to_ser
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - 'off'
    - sz
    - buf
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: ddsi_serdata_to_ser
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 2
    functionsReached:
    - struct ddsi_serdata*::ops::to_ser
    linkageType: ''
    returnType: void
    signature: void ddsi_serdata_to_ser (const struct ddsi_serdata *d, size_t off,
      size_t sz, void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::to_ser_ref
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - 'off'
    - sz
    - ref
    argTypes:
    - struct ddsi_serdata*
    - size_t
    - size_t
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: ddsi_serdata_to_ser_ref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 4
    functionsReached:
    - struct ddsi_serdata*::ops::to_ser_ref
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_to_ser_ref (const struct ddsi_serdata
      *d, size_t off, size_t sz, ddsrt_iovec_t *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::to_ser_unref
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - ref
    argTypes:
    - struct ddsi_serdata*
    - ddsrt_iovec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: ddsi_serdata_to_ser_unref
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 5
    functionsReached:
    - struct ddsi_serdata*::ops::to_ser_unref
    linkageType: ''
    returnType: void
    signature: void ddsi_serdata_to_ser_unref (struct ddsi_serdata *d, const ddsrt_iovec_t
      *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::to_sample
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: ddsi_serdata_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 10
    functionsReached:
    - struct ddsi_serdata*::ops::to_sample
    linkageType: ''
    returnType: bool
    signature: bool ddsi_serdata_to_sample (const struct ddsi_serdata *d, void *sample,
      void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::untyped_to_sample
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - d
    - sample
    - bufptr
    - buflim
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: ddsi_serdata_untyped_to_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 7
    functionsReached:
    - struct ddsi_serdata*::ops::untyped_to_sample
    linkageType: ''
    returnType: bool
    signature: bool ddsi_serdata_untyped_to_sample (const struct ddsi_sertype *type,
      const struct ddsi_serdata *d, void *sample, void **bufptr, void *buflim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::eqkey
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: ddsi_serdata_eqkey
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 1
    functionsReached:
    - struct ddsi_serdata*::ops::eqkey
    linkageType: ''
    returnType: bool
    signature: bool ddsi_serdata_eqkey (const struct ddsi_serdata *a, const struct
      ddsi_serdata *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::print
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - buf
    - size
    argTypes:
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: ddsi_serdata_print
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 3
    functionsReached:
    - struct ddsi_serdata*::ops::print
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_serdata_print (const struct ddsi_serdata *d, char *buf,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::print
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - type
    - d
    - buf
    - size
    argTypes:
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: ddsi_serdata_print_untyped
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 0
    functionsReached:
    - struct ddsi_serdata*::ops::print
    linkageType: ''
    returnType: size_t
    signature: size_t ddsi_serdata_print_untyped (const struct ddsi_sertype *type,
      const struct ddsi_serdata *d, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_serdata*::ops::get_keyhash
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - buf
    - force_md5
    argTypes:
    - struct ddsi_serdata*
    - struct ddsi_keyhash*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: ddsi_serdata_get_keyhash
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 3
    functionsReached:
    - struct ddsi_serdata*::ops::get_keyhash
    linkageType: ''
    returnType: void
    signature: void ddsi_serdata_get_keyhash (const struct ddsi_serdata *d, struct
      ddsi_keyhash *buf, bool force_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_loaned_sample
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - kind
    - sample
    - loan
    - will_require_cdr
    argTypes:
    - struct ddsi_sertype*
    - enum ddsi_serdata_kind
    - char*
    - struct dds_loaned_sample*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: ddsi_serdata_from_loaned_sample
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 1
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_loaned_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_loaned_sample(const struct ddsi_sertype
      *type, enum ddsi_serdata_kind kind, const char *sample, struct dds_loaned_sample
      *loan, bool will_require_cdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_sertype*::serdata_ops::from_psmx
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - struct ddsi_sertype*
    - struct dds_loaned_sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: ddsi_serdata_from_psmx
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    functionUses: 1
    functionsReached:
    - struct ddsi_sertype*::serdata_ops::from_psmx
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *ddsi_serdata_from_psmx(const struct ddsi_sertype
      *type, struct dds_loaned_sample *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: DDSI_SC_PEDANTIC_P
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SC_PEDANTIC_P(config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DDSI_SC_STRICT_P
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_SC_STRICT_P(config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: ddsi_config
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    functionUses: 0
    functionsReached:
    - ddsi_config_init_default
    linkageType: ''
    returnType: void
    signature: void ddsi_config()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_builtin_topic_interface*::builtintopic_is_visible
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - btif
    - guid
    - vendorid
    argTypes:
    - struct ddsi_builtin_topic_interface*
    - struct ddsi_guid*
    - ddsi_vendorid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ddsi_builtintopic_is_visible
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    functionUses: 2
    functionsReached:
    - struct ddsi_builtin_topic_interface*::builtintopic_is_visible
    linkageType: ''
    returnType: bool
    signature: bool ddsi_builtintopic_is_visible (const struct ddsi_builtin_topic_interface
      *btif, const struct ddsi_guid *guid, ddsi_vendorid_t vendorid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_builtin_topic_interface*::builtintopic_is_builtintopic
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btif
    - type
    argTypes:
    - struct ddsi_builtin_topic_interface*
    - struct ddsi_sertype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ddsi_builtintopic_is_builtintopic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    functionUses: 2
    functionsReached:
    - struct ddsi_builtin_topic_interface*::builtintopic_is_builtintopic
    linkageType: ''
    returnType: bool
    signature: bool ddsi_builtintopic_is_builtintopic (const struct ddsi_builtin_topic_interface
      *btif, const struct ddsi_sertype *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_builtin_topic_interface*::builtintopic_get_tkmap_entry
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - btif
    - guid
    argTypes:
    - struct ddsi_builtin_topic_interface*
    - struct ddsi_guid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: ddsi_builtintopic_get_tkmap_entry
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    functionUses: 2
    functionsReached:
    - struct ddsi_builtin_topic_interface*::builtintopic_get_tkmap_entry
    linkageType: ''
    returnType: struct ddsi_tkmap_instance
    signature: struct ddsi_tkmap_instance *ddsi_builtintopic_get_tkmap_entry (const
      struct ddsi_builtin_topic_interface *btif, const struct ddsi_guid *guid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_builtin_topic_interface*::builtintopic_write_endpoint
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - btif
    - e
    - timestamp
    - alive
    argTypes:
    - struct ddsi_builtin_topic_interface*
    - struct ddsi_entity_common*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ddsi_builtintopic_write_endpoint
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    functionUses: 14
    functionsReached:
    - struct ddsi_builtin_topic_interface*::builtintopic_write_endpoint
    linkageType: ''
    returnType: void
    signature: void ddsi_builtintopic_write_endpoint (const struct ddsi_builtin_topic_interface
      *btif, const struct ddsi_entity_common *e, ddsrt_wctime_t timestamp, bool alive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsi_builtin_topic_interface*::builtintopic_write_topic
      Src: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - btif
    - tpd
    - timestamp
    - alive
    argTypes:
    - struct ddsi_builtin_topic_interface*
    - struct ddsi_topic_definition*
    - ddsrt_wctime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: ddsi_builtintopic_write_topic
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    functionUses: 5
    functionsReached:
    - struct ddsi_builtin_topic_interface*::builtintopic_write_topic
    linkageType: ''
    returnType: void
    signature: void ddsi_builtintopic_write_topic (const struct ddsi_builtin_topic_interface
      *btif, const struct ddsi_topic_definition *tpd, ddsrt_wctime_t timestamp, bool
      alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: DDS_XTypes_TypeMapping__alloc
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeMapping__alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: DDS_XTypes_TypeMapping_free
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XTypes_TypeMapping_free(d,o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DDSI_RMSG_PAYLOAD
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RMSG_PAYLOAD(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DDSI_RMSG_PAYLOADOFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RMSG_PAYLOADOFF(m, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - zoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: DDSI_ZOFF_TO_OFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_ZOFF_TO_OFF(zoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: DDSI_OFF_TO_ZOFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_OFF_TO_ZOFF(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - zoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: DDSI_ZOFF_TO_OFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_ZOFF_TO_OFF(zoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: DDSI_OFF_TO_ZOFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_OFF_TO_ZOFF(off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: DDSI_RDATA_PAYLOAD_OFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RDATA_PAYLOAD_OFF(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: DDSI_RDATA_SUBMSG_OFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RDATA_SUBMSG_OFF(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: DDSI_RDATA_KEYHASH_OFF
    functionSourceFile: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSI_RDATA_KEYHASH_OFF(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: SER8
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER8(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SER16
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER16(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: SER16BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER16BE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: SER32
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER32(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SER32BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER32BE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: SER64
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: SER64BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER64BE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: SER16
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER16(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: SER16BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER16BE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: SER32
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER32(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: SER32BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER32BE(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: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: SER64
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: SER64BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER64BE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: SER_DHEADER
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_DHEADER(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SER_DHEADERBE
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_DHEADERBE(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mu
    - ','
    - lc
    - ','
    - mid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SER_EMHEADER
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_EMHEADER(mu,lc,mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SER_NEXTINT
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_NEXTINT(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mu
    - ','
    - len
    - ','
    - mid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: SER_PHDR_EXT
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_PHDR_EXT(mu,len,mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: SER_PHDR_END
    functionSourceFile: /src/cyclonedds/src/core/cdr/test/mem_ser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SER_PHDR_END()
  - 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: TOKENPASTE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKENPASTE(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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: TOKENPASTE2
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKENPASTE2(a, b)
  - 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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TOKENPASTE3
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKENPASTE3(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: NAME_BYTE_ORDER
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_BYTE_ORDER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - postfix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: NAME2_BYTE_ORDER
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME2_BYTE_ORDER(prefix, postfix)
  - 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: EMHEADER_LENGTH_CODE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMHEADER_LENGTH_CODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: EMHEADER_MEMBERID
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMHEADER_MEMBERID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: ddsrt_to2u
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_to2u(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: ddsrt_to4u
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_to4u(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: ddsrt_to8u
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_to8u(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: ALIGN
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: ALIGN
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MK_ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:237,1
    - Dst: MK_ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:237,1
    - Dst: MK_ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - xcdr_version
    - size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: dds_cdr_get_align
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - MK_ALIGN
    linkageType: ''
    returnType: align_t
    signature: align_t dds_cdr_get_align (uint32_t xcdr_version, uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: MK_ALIGN
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_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: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: MK_ALIGN
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::realloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - os
    - allocator
    - size
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: dds_ostream_grow
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::realloc
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_ostream_grow (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - size
    - write_encoding_version
    argTypes:
    - void*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: dds_ostream_from_buffer
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_ostream_t
    signature: dds_ostream_t dds_ostream_from_buffer (void *buffer, size_t size, uint16_t
      write_encoding_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_ostream_grow
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - os
    - allocator
    - l
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: dds_cdr_resize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_ostream_grow
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_cdr_resize (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - is
    - size
    - input
    - xcdr_version
    argTypes:
    - dds_istream_t*
    - uint32_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: dds_istream_init
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_istream_init (dds_istream_t *is, uint32_t size, const void
      *input, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - os
    - allocator
    - size
    - xcdr_version
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: dds_ostream_init
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 6
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    linkageType: ''
    returnType: void
    signature: void dds_ostream_init (dds_ostream_t *os, const struct dds_cdrstream_allocator
      *allocator, uint32_t size, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - os
    - allocator
    - size
    - xcdr_version
    argTypes:
    - dds_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: dds_ostreamLE_init
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_ostream_init
    linkageType: ''
    returnType: void
    signature: void dds_ostreamLE_init (dds_ostreamLE_t *os, const struct dds_cdrstream_allocator
      *allocator, uint32_t size, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - os
    - allocator
    - size
    - xcdr_version
    argTypes:
    - dds_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: dds_ostreamBE_init
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_ostream_init
    linkageType: ''
    returnType: void
    signature: void dds_ostreamBE_init (dds_ostreamBE_t *os, const struct dds_cdrstream_allocator
      *allocator, uint32_t size, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: dds_istream_fini
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dds_istream_fini (dds_istream_t *is)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: dds_ostream_fini
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 8
    functionsReached:
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: void
    signature: void dds_ostream_fini (dds_ostream_t *os, const struct dds_cdrstream_allocator
      *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - dds_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: dds_ostreamLE_fini
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 4
    functionsReached:
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void dds_ostreamLE_fini (dds_ostreamLE_t *os, const struct dds_cdrstream_allocator
      *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - dds_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: dds_ostreamBE_fini
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_ostream_fini
    linkageType: ''
    returnType: void
    signature: void dds_ostreamBE_fini (dds_ostreamBE_t *os, const struct dds_cdrstream_allocator
      *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:323,1
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:323,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - is
    - a
    argTypes:
    - dds_istream_t*
    - align_t
    assertStmts:
    - condition: (is->m_index < is->m_size)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: dds_cdr_alignto
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    - ALIGN
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_cdr_alignto (dds_istream_t *is, align_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:330,1
    - Dst: dds_cdr_resize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:333,1
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:338,1
    - Dst: dds_cdr_resize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - os
    - allocator
    - a
    - extra
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - align_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: dds_cdr_alignto_clear_and_resize_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_resize
    - ALIGN
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_cdr_alignto_clear_and_resize_base (restrict_ostream_base_t
      *os, const struct dds_cdrstream_allocator *allocator, align_t a, uint32_t extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:349,1
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:351,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:351,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - os
    - allocator
    - xcdr_version
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: dds_cdr_alignto4_clear_and_resize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - memcpy
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_cdr_alignto4_clear_and_resize (dds_ostream_t *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts:
    - condition: (is->m_index < is->m_size)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: dds_is_get1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_get1 (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:368,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: dds_is_get2
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_get2 (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:377,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: dds_is_get4
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_get4 (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:386,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: dds_is_peek4
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_peek4 (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:394,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: dds_is_get8
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_alignto
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_get8 (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:406,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:406,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - is
    - b
    - num
    - elem_size
    argTypes:
    - dds_istream_t*
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: dds_is_get_bytes
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_cdr_alignto
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_is_get_bytes (dds_istream_t *is, void * restrict
      b, uint32_t num, uint32_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_resize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: dds_os_put1_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_resize
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put1_base (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:422,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: dds_os_put2_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put2_base (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:430,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: dds_os_put4_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put4_base (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:438,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 443
    functionName: dds_os_put8_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put8_base (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:448,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: dds_os_reserve4_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve4_base (restrict_ostream_base_t *os,
      const struct dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:456,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: dds_os_reserve8_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve8_base (restrict_ostream_base_t *os,
      const struct dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put1_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: dds_os_put1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put1_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put1 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put2_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: dds_os_put2
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put2_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put2 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: dds_os_put4
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put4_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put4 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: dds_os_put8
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put8 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: dds_os_reserve4
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve4_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve4 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: dds_os_reserve8
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve8 (restrict_ostream_t *os, const struct
      dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put1_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: dds_os_put1LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put1_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put1LE (restrict_ostreamLE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put2_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:477,1
    - Dst: ddsrt_toLE2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: dds_os_put2LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put2_base
    - ddsrt_toLE2u
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put2LE (restrict_ostreamLE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:479,1
    - Dst: ddsrt_toLE4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: dds_os_put4LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put4_base
    - ddsrt_toLE4u
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put4LE (restrict_ostreamLE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:481,1
    - Dst: ddsrt_toLE8u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: dds_os_put8LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_toLE8u
    - dds_os_put8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put8LE (restrict_ostreamLE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: dds_os_reserve4LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve4_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve4LE (restrict_ostreamLE_t *os, const
      struct dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: dds_os_reserve8LE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve8LE (restrict_ostreamLE_t *os, const
      struct dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put1_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: dds_os_put1BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put1_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put1BE (restrict_ostreamBE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put2_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:490,1
    - Dst: ddsrt_toBE2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: dds_os_put2BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_put2_base
    - ddsrt_toBE2u
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put2BE (restrict_ostreamBE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:492,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: dds_os_put4BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE4u
    - dds_os_put4_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put4BE (restrict_ostreamBE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:494,1
    - Dst: ddsrt_toBE8u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - os
    - allocator
    - v
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: dds_os_put8BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_toBE8u
    - dds_os_put8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put8BE (restrict_ostreamBE_t *os, const struct
      dds_cdrstream_allocator *allocator, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve4_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: dds_os_reserve4BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve4_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve4BE (restrict_ostreamBE_t *os, const
      struct dds_cdrstream_allocator *allocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve8_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: dds_os_reserve8BE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_os_reserve8_base
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_reserve8BE (restrict_ostreamBE_t *os, const
      struct dds_cdrstream_allocator *allocator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:503,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:511,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:517,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:528,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:529,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - vbuf
    - size
    - num
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (size == 1 || size == 2 || size == 4 || size == 8)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 536
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 536
    functionName: dds_stream_swap
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - assert
    - ddsrt_bswap2u
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_swap (void *vbuf, uint32_t size, uint32_t
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_resize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:541,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - os
    - allocator
    - b
    - l
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: dds_os_put_bytes_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdr_resize
    - memcpy
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_os_put_bytes_base (restrict_ostream_base_t *os,
      const struct dds_cdrstream_allocator *allocator, const void *b, uint32_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:550,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - os
    - allocator
    - data
    - num
    - elem_sz
    - cdr_align
    - dst
    argTypes:
    - restrict_ostream_base_t*
    - struct dds_cdrstream_allocator*
    - void*
    - uint32_t
    - uint32_t
    - align_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: dds_os_put_bytes_aligned_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: void
    signature: void dds_os_put_bytes_aligned_base (restrict_ostream_base_t *os, const
      struct dds_cdrstream_allocator *allocator, const void *data, uint32_t num, uint32_t
      elem_sz, align_t cdr_align, void **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: is_primitive_type
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_primitive_type (enum dds_stream_typecode type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_primitive_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: is_primitive_or_enum_type
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_primitive_type
    linkageType: ''
    returnType: bool
    signature: bool is_primitive_or_enum_type (enum dds_stream_typecode type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_primitive_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - type
    - xcdrv
    argTypes:
    - enum dds_stream_typecode
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: is_dheader_needed
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_primitive_type
    linkageType: ''
    returnType: bool
    signature: bool is_dheader_needed (enum dds_stream_typecode type, uint32_t xcdrv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:574,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:575,1
    - Dst: is_primitive_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:575,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dds_stream_typecode
    assertStmts:
    - condition: (is_primitive_type (type))
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: get_primitive_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - DDSRT_STATIC_ASSERT
    - is_primitive_type
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_primitive_size (enum dds_stream_typecode type)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:589,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:592,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:592,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:596,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:605,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - insn
    - ops
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 613
    functionName: get_collection_elem_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - DDS_OP_TYPE_SZ
    - abort
    - DDS_OP_TYPE
    - get_primitive_size
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all get_collection_elem_size (uint32_t insn, const uint32_t
      *ops)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:619,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:622,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:622,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:628,1
    - Dst: get_collection_elem_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:645,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - insn
    - ops
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 665
    functionName: get_adr_type_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - get_collection_elem_size
    - DDS_OP_TYPE_SZ
    - abort
    - DDS_OP_TYPE
    - get_primitive_size
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all get_adr_type_size (uint32_t insn, const uint32_t
      *ops)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:674,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:691,1
    - Dst: get_adr_type_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:692,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - valtype
    - jeq_op
    argTypes:
    - enum dds_stream_typecode
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 703
    functionName: get_jeq4_type_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - abort
    - get_primitive_size
    - get_adr_type_size
    - DDS_OP_ADR_JSR
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all get_jeq4_type_size (const enum dds_stream_typecode
      valtype, const uint32_t *jeq_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: type_has_subtype_or_members
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool type_has_subtype_or_members (enum dds_stream_typecode type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dds_stream_typecode
    assertStmts:
    - condition: (type == DDS_OP_VAL_SEQ || type == DDS_OP_VAL_BSQ)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: seq_is_bounded
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool seq_is_bounded (enum dds_stream_typecode type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - val_h
    - val_l
    - bits_h
    - bits_l
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: bitmask_value_valid
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitmask_value_valid (uint32_t val_h, uint32_t val_l, uint32_t
      bits_h, uint32_t bits_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 725
    functionName: op_type_external
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_TYPE_FLAGS
    linkageType: ''
    returnType: bool
    signature: bool op_type_external (const uint32_t insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: op_type_optional
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_FLAGS
    linkageType: ''
    returnType: bool
    signature: bool op_type_optional (const uint32_t insn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: op_type_base
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_FLAGS
    linkageType: ''
    returnType: bool
    signature: bool op_type_base (const uint32_t insn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:742,1
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:743,1
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:744,1
    - Dst: ALIGN
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - xcdr_version
    - ops
    - size
    - num
    - 'off'
    - member_offs
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 749
    functionName: check_optimize_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ALIGN
    - dds_cdr_get_align
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all check_optimize_impl (uint32_t xcdr_version, const
      uint32_t *ops, uint32_t size, uint32_t num, uint32_t *off, uint32_t member_offs)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:757,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:760,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:763,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:769,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:769,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:769,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:774,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:774,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:779,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:779,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:784,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:790,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:790,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:790,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:797,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:797,1
    - Dst: check_optimize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:804,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:804,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:813,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:814,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:815,1
    - Dst: dds_stream_check_optimize1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:816,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 5
    argNames:
    - desc
    - xcdr_version
    - ops
    - 'off'
    - member_offs
    argTypes:
    - struct dds_cdrstream_desc*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 834
    functionName: dds_stream_check_optimize1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - check_optimize_impl
    - op_type_external
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_stream_check_optimize1
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - get_primitive_size
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_check_optimize1 (const struct dds_cdrstream_desc
      *desc, uint32_t xcdr_version, const uint32_t *ops, uint32_t off, uint32_t member_offs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_check_optimize1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:839,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - xcdr_version
    argTypes:
    - struct dds_cdrstream_desc*
    - uint32_t
    assertStmts:
    - condition: (opt_size <= desc->size)
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 843
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionName: dds_stream_check_optimize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 3
    functionsReached:
    - assert
    - dds_stream_check_optimize1
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_check_optimize (const struct dds_cdrstream_desc
      *desc, uint32_t xcdr_version)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:851,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:851,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:852,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:872,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:873,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:876,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:878,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:883,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - ops
    - insn
    - nestc
    - info
    - in_recursive
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    - struct dds_cdrstream_ops_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 889
    functionName: dds_stream_get_ops_info_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_get_ops_info1
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - seq_is_bounded
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_get_ops_info_seq (const uint32_t *ops,
      uint32_t insn, uint32_t nestc, struct dds_cdrstream_ops_info *info, bool in_recursive)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:894,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:914,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:915,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:918,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:920,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:925,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - ops
    - insn
    - nestc
    - info
    - in_recursive
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    - struct dds_cdrstream_ops_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 931
    functionName: dds_stream_get_ops_info_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_get_ops_info1
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - DDS_OP_ADR_JMP
    - abort
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_get_ops_info_arr (const uint32_t *ops,
      uint32_t insn, uint32_t nestc, struct dds_cdrstream_ops_info *info, bool in_recursive)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:937,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:940,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:941,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:941,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:956,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:958,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:958,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:962,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:965,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:969,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - ops
    - nestc
    - info
    - in_recursive
    argTypes:
    - uint32_t*
    - uint32_t
    - struct dds_cdrstream_ops_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 973
    functionName: dds_stream_get_ops_info_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - op_type_external
    - dds_stream_get_ops_info1
    - DDS_OP_ADR_JSR
    - op_type_optional
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_get_ops_info_uni (const uint32_t *ops,
      uint32_t nestc, struct dds_cdrstream_ops_info *info, bool in_recursive)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:979,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:983,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:986,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:987,1
    - Dst: dds_stream_get_ops_info_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:989,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:991,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - ops
    - nestc
    - info
    - in_xcdr1_delimited_scope
    - in_recursive
    argTypes:
    - uint32_t*
    - uint32_t
    - struct dds_cdrstream_ops_info*
    - bool
    - bool
    assertStmts:
    - condition: (ops[0] == DDS_OP_PLC)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1003
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1003
    functionName: dds_stream_get_ops_info_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_get_ops_info_pl
    - dds_stream_get_ops_info1
    - DDS_PLM_FLAGS
    - assert
    - DDS_OP_ADR_PLM
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_get_ops_info_pl (const uint32_t *ops,
      uint32_t nestc, struct dds_cdrstream_ops_info *info, bool in_xcdr1_delimited_scope,
      bool in_recursive)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1013,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1020,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1020,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1022,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1027,1
    - Dst: dds_stream_get_ops_info_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1044,1
    - Dst: dds_stream_get_ops_info_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1047,1
    - Dst: dds_stream_get_ops_info_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1050,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1053,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1055,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1056,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1057,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1059,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1064,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1070,1
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1072,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1072,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1077,1
    - Dst: dds_stream_get_ops_info_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1089,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 5
    argNames:
    - ops
    - nestc
    - info
    - in_xcdr1_delimited_scope
    - in_recursive
    argTypes:
    - uint32_t*
    - uint32_t
    - struct dds_cdrstream_ops_info*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1097
    functionName: dds_stream_get_ops_info1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - dds_stream_get_ops_info_seq
    - op_type_external
    - dds_stream_get_ops_info_pl
    - dds_stream_get_ops_info1
    - DDS_OP_ADR_JSR
    - dds_stream_get_ops_info_uni
    - dds_stream_get_ops_info_arr
    - DDS_OP_JUMP
    - op_type_optional
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_get_ops_info1 (const uint32_t *ops, uint32_t
      nestc, struct dds_cdrstream_ops_info *info, bool in_xcdr1_delimited_scope, bool
      in_recursive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1102,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1103,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1106,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1106,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ops
    - key
    - ops_end
    argTypes:
    - uint32_t*
    - dds_key_descriptor_t*
    - uint32_t**
    assertStmts:
    - condition: (key)
      pos:
        line_end: 1101
        line_start: 1101
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (ops[key->m_offset]) == DDS_OP_KOF)
      pos:
        line_end: 1105
        line_start: 1105
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (*ops_end)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1109
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1109
    functionName: dds_stream_countops_keyoffset
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - assert
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_countops_keyoffset (const uint32_t *ops,
      const dds_key_descriptor_t *key, const uint32_t **ops_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_get_ops_info1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ops
    - info
    argTypes:
    - uint32_t*
    - struct dds_cdrstream_ops_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1111
    functionDepth: 4
    functionLinenumber: 1111
    functionLinenumberEnd: 1120
    functionName: dds_stream_get_ops_info
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_get_ops_info1
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_get_ops_info (const uint32_t *ops, struct
      dds_cdrstream_ops_info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1125,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - is
    - str
    - size
    argTypes:
    - dds_istream_t*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1122
    functionDepth: 3
    functionLinenumber: 1122
    functionLinenumberEnd: 1135
    functionName: dds_stream_reuse_string_bound
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_is_get4
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_reuse_string_bound (dds_istream_t *is,
      char * restrict str, const uint32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1140,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1147,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1149,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - is
    - str
    - allocator
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1152
    functionName: dds_stream_reuse_string
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - struct dds_cdrstream_allocator*::malloc
    - dds_is_get4
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: char
    signature: char *dds_stream_reuse_string (dds_istream_t *is, char * restrict str,
      const struct dds_cdrstream_allocator *allocator, enum sample_data_state sample_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1161,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - str
    - allocator
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1166
    functionName: dds_stream_reuse_string_empty
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: char
    signature: char *dds_stream_reuse_string_empty (char * restrict str, const struct
      dds_cdrstream_allocator *allocator, enum sample_data_state sample_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1180
    functionName: wstring_utf16_len
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all wstring_utf16_len (const wchar_t *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1187,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - dst
    - dstlen
    - src
    - srclen
    argTypes:
    - wchar_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts:
    - condition: (dstlen > 0)
      pos:
        line_end: 1186
        line_start: 1186
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1217
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1217
    functionName: wstring_from_utf16
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all wstring_from_utf16 (wchar_t * restrict dst, size_t
      dstlen, const uint16_t *src, size_t srclen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1222,1
    - Dst: wstring_from_utf16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - is
    - str
    - size
    argTypes:
    - dds_istream_t*
    - wchar_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: dds_stream_reuse_wstring_bound
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - wstring_from_utf16
    - dds_is_get4
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_reuse_wstring_bound (dds_istream_t *is,
      wchar_t * restrict str, const uint32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1232,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1239,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1242,1
    - Dst: wstring_from_utf16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - is
    - str
    - allocator
    - sample_state
    argTypes:
    - dds_istream_t*
    - wchar_t*
    - struct dds_cdrstream_allocator*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1245
    functionName: dds_stream_reuse_wstring
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - wstring_from_utf16
    - struct dds_cdrstream_allocator*::malloc
    - dds_is_get4
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *dds_stream_reuse_wstring (dds_istream_t *is, wchar_t * restrict
      str, const struct dds_cdrstream_allocator *allocator, enum sample_data_state
      sample_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1254,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - str
    - allocator
    - sample_state
    argTypes:
    - wchar_t*
    - struct dds_cdrstream_allocator*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1259
    functionName: dds_stream_reuse_wstring_empty
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *dds_stream_reuse_wstring_empty (wchar_t * restrict str, const
      struct dds_cdrstream_allocator *allocator, enum sample_data_state sample_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - is
    - len
    - elem_size
    argTypes:
    - dds_istream_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1266
    functionName: dds_stream_skip_forward
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_skip_forward (dds_istream_t *is, uint32_t
      len, const uint32_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1271,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: dds_stream_skip_string
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - dds_stream_skip_forward
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_skip_string (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1278,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is
    argTypes:
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: dds_stream_skip_wstring
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - dds_stream_skip_forward
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_skip_wstring (dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1285,1
    - Dst: type_has_subtype_or_members
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1286,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1286,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1287,1
    - Dst: is_primitive_or_enum_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1287,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1287,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1287,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - insn
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: key_optimized_allowed
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - type_has_subtype_or_members
    - is_primitive_or_enum_type
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: bool
    signature: bool key_optimized_allowed (uint32_t insn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1296,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1297,1
    - Dst: is_primitive_or_enum_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1297,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1300,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1301,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1302,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1304,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1306,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1307,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1308,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1309,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - is
    - insn
    argTypes:
    - dds_istream_t*
    - uint32_t
    assertStmts:
    - condition: (is_primitive_or_enum_type (type))
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1316
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1316
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - dds_is_get4
    - is_primitive_or_enum_type
    - assert
    - dds_is_get2
    - dds_is_get1
    - DDS_OP_TYPE_SZ
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static uint32_t read_union_discriminant (dds_istream_t *is, uint32_t insn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1321,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1321,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1324,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1326,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1332,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1336,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1336,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - union_ops
    - disc
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (DDS_OP_TYPE (*union_ops) == DDS_OP_VAL_UNI)
      pos:
        line_end: 1320
        line_start: 1320
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (numcases > 0)
      pos:
        line_end: 1325
        line_start: 1325
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (jeq_op[idx]) == DDS_OP_JEQ4)
      pos:
        line_end: 1335
        line_start: 1335
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1348
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1348
    functionName: find_union_case
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    - DDS_OP_TYPE
    - DDS_OP
    - DDS_OP_ADR_JSR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *find_union_case (const uint32_t *union_ops, uint32_t disc)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1353,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1353,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1354,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1364,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - insn
    - ops
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1373
    functionName: skip_sequence_insns
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - seq_is_bounded
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *skip_sequence_insns (uint32_t insn, const uint32_t *ops)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1378,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1378,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1379,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1389,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - insn
    - ops
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP_TYPE (insn) == DDS_OP_VAL_ARR)
      pos:
        line_end: 1377
        line_start: 1377
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1398
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1398
    functionName: skip_array_insns
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - assert
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *skip_array_insns (uint32_t insn, const uint32_t *ops)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1403,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1408,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1409,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1413,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1414,1
    - Dst: dds_stream_reuse_string_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1420,1
    - Dst: dds_stream_reuse_wstring_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1426,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1444,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1445,1
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1448,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 5
    argNames:
    - insn
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - uint32_t
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1457
    functionName: skip_array_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - dds_stream_skip_default
    - DDS_OP_ADR_JSR
    - memset
    - dds_stream_reuse_wstring_empty
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - abort
    - get_primitive_size
    - dds_stream_reuse_string_empty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *skip_array_default (uint32_t insn, char * restrict data,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops, enum sample_data_state
      sample_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1469,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1473,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - insn
    - disc
    - discaddr
    - baseaddr
    - allocator
    - ops
    - sample_state
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1460
    functionDepth: 2
    functionLinenumber: 1460
    functionLinenumberEnd: 1482
    functionName: stream_union_switch_case
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_free_sample_uni
    - DDS_OP_SUBTYPE
    - find_union_case
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t * stream_union_switch_case (uint32_t insn, uint32_t disc,
      char * restrict discaddr, char * restrict baseaddr, const struct dds_cdrstream_allocator
      *allocator, const uint32_t *ops, enum sample_data_state *sample_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1487,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1487,1
    - Dst: get_jeq4_type_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1490,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - jeq_op
    - valtype
    - valaddr
    - allocator
    - sample_state
    argTypes:
    - uint32_t*
    - enum dds_stream_typecode
    - void**
    - struct dds_cdrstream_allocator*
    - enum sample_data_state*
    assertStmts:
    - condition: (DDS_OP (jeq_op[0]) == DDS_OP_JEQ4)
      pos:
        line_end: 1486
        line_start: 1486
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1495
      start: 1484
    functionDepth: 5
    functionLinenumber: 1484
    functionLinenumberEnd: 1495
    functionName: dds_stream_union_member_alloc_external
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    - struct dds_cdrstream_allocator*::malloc
    - DDS_OP
    - get_jeq4_type_size
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_union_member_alloc_external (uint32_t
      const * const jeq_op, const enum dds_stream_typecode valtype, void ** valaddr,
      const struct dds_cdrstream_allocator *allocator, enum sample_data_state *sample_state)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: stream_union_switch_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1501,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1502,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1505,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1508,1
    - Dst: dds_stream_union_member_alloc_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1509,1
    - Dst: dds_stream_reuse_string_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1517,1
    - Dst: dds_stream_reuse_wstring_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1518,1
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1521,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1521,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1524,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 6
    argNames:
    - insn
    - discaddr
    - baseaddr
    - allocator
    - ops
    - sample_state
    argTypes:
    - uint32_t
    - char*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1498
    functionDepth: 6
    functionLinenumber: 1498
    functionLinenumberEnd: 1530
    functionName: skip_union_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - op_type_external
    - dds_stream_skip_default
    - DDS_OP_ADR_JSR
    - dds_stream_union_member_alloc_external
    - stream_union_switch_case
    - dds_stream_reuse_wstring_empty
    - DDS_OP_ADR_JMP
    - abort
    - dds_stream_reuse_string_empty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t * skip_union_default (uint32_t insn, char * restrict discaddr,
      char * restrict baseaddr, const struct dds_cdrstream_allocator *allocator, const
      uint32_t *ops, enum sample_data_state sample_state)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1558,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - subtype
    argTypes:
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1563
    functionName: get_length_code_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_length_code_seq (const enum dds_stream_typecode subtype)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1581,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - subtype
    argTypes:
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1586
    functionName: get_length_code_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_length_code_arr (const enum dds_stream_typecode subtype)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1592,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1593,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1596,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1603,1
    - Dst: get_length_code_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1613,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1613,1
    - Dst: get_length_code_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1614,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1614,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1618,1
    - Dst: get_length_code
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1623,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1623,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1625,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 1
    argNames:
    - ops
    argTypes:
    - uint32_t*
    assertStmts:
    - condition: (insn != DDS_OP_RTS)
      pos:
        line_end: 1591
        line_start: 1591
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1633
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1633
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - get_length_code
    - assert
    - get_length_code_arr
    - DDS_OP_JUMP
    - DDS_OP_TYPE_SZ
    - abort
    - get_length_code_seq
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static uint32_t get_length_code (const uint32_t *ops)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1641,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1644,1
    - Dst: is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1654,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1654,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1657,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - data
    - ops
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1663
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_member_present
    - DDS_OP_JUMP
    - op_type_optional
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool is_member_present (const char *data, const uint32_t *ops)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mid_table
    - adr_op
    - mid
    argTypes:
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1675
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool find_member_id (const struct dds_cdrstream_desc_mid_table *mid_table,
      const uint32_t *adr_op, uint32_t *mid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vbuf
    - size
    - num
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 2
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: dds_stream_to_BE_insitu
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_swap
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_to_BE_insitu (void *vbuf, uint32_t size,
      uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vbuf
    - size
    - num
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1689
    functionName: dds_stream_to_LE_insitu
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_to_LE_insitu (void *vbuf, uint32_t size,
      uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vbuf
    - size
    - num
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1698
    functionName: dds_stream_to_BE_insitu
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_to_BE_insitu (void *vbuf, uint32_t size,
      uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vbuf
    - size
    - num
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1699
    functionDepth: 2
    functionLinenumber: 1699
    functionLinenumberEnd: 1703
    functionName: dds_stream_to_LE_insitu
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_swap
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_to_LE_insitu (void *vbuf, uint32_t size,
      uint32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1707
    functionName: write_error
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_error (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1708
    functionName: write_error_ops
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - write_error
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *write_error_ops (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1709
    functionName: write_error_bool
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - write_error
    linkageType: ''
    returnType: bool
    signature: bool write_error_bool (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1728
    functionName: STREAM_SIZE_CHECK_INIT
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_SIZE_CHECK_INIT(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: STREAM_SIZE_CHECK
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_SIZE_CHECK(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1734
    functionName: STREAM_SIZE_CHECK_INIT
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_SIZE_CHECK_INIT(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1735
    functionName: STREAM_SIZE_CHECK
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_SIZE_CHECK(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1741,1
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1742,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1745
    functionName: dds_stream_write_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 9
    functionsReached:
    - STREAM_SIZE_CHECK
    - STREAM_SIZE_CHECK_INIT
    - dds_stream_write_sampleLE
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sample (dds_ostream_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1749,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1754,1
    - Dst: dds_os_put_bytes_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1756,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1757,1
    - Dst: dds_stream_write_with_midLE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1760,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1764
    functionName: dds_stream_write_sampleLE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - memcpy
    - dds_stream_write_with_midLE
    - STREAM_SIZE_CHECK
    - STREAM_SIZE_CHECK_INIT
    - dds_os_put_bytes_base
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sampleLE (dds_ostreamLE_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1768,1
    - Dst: dds_stream_write_with_midBE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1769,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1772
    functionName: dds_stream_write_sampleBE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_write_with_midBE
    - STREAM_SIZE_CHECK_INIT
    - STREAM_SIZE_CHECK
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sampleBE (dds_ostreamBE_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1778,1
    - Dst: dds_stream_write_sampleBE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1779,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1782
    functionName: dds_stream_write_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 9
    functionsReached:
    - STREAM_SIZE_CHECK_INIT
    - dds_stream_write_sampleBE
    - STREAM_SIZE_CHECK
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sample (dds_ostream_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1786,1
    - Dst: dds_stream_write_with_midLE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1787,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostreamLE_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1790
    functionName: dds_stream_write_sampleLE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - STREAM_SIZE_CHECK_INIT
    - dds_stream_write_with_midLE
    - STREAM_SIZE_CHECK
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sampleLE (dds_ostreamLE_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_SIZE_CHECK_INIT
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1794,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1799,1
    - Dst: dds_os_put_bytes_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1801,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1802,1
    - Dst: dds_stream_write_with_midBE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1805,1
    - Dst: STREAM_SIZE_CHECK
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - desc
    argTypes:
    - dds_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - void*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1809
    functionName: dds_stream_write_sampleBE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - memcpy
    - STREAM_SIZE_CHECK
    - STREAM_SIZE_CHECK_INIT
    - dds_stream_write_with_midBE
    - dds_os_put_bytes_base
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_sampleBE (dds_ostreamBE_t *os, const struct dds_cdrstream_allocator
      *allocator, const void *data, const struct dds_cdrstream_desc *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_with_midLE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1819,1
    - Dst: dds_stream_write_with_midBE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1821,1
    - Dst: dds_stream_write_with_mid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    - bo
    argTypes:
    - dds_ostream_t*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum ddsrt_byte_order_selector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1824
    functionName: dds_stream_write_with_byte_order
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_write_with_midBE
    - dds_stream_write_with_midLE
    - dds_stream_write_with_mid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t * dds_stream_write_with_byte_order (dds_ostream_t *os, const
      struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum ddsrt_byte_order_selector
      bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1841,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - st
    - elemsz
    argTypes:
    - struct getsize_state*
    - uint32_t
    assertStmts:
    - condition: (elemsz == 1 || elemsz == 2 || elemsz == 4 || elemsz == 8)
      pos:
        line_end: 1840
        line_start: 1840
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (st->alignmask == 3 || st->alignmask == 7)
      pos:
        line_end: 1841
        line_start: 1841
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 1846
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1846
    functionName: getsize_reserve
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all getsize_reserve (struct getsize_state *st, uint32_t
      elemsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - st
    - elemsz
    - n
    argTypes:
    - struct getsize_state*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1856
    functionName: getsize_reserve_many
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - getsize_reserve
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all getsize_reserve_many (struct getsize_state *st, uint32_t
      elemsz, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1861,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1862,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - val
    argTypes:
    - struct getsize_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1864
    functionName: dds_stream_getsize_string
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - getsize_reserve
    - getsize_reserve_many
    - strlen
    linkageType: ''
    returnType: void
    signature: void dds_stream_getsize_string (struct getsize_state *st, const char
      *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wstring_utf16_len
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1869,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1870,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - val
    argTypes:
    - struct getsize_state*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1867
    functionDepth: 2
    functionLinenumber: 1867
    functionLinenumberEnd: 1872
    functionName: dds_stream_getsize_wstring
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - wstring_utf16_len
    - getsize_reserve
    - getsize_reserve_many
    linkageType: ''
    returnType: void
    signature: void dds_stream_getsize_wstring (struct getsize_state *st, const wchar_t
      *val)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1880,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1881,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1881,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1884,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1887,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1896,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1899,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1907,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1911,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1911,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1915,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1915,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1919,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1919,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1925,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1932,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1940,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1948,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1954,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1955,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1958,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1964,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 4
    argNames:
    - st
    - addr
    - ops
    - insn
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1875
    functionDepth: 3
    functionLinenumber: 1875
    functionLinenumberEnd: 1970
    functionName: dds_stream_getsize_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_stream_getsize_impl
    - getsize_reserve
    - DDS_OP_SUBTYPE
    - getsize_reserve_many
    - DDS_OP_ADR_JSR
    - dds_stream_getsize_wstring
    - seq_is_bounded
    - dds_stream_getsize_string
    - skip_sequence_insns
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - abort
    - get_primitive_size
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_seq (struct getsize_state *st, const char
      *addr, const uint32_t *ops, uint32_t insn)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1974,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1976,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1979,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1985,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1989,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1989,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1993,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1993,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1997,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:1997,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2003,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2010,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2018,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2026,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2031,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2032,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2035,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2041,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - st
    - addr
    - ops
    - insn
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 1972
    functionDepth: 3
    functionLinenumber: 1972
    functionLinenumberEnd: 2046
    functionName: dds_stream_getsize_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_stream_getsize_impl
    - getsize_reserve
    - getsize_reserve_many
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_stream_getsize_wstring
    - dds_stream_getsize_string
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - abort
    - get_primitive_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_arr (struct getsize_state *st, const char
      *addr, const uint32_t *ops, uint32_t insn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2050,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2051,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2052,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2057,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2061,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2065,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2069,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2073,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2073,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2076,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - st
    - insn
    - addr
    - disc
    argTypes:
    - struct getsize_state*
    - uint32_t
    - void*
    - uint32_t*
    assertStmts:
    - condition: (disc)
      pos:
        line_end: 2049
        line_start: 2049
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (type == DDS_OP_VAL_BLN || type == DDS_OP_VAL_1BY || type == DDS_OP_VAL_2BY
        || type == DDS_OP_VAL_4BY || type == DDS_OP_VAL_ENU)
      pos:
        line_end: 2051
        line_start: 2051
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2079
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2079
    functionName: dds_stream_getsize_union_discriminant
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - getsize_reserve
    - DDS_OP_SUBTYPE
    - assert
    - DDS_OP_TYPE_SZ
    - abort
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_getsize_union_discriminant (struct getsize_state *st,
      uint32_t insn, const void *addr, uint32_t *disc)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_union_discriminant
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2084,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2086,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2087,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2090,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2096,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2098,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2098,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2107,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2109,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2110,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2111,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2112,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2112,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2113,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2114,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2115,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2116,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2118,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2118,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - st
    - discaddr
    - baseaddr
    - ops
    - insn
    argTypes:
    - struct getsize_state*
    - char*
    - char*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (DDS_OP (jeq_op[0]) == DDS_OP_JEQ4)
      pos:
        line_end: 2097
        line_start: 2097
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2127
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2127
    functionName: dds_stream_getsize_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - op_type_external
    - dds_stream_getsize_impl
    - getsize_reserve
    - DDS_OP_ADR_JSR
    - assert
    - dds_stream_getsize_wstring
    - find_union_case
    - dds_stream_getsize_string
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - abort
    - dds_stream_getsize_union_discriminant
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_uni (struct getsize_state *st, const char
      *discaddr, const char *baseaddr, const uint32_t *ops, uint32_t insn)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2132,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2132,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2132,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2132,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2135,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2135,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2135,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2141,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2144,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2148,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2151,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2162,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2165,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2165,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2165,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2167,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2170,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2172,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2173,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2174,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2175,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2175,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2176,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2176,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2177,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2178,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2179,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2180,1
    - Dst: dds_stream_getsize_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2181,1
    - Dst: dds_stream_getsize_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2182,1
    - Dst: dds_stream_getsize_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2183,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2185,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2186,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2190,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2194,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2199,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 92
    argCount: 5
    argNames:
    - insn
    - st
    - data
    - ops
    - is_mutable_member
    argTypes:
    - uint32_t
    - struct getsize_state*
    - char*
    - uint32_t*
    - bool
    assertStmts:
    - condition: (addr || DDS_OP_TYPE (insn) == DDS_OP_VAL_STR || DDS_OP_TYPE (insn)
        == DDS_OP_VAL_WSTR)
      pos:
        line_end: 2164
        line_start: 2164
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2205
      start: 2129
    functionDepth: 4
    functionLinenumber: 2129
    functionLinenumberEnd: 2205
    functionName: dds_stream_getsize_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - op_type_external
    - dds_stream_getsize_impl
    - getsize_reserve
    - getsize_reserve_many
    - DDS_OP_ADR_JSR
    - assert
    - dds_stream_getsize_arr
    - dds_stream_getsize_uni
    - dds_stream_getsize_wstring
    - dds_stream_getsize_seq
    - op_type_base
    - dds_stream_getsize_string
    - op_type_optional
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - dds_stream_skip_adr
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_adr (uint32_t insn, struct getsize_state
      *st, const char *data, const uint32_t *ops, bool is_mutable_member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2209,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2213
    functionName: dds_stream_getsize_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_impl
    - getsize_reserve
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_delimited (struct getsize_state *st, const
      char *data, const uint32_t *ops)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2218,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2225,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2215
    functionDepth: 2
    functionLinenumber: 2215
    functionLinenumberEnd: 2239
    functionName: dds_stream_getsize_xcdr1_pl_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_impl
    - getsize_reserve_many
    - DDS_OP_FLAGS
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_getsize_xcdr1_pl_member (struct getsize_state *st,
      const char *data, const uint32_t *ops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2244,1
    - Dst: get_length_code
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2250,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2251,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2253,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts:
    - condition: (lc <= LENGTH_CODE_ALSO_NEXTINT8)
      pos:
        line_end: 2250
        line_start: 2250
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2257
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2257
    functionName: dds_stream_getsize_xcdr2_pl_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_impl
    - getsize_reserve
    - DDS_OP_FLAGS
    - get_length_code
    - assert
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_getsize_xcdr2_pl_member (struct getsize_state *st,
      const char *data, const uint32_t *ops)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2264,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2267,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2268,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2271,1
    - Dst: dds_stream_getsize_pl_memberlist
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2273,1
    - Dst: is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2276,1
    - Dst: dds_stream_getsize_xcdr2_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2280,1
    - Dst: dds_stream_getsize_xcdr1_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2285,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts:
    - condition: (plm_ops[0] == DDS_OP_PLC)
      pos:
        line_end: 2270
        line_start: 2270
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2298
      start: 2259
    functionDepth: 3
    functionLinenumber: 2259
    functionLinenumberEnd: 2298
    functionName: dds_stream_getsize_pl_memberlist
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - dds_stream_getsize_pl_memberlist
    - assert
    - is_member_present
    - dds_stream_getsize_xcdr2_pl_member
    - DDS_OP_ADR_PLM
    - dds_stream_getsize_xcdr1_pl_member
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_pl_memberlist (struct getsize_state *st,
      const char *data, const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_pl_memberlist
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2306,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2300
    functionDepth: 4
    functionLinenumber: 2300
    functionLinenumberEnd: 2312
    functionName: dds_stream_getsize_xcdr1_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_pl_memberlist
    - getsize_reserve
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_xcdr1_pl (struct getsize_state *st, const
      char *data, const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2319,1
    - Dst: dds_stream_getsize_pl_memberlist
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - st
    - data
    - ops
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2314
    functionDepth: 4
    functionLinenumber: 2314
    functionLinenumberEnd: 2322
    functionName: dds_stream_getsize_xcdr2_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_getsize_pl_memberlist
    - getsize_reserve
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_xcdr2_pl (struct getsize_state *st, const
      char *data, const uint32_t *ops)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2330,1
    - Dst: dds_stream_getsize_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2333,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2336,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2336,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2341,1
    - Dst: dds_stream_getsize_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2345,1
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2347,1
    - Dst: dds_stream_getsize_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2351,1
    - Dst: dds_stream_getsize_xcdr1_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - st
    - data
    - ops0
    - is_mutable_member
    argTypes:
    - struct getsize_state*
    - char*
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2324
    functionDepth: 5
    functionLinenumber: 2324
    functionLinenumberEnd: 2358
    functionName: dds_stream_getsize_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 8
    functionsReached:
    - dds_stream_getsize_impl
    - dds_stream_getsize_adr
    - dds_stream_getsize_xcdr1_pl
    - DDS_OP_JUMP
    - dds_stream_getsize_delimited
    - dds_stream_getsize_xcdr2_pl
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_getsize_impl (struct getsize_state *st, const
      char *data, const uint32_t *ops0, bool is_mutable_member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2370,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - ops
    - xcdr_version
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (st.align_off == 0)
      pos:
        line_end: 2370
        line_start: 2370
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2373
      start: 2360
    functionDepth: 6
    functionLinenumber: 2360
    functionLinenumberEnd: 2373
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    - dds_stream_getsize_impl
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static size_t dds_stream_getsize_sample_impl (const char *data, const uint32_t
      *ops, uint32_t xcdr_version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_sample_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - desc
    - xcdr_version
    argTypes:
    - char*
    - struct dds_cdrstream_desc*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2379
    functionName: dds_stream_getsize_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - dds_stream_getsize_sample_impl
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_getsize_sample (const char *data, const
      struct dds_cdrstream_desc *desc, uint32_t xcdr_version)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2385,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2385,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2386,1
    - Dst: key_optimized_allowed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2386,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2389,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2389,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2389,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2392,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2392,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2396,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2399,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2401,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2402,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2403,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2405,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2405,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2406,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2407,1
    - Dst: dds_stream_getsize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2408,1
    - Dst: dds_stream_getsize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2409,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2412,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2415,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2415,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2415,1
    - Dst: getsize_reserve
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2421,1
    - Dst: getsize_reserve_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2423,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2423,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2426,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2431,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2432,1
    - Dst: dds_stream_getsize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2433,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2438,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 5
    argNames:
    - st
    - ops
    - src
    - key_offset_count
    - key_offset_insn
    argTypes:
    - struct getsize_state*
    - uint32_t*
    - void*
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: (key_optimized_allowed (insn))
      pos:
        line_end: 2385
        line_start: 2385
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (key_offset_count > 0)
      pos:
        line_end: 2430
        line_start: 2430
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 2384
        line_start: 2384
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2447
      start: 2382
    functionDepth: 3
    functionLinenumber: 2382
    functionLinenumberEnd: 2447
    functionName: dds_stream_getsize_key_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - op_type_external
    - getsize_reserve
    - DDS_OP_SUBTYPE
    - getsize_reserve_many
    - key_optimized_allowed
    - DDS_OP_ADR_JSR
    - dds_stream_getsize_key_impl
    - assert
    - dds_stream_getsize_wstring
    - dds_stream_getsize_string
    - DDS_OP_TYPE_SZ
    - abort
    - get_primitive_size
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_getsize_key_impl (struct getsize_state *st, const uint32_t
      *ops, const void *src, uint16_t key_offset_count, const uint32_t * key_offset_insn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_getsize_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2463,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2472,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2475,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2476,1
    - Dst: dds_stream_getsize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2477,1
    - Dst: dds_stream_getsize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2481,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - sample
    - desc
    - xcdr_version
    argTypes:
    - char*
    - struct dds_cdrstream_desc*
    - uint32_t
    assertStmts:
    - condition: (n_offs > 0)
      pos:
        line_end: 2475
        line_start: 2475
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2491
      start: 2449
    functionDepth: 6
    functionLinenumber: 2449
    functionLinenumberEnd: 2491
    functionName: dds_stream_getsize_key
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - DDS_OP_LENGTH
    - dds_stream_getsize_impl
    - dds_stream_getsize_key_impl
    - assert
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_getsize_key (const char *sample, const
      struct dds_cdrstream_desc *desc, uint32_t xcdr_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - seq
    - allocator
    - num
    - elem_size
    argTypes:
    - dds_sequence_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2500
    functionName: malloc_sequence_buffer
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all malloc_sequence_buffer (dds_sequence_t *seq, const
      struct dds_cdrstream_allocator *allocator, uint32_t num, uint32_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::realloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2513,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - seq
    - allocator
    - num
    - elem_size
    argTypes:
    - dds_sequence_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2517
    functionName: grow_sequence_buffer_initialize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - memset
    - struct dds_cdrstream_allocator*::realloc
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all grow_sequence_buffer_initialize (dds_sequence_t *seq,
      const struct dds_cdrstream_allocator *allocator, uint32_t num, uint32_t elem_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2535,1
    - Dst: malloc_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2539,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2540,1
    - Dst: grow_sequence_buffer_initialize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - seq
    - allocator
    - num
    - elem_size
    - sample_state
    argTypes:
    - dds_sequence_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    - enum sample_data_state*
    assertStmts:
    - condition: (num > 0)
      pos:
        line_end: 2534
        line_start: 2534
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2556
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2556
    functionName: adjust_sequence_buffer_initialize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - grow_sequence_buffer_initialize
    - assert
    - malloc_sequence_buffer
    - memset
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all adjust_sequence_buffer_initialize (dds_sequence_t
      *seq, const struct dds_cdrstream_allocator *allocator, uint32_t num, uint32_t
      elem_size, enum sample_data_state *sample_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2565,1
    - Dst: malloc_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2567,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2574,1
    - Dst: malloc_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - seq
    - allocator
    - num
    - elem_size
    - sample_state
    argTypes:
    - dds_sequence_t*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    - enum sample_data_state*
    assertStmts:
    - condition: (num > 0)
      pos:
        line_end: 2564
        line_start: 2564
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2579
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2579
    functionName: adjust_sequence_buffer
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc_sequence_buffer
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all adjust_sequence_buffer (dds_sequence_t *seq, const
      struct dds_cdrstream_allocator *allocator, uint32_t num, uint32_t elem_size,
      enum sample_data_state *sample_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2589,1
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2590,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2590,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2591,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2592,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2597,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - is
    - param_mid
    - param_len
    argTypes:
    - dds_istream_t*
    - uint32_t*
    - uint32_t*
    assertStmts:
    - condition: (param_len)
      pos:
        line_end: 2588
        line_start: 2588
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2610
      start: 2587
    functionDepth: 3
    functionLinenumber: 2587
    functionLinenumberEnd: 2610
    functionName: stream_read_xcdr1_paramheader
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - assert
    - dds_is_get2
    - dds_cdr_get_align
    - dds_cdr_alignto
    linkageType: ''
    returnType: bool
    signature: bool stream_read_xcdr1_paramheader (dds_istream_t *is, uint32_t *param_mid,
      uint32_t *param_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2617,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - is
    - param_len
    argTypes:
    - dds_istream_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2612
    functionDepth: 4
    functionLinenumber: 2612
    functionLinenumberEnd: 2627
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_read_xcdr1_paramheader
    - dds_is_get1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool stream_is_member_present (dds_istream_t *is, uint32_t *param_len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - seq
    - insn
    - ops
    - sample_state
    argTypes:
    - dds_sequence_t*
    - uint32_t
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2630
    functionDepth: 2
    functionLinenumber: 2630
    functionLinenumberEnd: 2640
    functionName: initialize_and_skip_sequence
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - skip_sequence_insns
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *initialize_and_skip_sequence (dds_sequence_t *seq, uint32_t
      insn, const uint32_t *ops, enum sample_data_state sample_state)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2646,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2647,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2647,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2648,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2651,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2654,1
    - Dst: initialize_and_skip_sequence
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2656,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2661,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2662,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2664,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2666,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2670,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2673,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2675,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2679,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2680,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2686,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2690,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2693,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2697,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2701,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2702,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2704,1
    - Dst: dds_stream_skip_forward
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2706,1
    - Dst: adjust_sequence_buffer_initialize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2710,1
    - Dst: dds_stream_reuse_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2714,1
    - Dst: dds_stream_skip_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2716,1
    - Dst: adjust_sequence_buffer_initialize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2720,1
    - Dst: dds_stream_reuse_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2724,1
    - Dst: dds_stream_skip_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2726,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2731,1
    - Dst: dds_stream_reuse_string_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2735,1
    - Dst: dds_stream_skip_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2737,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2742,1
    - Dst: adjust_sequence_buffer
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2744,1
    - Dst: dds_stream_reuse_wstring_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2748,1
    - Dst: dds_stream_skip_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2750,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2755,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2756,1
    - Dst: adjust_sequence_buffer_initialize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2757,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2761,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2765,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 110
    argCount: 7
    argNames:
    - is
    - addr
    - allocator
    - ops
    - insn
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts:
    - condition: (elem_size > 0)
      pos:
        line_end: 2741
        line_start: 2741
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 2770
      start: 2643
    functionDepth: 4
    functionLinenumber: 2643
    functionLinenumberEnd: 2770
    functionName: dds_stream_read_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_skip_wstring
    - dds_stream_skip_string
    - dds_stream_skip_forward
    - DDS_OP_TYPE_SZ
    - abort
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - initialize_and_skip_sequence
    - DDS_OP_TYPE
    - adjust_sequence_buffer_initialize
    - assert
    - dds_stream_read_impl
    - dds_is_get2
    - seq_is_bounded
    - adjust_sequence_buffer
    - dds_stream_reuse_string_bound
    - DDS_OP_ADR_JMP
    - dds_is_get1
    - is_dheader_needed
    - dds_is_get4
    - dds_stream_reuse_string
    - dds_is_get_bytes
    - dds_stream_reuse_wstring
    - dds_stream_reuse_wstring_bound
    - get_primitive_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_seq (dds_istream_t *is, char * restrict addr,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops, uint32_t
      insn, enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2775,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2776,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2779,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2785,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2786,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2791,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2795,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2799,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2803,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2806,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2809,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2814,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2815,1
    - Dst: dds_stream_reuse_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2821,1
    - Dst: dds_stream_reuse_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2827,1
    - Dst: dds_stream_reuse_string_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2834,1
    - Dst: dds_stream_reuse_wstring_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2841,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2845,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2846,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2849,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2853,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 7
    argNames:
    - is
    - addr
    - allocator
    - ops
    - insn
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2773
    functionDepth: 4
    functionLinenumber: 2773
    functionLinenumberEnd: 2858
    functionName: dds_stream_read_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_is_get4
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_stream_read_impl
    - dds_is_get2
    - dds_stream_reuse_string
    - dds_is_get_bytes
    - dds_stream_reuse_wstring
    - dds_stream_reuse_wstring_bound
    - dds_stream_reuse_string_bound
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - dds_is_get1
    - abort
    - get_primitive_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_arr (dds_istream_t *is, char * restrict addr,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops, uint32_t
      insn, enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: read_union_discriminant
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2863,1
    - Dst: stream_union_switch_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2864,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2865,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2868,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2871,1
    - Dst: dds_stream_union_member_alloc_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2872,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2876,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2877,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2878,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2879,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2880,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2882,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2884,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2885,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2886,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2887,1
    - Dst: dds_stream_reuse_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2891,1
    - Dst: dds_stream_reuse_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2894,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2897,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2897,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2900,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2901,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2905,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 8
    argNames:
    - is
    - discaddr
    - baseaddr
    - allocator
    - ops
    - insn
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2861
    functionDepth: 6
    functionLinenumber: 2861
    functionLinenumberEnd: 2911
    functionName: dds_stream_read_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - op_type_external
    - read_union_discriminant
    - dds_is_get8
    - dds_is_get4
    - DDS_OP_ADR_JSR
    - dds_stream_read_impl
    - dds_stream_union_member_alloc_external
    - dds_is_get2
    - dds_stream_reuse_string
    - dds_stream_reuse_wstring
    - stream_union_switch_case
    - DDS_OP_ADR_JMP
    - dds_is_get1
    - DDS_OP_TYPE_SZ
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_uni (dds_istream_t *is, char * restrict discaddr,
      char * restrict baseaddr, const struct dds_cdrstream_allocator *allocator, const
      uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind, enum sample_data_state
      sample_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_adr_type_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2916,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ops
    - insn
    - addr
    - allocator
    - sample_state
    argTypes:
    - uint32_t*
    - uint32_t
    - void**
    - struct dds_cdrstream_allocator*
    - enum sample_data_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2913
    functionDepth: 4
    functionLinenumber: 2913
    functionLinenumberEnd: 2923
    functionName: dds_stream_alloc_external
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - get_adr_type_size
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_alloc_external (const uint32_t *ops, uint32_t
      insn, void ** addr, const struct dds_cdrstream_allocator *allocator, enum sample_data_state
      * sample_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_free_sample_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2929,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - insn
    - data
    - addr
    - allocator
    - ops
    - sample_state
    argTypes:
    - uint32_t
    - char*
    - void*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2926
    functionDepth: 1
    functionLinenumber: 2926
    functionLinenumberEnd: 2933
    functionName: stream_skip_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_free_sample_adr
    - dds_stream_skip_adr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_skip_member (uint32_t insn, char * restrict data,
      void * restrict addr, const struct dds_cdrstream_allocator *allocator, const
      uint32_t *ops, enum sample_data_state sample_state)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2945,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2949,1
    - Dst: stream_is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2951,1
    - Dst: stream_skip_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2954,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2969,1
    - Dst: dds_stream_alloc_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2970,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2972,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2974,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2975,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2976,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2977,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2978,1
    - Dst: dds_stream_reuse_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2979,1
    - Dst: dds_stream_reuse_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2980,1
    - Dst: dds_stream_reuse_string_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2981,1
    - Dst: dds_stream_reuse_wstring_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2982,1
    - Dst: dds_stream_read_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2983,1
    - Dst: dds_stream_read_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2984,1
    - Dst: dds_stream_read_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2985,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2987,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2989,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2990,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2991,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2992,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:2998,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3000,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3001,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3002,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3003,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3004,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3010,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3011,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3015,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3018,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3022,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3025,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 8
    argNames:
    - insn
    - is
    - data
    - allocator
    - ops
    - is_mutable_member
    - cdr_kind
    - sample_state
    argTypes:
    - uint32_t
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 2936
    functionDepth: 7
    functionLinenumber: 2936
    functionLinenumberEnd: 3031
    functionName: dds_stream_read_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get8
    - dds_stream_read_seq
    - stream_is_member_present
    - dds_stream_read_arr
    - op_type_optional
    - dds_stream_read_uni
    - DDS_OP_TYPE_SZ
    - abort
    - op_type_external
    - DDS_OP_ADR_JSR
    - dds_stream_alloc_external
    - DDS_OP_TYPE
    - dds_stream_read_impl
    - dds_is_get2
    - op_type_base
    - dds_stream_reuse_string_bound
    - DDS_OP_ADR_JMP
    - dds_is_get1
    - dds_stream_skip_adr
    - stream_skip_member
    - dds_is_get4
    - dds_stream_reuse_string
    - dds_stream_reuse_wstring_bound
    - dds_stream_reuse_wstring
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_adr (uint32_t insn, dds_istream_t *is, char
      * restrict data, const struct dds_cdrstream_allocator *allocator, const uint32_t
      *ops, bool is_mutable_member, enum cdr_data_kind cdr_kind, enum sample_data_state
      sample_state)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3036,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3049,1
    - Dst: skip_array_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3051,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3053,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3057,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - insn
    - ops
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3034
    functionDepth: 2
    functionLinenumber: 3034
    functionLinenumberEnd: 3066
    functionName: dds_stream_skip_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 3
    functionsReached:
    - skip_array_insns
    - skip_sequence_insns
    - DDS_OP_ADR_JMP
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_skip_adr (uint32_t insn, const uint32_t *ops)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3076,1
    - Dst: stream_skip_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3077,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3079,1
    - Dst: dds_stream_alloc_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3080,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3082,1
    - Dst: dds_stream_reuse_string_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3089,1
    - Dst: dds_stream_reuse_wstring_empty
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3090,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3095,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3101,1
    - Dst: initialize_and_skip_sequence
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3106,1
    - Dst: skip_array_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3109,1
    - Dst: skip_union_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3112,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3115,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3116,1
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3117,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 75
    argCount: 5
    argNames:
    - insn
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - uint32_t
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3069
    functionDepth: 7
    functionLinenumber: 3069
    functionLinenumberEnd: 3127
    functionName: dds_stream_skip_adr_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_skip_member
    - op_type_external
    - dds_stream_skip_default
    - DDS_OP_ADR_JSR
    - skip_union_default
    - dds_stream_alloc_external
    - dds_stream_reuse_wstring_empty
    - op_type_optional
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - initialize_and_skip_sequence
    - skip_array_default
    - abort
    - DDS_OP_TYPE
    - dds_stream_reuse_string_empty
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_skip_adr_default (uint32_t insn, char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      enum sample_data_state sample_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3130
    functionDepth: 1
    functionLinenumber: 3130
    functionLinenumberEnd: 3133
    functionName: dds_stream_skip_delimited_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_skip_default
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_skip_delimited_default (char * restrict data,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops, enum sample_data_state
      sample_state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3141,1
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3144,1
    - Dst: dds_stream_skip_pl_member_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3148,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3148,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3135
    functionDepth: 1
    functionLinenumber: 3135
    functionLinenumberEnd: 3157
    functionName: dds_stream_skip_pl_member_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_skip_default
    - DDS_OP_JUMP
    - dds_stream_skip_pl_member_default
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_skip_pl_member_default (char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      enum sample_data_state sample_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3166,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3169,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3170,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3173,1
    - Dst: dds_stream_skip_pl_memberlist_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3175,1
    - Dst: dds_stream_skip_pl_member_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3179,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - data
    - allocator
    - ops0
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts:
    - condition: (plm_ops[0] == DDS_OP_PLC)
      pos:
        line_end: 3172
        line_start: 3172
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3190
      start: 3159
    functionDepth: 2
    functionLinenumber: 3159
    functionLinenumberEnd: 3190
    functionName: dds_stream_skip_pl_memberlist_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - assert
    - dds_stream_skip_pl_member_default
    - DDS_OP_ADR_PLM
    - dds_stream_skip_pl_memberlist_default
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_skip_pl_memberlist_default (char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops0,
      enum sample_data_state sample_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_pl_memberlist_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3193
    functionDepth: 3
    functionLinenumber: 3193
    functionLinenumberEnd: 3197
    functionName: dds_stream_skip_pl_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_skip_pl_memberlist_default
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_skip_pl_default (char * restrict data, const struct
      dds_cdrstream_allocator *allocator, const uint32_t *ops, enum sample_data_state
      sample_state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3205,1
    - Dst: dds_stream_skip_adr_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3208,1
    - Dst: dds_stream_skip_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3212,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3212,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3217,1
    - Dst: dds_stream_skip_delimited_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3220,1
    - Dst: dds_stream_skip_pl_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - data
    - allocator
    - ops
    - sample_state
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3199
    functionDepth: 8
    functionLinenumber: 3199
    functionLinenumberEnd: 3228
    functionName: dds_stream_skip_default
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 6
    functionsReached:
    - dds_stream_skip_default
    - dds_stream_skip_adr_default
    - DDS_OP_JUMP
    - dds_stream_skip_pl_default
    - abort
    - dds_stream_skip_delimited_default
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *dds_stream_skip_default (char * restrict data, const
      struct dds_cdrstream_allocator *allocator, const uint32_t *ops, enum sample_data_state
      sample_state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3237,1
    - Dst: dds_stream_read_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3241,1
    - Dst: dds_stream_skip_adr_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3241,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3245,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3245,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 6
    argNames:
    - is
    - data
    - allocator
    - ops
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3231
    functionDepth: 8
    functionLinenumber: 3231
    functionLinenumberEnd: 3259
    functionName: dds_stream_read_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_skip_adr_default
    - dds_stream_read_impl
    - dds_stream_read_adr
    - DDS_OP_JUMP
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_delimited (dds_istream_t *is, char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3271,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3271,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3272,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3273,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3276,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3276,1
    - Dst: dds_stream_read_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3278,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - is
    - data
    - allocator
    - m_id
    - ops
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t*
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_PLM)
      pos:
        line_end: 3270
        line_start: 3270
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (plm_ops[0]) == DDS_OP_PLC)
      pos:
        line_end: 3275
        line_start: 3275
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3289
      start: 3261
    functionDepth: 1
    functionLinenumber: 3261
    functionLinenumberEnd: 3289
    functionName: dds_stream_read_pl_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_read_pl_member
    - DDS_PLM_FLAGS
    - assert
    - dds_stream_read_impl
    - DDS_OP_ADR_PLM
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_read_pl_member (dds_istream_t *is, char
      * restrict data, const struct dds_cdrstream_allocator *allocator, uint32_t m_id,
      const uint32_t *ops, enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_pl_memberlist_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3299,1
    - Dst: stream_read_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3302,1
    - Dst: dds_stream_read_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - is
    - data
    - allocator
    - ops
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3292
    functionDepth: 4
    functionLinenumber: 3292
    functionLinenumberEnd: 3323
    functionName: dds_stream_read_xcdr1_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_skip_pl_memberlist_default
    - dds_stream_read_pl_member
    - stream_read_xcdr1_paramheader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_xcdr1_pl (dds_istream_t *is, char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_pl_memberlist_default
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3333,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3336,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3340,1
    - Dst: EMHEADER_LENGTH_CODE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3341,1
    - Dst: EMHEADER_MEMBERID
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3341,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3349,1
    - Dst: dds_is_peek4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3353,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3358,1
    - Dst: dds_stream_read_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3367,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 6
    argNames:
    - is
    - data
    - allocator
    - ops
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts:
    - condition: (next_off == is->m_index)
      pos:
        line_end: 3372
        line_start: 3372
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3381
      start: 3326
    functionDepth: 3
    functionLinenumber: 3326
    functionLinenumberEnd: 3381
    functionName: dds_stream_read_xcdr2_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_read_pl_member
    - dds_is_get4
    - dds_is_peek4
    - EMHEADER_MEMBERID
    - assert
    - EMHEADER_LENGTH_CODE
    - dds_stream_skip_pl_memberlist_default
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_xcdr2_pl (dds_istream_t *is, char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      enum cdr_data_kind cdr_kind, enum sample_data_state sample_state)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3388,1
    - Dst: dds_stream_read_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3391,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3394,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3394,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3398,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3404,1
    - Dst: dds_stream_read_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3410,1
    - Dst: dds_stream_read_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3417,1
    - Dst: dds_stream_read_xcdr1_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3419,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 7
    argNames:
    - is
    - data
    - allocator
    - ops
    - is_mutable_member
    - cdr_kind
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    - enum sample_data_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3383
    functionDepth: 9
    functionLinenumber: 3383
    functionLinenumberEnd: 3424
    functionName: dds_stream_read_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 7
    functionsReached:
    - dds_is_get4
    - dds_stream_read_delimited
    - dds_stream_read_impl
    - dds_stream_read_xcdr1_pl
    - dds_stream_read_xcdr2_pl
    - dds_stream_read_adr
    - DDS_OP_JUMP
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read_impl (dds_istream_t *is, char * restrict
      data, const struct dds_cdrstream_allocator *allocator, const uint32_t *ops,
      bool is_mutable_member, enum cdr_data_kind cdr_kind, enum sample_data_state
      sample_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - is
    - data
    - allocator
    - ops
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3426
    functionDepth: 10
    functionLinenumber: 3426
    functionLinenumberEnd: 3429
    functionName: dds_stream_read
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 6
    functionsReached:
    - dds_stream_read_impl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_read (dds_istream_t *is, char * restrict data,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3437
    functionDepth: 0
    functionLinenumber: 3437
    functionLinenumberEnd: 3437
    functionName: normalize_error
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalize_error (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3438
    functionName: normalize_error_offset
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t normalize_error_offset (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3439
    functionDepth: 1
    functionLinenumber: 3439
    functionLinenumberEnd: 3439
    functionName: normalize_error_bool
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error
    linkageType: ''
    returnType: bool
    signature: bool normalize_error_bool (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3440
    functionName: normalize_error_ops
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *normalize_error_ops (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3448,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3450,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3452,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3453,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3455,1
    - Dst: normalize_error_offset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - 'off'
    - size
    - a_lg2
    - c_lg2
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (a_lg2 <= 3)
      pos:
        line_end: 3447
        line_start: 3447
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (off <= off1 && off1 <= CDR_SIZE_MAX)
      pos:
        line_end: 3454
        line_start: 3454
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (c_lg2 <= 3)
      pos:
        line_end: 3449
        line_start: 3449
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (off <= size)
      pos:
        line_end: 3452
        line_start: 3452
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (size <= CDR_SIZE_MAX)
      pos:
        line_end: 3451
        line_start: 3451
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3459
      start: 3446
    functionDepth: 2
    functionLinenumber: 3446
    functionLinenumberEnd: 3459
    functionName: check_align_prim
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error_offset
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t check_align_prim (uint32_t off, uint32_t size, uint32_t a_lg2,
      uint32_t c_lg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3463,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3465,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3466,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3467,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3469,1
    - Dst: normalize_error_offset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - 'off'
    - size
    - a_lg2
    - c_lg2
    - n
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (a_lg2 <= 3)
      pos:
        line_end: 3462
        line_start: 3462
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (c_lg2 <= 3)
      pos:
        line_end: 3464
        line_start: 3464
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (off <= size)
      pos:
        line_end: 3466
        line_start: 3466
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (size <= CDR_SIZE_MAX)
      pos:
        line_end: 3465
        line_start: 3465
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (off <= off1 && off1 <= CDR_SIZE_MAX)
      pos:
        line_end: 3468
        line_start: 3468
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3473
      start: 3461
    functionDepth: 2
    functionLinenumber: 3461
    functionLinenumberEnd: 3473
    functionName: check_align_prim_many
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error_offset
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t check_align_prim_many (uint32_t off, uint32_t size, uint32_t
      a_lg2, uint32_t c_lg2, uint32_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - 'off'
    - size
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3475
    functionDepth: 2
    functionLinenumber: 3475
    functionLinenumberEnd: 3482
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_uint8 (uint32_t *off, uint32_t size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3487,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3484
    functionDepth: 3
    functionLinenumber: 3484
    functionLinenumberEnd: 3493
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim
    - ddsrt_bswap2u
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_uint16 (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3498,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3495
    functionDepth: 3
    functionLinenumber: 3495
    functionLinenumberEnd: 3504
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_align_prim
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_uint32 (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3509,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3513,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3506
    functionDepth: 3
    functionLinenumber: 3506
    functionLinenumberEnd: 3519
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_align_prim
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_uint64 (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, uint32_t xcdr_version)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - 'off'
    - size
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3531
      start: 3521
    functionDepth: 2
    functionLinenumber: 3521
    functionLinenumberEnd: 3531
    functionName: normalize_bool
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all normalize_bool (char * restrict data, uint32_t *
      restrict off, uint32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - val
    - data
    - 'off'
    - size
    argTypes:
    - bool*
    - char*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3533
    functionDepth: 2
    functionLinenumber: 3533
    functionLinenumberEnd: 3544
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool read_and_normalize_bool (bool * restrict val, char * restrict data,
      uint32_t * restrict off, uint32_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - val
    - data
    - 'off'
    - size
    argTypes:
    - uint8_t*
    - char*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3547
    functionDepth: 3
    functionLinenumber: 3547
    functionLinenumberEnd: 3554
    functionName: read_and_normalize_uint8
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim
    linkageType: ''
    returnType: bool
    signature: bool read_and_normalize_uint8 (uint8_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3559,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - uint16_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3557
    functionDepth: 3
    functionLinenumber: 3557
    functionLinenumberEnd: 3566
    functionName: read_and_normalize_uint16
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim
    - ddsrt_bswap2u
    linkageType: ''
    returnType: bool
    signature: bool read_and_normalize_uint16 (uint16_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3571,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - uint32_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3569
    functionDepth: 3
    functionLinenumber: 3569
    functionLinenumberEnd: 3578
    functionName: read_and_normalize_uint32
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_align_prim
    linkageType: ''
    returnType: bool
    signature: bool read_and_normalize_uint32 (uint32_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3583,1
    - Dst: ddsrt_bswap8u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    argTypes:
    - uint64_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3581
    functionDepth: 3
    functionLinenumber: 3581
    functionLinenumberEnd: 3597
    functionName: read_and_normalize_uint64
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim
    - ddsrt_bswap8u
    linkageType: ''
    returnType: bool
    signature: bool read_and_normalize_uint64 (uint64_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3602,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - uint32_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3599
    functionDepth: 3
    functionLinenumber: 3599
    functionLinenumberEnd: 3609
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - check_align_prim
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool peek_and_normalize_uint32 (uint32_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3614,1
    - Dst: read_and_normalize_uint8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3618,1
    - Dst: read_and_normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3625,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3631,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3635,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    - insn
    - max
    argTypes:
    - uint32_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3640
      start: 3612
    functionDepth: 4
    functionLinenumber: 3612
    functionLinenumberEnd: 3640
    functionName: read_normalize_enum
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint8
    - DDS_OP_TYPE_SZ
    - read_and_normalize_uint16
    - read_and_normalize_uint32
    - normalize_error_bool
    linkageType: ''
    returnType: bool
    signature: bool read_normalize_enum (uint32_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t insn, uint32_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_normalize_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - insn
    - max
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3642
    functionDepth: 5
    functionLinenumber: 3642
    functionLinenumberEnd: 3647
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_normalize_enum
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_enum (char * restrict data, uint32_t * restrict off, uint32_t
      size, bool bswap, uint32_t insn, uint32_t max)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3652,1
    - Dst: read_and_normalize_uint8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3656,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3658,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3659,1
    - Dst: read_and_normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3665,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3667,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3668,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3674,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3676,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3677,1
    - Dst: read_and_normalize_uint64
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3682,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3684,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3685,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 9
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - insn
    - bits_h
    - bits_l
    argTypes:
    - uint64_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3691
      start: 3650
    functionDepth: 4
    functionLinenumber: 3650
    functionLinenumberEnd: 3691
    functionName: read_normalize_bitmask
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint64
    - read_and_normalize_uint8
    - bitmask_value_valid
    - DDS_OP_TYPE_SZ
    - read_and_normalize_uint16
    - read_and_normalize_uint32
    - normalize_error_bool
    - abort
    linkageType: ''
    returnType: bool
    signature: bool read_normalize_bitmask (uint64_t * restrict val, char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version,
      uint32_t insn, uint32_t bits_h, uint32_t bits_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_normalize_bitmask
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - insn
    - bits_h
    - bits_l
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3693
    functionDepth: 5
    functionLinenumber: 3693
    functionLinenumberEnd: 3698
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_normalize_bitmask
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_bitmask (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, uint32_t xcdr_version, uint32_t insn, uint32_t bits_h,
      uint32_t bits_l)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3705,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3708,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - maxsz
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3700
    functionDepth: 4
    functionLinenumber: 3700
    functionLinenumberEnd: 3713
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint32
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_string (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, size_t maxsz)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3718,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - data
    - 'off'
    - size
    - bswap
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3716
    functionDepth: 3
    functionLinenumber: 3716
    functionLinenumberEnd: 3728
    functionName: normalize_wchar
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim
    - ddsrt_bswap2u
    linkageType: ''
    returnType: bool
    signature: bool normalize_wchar (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3738,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3739,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3742,1
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3745,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3759,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3763,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - maxsz
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - size_t
    assertStmts:
    - condition: (maxsz > 0)
      pos:
        line_end: 3737
        line_start: 3737
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 3769
      start: 3730
    functionDepth: 4
    functionLinenumber: 3730
    functionLinenumberEnd: 3769
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint32
    - assert
    - dds_stream_swap
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_wstring (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, size_t maxsz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - data
    - 'off'
    - size
    - num
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3771
    functionDepth: 3
    functionLinenumber: 3771
    functionLinenumberEnd: 3782
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - check_align_prim_many
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_boolarray (char * restrict data, uint32_t * restrict off,
      uint32_t size, uint32_t num)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3790,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3795,1
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3798,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3802,1
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3805,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3809,1
    - Dst: dds_stream_swap
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3812,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 7
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - num
    - type
    - xcdr_version
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - enum dds_stream_typecode
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3784
    functionDepth: 3
    functionLinenumber: 3784
    functionLinenumberEnd: 3820
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - abort
    - dds_stream_swap
    - check_align_prim_many
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_primarray (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, uint32_t num, enum dds_stream_typecode type, uint32_t
      xcdr_version)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3828,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3833,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3838,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3842,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3843,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3848,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3852,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3853,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3858,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 7
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - enum_sz
    - num
    - max
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3822
    functionDepth: 3
    functionLinenumber: 3822
    functionLinenumberEnd: 3861
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - normalize_error_bool
    - check_align_prim_many
    - ddsrt_bswap2u
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_enumarray (char * restrict data, uint32_t * restrict off,
      uint32_t size, bool bswap, uint32_t enum_sz, uint32_t num, uint32_t max)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3866,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3869,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3873,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3874,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3879,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3885,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3886,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3887,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3893,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3899,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3900,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3901,1
    - Dst: check_align_prim_many
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3907,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3914,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3915,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3919,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3920,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3922,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3923,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - insn
    - num
    - bits_h
    - bits_l
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3863
    functionDepth: 3
    functionLinenumber: 3863
    functionLinenumberEnd: 3931
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap2u
    - bitmask_value_valid
    - ddsrt_bswap4u
    - DDS_OP_TYPE_SZ
    - normalize_error_bool
    - check_align_prim_many
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_bitmaskarray (char * restrict data, uint32_t * restrict
      off, uint32_t size, bool bswap, uint32_t xcdr_version, uint32_t insn, uint32_t
      num, uint32_t bits_h, uint32_t bits_l)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3936,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3938,1
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - has_dheader
    - size1
    - data
    - 'off'
    - size
    - bswap
    - subtype
    - xcdr_version
    argTypes:
    - bool*
    - uint32_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - enum dds_stream_typecode
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3933
    functionDepth: 4
    functionLinenumber: 3933
    functionLinenumberEnd: 3952
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint32
    - is_dheader_needed
    - normalize_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool read_and_normalize_collection_dheader (bool * restrict has_dheader,
      uint32_t * restrict size1, char * restrict data, uint32_t * restrict off, uint32_t
      size, bool bswap, const enum dds_stream_typecode subtype, uint32_t xcdr_version)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3957,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3958,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3958,1
    - Dst: read_and_normalize_collection_dheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3962,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3965,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3970,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3971,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3974,1
    - Dst: normalize_enumarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3978,1
    - Dst: normalize_primarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3983,1
    - Dst: normalize_enumarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3988,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3988,1
    - Dst: normalize_bitmaskarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:3993,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4000,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4008,1
    - Dst: normalize_wchar
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4015,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4021,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4022,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4024,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4031,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4035,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 3955
    functionDepth: 4
    functionLinenumber: 3955
    functionLinenumberEnd: 4037
    functionName: normalize_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_primarray
    - DDS_OP_SUBTYPE
    - normalize_wstring
    - DDS_OP_ADR_JSR
    - read_and_normalize_collection_dheader
    - normalize_error_ops
    - seq_is_bounded
    - normalize_bitmaskarray
    - skip_sequence_insns
    - normalize_enumarray
    - normalize_wchar
    - DDS_OP_TYPE_SZ
    - DDS_OP_ADR_JMP
    - stream_normalize_data_impl
    - read_and_normalize_uint32
    - abort
    - DDS_OP_TYPE
    - normalize_string
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *normalize_seq (char * restrict data, uint32_t * restrict
      off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4042,1
    - Dst: read_and_normalize_collection_dheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4045,1
    - Dst: normalize_boolarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4051,1
    - Dst: normalize_primarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4056,1
    - Dst: normalize_enumarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4061,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4061,1
    - Dst: normalize_bitmaskarray
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4066,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4073,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4081,1
    - Dst: normalize_wchar
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4088,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4094,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4095,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4097,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4104,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4108,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4040
    functionDepth: 4
    functionLinenumber: 4040
    functionLinenumberEnd: 4110
    functionName: normalize_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_primarray
    - DDS_OP_SUBTYPE
    - normalize_wstring
    - DDS_OP_ADR_JSR
    - read_and_normalize_collection_dheader
    - normalize_error_ops
    - normalize_bitmaskarray
    - normalize_wchar
    - normalize_enumarray
    - DDS_OP_ADR_JMP
    - DDS_OP_TYPE_SZ
    - stream_normalize_data_impl
    - abort
    - normalize_boolarray
    - normalize_string
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *normalize_arr (char * restrict data, uint32_t * restrict
      off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4115,1
    - Dst: read_and_normalize_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4119,1
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4125,1
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4131,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4134,1
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4139,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4142,1
    - Dst: read_normalize_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4147,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 7
    argNames:
    - val
    - data
    - 'off'
    - size
    - bswap
    - insn
    - ops
    argTypes:
    - uint32_t*
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4112
    functionDepth: 5
    functionLinenumber: 4112
    functionLinenumberEnd: 4152
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - read_normalize_enum
    - ddsrt_bswap2u
    - read_and_normalize_bool
    - ddsrt_bswap4u
    - check_align_prim
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool normalize_uni_disc (uint32_t * restrict val, char * restrict data,
      uint32_t * restrict off, uint32_t size, bool bswap, uint32_t insn, const uint32_t
      *ops)'
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: normalize_uni_disc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4158,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4160,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4161,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4164,1
    - Dst: normalize_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4167,1
    - Dst: normalize_uint8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4168,1
    - Dst: normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4169,1
    - Dst: normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4170,1
    - Dst: normalize_uint64
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4171,1
    - Dst: normalize_wchar
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4172,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4173,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4174,1
    - Dst: normalize_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4175,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4177,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4177,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4186
      start: 4155
    functionDepth: 4
    functionLinenumber: 4155
    functionLinenumberEnd: 4186
    functionName: normalize_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_enum
    - DDS_JEQ_TYPE
    - normalize_uni_disc
    - normalize_wstring
    - DDS_OP_ADR_JSR
    - normalize_uint64
    - normalize_uint32
    - find_union_case
    - normalize_uint16
    - normalize_wchar
    - DDS_OP_ADR_JMP
    - normalize_bool
    - stream_normalize_data_impl
    - abort
    - normalize_uint8
    - normalize_string
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *normalize_uni (char * restrict data, uint32_t * restrict
      off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: check_align_prim
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4232,1
    - Dst: read_and_normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4234,1
    - Dst: read_and_normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4236,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4258,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4264,1
    - Dst: normalize_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4270,1
    - Dst: normalize_error
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 7
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - param_length
    - must_understand
    - phdr_mid
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t*
    - bool*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4226
    functionDepth: 4
    functionLinenumber: 4226
    functionLinenumberEnd: 4296
    functionName: stream_read_normalize_xcdr1_paramheader
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - read_and_normalize_uint16
    - read_and_normalize_uint32
    - normalize_error
    - check_align_prim
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all stream_read_normalize_xcdr1_paramheader (char * restrict
      data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t *param_length,
      bool *must_understand, uint32_t *phdr_mid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_normalize_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4303,1
    - Dst: find_member_id
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - param_length
    - must_understand
    - mid_table
    - adr_op
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t*
    - bool*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4320
      start: 4299
    functionDepth: 5
    functionLinenumber: 4299
    functionLinenumberEnd: 4320
    functionName: stream_read_normalize_xcdr1_paramheader_optional
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_read_normalize_xcdr1_paramheader
    - find_member_id
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all stream_read_normalize_xcdr1_paramheader_optional
      (char * restrict data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t
      *param_length, bool *must_understand, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *adr_op)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4326,1
    - Dst: normalize_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4328,1
    - Dst: normalize_uint8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4329,1
    - Dst: normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4330,1
    - Dst: normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4331,1
    - Dst: normalize_uint64
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4332,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4333,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4334,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4335,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4336,1
    - Dst: normalize_wchar
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4337,1
    - Dst: normalize_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4338,1
    - Dst: normalize_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4339,1
    - Dst: normalize_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4340,1
    - Dst: normalize_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4341,1
    - Dst: normalize_bitmask
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4342,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4344,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4345,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4348,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4351,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4357,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 91
    argCount: 9
    argNames:
    - insn
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - cdr_kind
    argTypes:
    - uint32_t
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4323
    functionDepth: 5
    functionLinenumber: 4323
    functionLinenumberEnd: 4361
    functionName: stream_normalize_adr_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - normalize_seq
    - normalize_bitmask
    - normalize_arr
    - abort
    - normalize_enum
    - DDS_OP_ADR_JSR
    - normalize_uint32
    - DDS_OP_TYPE
    - normalize_uint16
    - op_type_base
    - DDS_OP_ADR_JMP
    - normalize_bool
    - normalize_uint64
    - normalize_uint8
    - normalize_uni
    - normalize_wstring
    - normalize_wchar
    - stream_normalize_data_impl
    - normalize_string
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all *stream_normalize_adr_impl (uint32_t insn, char *
      restrict data, uint32_t * restrict off, uint32_t size, bool bswap, uint32_t
      xcdr_version, const struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t
      *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4368,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4370,1
    - Dst: stream_normalize_adr_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4372,1
    - Dst: read_and_normalize_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4377,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4380,1
    - Dst: stream_normalize_adr_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4382,1
    - Dst: stream_read_normalize_xcdr1_paramheader_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4388,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4392,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4395,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4399,1
    - Dst: stream_normalize_adr_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4405,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4406,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 10
    argNames:
    - insn
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - is_mutable_member
    - cdr_kind
    argTypes:
    - uint32_t
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    assertStmts:
    - condition: (off1 <= param_length)
      pos:
        line_end: 4406
        line_start: 4406
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 4415
      start: 4364
    functionDepth: 6
    functionLinenumber: 4364
    functionLinenumberEnd: 4415
    functionName: stream_normalize_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_normalize_adr_impl
    - assert
    - normalize_error_ops
    - read_and_normalize_bool
    - op_type_optional
    - stream_read_normalize_xcdr1_paramheader_optional
    - dds_stream_skip_adr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_adr (uint32_t insn, char * restrict data,
      uint32_t * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version, const
      struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, bool is_mutable_member,
      enum cdr_data_kind cdr_kind)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4422,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4426,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4432,1
    - Dst: stream_normalize_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4435,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4439,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4439,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4444,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4457,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4463,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - delimited_sz
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (size1 <= size)
      pos:
        line_end: 4425
        line_start: 4425
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (*off <= size1)
      pos:
        line_end: 4462
        line_start: 4462
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 4466
      start: 4418
    functionDepth: 7
    functionLinenumber: 4418
    functionLinenumberEnd: 4466
    functionName: stream_normalize_delimited_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_normalize_adr
    - assert
    - normalize_error_ops
    - DDS_OP_JUMP
    - stream_normalize_data_impl
    - dds_stream_skip_adr
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_delimited_impl (char * restrict data, uint32_t
      * restrict off, uint32_t size, uint32_t delimited_sz, bool bswap, uint32_t xcdr_version,
      const struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, enum
      cdr_data_kind cdr_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4471,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4473,1
    - Dst: stream_normalize_delimited_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (xcdr_version == DDSI_RTPS_CDR_ENC_VERSION_2)
      pos:
        line_end: 4470
        line_start: 4470
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 4476
      start: 4469
    functionDepth: 8
    functionLinenumber: 4469
    functionLinenumberEnd: 4476
    functionName: stream_normalize_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - stream_normalize_delimited_impl
    - read_and_normalize_uint32
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_delimited (char * restrict data, uint32_t
      * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct
      dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, enum cdr_data_kind
      cdr_kind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4491,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4491,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4492,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4493,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4496,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4496,1
    - Dst: dds_stream_normalize_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4498,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 9
    argNames:
    - data
    - m_id
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - cdr_kind
    argTypes:
    - char*
    - uint32_t
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_PLM)
      pos:
        line_end: 4490
        line_start: 4490
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (plm_ops[0]) == DDS_OP_PLC)
      pos:
        line_end: 4495
        line_start: 4495
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 4511
      start: 4485
    functionDepth: 1
    functionLinenumber: 4485
    functionLinenumberEnd: 4511
    functionName: dds_stream_normalize_pl_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - dds_stream_normalize_pl_member
    - assert
    - DDS_OP_ADR_PLM
    - stream_normalize_data_impl
    - DDS_OP
    linkageType: ''
    returnType: enum normalize_pl_member_result
    signature: enum normalize_pl_member_result dds_stream_normalize_pl_member (char
      * restrict data, uint32_t m_id, uint32_t * restrict off, uint32_t size, bool
      bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc_mid_table *mid_table,
      const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_normalize_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4526,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4529,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4536,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4545,1
    - Dst: dds_stream_normalize_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4548,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 8
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4515
    functionDepth: 5
    functionLinenumber: 4515
    functionLinenumberEnd: 4588
    functionName: stream_normalize_xcdr1_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_normalize_pl_member
    - normalize_error_ops
    - stream_read_normalize_xcdr1_paramheader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_xcdr1_pl (char * restrict data, uint32_t
      * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct
      dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, enum cdr_data_kind
      cdr_kind)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4599,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4603,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4610,1
    - Dst: EMHEADER_LENGTH_CODE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4612,1
    - Dst: EMHEADER_MEMBERID
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4612,1
    - Dst: read_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4621,1
    - Dst: peek_and_normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4626,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4632,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4639,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4644,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4649,1
    - Dst: dds_stream_normalize_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4652,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4661,1
    - Dst: normalize_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4670,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 7
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - ops
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4682
      start: 4592
    functionDepth: 4
    functionLinenumber: 4592
    functionLinenumberEnd: 4682
    functionName: stream_normalize_xcdr2_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - EMHEADER_MEMBERID
    - dds_stream_normalize_pl_member
    - normalize_error_ops
    - EMHEADER_LENGTH_CODE
    - abort
    - read_and_normalize_uint32
    - peek_and_normalize_uint32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_xcdr2_pl (char * restrict data, uint32_t
      * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version, const uint32_t
      *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4690,1
    - Dst: stream_normalize_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4693,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4698,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4698,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4704,1
    - Dst: stream_normalize_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4710,1
    - Dst: stream_normalize_delimited_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4716,1
    - Dst: stream_normalize_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4724,1
    - Dst: stream_normalize_xcdr1_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4729,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 9
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - is_mutable_member
    - cdr_kind
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4737
      start: 4685
    functionDepth: 9
    functionLinenumber: 4685
    functionLinenumberEnd: 4737
    functionName: stream_normalize_data_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 7
    functionsReached:
    - stream_normalize_delimited
    - stream_normalize_delimited_impl
    - stream_normalize_adr
    - stream_normalize_xcdr1_pl
    - stream_normalize_xcdr2_pl
    - DDS_OP_JUMP
    - stream_normalize_data_impl
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_normalize_data_impl (char * restrict data, uint32_t
      * restrict off, uint32_t size, bool bswap, uint32_t xcdr_version, const struct
      dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, bool is_mutable_member,
      enum cdr_data_kind cdr_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - 'off'
    - size
    - bswap
    - ops
    argTypes:
    - char*
    - uint32_t*
    - uint32_t
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4743
      start: 4739
    functionDepth: 10
    functionLinenumber: 4739
    functionLinenumberEnd: 4743
    functionName: dds_stream_normalize_xcdr2_data
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - stream_normalize_data_impl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_normalize_xcdr2_data (char * restrict data, uint32_t
      * restrict off, uint32_t size, bool bswap, const uint32_t *ops)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4749,1
    - Dst: key_optimized_allowed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4749,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4750,1
    - Dst: normalize_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4752,1
    - Dst: normalize_uint8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4753,1
    - Dst: normalize_uint16
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4754,1
    - Dst: normalize_uint32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4755,1
    - Dst: normalize_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4756,1
    - Dst: normalize_bitmask
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4757,1
    - Dst: normalize_uint64
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4758,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4759,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4760,1
    - Dst: normalize_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4761,1
    - Dst: normalize_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4762,1
    - Dst: normalize_wchar
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4763,1
    - Dst: normalize_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4764,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4766,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4767,1
    - Dst: stream_normalize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4768,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4773,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 9
    argNames:
    - data
    - size
    - offs
    - bswap
    - xcdr_version
    - mid_table
    - ops
    - key_offset_count
    - key_offset_insn
    argTypes:
    - void*
    - uint32_t
    - uint32_t*
    - bool
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: (key_optimized_allowed (insn))
      pos:
        line_end: 4748
        line_start: 4748
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (key_offset_count > 0)
      pos:
        line_end: 4765
        line_start: 4765
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 4777
      start: 4746
    functionDepth: 5
    functionLinenumber: 4746
    functionLinenumberEnd: 4777
    functionName: stream_normalize_key_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - normalize_enum
    - key_optimized_allowed
    - normalize_wstring
    - DDS_OP_ADR_JSR
    - assert
    - normalize_bitmask
    - normalize_uint64
    - normalize_uint32
    - stream_normalize_key_impl
    - normalize_uint16
    - normalize_wchar
    - normalize_bool
    - normalize_arr
    - abort
    - DDS_OP_TYPE
    - normalize_uint8
    - normalize_string
    linkageType: ''
    returnType: bool
    signature: bool stream_normalize_key_impl (void * restrict data, uint32_t size,
      uint32_t *offs, bool bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, uint16_t key_offset_count, const uint32_t *
      key_offset_insn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4788,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4799,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4802,1
    - Dst: stream_normalize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4803,1
    - Dst: stream_normalize_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4808,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - data
    - size
    - bswap
    - xcdr_version
    - desc
    - actual_size
    argTypes:
    - void*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4779
    functionDepth: 10
    functionLinenumber: 4779
    functionLinenumberEnd: 4820
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - stream_normalize_key_impl
    - stream_normalize_data_impl
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool stream_normalize_key (void * restrict data, uint32_t size, bool
      bswap, uint32_t xcdr_version, const struct dds_cdrstream_desc *desc, uint32_t
      *actual_size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: normalize_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4826,1
    - Dst: stream_normalize_key
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4828,1
    - Dst: stream_normalize_data_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - data
    - size
    - bswap
    - xcdr_version
    - desc
    - just_key
    - actual_size
    argTypes:
    - void*
    - uint32_t
    - bool
    - uint32_t
    - struct dds_cdrstream_desc*
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4822
    functionDepth: 10
    functionLinenumber: 4822
    functionLinenumberEnd: 4836
    functionName: dds_stream_normalize
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 10
    functionsReached:
    - stream_normalize_key
    - normalize_error_bool
    - stream_normalize_data_impl
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_normalize (void *data, uint32_t size, bool bswap, uint32_t
      xcdr_version, const struct dds_cdrstream_desc *desc, bool just_key, uint32_t
      *actual_size)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4848,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4849,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4849,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4866,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4873,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4879,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4880,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4884,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4891,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4897,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4901,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - addr
    - allocator
    - ops
    - insn
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4844
    functionDepth: 2
    functionLinenumber: 4844
    functionLinenumberEnd: 4907
    functionName: dds_stream_free_sample_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - struct dds_cdrstream_allocator*::free
    - DDS_OP_ADR_JSR
    - seq_is_bounded
    - skip_sequence_insns
    - DDS_OP_ADR_JMP
    - dds_stream_free_sample
    - abort
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_free_sample_seq (char * restrict addr, const struct
      dds_cdrstream_allocator *allocator, const uint32_t *ops, uint32_t insn)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4912,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4922,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4928,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4932,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4933,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4937,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4944,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - addr
    - allocator
    - ops
    - insn
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4949
      start: 4909
    functionDepth: 1
    functionLinenumber: 4909
    functionLinenumberEnd: 4949
    functionName: dds_stream_free_sample_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - struct dds_cdrstream_allocator*::free
    - DDS_OP_ADR_JSR
    - DDS_OP_ADR_JMP
    - dds_stream_free_sample
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_free_sample_arr (char * restrict addr, const struct
      dds_cdrstream_allocator *allocator, const uint32_t *ops, uint32_t insn)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4954,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4959,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4961,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4962,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4965,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4969,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4971,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4971,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4981,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4985,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4989,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4989,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4992,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4997,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:4999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 5
    argNames:
    - discaddr
    - baseaddr
    - allocator
    - ops
    - insn
    argTypes:
    - char*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (DDS_OP (jeq_op[0]) == DDS_OP_JEQ4)
      pos:
        line_end: 4970
        line_start: 4970
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5005
      start: 4951
    functionDepth: 2
    functionLinenumber: 4951
    functionLinenumberEnd: 5005
    functionName: dds_stream_free_sample_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_JEQ_TYPE
    - op_type_external
    - DDS_OP_SUBTYPE
    - struct dds_cdrstream_allocator*::free
    - DDS_OP_ADR_JSR
    - assert
    - find_union_case
    - DDS_OP_ADR_JMP
    - dds_stream_free_sample
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_free_sample_uni (char * restrict discaddr, char
      * restrict baseaddr, const struct dds_cdrstream_allocator *allocator, const
      uint32_t *ops, uint32_t insn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5010,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5014,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5017,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5018,1
    - Dst: dds_stream_free_sample_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5020,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5022,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - addr
    - allocator
    - ops
    argTypes:
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    assertStmts:
    - condition: (ops[0] == DDS_OP_PLC)
      pos:
        line_end: 5009
        line_start: 5009
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5032
      start: 5007
    functionDepth: 1
    functionLinenumber: 5007
    functionLinenumberEnd: 5032
    functionName: dds_stream_free_sample_xcdr2_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - dds_stream_free_sample_xcdr2_pl
    - assert
    - DDS_OP_ADR_PLM
    - dds_stream_free_sample
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_free_sample_xcdr2_pl (char * restrict addr, const
      struct dds_cdrstream_allocator *allocator, const uint32_t *ops)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5036,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5036,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5038,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5042,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5048,1
    - Dst: dds_stream_free_sample_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5055,1
    - Dst: dds_stream_free_sample_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5056,1
    - Dst: dds_stream_free_sample_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5057,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5059,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5060,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5061,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5066,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 5
    argNames:
    - insn
    - addr
    - data
    - allocator
    - ops
    argTypes:
    - uint32_t
    - void*
    - void*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 5035
        line_start: 5035
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5071
      start: 5034
    functionDepth: 3
    functionLinenumber: 5034
    functionLinenumberEnd: 5071
    functionName: stream_free_sample_adr_nonexternal
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::free
    - dds_stream_free_sample_arr
    - DDS_OP
    - DDS_OP_ADR_JSR
    - assert
    - dds_stream_free_sample_uni
    - DDS_OP_ADR_JMP
    - dds_stream_free_sample
    - abort
    - DDS_OP_TYPE
    - dds_stream_free_sample_seq
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_free_sample_adr_nonexternal (uint32_t insn, void *
      restrict addr, void * restrict data, const struct dds_cdrstream_allocator *allocator,
      const uint32_t *ops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5075,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5075,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5076,1
    - Dst: stream_free_sample_adr_nonexternal
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5079,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5087,1
    - Dst: stream_free_sample_adr_nonexternal
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5091,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - insn
    - data
    - allocator
    - ops
    argTypes:
    - uint32_t
    - void*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 5074
        line_start: 5074
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5097
      start: 5073
    functionDepth: 4
    functionLinenumber: 5073
    functionLinenumberEnd: 5097
    functionName: stream_free_sample_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - op_type_external
    - struct dds_cdrstream_allocator*::free
    - assert
    - stream_free_sample_adr_nonexternal
    - dds_stream_skip_adr
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *stream_free_sample_adr (uint32_t insn, void * restrict data,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5104,1
    - Dst: stream_free_sample_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5107,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5110,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5110,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5114,1
    - Dst: dds_stream_free_sample_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - data
    - allocator
    - ops
    argTypes:
    - void*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5099
    functionDepth: 5
    functionLinenumber: 5099
    functionLinenumberEnd: 5124
    functionName: dds_stream_free_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 21
    functionsReached:
    - dds_stream_free_sample_xcdr2_pl
    - stream_free_sample_adr
    - DDS_OP_JUMP
    - dds_stream_free_sample
    - abort
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_free_sample (void *data, const struct dds_cdrstream_allocator
      *allocator, const uint32_t *ops)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5138,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5138,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5139,1
    - Dst: dds_os_put1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5142,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5142,1
    - Dst: dds_os_put2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5144,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5144,1
    - Dst: dds_os_put4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5145,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5145,1
    - Dst: dds_os_put8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5146,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5146,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5148,1
    - Dst: dds_os_put1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5150,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5150,1
    - Dst: dds_os_put2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5151,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5151,1
    - Dst: dds_os_put4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5152,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5152,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5153,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5153,1
    - Dst: dds_os_put8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5153,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5153,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5154,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5159,1
    - Dst: dds_os_put4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5160,1
    - Dst: dds_os_put_bytes_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5161,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5166,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5170,1
    - Dst: dds_os_reserve4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5174,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5177,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5178,1
    - Dst: is_primitive_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5179,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5180,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5182,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5184,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5185,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5186,1
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5188,1
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5189,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5191,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5194,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5199,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5200,1
    - Dst: dds_stream_extract_key_from_key_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5201,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5205,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 7
    argNames:
    - is
    - os
    - allocator
    - mid_table
    - ops
    - key_offset_count
    - key_offset_insn
    argTypes:
    - dds_istream_t*
    - restrict_ostream_t*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: (key_offset_count > 0)
      pos:
        line_end: 5198
        line_start: 5198
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: ((insn & DDS_OP_FLAG_KEY) && ((DDS_OP (insn)) == DDS_OP_ADR))
      pos:
        line_end: 5137
        line_start: 5137
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP_TYPE(insn) == DDS_OP_VAL_BMK)
      pos:
        line_end: 5152
        line_start: 5152
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5209
      start: 5135
    functionDepth: 5
    functionLinenumber: 5135
    functionLinenumberEnd: 5209
    functionName: dds_stream_extract_key_from_key_prim_op
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_is_get8
    - dds_os_put2
    - dds_stream_extract_key_from_key_prim_op
    - DDS_OP_TYPE_SZ
    - abort
    - DDS_OP
    - dds_cdr_alignto_clear_and_resize_base
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_cdr_get_align
    - DDS_OP_TYPE
    - dds_os_put8
    - dds_os_put1
    - assert
    - dds_is_get2
    - dds_os_reserve4
    - dds_os_put4
    - dds_is_get1
    - is_dheader_needed
    - dds_is_get4
    - dds_is_get_bytes
    - is_primitive_type
    - dds_cdr_alignto
    - dds_os_put_bytes_base
    - get_primitive_size
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_key_from_key_prim_op (dds_istream_t *is, restrict_ostream_t
      *os, const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, uint16_t key_offset_count, const uint32_t *
      key_offset_insn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5214,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5218,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5224,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5231,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5239,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - vdst
    - vsrc
    - size
    - num
    argTypes:
    - void*
    - void*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (size == 1 || size == 2 || size == 4 || size == 8)
      pos:
        line_end: 5213
        line_start: 5213
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5245
      start: 5212
    functionDepth: 2
    functionLinenumber: 5212
    functionLinenumberEnd: 5245
    functionName: dds_stream_swap_copy
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_bswap4u
    - memcpy
    - assert
    - ddsrt_bswap2u
    linkageType: ''
    returnType: void
    signature: void dds_stream_swap_copy (void * restrict vdst, const void *vsrc,
      uint32_t size, uint32_t num)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5251,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5251,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5252,1
    - Dst: dds_os_put1BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5255,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5255,1
    - Dst: dds_os_put2BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5257,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5257,1
    - Dst: dds_os_put4BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5258,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5258,1
    - Dst: dds_os_put8BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5259,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5259,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5261,1
    - Dst: dds_os_put1BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5263,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5263,1
    - Dst: dds_os_put2BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5264,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5264,1
    - Dst: dds_os_put4BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5265,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5265,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5266,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5266,1
    - Dst: dds_os_put8BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5266,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5266,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5267,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5272,1
    - Dst: dds_os_put4BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5273,1
    - Dst: dds_os_put_bytes_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5274,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5279,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5283,1
    - Dst: dds_os_reserve4BE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5287,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5290,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5292,1
    - Dst: is_primitive_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5294,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5295,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5297,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5299,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5300,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5301,1
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5303,1
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5304,1
    - Dst: dds_stream_swap_copy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5307,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5312,1
    - Dst: ddsrt_toBE4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5313,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5317,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5318,1
    - Dst: dds_stream_extract_keyBE_from_key_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5319,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 7
    argNames:
    - is
    - os
    - allocator
    - mid_table
    - ops
    - key_offset_count
    - key_offset_insn
    argTypes:
    - dds_istream_t*
    - restrict_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: ((insn & DDS_OP_FLAG_KEY) && ((DDS_OP (insn)) == DDS_OP_ADR))
      pos:
        line_end: 5250
        line_start: 5250
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP_TYPE (insn) == DDS_OP_VAL_BMK)
      pos:
        line_end: 5265
        line_start: 5265
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (key_offset_count > 0)
      pos:
        line_end: 5316
        line_start: 5316
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5327
      start: 5248
    functionDepth: 5
    functionLinenumber: 5248
    functionLinenumberEnd: 5327
    functionName: dds_stream_extract_keyBE_from_key_prim_op
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_is_get8
    - DDS_OP_TYPE_SZ
    - abort
    - DDS_OP
    - dds_cdr_alignto_clear_and_resize_base
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_os_put2BE
    - dds_cdr_get_align
    - DDS_OP_TYPE
    - dds_os_put8BE
    - assert
    - dds_is_get2
    - dds_stream_extract_keyBE_from_key_prim_op
    - dds_os_put1BE
    - dds_is_get1
    - dds_os_put4BE
    - is_dheader_needed
    - dds_stream_swap_copy
    - dds_is_get4
    - ddsrt_toBE4u
    - is_primitive_type
    - dds_cdr_alignto
    - dds_os_put_bytes_base
    - dds_os_reserve4BE
    - get_primitive_size
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_keyBE_from_key_prim_op (dds_istream_t *is,
      restrict_ostreamBE_t *os, const struct dds_cdrstream_allocator *allocator, const
      struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, uint16_t
      key_offset_count, const uint32_t * key_offset_insn)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5333,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5333,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5337,1
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5338,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5338,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5347,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5347,1
    - Dst: dds_cdr_alignto
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5348,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5348,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5356,1
    - Dst: dds_stream_extract_key_from_data1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5364,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 5
    argNames:
    - is
    - num
    - insn
    - subtype
    - subops
    argTypes:
    - dds_istream_t*
    - uint32_t
    - uint32_t
    - enum dds_stream_typecode
    - uint32_t*
    assertStmts:
    - condition: (subops != NULL || DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 5332
        line_start: 5332
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5372
      start: 5331
    functionDepth: 3
    functionLinenumber: 5331
    functionLinenumberEnd: 5372
    functionName: dds_stream_extract_key_from_data_skip_subtype
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - assert
    - dds_cdr_get_align
    - dds_stream_extract_key_from_data1
    - DDS_OP_TYPE_SZ
    - abort
    - dds_cdr_alignto
    - get_primitive_size
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_key_from_data_skip_subtype (dds_istream_t *is,
      uint32_t num, uint32_t insn, enum dds_stream_typecode subtype, const uint32_t
      *subops)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5378,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5378,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5379,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5383,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5385,1
    - Dst: type_has_subtype_or_members
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5388,1
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5389,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5389,1
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5391,1
    - Dst: skip_array_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - is
    - ops
    argTypes:
    - dds_istream_t*
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP_TYPE (insn) == DDS_OP_VAL_ARR)
      pos:
        line_end: 5377
        line_start: 5377
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5393
      start: 5375
    functionDepth: 4
    functionLinenumber: 5375
    functionLinenumberEnd: 5393
    functionName: dds_stream_extract_key_from_data_skip_array
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - DDS_OP_SUBTYPE
    - dds_is_get4
    - type_has_subtype_or_members
    - DDS_OP_ADR_JSR
    - skip_array_insns
    - assert
    - dds_stream_extract_key_from_data_skip_subtype
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_key_from_data_skip_array (dds_istream_t
      *is, const uint32_t *ops)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5399,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5399,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5400,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5403,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5405,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5410,1
    - Dst: type_has_subtype_or_members
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5413,1
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5414,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5414,1
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5416,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - is
    - ops
    argTypes:
    - dds_istream_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5420
      start: 5396
    functionDepth: 4
    functionLinenumber: 5396
    functionLinenumberEnd: 5420
    functionName: dds_stream_extract_key_from_data_skip_sequence
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_is_get4
    - DDS_OP_SUBTYPE
    - type_has_subtype_or_members
    - DDS_OP_ADR_JSR
    - seq_is_bounded
    - skip_sequence_insns
    - dds_stream_extract_key_from_data_skip_subtype
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_key_from_data_skip_sequence (dds_istream_t
      *is, const uint32_t *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5426,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5426,1
    - Dst: read_union_discriminant
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5427,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5428,1
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5430,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5430,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5430,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - is
    - ops
    argTypes:
    - dds_istream_t*
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP_TYPE (insn) == DDS_OP_VAL_UNI)
      pos:
        line_end: 5425
        line_start: 5425
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5432
      start: 5423
    functionDepth: 4
    functionLinenumber: 5423
    functionLinenumberEnd: 5432
    functionName: dds_stream_extract_key_from_data_skip_union
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - read_union_discriminant
    - DDS_OP_ADR_JSR
    - assert
    - find_union_case
    - DDS_OP_ADR_JMP
    - dds_stream_extract_key_from_data_skip_subtype
    - DDS_OP_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_key_from_data_skip_union (dds_istream_t
      *is, const uint32_t *ops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5443,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - is
    - ops
    argTypes:
    - dds_istream_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5461
      start: 5435
    functionDepth: 4
    functionLinenumber: 5435
    functionLinenumberEnd: 5461
    functionName: dds_stream_extract_key_from_data_skip_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - stream_read_xcdr1_paramheader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_key_from_data_skip_pl (dds_istream_t *is,
      const uint32_t *ops)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_extract_key_from_data_skip_subtype
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5472,1
    - Dst: dds_stream_extract_key_from_data_skip_sequence
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5481,1
    - Dst: dds_stream_extract_key_from_data_skip_array
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5484,1
    - Dst: dds_stream_extract_key_from_data_skip_union
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5487,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5490,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - is
    - ops
    - type
    argTypes:
    - dds_istream_t*
    - uint32_t*
    - enum dds_stream_typecode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5464
    functionDepth: 5
    functionLinenumber: 5464
    functionLinenumberEnd: 5497
    functionName: dds_stream_extract_key_from_data_skip_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_extract_key_from_data_skip_union
    - dds_stream_extract_key_from_data_skip_sequence
    - dds_stream_extract_key_from_data_skip_subtype
    - abort
    - dds_stream_extract_key_from_data_skip_array
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_key_from_data_skip_adr (dds_istream_t
      *is, const uint32_t *ops, enum dds_stream_typecode type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5513,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - is
    - data
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - void*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5505
    functionDepth: 10
    functionLinenumber: 5505
    functionLinenumberEnd: 5519
    functionName: dds_stream_read_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 6
    functionsReached:
    - dds_stream_read_impl
    - dds_is_get_bytes
    linkageType: ''
    returnType: void
    signature: void dds_stream_read_sample (dds_istream_t *is, void *data, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc *desc)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5525,1
    - Dst: key_optimized_allowed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5525,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5527,1
    - Dst: dds_stream_alloc_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5528,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5530,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5533,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5534,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5535,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5536,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5537,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5539,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5541,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5542,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5543,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5544,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5548,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5550,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5551,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5552,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5553,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5554,1
    - Dst: dds_stream_reuse_string
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5557,1
    - Dst: dds_stream_reuse_wstring
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5558,1
    - Dst: dds_stream_reuse_string_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5559,1
    - Dst: dds_stream_reuse_wstring_bound
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5560,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5562,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5565,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5566,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5570,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5570,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5573,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5577,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5581,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5584,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5589,1
    - Dst: dds_is_get_bytes
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5590,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5594,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5598,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5601,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5602,1
    - Dst: dds_stream_read_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5603,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 113
    argCount: 7
    argNames:
    - is
    - sample
    - allocator
    - ops
    - key_offset_count
    - key_offset_insn
    - sample_state
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint16_t
    - uint32_t*
    - enum sample_data_state
    assertStmts:
    - condition: (key_optimized_allowed (insn))
      pos:
        line_end: 5524
        line_start: 5524
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (key_offset_count > 0)
      pos:
        line_end: 5600
        line_start: 5600
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 5607
      start: 5521
    functionDepth: 5
    functionLinenumber: 5521
    functionLinenumberEnd: 5607
    functionName: dds_stream_read_key_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_is_get8
    - DDS_OP_TYPE_SZ
    - abort
    - op_type_external
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_stream_alloc_external
    - DDS_OP_TYPE
    - dds_stream_read_key_impl
    - key_optimized_allowed
    - assert
    - dds_is_get2
    - dds_stream_reuse_string_bound
    - dds_is_get1
    - is_dheader_needed
    - dds_is_get4
    - dds_stream_reuse_string
    - dds_stream_reuse_wstring_bound
    - dds_stream_reuse_wstring
    - dds_is_get_bytes
    - get_primitive_size
    linkageType: ''
    returnType: void
    signature: void dds_stream_read_key_impl (dds_istream_t *is, char *sample, const
      struct dds_cdrstream_allocator *allocator, const uint32_t *ops, uint16_t key_offset_count,
      const uint32_t * key_offset_insn, enum sample_data_state sample_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5615,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5625,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5628,1
    - Dst: dds_stream_read_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5629,1
    - Dst: dds_stream_read_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5633,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - is
    - sample
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - char*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5642
      start: 5609
    functionDepth: 10
    functionLinenumber: 5609
    functionLinenumberEnd: 5642
    functionName: dds_stream_read_key
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 3
    functionsReached:
    - DDS_OP_LENGTH
    - dds_stream_read_key_impl
    - dds_stream_read_impl
    - abort
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_read_key (dds_istream_t *is, char *sample, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_key
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - os
    - ser_kind
    - allocator
    - sample
    - desc
    argTypes:
    - dds_ostreamBE_t*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - char*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5661
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5661
    functionName: dds_stream_write_keyBE
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_write_key
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_keyBE (dds_ostreamBE_t *os, enum dds_cdr_key_serialization_kind
      ser_kind, const struct dds_cdrstream_allocator *allocator, const char *sample,
      const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_extract_key_from_data
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - is
    - os
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - dds_ostreamBE_t*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5666
      start: 5663
    functionDepth: 0
    functionLinenumber: 5663
    functionLinenumberEnd: 5666
    functionName: dds_stream_extract_keyBE_from_data
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_extract_key_from_data
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_extract_keyBE_from_data (dds_istream_t *is, dds_ostreamBE_t
      *os, const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc
      *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_extract_key_from_key
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - is
    - os
    - ser_kind
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - dds_ostreamBE_t*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5668
    functionDepth: 0
    functionLinenumber: 5668
    functionLinenumberEnd: 5671
    functionName: dds_stream_extract_keyBE_from_key
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_extract_key_from_key
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_keyBE_from_key (dds_istream_t *is, dds_ostreamBE_t
      *os, enum dds_cdr_key_serialization_kind ser_kind, const struct dds_cdrstream_allocator
      *allocator, const struct dds_cdrstream_desc *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5688,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5689,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufsize
    - fmt
    argTypes:
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5683
    functionDepth: 0
    functionLinenumber: 5683
    functionLinenumberEnd: 5708
    functionName: prtf
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 11
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: bool
    signature: bool prtf (char **buf, size_t *bufsize, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5713,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - bufsize
    - is
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5717
      start: 5710
    functionDepth: 3
    functionLinenumber: 5710
    functionLinenumberEnd: 5717
    functionName: prtf_str
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - prtf
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_str (char **buf, size_t *bufsize,
      dds_istream_t *is)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufsize
    - utf32
    argTypes:
    - char**
    - size_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5735
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5735
    functionName: prtf_utf32
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_utf32 (char **buf, size_t *bufsize,
      uint32_t utf32)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5740,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5741,1
    - Dst: prtf_utf32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5754,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufsize
    - is
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5759
      start: 5737
    functionDepth: 3
    functionLinenumber: 5737
    functionLinenumberEnd: 5759
    functionName: prtf_wstr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_utf32
    - dds_is_get4
    - prtf
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_wstr (char **buf, size_t *bufsize,
      dds_istream_t *is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5767
      start: 5761
    functionDepth: 0
    functionLinenumber: 5761
    functionLinenumberEnd: 5767
    functionName: isprint_runlen
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - isprint
    linkageType: ''
    returnType: size_t
    signature: size_t isprint_runlen (const unsigned char *s, size_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5772,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5775,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5776,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5779,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5780,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5783,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5784,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5787,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5788,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - bufsize
    - is
    - flags
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5794
      start: 5769
    functionDepth: 3
    functionLinenumber: 5769
    functionLinenumberEnd: 5794
    functionName: prtf_enum_bitmask
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get8
    - dds_is_get4
    - dds_is_get2
    - DDS_OP_FLAGS_SZ
    - dds_is_get1
    - prtf
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_enum_bitmask (char **buf, size_t
      *bufsize, dds_istream_t *is, uint32_t flags)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5802,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5803,1
    - Dst: dds_is_get1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5806,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5808,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5810,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5813,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5815,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5817,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5820,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5822,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5824,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5826,1
    - Dst: dds_is_get8
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5829,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5831,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5833,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5835,1
    - Dst: dds_is_get2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5838,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5839,1
    - Dst: prtf_utf32
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5839,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5839,1
    - Dst: prtf_enum_bitmask
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5842,1
    - Dst: prtf_str
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5843,1
    - Dst: prtf_wstr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5844,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5846,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 5
    argNames:
    - buf
    - bufsize
    - is
    - type
    - flags
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - enum dds_stream_typecode
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5849
      start: 5796
    functionDepth: 4
    functionLinenumber: 5796
    functionLinenumberEnd: 5849
    functionName: prtf_simple
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_is_get8
    - dds_is_get4
    - prtf_wstr
    - prtf_enum_bitmask
    - prtf_str
    - dds_is_get2
    - dds_is_get1
    - prtf
    - prtf_utf32
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_simple (char **buf, size_t
      *bufsize, dds_istream_t *is, enum dds_stream_typecode type, uint32_t flags)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5854,1
    - Dst: isprint_runlen
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5862,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5865,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5868,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5870,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5878,1
    - Dst: prtf_simple
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5880,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5891,1
    - Dst: prtf_enum_bitmask
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5893,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5903,1
    - Dst: prtf_simple
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5905,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5915,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5918,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 6
    argNames:
    - buf
    - bufsize
    - is
    - num
    - type
    - flags
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t
    - enum dds_stream_typecode
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5851
    functionDepth: 5
    functionLinenumber: 5851
    functionLinenumberEnd: 5919
    functionName: prtf_simple_array
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_enum_bitmask
    - prtf_simple
    - isprint_runlen
    - prtf
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_simple_array (char **buf, size_t
      *bufsize, dds_istream_t *is, uint32_t num, enum dds_stream_typecode type, uint32_t
      flags)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5927,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5928,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5928,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5929,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5930,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5932,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5935,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5937,1
    - Dst: prtf_simple_array
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5942,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5942,1
    - Dst: prtf_simple_array
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5948,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5948,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5958,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5959,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5960,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5964,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5966,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5969,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5974,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 6
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5979
      start: 5924
    functionDepth: 6
    functionLinenumber: 5924
    functionLinenumberEnd: 5979
    functionName: prtf_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_is_get4
    - DDS_OP_SUBTYPE
    - DDS_OP_FLAGS
    - DDS_OP_ADR_JSR
    - seq_is_bounded
    - skip_sequence_insns
    - DDS_OP_ADR_JMP
    - prtf
    - abort
    - DDS_OP_TYPE
    - prtf_simple_array
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_seq (char **buf, size_t *bufsize,
      dds_istream_t *is, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5984,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5985,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5986,1
    - Dst: prtf_simple_array
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5993,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:5993,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6003,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6004,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6005,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6010,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6012,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6015,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6020,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 6
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6025
      start: 5981
    functionDepth: 6
    functionLinenumber: 5981
    functionLinenumberEnd: 6025
    functionName: prtf_arr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - dds_is_get4
    - DDS_OP_SUBTYPE
    - DDS_OP_FLAGS
    - DDS_OP_ADR_JSR
    - DDS_OP_ADR_JMP
    - prtf
    - abort
    - prtf_simple_array
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_arr (char **buf, size_t *bufsize,
      dds_istream_t *is, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: read_union_discriminant
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6030,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6031,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6032,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6034,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6037,1
    - Dst: prtf_simple
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6042,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6042,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6046,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6046,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 6
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - insn
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6056
      start: 6027
    functionDepth: 5
    functionLinenumber: 6027
    functionLinenumberEnd: 6056
    functionName: prtf_uni
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_JEQ_TYPE
    - read_union_discriminant
    - DDS_OP_FLAGS
    - DDS_OP_ADR_JSR
    - prtf_simple
    - find_union_case
    - DDS_OP_ADR_JMP
    - prtf
    - abort
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_uni (char **buf, size_t *bufsize,
      dds_istream_t *is, const uint32_t *ops, uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6063,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6067,1
    - Dst: stream_is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6069,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6071,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6074,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6089,1
    - Dst: prtf_simple
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6093,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6093,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6093,1
    - Dst: prtf_simple
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6098,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6098,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6098,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6100,1
    - Dst: prtf_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6103,1
    - Dst: prtf_arr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6106,1
    - Dst: prtf_uni
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6109,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6112,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6113,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6115,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6117,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6123,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6127,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 7
    argNames:
    - buf
    - bufsize
    - insn
    - is
    - ops
    - is_mutable_member
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - uint32_t
    - dds_istream_t*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6133
      start: 6058
    functionDepth: 7
    functionLinenumber: 6058
    functionLinenumberEnd: 6133
    functionName: dds_stream_print_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_arr
    - prtf_uni
    - prtf_seq
    - DDS_OP_FLAGS
    - DDS_OP_ADR_JSR
    - prtf_simple
    - stream_is_member_present
    - op_type_base
    - op_type_optional
    - DDS_OP_ADR_JMP
    - prtf
    - dds_stream_skip_adr
    - abort
    - DDS_OP_TYPE
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result * dds_stream_print_adr (char **buf,
      size_t *bufsize, uint32_t insn, dds_istream_t *is, const uint32_t *ops, bool
      is_mutable_member, enum cdr_data_kind cdr_kind)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6144,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6147,1
    - Dst: dds_stream_print_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6151,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6151,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6155,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6155,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - buf
    - bufsize
    - delimited_sz
    - is
    - ops
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - uint32_t
    - dds_istream_t*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6135
    functionDepth: 8
    functionLinenumber: 6135
    functionLinenumberEnd: 6169
    functionName: prtf_delimited_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_print_adr
    - DDS_OP_JUMP
    - prtf
    - dds_stream_skip_adr
    - abort
    - DDS_OP
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_delimited_impl (char **buf,
      size_t *bufsize, uint32_t delimited_sz, dds_istream_t *is, const uint32_t *ops,
      enum cdr_data_kind cdr_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6174,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6175,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6176,1
    - Dst: prtf_delimited_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (is->m_xcdr_version == DDSI_RTPS_CDR_ENC_VERSION_2)
      pos:
        line_end: 6173
        line_start: 6173
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6179
      start: 6171
    functionDepth: 9
    functionLinenumber: 6171
    functionLinenumberEnd: 6179
    functionName: prtf_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_delimited_impl
    - assert
    - dds_is_get4
    - prtf
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_delimited (char **buf, size_t
      *bufsize, dds_istream_t *is, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6188,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6188,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6189,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6190,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6193,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6193,1
    - Dst: prtf_plm
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6195,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - buf
    - bufsize
    - is
    - m_id
    - ops
    - cdr_kind
    - found
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t
    - uint32_t*
    - enum cdr_data_kind
    - bool*
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_PLM)
      pos:
        line_end: 6187
        line_start: 6187
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (DDS_OP (plm_ops[0]) == DDS_OP_PLC)
      pos:
        line_end: 6192
        line_start: 6192
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6206
      start: 6181
    functionDepth: 1
    functionLinenumber: 6181
    functionLinenumberEnd: 6206
    functionName: prtf_plm
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - prtf_plm
    - DDS_PLM_FLAGS
    - assert
    - DDS_OP_ADR_PLM
    - DDS_OP
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result prtf_plm (char **buf, size_t *bufsize,
      dds_istream_t *is, uint32_t m_id, const uint32_t *ops, enum cdr_data_kind cdr_kind,
      bool *found)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_read_xcdr1_paramheader
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6215,1
    - Dst: prtf_plm
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6236
      start: 6208
    functionDepth: 4
    functionLinenumber: 6208
    functionLinenumberEnd: 6236
    functionName: prtf_xcdr1_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_plm
    - stream_read_xcdr1_paramheader
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_xcdr1_pl (char **buf, size_t
      *bufsize, dds_istream_t *is, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6244,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6245,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6251,1
    - Dst: EMHEADER_LENGTH_CODE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6252,1
    - Dst: EMHEADER_MEMBERID
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6252,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6253,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6261,1
    - Dst: dds_is_peek4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6264,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6269,1
    - Dst: prtf_plm
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6279,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 5
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (is->m_index == next_off)
      pos:
        line_end: 6286
        line_start: 6286
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6295
      start: 6238
    functionDepth: 3
    functionLinenumber: 6238
    functionLinenumberEnd: 6295
    functionName: prtf_xcdr2_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - prtf_plm
    - dds_is_get4
    - EMHEADER_MEMBERID
    - dds_is_peek4
    - assert
    - EMHEADER_LENGTH_CODE
    - prtf
    - abort
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result *prtf_xcdr2_pl (char **buf, size_t
      *bufsize, dds_istream_t *is, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6303,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6308,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6311,1
    - Dst: dds_stream_print_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6314,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6317,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6317,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6322,1
    - Dst: prtf_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6326,1
    - Dst: prtf_delimited_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6328,1
    - Dst: prtf_xcdr2_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6332,1
    - Dst: prtf_xcdr1_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6334,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6339,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 7
    argNames:
    - buf
    - bufsize
    - is
    - ops
    - add_braces
    - is_mutable_member
    - cdr_kind
    argTypes:
    - char**
    - size_t*
    - dds_istream_t*
    - uint32_t*
    - bool
    - bool
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6342
      start: 6297
    functionDepth: 10
    functionLinenumber: 6297
    functionLinenumberEnd: 6342
    functionName: dds_stream_print_sample1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 7
    functionsReached:
    - prtf_xcdr2_pl
    - prtf_delimited
    - prtf_xcdr1_pl
    - dds_stream_print_adr
    - DDS_OP_JUMP
    - prtf
    - prtf_delimited_impl
    - abort
    - DDS_OP
    - dds_stream_print_sample1
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result * dds_stream_print_sample1 (char
      **buf, size_t *bufsize, dds_istream_t *is, const uint32_t *ops, bool add_braces,
      bool is_mutable_member, enum cdr_data_kind cdr_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6348,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6349,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - is
    - desc
    - buf
    - size
    argTypes:
    - dds_istream_t*
    - struct dds_cdrstream_desc*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6352
      start: 6346
    functionDepth: 11
    functionLinenumber: 6346
    functionLinenumberEnd: 6352
    functionName: dds_stream_print_sample
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 4
    functionsReached:
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - dds_stream_print_sample1
    linkageType: ''
    returnType: size_t
    signature: size_t dds_stream_print_sample (dds_istream_t *is, const struct dds_cdrstream_desc
      *desc, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6356,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6357,1
    - Dst: dds_stream_print_sample1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6358,1
    - Dst: prtf
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6359,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - is
    - desc
    - buf
    - size
    argTypes:
    - dds_istream_t*
    - struct dds_cdrstream_desc*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6362
      start: 6354
    functionDepth: 11
    functionLinenumber: 6354
    functionLinenumberEnd: 6362
    functionName: dds_stream_print_key
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_GNUC_ON
    - dds_stream_print_sample1
    - DDSRT_WARNING_GNUC_OFF
    - prtf
    linkageType: ''
    returnType: size_t
    signature: size_t dds_stream_print_key (dds_istream_t *is, const struct dds_cdrstream_desc
      *desc, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_get_ops_info
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6367,1
    - Dst: dds_stream_countops_keyoffset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ops
    - nkeys
    - keys
    argTypes:
    - uint32_t*
    - uint32_t
    - dds_key_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6371
      start: 6364
    functionDepth: 5
    functionLinenumber: 6364
    functionLinenumberEnd: 6371
    functionName: dds_stream_countops
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_countops_keyoffset
    - dds_stream_get_ops_info
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_stream_countops (const uint32_t *ops, uint32_t nkeys,
      const dds_key_descriptor_t *keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_get_ops_info
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ops
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6380
      start: 6375
    functionDepth: 5
    functionLinenumber: 6375
    functionLinenumberEnd: 6380
    functionName: dds_stream_minimum_xcdr_version
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 4
    functionsReached:
    - dds_stream_get_ops_info
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dds_stream_minimum_xcdr_version (const uint32_t *ops)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6387,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6390,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6396,1
    - Dst: dds_stream_extensibility
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6397,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6397,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ops
    - ext
    argTypes:
    - uint32_t*
    - enum dds_cdr_type_extensibility*
    assertStmts:
    - condition: (ext)
      pos:
        line_end: 6386
        line_start: 6386
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6411
      start: 6383
    functionDepth: 1
    functionLinenumber: 6383
    functionLinenumberEnd: 6411
    functionName: dds_stream_extensibility
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 3
    functionsReached:
    - assert
    - dds_stream_extensibility
    - DDS_OP_JUMP
    - abort
    - DDS_OP
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_extensibility (const uint32_t *ops, enum dds_cdr_type_extensibility
      *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_get_ops_info
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ops
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6418
      start: 6413
    functionDepth: 5
    functionLinenumber: 6413
    functionLinenumberEnd: 6418
    functionName: dds_stream_type_nesting_depth
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 2
    functionsReached:
    - dds_stream_get_ops_info
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_stream_type_nesting_depth (const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_get_ops_info
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ops
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6425
      start: 6420
    functionDepth: 5
    functionLinenumber: 6420
    functionLinenumberEnd: 6425
    functionName: dds_stream_data_types
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - dds_stream_get_ops_info
    linkageType: ''
    returnType: dds_data_type_properties_t
    signature: dds_data_type_properties_t dds_stream_data_types (const uint32_t *ops)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - keysize
    - field_size
    - field_dims
    - field_align
    - max_align
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6440
      start: 6429
    functionDepth: 0
    functionLinenumber: 6429
    functionLinenumberEnd: 6440
    functionName: add_to_key_size_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t add_to_key_size_impl (uint32_t keysize, uint32_t field_size,
      uint32_t field_dims, uint32_t field_align, uint32_t max_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_key_size_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - k
    - field_size
    - field_dims
    - field_align
    argTypes:
    - struct key_props*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6442
    functionDepth: 1
    functionLinenumber: 6442
    functionLinenumberEnd: 6445
    functionName: add_to_key_size_xcdrv1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - add_to_key_size_impl
    linkageType: ''
    returnType: void
    signature: void add_to_key_size_xcdrv1 (struct key_props *k, uint32_t field_size,
      uint32_t field_dims, uint32_t field_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_key_size_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - k
    - field_size
    - field_dims
    - field_align
    argTypes:
    - struct key_props*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6447
    functionDepth: 1
    functionLinenumber: 6447
    functionLinenumberEnd: 6450
    functionName: add_to_key_size_xcdrv2
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - add_to_key_size_impl
    linkageType: ''
    returnType: void
    signature: void add_to_key_size_xcdrv2 (struct key_props *k, uint32_t field_size,
      uint32_t field_dims, uint32_t field_align)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_to_key_size_xcdrv1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6455,1
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - k
    - field_size
    - field_dims
    - field_align
    argTypes:
    - struct key_props*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6457
      start: 6452
    functionDepth: 2
    functionLinenumber: 6452
    functionLinenumberEnd: 6457
    functionName: add_to_key_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - add_to_key_size_xcdrv1
    - add_to_key_size_xcdrv2
    linkageType: ''
    returnType: void
    signature: void add_to_key_size (struct key_props *k, uint32_t field_size, uint32_t
      field_dims, uint32_t field_align)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - struct key_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6464
      start: 6459
    functionDepth: 0
    functionLinenumber: 6459
    functionLinenumberEnd: 6464
    functionName: set_key_size_unbounded
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_key_size_unbounded (struct key_props *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - struct key_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6471
      start: 6467
    functionDepth: 0
    functionLinenumber: 6467
    functionLinenumberEnd: 6471
    functionName: key_size_is_unbounded
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key_size_is_unbounded (const struct key_props *k)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6476,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6477,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6478,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6481,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6484,1
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6485,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6489,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6494,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6495,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6499,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6500,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6504,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6505,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6509,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6515,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6520,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6521,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6528,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6530,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6535,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6536,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6543,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6544,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6546,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6550,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6555,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - ops
    - insn
    - k
    argTypes:
    - uint32_t*
    - uint32_t
    - struct key_props*
    assertStmts:
    - condition: (type == DDS_OP_VAL_ARR || type == DDS_OP_VAL_BSQ)
      pos:
        line_end: 6477
        line_start: 6477
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (sz > 0)
      pos:
        line_end: 6527
        line_start: 6527
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6560
      start: 6474
    functionDepth: 3
    functionLinenumber: 6474
    functionLinenumberEnd: 6560
    functionName: dds_stream_key_size_arr_bseq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - is_dheader_needed
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - assert
    - add_to_key_size
    - DDS_OP_ADR_JMP
    - set_key_size_unbounded
    - DDS_OP_TYPE_SZ
    - abort
    - add_to_key_size_xcdrv2
    - get_primitive_size
    - DDS_OP_TYPE
    - dds_stream_key_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_arr_bseq (const uint32_t *ops, uint32_t
      insn, struct key_props *k)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6564,1
    - Dst: key_size_is_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6564,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6565,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6580,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6581,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6582,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - ops
    - insn
    - k
    argTypes:
    - uint32_t*
    - uint32_t
    - struct key_props*
    assertStmts:
    - condition: (key_size_is_unbounded (k))
      pos:
        line_end: 6563
        line_start: 6563
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6592
      start: 6562
    functionDepth: 1
    functionLinenumber: 6562
    functionLinenumberEnd: 6592
    functionName: dds_stream_key_size_seq
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - assert
    - DDS_OP_ADR_JMP
    - key_size_is_unbounded
    - dds_stream_key_size
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_seq (const uint32_t *ops, uint32_t insn,
      struct key_props *k)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6597,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6599,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6602,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6602,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6603,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6608,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6613,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6614,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6620,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6621,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6622,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6628,1
    - Dst: dds_stream_key_size_seq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6629,1
    - Dst: dds_stream_key_size_arr_bseq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6633,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6636,1
    - Dst: is_primitive_or_enum_type
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6637,1
    - Dst: dds_stream_key_size_arr_bseq
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6639,1
    - Dst: set_key_size_unbounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6644,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6645,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6648,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6649,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6654,1
    - Dst: add_to_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6655,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6660,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6661,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6665,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6668,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6672,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ops
    - insn
    - k
    argTypes:
    - uint32_t*
    - uint32_t
    - struct key_props*
    assertStmts:
    - condition: (sz > 0)
      pos:
        line_end: 6619
        line_start: 6619
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6675
      start: 6594
    functionDepth: 4
    functionLinenumber: 6594
    functionLinenumberEnd: 6675
    functionName: dds_stream_key_size_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_SUBTYPE
    - abort
    - DDS_OP_ADR_JSR
    - assert
    - is_primitive_or_enum_type
    - add_to_key_size
    - op_type_base
    - DDS_OP_ADR_JMP
    - set_key_size_unbounded
    - DDS_OP_TYPE_SZ
    - dds_stream_key_size_arr_bseq
    - dds_stream_key_size_seq
    - dds_stream_skip_adr
    - get_primitive_size
    - DDS_OP_TYPE
    - dds_stream_key_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_adr (const uint32_t *ops, uint32_t insn,
      struct key_props *k)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6683,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6688,1
    - Dst: dds_stream_key_size_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6691,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6695,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6695,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ops
    - k
    argTypes:
    - uint32_t*
    - struct key_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6677
    functionDepth: 5
    functionLinenumber: 6677
    functionLinenumberEnd: 6706
    functionName: dds_stream_key_size_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_stream_key_size_adr
    - DDS_OP
    - DDS_OP_JUMP
    - add_to_key_size_xcdrv2
    - abort
    - dds_stream_key_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_delimited (const uint32_t *ops, struct
      key_props *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6710,1
    - Dst: add_to_key_size_xcdrv1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6720,1
    - Dst: get_length_code
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6723,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6724,1
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6725,1
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6727,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ops
    - k
    argTypes:
    - uint32_t*
    - struct key_props*
    assertStmts:
    - condition: (lc <= LENGTH_CODE_ALSO_NEXTINT8)
      pos:
        line_end: 6723
        line_start: 6723
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6730
      start: 6708
    functionDepth: 2
    functionLinenumber: 6708
    functionLinenumberEnd: 6730
    functionName: dds_stream_key_size_pl_member
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - add_to_key_size_xcdrv2
    - DDS_OP_FLAGS
    - get_length_code
    - assert
    - add_to_key_size_xcdrv1
    - dds_stream_key_size
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_key_size_pl_member (const uint32_t *ops, struct key_props
      *k)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6737,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6740,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6741,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6744,1
    - Dst: dds_stream_key_size_pl_memberlist
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6746,1
    - Dst: dds_stream_key_size_pl_member
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6751,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ops
    - k
    argTypes:
    - uint32_t*
    - struct key_props*
    assertStmts:
    - condition: (plm_ops[0] == DDS_OP_PLC)
      pos:
        line_end: 6743
        line_start: 6743
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6763
      start: 6732
    functionDepth: 3
    functionLinenumber: 6732
    functionLinenumberEnd: 6763
    functionName: dds_stream_key_size_pl_memberlist
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - assert
    - dds_stream_key_size_pl_memberlist
    - dds_stream_key_size_pl_member
    - DDS_OP_ADR_PLM
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_pl_memberlist (const uint32_t *ops, struct
      key_props *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_to_key_size_xcdrv2
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6771,1
    - Dst: dds_stream_key_size_pl_memberlist
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6774,1
    - Dst: add_to_key_size_xcdrv1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ops
    - k
    argTypes:
    - uint32_t*
    - struct key_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6765
    functionDepth: 4
    functionLinenumber: 6765
    functionLinenumberEnd: 6780
    functionName: dds_stream_key_size_pl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - add_to_key_size_xcdrv2
    - add_to_key_size_xcdrv1
    - dds_stream_key_size_pl_memberlist
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size_pl (const uint32_t *ops, struct key_props
      *k)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6785,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6785,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6786,1
    - Dst: dds_stream_key_size_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6794,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6797,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6798,1
    - Dst: dds_stream_key_size_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6799,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - ops
    - key_offset_count
    - key_offset_insn
    - k
    argTypes:
    - uint32_t*
    - uint16_t
    - uint32_t*
    - struct key_props*
    assertStmts:
    - condition: ((insn & DDS_OP_FLAG_KEY) && ((DDS_OP (insn)) == DDS_OP_ADR))
      pos:
        line_end: 6784
        line_start: 6784
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - condition: (key_offset_count > 0)
      pos:
        line_end: 6796
        line_start: 6796
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6804
      start: 6782
    functionDepth: 5
    functionLinenumber: 6782
    functionLinenumberEnd: 6804
    functionName: dds_stream_key_size_prim_op
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 1
    functionsReached:
    - dds_stream_key_size_adr
    - DDS_OP_ADR_JSR
    - assert
    - dds_stream_key_size_prim_op
    - abort
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_key_size_prim_op (const uint32_t *ops, uint16_t key_offset_count,
      const uint32_t * key_offset_insn, struct key_props *k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6814,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6817,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6818,1
    - Dst: dds_stream_key_size_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6819,1
    - Dst: dds_stream_key_size_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6823,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - desc
    - k
    argTypes:
    - struct dds_cdrstream_desc*
    - struct key_props*
    assertStmts:
    - condition: (n_offs > 0)
      pos:
        line_end: 6817
        line_start: 6817
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6831
      start: 6806
    functionDepth: 6
    functionLinenumber: 6806
    functionLinenumberEnd: 6831
    functionName: dds_stream_key_size_keyhash
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - assert
    - dds_stream_key_size_prim_op
    - abort
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: void dds_stream_key_size_keyhash (struct dds_cdrstream_desc *desc,
      struct key_props *k)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6838,1
    - Dst: dds_stream_key_size_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6841,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6844,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6844,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6848,1
    - Dst: dds_stream_key_size_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6852,1
    - Dst: dds_stream_key_size_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ops
    - k
    argTypes:
    - uint32_t*
    - struct key_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6861
      start: 6833
    functionDepth: 6
    functionLinenumber: 6833
    functionLinenumberEnd: 6861
    functionName: dds_stream_key_size
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 6
    functionsReached:
    - dds_stream_key_size_adr
    - DDS_OP_JUMP
    - dds_stream_key_size_pl
    - dds_stream_key_size_delimited
    - dds_stream_key_size
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_key_size (const uint32_t *ops, struct key_props
      *k)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_minimum_xcdr_version
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6870,1
    - Dst: dds_stream_key_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6871,1
    - Dst: dds_stream_key_size_keyhash
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6895,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - desc
    - keysz_xcdrv1
    - keysz_xcdrv2
    argTypes:
    - struct dds_cdrstream_desc*
    - uint32_t*
    - uint32_t*
    assertStmts:
    - condition: (!(key_flags & ~DDS_CDR_CALCULATED_FLAGS))
      pos:
        line_end: 6901
        line_start: 6901
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    constantsTouched: []
    func_position:
      end: 6904
      start: 6863
    functionDepth: 7
    functionLinenumber: 6863
    functionLinenumberEnd: 6904
    functionName: dds_stream_key_flags
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 3
    functionsReached:
    - assert
    - dds_stream_key_size_keyhash
    - dds_stream_key_size
    - dds_stream_minimum_xcdr_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dds_stream_key_flags (struct dds_cdrstream_desc *desc, uint32_t
      *keysz_xcdrv1, uint32_t *keysz_xcdrv2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6913
      start: 6906
    functionDepth: 0
    functionLinenumber: 6906
    functionLinenumberEnd: 6913
    functionName: key_cmp_idx
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key_cmp_idx (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - allocator
    - keys
    - nkeys
    argTypes:
    - dds_cdrstream_desc_key_t**
    - struct dds_cdrstream_allocator*
    - dds_key_descriptor_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6915
    functionDepth: 0
    functionLinenumber: 6915
    functionLinenumberEnd: 6930
    functionName: copy_desc_keys
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    linkageType: ''
    returnType: void
    signature: void copy_desc_keys (dds_cdrstream_desc_key_t **dst, const struct dds_cdrstream_allocator
      *allocator, const dds_key_descriptor_t *keys, uint32_t nkeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - va
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6936
      start: 6932
    functionDepth: 1
    functionLinenumber: 6932
    functionLinenumberEnd: 6936
    functionName: mid_hash
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - ddsrt_mh3
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mid_hash (const void *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6943
      start: 6938
    functionDepth: 0
    functionLinenumber: 6938
    functionLinenumberEnd: 6943
    functionName: mid_equal
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mid_equal (const void *va, const void *vb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6947,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6951,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6954,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6957,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - allocator
    - ops
    - table
    argTypes:
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - struct ddsrt_hh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6966
      start: 6945
    functionDepth: 1
    functionLinenumber: 6945
    functionLinenumberEnd: 6966
    functionName: dds_stream_get_memberid_table
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - ddsrt_hh_add
    - ddsrt_hh_new
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_get_memberid_table (const struct dds_cdrstream_allocator
      *allocator, const uint32_t *ops, struct ddsrt_hh **table)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: copy_desc_keys
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6977,1
    - Dst: copy_desc_keys
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6978,1
    - Dst: qsort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6980,1
    - Dst: dds_stream_countops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6983,1
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6987,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:6988,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7001,1
    - Dst: dds_stream_get_memberid_table
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7007,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7011,1
    - Dst: dds_stream_key_flags
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7020,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 9
    argNames:
    - desc
    - allocator
    - size
    - align
    - flagset
    - ops
    - nops
    - keys
    - nkeys
    argTypes:
    - struct dds_cdrstream_desc*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t*
    - uint32_t
    - dds_key_descriptor_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7021
      start: 6968
    functionDepth: 8
    functionLinenumber: 6968
    functionLinenumberEnd: 7021
    functionName: dds_cdrstream_desc_init_with_nops
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 5
    functionsReached:
    - qsort
    - struct dds_cdrstream_allocator*::malloc
    - dds_stream_get_memberid_table
    - memcpy
    - copy_desc_keys
    - dds_stream_countops
    - abort
    - dds_stream_key_flags
    - DDS_OP
    linkageType: ''
    returnType: void
    signature: "void dds_cdrstream_desc_init_with_nops (struct dds_cdrstream_desc
      *desc, const struct dds_cdrstream_allocator *allocator,\n    uint32_t size,
      uint32_t align, uint32_t flagset, const uint32_t *ops, uint32_t nops, const
      dds_key_descriptor_t *keys, uint32_t nkeys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - desc
    - allocator
    - size
    - align
    - flagset
    - ops
    - keys
    - nkeys
    argTypes:
    - struct dds_cdrstream_desc*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t*
    - dds_key_descriptor_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7027
      start: 7023
    functionDepth: 9
    functionLinenumber: 7023
    functionLinenumberEnd: 7027
    functionName: dds_cdrstream_desc_init
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - dds_cdrstream_desc_init_with_nops
    linkageType: ''
    returnType: void
    signature: "void dds_cdrstream_desc_init (struct dds_cdrstream_desc *desc, const
      struct dds_cdrstream_allocator *allocator,\n    uint32_t size, uint32_t align,
      uint32_t flagset, const uint32_t *ops, const dds_key_descriptor_t *keys, uint32_t
      nkeys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vinfo
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7033
      start: 7029
    functionDepth: 0
    functionLinenumber: 7029
    functionLinenumberEnd: 7033
    functionName: free_member_id
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::free
    linkageType: ''
    returnType: void
    signature: void free_member_id (void *vinfo, void *varg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7040,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7042,1
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7046,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7047,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c:7049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - desc
    - allocator
    argTypes:
    - struct dds_cdrstream_desc*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7050
      start: 7035
    functionDepth: 1
    functionLinenumber: 7035
    functionLinenumberEnd: 7050
    functionName: dds_cdrstream_desc_fini
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    functionUses: 15
    functionsReached:
    - ddsrt_hh_free
    - struct dds_cdrstream_allocator*::free
    - ddsrt_hh_enum
    linkageType: ''
    returnType: void
    signature: void dds_cdrstream_desc_fini (struct dds_cdrstream_desc *desc, const
      struct dds_cdrstream_allocator *allocator)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:15,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:15,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:18,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:18,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:18,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:21,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:21,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:25,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:27,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:28,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:29,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:30,1
    - Dst: dds_os_put8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:31,1
    - Dst: dds_stream_write_enum_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:33,1
    - Dst: dds_stream_write_bitmask_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:37,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:40,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:41,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:42,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:43,1
    - Dst: dds_stream_write_wcharBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:45,1
    - Dst: dds_stream_write_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:49,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:53,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:54,1
    - Dst: dds_stream_write_keyBO_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:55,1
    - Dst: dds_stream_write_seqBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:60,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:66,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 7
    argNames:
    - os
    - allocator
    - mid_table
    - ops
    - src
    - key_offset_count
    - key_offset_insn
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - void*
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: (DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (key_offset_count > 0)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 71
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 71
    functionName: dds_stream_write_keyBO_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 1
    functionsReached:
    - dds_os_put2BO
    - op_type_external
    - dds_stream_write_wcharBO
    - dds_stream_write_bitmask_valueBO
    - dds_os_put8BO
    - DDS_OP_ADR_JSR
    - assert
    - dds_stream_write_enum_valueBO
    - dds_os_put1BO
    - dds_stream_write_seqBO
    - dds_stream_write_stringBO
    - dds_stream_write_wstringBO
    - abort
    - dds_stream_write_arrBO
    - dds_os_put4BO
    - dds_stream_write_keyBO_impl
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_keyBO_impl (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, const void *src, uint16_t key_offset_count,
      const uint32_t * key_offset_insn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:80,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:98,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:101,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:102,1
    - Dst: dds_stream_write_keyBO_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:103,1
    - Dst: dds_stream_write_keyBO_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:108,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - os
    - ser_kind
    - allocator
    - sample
    - desc
    argTypes:
    - RESTRICT_OSTREAM_T*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - char*
    - struct dds_cdrstream_desc*
    assertStmts:
    - condition: (n_offs > 0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - dds_stream_write_implBO
    - assert
    - abort
    - dds_stream_write_keyBO_impl
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      static bool dds_stream_write_keyBO_restrict (RESTRICT_OSTREAM_T *os, enum dds_cdr_key_serialization_kind
      ser_kind, const struct dds_cdrstream_allocator *allocator, const char *sample,
      const struct dds_cdrstream_desc *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:125,1
    - Dst: dds_stream_write_keyBO_restrict
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:127,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - os
    - ser_kind
    - allocator
    - sample
    - desc
    argTypes:
    - DDS_OSTREAM_T*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - char*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_stream_write_keyBO_restrict
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      bool dds_stream_write_keyBO (DDS_OSTREAM_T *os, enum dds_cdr_key_serialization_kind
      ser_kind, const struct dds_cdrstream_allocator *allocator, const char *sample,
      const struct dds_cdrstream_desc *desc)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:137,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:138,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:138,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:139,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:144,1
    - Dst: stream_is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:148,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:150,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:152,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:158,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:159,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:163,1
    - Dst: dds_stream_extract_keyBO_from_data1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:167,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:174,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:175,1
    - Dst: dds_stream_extract_keyBO_from_key_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:176,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:177,1
    - Dst: dds_stream_extract_key_from_data_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:181,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 9
    argNames:
    - insn
    - is
    - os
    - allocator
    - mid_table
    - ops
    - mutable_member
    - n_keys
    - keys_remaining
    argTypes:
    - uint32_t
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - bool
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (insn == *ops)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (DDS_OP (insn) == DDS_OP_ADR)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (!is_key)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (os != NULL)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (*keys_remaining > 0)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 190
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 190
    functionName: dds_stream_extract_keyBO_from_data_adr
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - DDS_OP_ADR_JSR
    - assert
    - stream_is_member_present
    - dds_stream_extract_keyBO_from_data1
    - op_type_base
    - op_type_optional
    - DDS_OP_ADR_JMP
    - dds_stream_extract_keyBO_from_key_prim_op
    - dds_stream_skip_adr
    - dds_stream_extract_key_from_data_skip_adr
    - DDS_OP_TYPE
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_keyBO_from_data_adr (uint32_t insn, dds_istream_t
      *is, RESTRICT_OSTREAM_T *os, const struct dds_cdrstream_allocator *allocator,
      const struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, bool
      mutable_member, uint32_t n_keys, uint32_t * restrict keys_remaining)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:200,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:204,1
    - Dst: dds_is_get4
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:207,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:213,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:217,1
    - Dst: dds_stream_extract_keyBO_from_data1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:221,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:221,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 7
    argNames:
    - is
    - os
    - allocator
    - mid_table
    - ops
    - n_keys
    - keys_remaining
    argTypes:
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (os == NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    - condition: (is->m_xcdr_version == DDSI_RTPS_CDR_ENC_VERSION_2)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 231
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 231
    functionName: dds_stream_extract_keyBO_from_data_skip_delimited
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - dds_is_get4
    - assert
    - dds_stream_extract_keyBO_from_data1
    - DDS_OP_JUMP
    - dds_stream_skip_adr
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_keyBO_from_data_skip_delimited (dds_istream_t
      *is, RESTRICT_OSTREAM_T *os, const struct dds_cdrstream_allocator *allocator,
      const struct dds_cdrstream_desc_mid_table *mid_table, const uint32_t *ops, uint32_t
      n_keys, uint32_t * restrict keys_remaining)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:239,1
    - Dst: dds_stream_extract_keyBO_from_data_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:242,1
    - Dst: dds_stream_extract_keyBO_from_data1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:245,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:245,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:249,1
    - Dst: dds_stream_extract_keyBO_from_data_skip_delimited
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:252,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:257,1
    - Dst: dds_stream_extract_key_from_data_skip_pl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 8
    argNames:
    - is
    - os
    - allocator
    - mid_table
    - ops
    - mutable_member
    - n_keys
    - keys_remaining
    argTypes:
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - uint32_t*
    - bool
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (os == NULL)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 263
      start: 234
    functionDepth: 7
    functionLinenumber: 234
    functionLinenumberEnd: 263
    functionName: dds_stream_extract_keyBO_from_data1
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 3
    functionsReached:
    - assert
    - dds_stream_extract_keyBO_from_data_adr
    - dds_stream_extract_keyBO_from_data_skip_delimited
    - dds_stream_extract_keyBO_from_data1
    - DDS_OP_JUMP
    - dds_stream_extract_key_from_data_skip_pl
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_extract_keyBO_from_data1 (dds_istream_t *is, RESTRICT_OSTREAM_T
      *os, const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const uint32_t *ops, bool mutable_member, uint32_t n_keys, uint32_t
      * restrict keys_remaining)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:277,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:278,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:279,1
    - Dst: dds_stream_write_keyBO_restrict
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:280,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:283,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:285,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:286,1
    - Dst: dds_stream_extract_keyBO_from_data1
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - is
    - os
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 266
    functionDepth: 11
    functionLinenumber: 266
    functionLinenumberEnd: 298
    functionName: dds_stream_extract_keyBO_from_data_restrict
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - struct dds_cdrstream_allocator*::free
    - dds_stream_write_keyBO_restrict
    - dds_stream_read
    - memset
    - dds_stream_extract_keyBO_from_data1
    - dds_stream_free_sample
    - abort
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_extract_keyBO_from_data_restrict (dds_istream_t *is,
      RESTRICT_OSTREAM_T *os, const struct dds_cdrstream_allocator *allocator, const
      struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:304,1
    - Dst: dds_stream_extract_keyBO_from_data_restrict
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:306,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - is
    - os
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - DDS_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 12
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: ddsrt_nonnull_all
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_stream_extract_keyBO_from_data_restrict
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: 'ddsrt_attribute_warn_unused_result ddsrt_nonnull_all

      bool dds_stream_extract_keyBO_from_data (dds_istream_t *is, DDS_OSTREAM_T *os,
      const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc
      *desc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct dds_cdrstream_allocator*::malloc
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:316,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:317,1
    - Dst: dds_stream_read_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:318,1
    - Dst: dds_stream_write_keyBO_restrict
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:319,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:322,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:324,1
    - Dst: struct dds_cdrstream_allocator*::free
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - is
    - os
    - ser_kind
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 10
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: dds_stream_extract_keyBO_from_key_impl
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - struct dds_cdrstream_allocator*::malloc
    - struct dds_cdrstream_allocator*::free
    - dds_stream_write_keyBO_restrict
    - dds_stream_read_impl
    - memset
    - dds_stream_free_sample
    - abort
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_keyBO_from_key_impl (dds_istream_t *is, RESTRICT_OSTREAM_T
      *os, enum dds_cdr_key_serialization_kind ser_kind, const struct dds_cdrstream_allocator
      *allocator, const struct dds_cdrstream_desc *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:334,1
    - Dst: DDS_OP_LENGTH
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:337,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:338,1
    - Dst: dds_stream_extract_keyBO_from_key_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:339,1
    - Dst: dds_stream_extract_keyBO_from_key_prim_op
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:343,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - is
    - os
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts:
    - condition: (n_offs > 0)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: dds_stream_extract_keyBO_from_key_optimized
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - DDS_OP_LENGTH
    - assert
    - dds_stream_extract_keyBO_from_key_prim_op
    - abort
    - DDS_OP
    linkageType: ''
    returnType: ddsrt_nonnull_all
    signature: ddsrt_nonnull_all dds_stream_extract_keyBO_from_key_optimized (dds_istream_t
      *is, RESTRICT_OSTREAM_T *os, const struct dds_cdrstream_allocator *allocator,
      const struct dds_cdrstream_desc *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:359,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:366,1
    - Dst: dds_stream_extract_keyBO_from_key_impl
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:369,1
    - Dst: dds_stream_extract_keyBO_from_key_optimized
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:371,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - is
    - os
    - ser_kind
    - allocator
    - desc
    argTypes:
    - dds_istream_t*
    - DDS_OSTREAM_T*
    - enum dds_cdr_key_serialization_kind
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc*
    assertStmts:
    - condition: (ser_kind == DDS_CDR_KEY_SERIALIZATION_SAMPLE || ser_kind == DDS_CDR_KEY_SERIALIZATION_KEYHASH)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 11
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: dds_stream_extract_keyBO_from_key
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
    functionUses: 0
    functionsReached:
    - dds_stream_extract_keyBO_from_key_optimized
    - memcpy
    - assert
    - dds_stream_extract_keyBO_from_key_impl
    linkageType: ''
    returnType: void
    signature: void dds_stream_extract_keyBO_from_key (dds_istream_t *is, DDS_OSTREAM_T
      *os, enum dds_cdr_key_serialization_kind ser_kind, const struct dds_cdrstream_allocator
      *allocator, const struct dds_cdrstream_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - os
    - allocator
    - val
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: dds_stream_write_bool_valueBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put1BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_bool_valueBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const uint8_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:22,1
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:23,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:26,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:29,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:32,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - os
    - allocator
    - insn
    - val
    - max
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: dds_stream_write_enum_valueBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - dds_os_put2BO
    - write_error_bool
    - dds_os_put1BO
    - DDS_OP_TYPE_SZ
    - abort
    - dds_os_put4BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_enum_valueBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, uint32_t insn, uint32_t val, uint32_t max)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:42,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:46,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:47,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:48,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:53,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:54,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:55,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:60,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:61,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:62,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:67,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:68,1
    - Dst: dds_os_put8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:69,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - os
    - allocator
    - insn
    - addr
    - bits_h
    - bits_l
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: dds_stream_write_bitmask_valueBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - dds_os_put2BO
    - dds_os_put8BO
    - write_error_bool
    - bitmask_value_valid
    - dds_os_put1BO
    - DDS_OP_TYPE_SZ
    - abort
    - dds_os_put4BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_bitmask_valueBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t insn, const void *addr,
      uint32_t bits_h, uint32_t bits_l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:80,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:81,1
    - Dst: dds_os_put_bytes_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:83,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - os
    - allocator
    - val
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: dds_stream_write_stringBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - dds_os_put1BO
    - dds_os_put4BO
    - strlen
    - dds_os_put_bytes_base
    linkageType: ''
    returnType: void
    signature: void dds_stream_write_stringBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:91,1
    - Dst: wstring_utf16_len
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:94,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:95,1
    - Dst: dds_cdr_resize
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:96,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:101,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - os
    - allocator
    - val
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - wchar_t*
    assertStmts:
    - condition: (di < n)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    - condition: (di < n)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: dds_stream_write_wstringBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - wstring_utf16_len
    - assert
    - dds_os_put4BO
    - dds_cdr_resize
    linkageType: ''
    returnType: void
    signature: void dds_stream_write_wstringBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const wchar_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:123,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:125,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - os
    - allocator
    - val
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: dds_stream_write_wcharBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - dds_os_put2BO
    - write_error_bool
    linkageType: ''
    returnType: ddsrt_attribute_warn_unused_result
    signature: ddsrt_attribute_warn_unused_result dds_stream_write_wcharBO (RESTRICT_OSTREAM_T
      *os, const struct dds_cdrstream_allocator *allocator, const wchar_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_bool_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:134,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - os
    - allocator
    - addr
    - num
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: dds_stream_write_bool_arrBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_stream_write_bool_valueBO
    - write_error_bool
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_bool_arrBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const uint8_t *addr, uint32_t num)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:142,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:148,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:149,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:156,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:157,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:164,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:165,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - os
    - allocator
    - insn
    - addr
    - num
    - max
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 172
    functionName: dds_stream_write_enum_arrBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - write_error_bool
    - dds_os_put1BO
    - DDS_OP_TYPE_SZ
    - abort
    - dds_os_put4BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_enum_arrBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, uint32_t insn, const uint32_t *addr, uint32_t
      num, uint32_t max)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_TYPE_SZ
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:176,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:182,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:183,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:184,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:192,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:193,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:194,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:202,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:203,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:204,1
    - Dst: bitmask_value_valid
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:212,1
    - Dst: write_error_bool
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:213,1
    - Dst: dds_os_put8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:214,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 7
    argNames:
    - os
    - allocator
    - insn
    - addr
    - num
    - bits_h
    - bits_l
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - void*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 222
    functionName: dds_stream_write_bitmask_arrBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - dds_os_put8BO
    - write_error_bool
    - bitmask_value_valid
    - dds_os_put1BO
    - DDS_OP_TYPE_SZ
    - abort
    - dds_os_put4BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_bitmask_arrBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t insn, const void *addr,
      uint32_t num, uint32_t bits_h, uint32_t bits_l)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:229,1
    - Dst: seq_is_bounded
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:230,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:230,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:233,1
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:236,1
    - Dst: write_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:242,1
    - Dst: write_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:244,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:246,1
    - Dst: skip_sequence_insns
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:250,1
    - Dst: dds_stream_write_bool_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:258,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:263,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:264,1
    - Dst: dds_os_put_bytes_aligned_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:270,1
    - Dst: dds_stream_to_BO_insitu
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:271,1
    - Dst: dds_stream_write_enum_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:276,1
    - Dst: dds_stream_write_bitmask_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:281,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:289,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:296,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:304,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:312,1
    - Dst: dds_stream_write_wcharBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:319,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:326,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:327,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:330,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:336,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:342,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:343,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 7
    argNames:
    - os
    - allocator
    - mid_table
    - addr
    - ops
    - insn
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 346
    functionName: dds_stream_write_seqBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - dds_stream_write_wcharBO
    - dds_stream_write_bitmask_arrBO
    - dds_stream_write_stringBO
    - dds_os_put4BO
    - abort
    - write_error_ops
    - DDS_OP_SUBTYPE
    - DDS_OP_ADR_JSR
    - dds_cdr_get_align
    - skip_sequence_insns
    - dds_stream_write_wstringBO
    - dds_stream_to_BO_insitu
    - DDS_OP_TYPE
    - dds_stream_write_implBO
    - to_BO4u
    - seq_is_bounded
    - dds_stream_write_bool_arrBO
    - dds_os_put_bytes_aligned_base
    - DDS_OP_ADR_JMP
    - dds_os_reserve4BO
    - is_dheader_needed
    - dds_stream_write_enum_arrBO
    - get_primitive_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_seqBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *addr, const uint32_t *ops, uint32_t insn, enum cdr_data_kind
      cdr_kind)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:350,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:352,1
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:355,1
    - Dst: dds_stream_write_bool_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:362,1
    - Dst: get_primitive_size
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:367,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:368,1
    - Dst: dds_os_put_bytes_aligned_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:371,1
    - Dst: dds_stream_to_BO_insitu
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:372,1
    - Dst: dds_stream_write_enum_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:377,1
    - Dst: dds_stream_write_bitmask_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:382,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:389,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:396,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:404,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:412,1
    - Dst: dds_stream_write_wcharBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:419,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:425,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:426,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:429,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:435,1
    - Dst: is_dheader_needed
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:440,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:441,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 7
    argNames:
    - os
    - allocator
    - mid_table
    - addr
    - ops
    - insn
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 444
    functionName: dds_stream_write_arrBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - is_dheader_needed
    - dds_stream_write_wcharBO
    - dds_stream_write_implBO
    - DDS_OP_SUBTYPE
    - abort
    - DDS_OP_ADR_JSR
    - to_BO4u
    - dds_stream_write_enum_arrBO
    - dds_cdr_get_align
    - dds_stream_write_bool_arrBO
    - dds_os_put_bytes_aligned_base
    - dds_stream_write_bitmask_arrBO
    - dds_os_reserve4BO
    - dds_stream_write_stringBO
    - dds_stream_write_wstringBO
    - DDS_OP_ADR_JMP
    - get_primitive_size
    - dds_stream_to_BO_insitu
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_arrBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *addr, const uint32_t *ops, uint32_t insn, enum cdr_data_kind
      cdr_kind)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:448,1
    - Dst: DDS_OP_SUBTYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:449,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:450,1
    - Dst: dds_stream_write_bool_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:455,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:460,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:464,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:468,1
    - Dst: dds_stream_write_enum_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:472,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - os
    - allocator
    - ops
    - insn
    - addr
    - disc
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t*
    - uint32_t
    - void*
    - uint32_t*
    assertStmts:
    - condition: (disc)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    - condition: (type == DDS_OP_VAL_BLN || type == DDS_OP_VAL_1BY || type == DDS_OP_VAL_2BY
        || type == DDS_OP_VAL_4BY || type == DDS_OP_VAL_ENU)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 479
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 479
    functionName: dds_stream_write_union_discriminantBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - DDS_OP_SUBTYPE
    - assert
    - dds_stream_write_enum_valueBO
    - dds_stream_write_bool_valueBO
    - dds_os_put1BO
    - abort
    - dds_os_put4BO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_union_discriminantBO (RESTRICT_OSTREAM_T *os,
      const struct dds_cdrstream_allocator *allocator, const uint32_t *ops, uint32_t
      insn, const void *addr, uint32_t *disc)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_union_discriminantBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:484,1
    - Dst: find_union_case
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:486,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:487,1
    - Dst: DDS_JEQ_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:490,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:496,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:498,1
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:498,1
    - Dst: write_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:501,1
    - Dst: dds_stream_write_bool_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:507,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:510,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:511,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:512,1
    - Dst: dds_os_put8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:513,1
    - Dst: dds_stream_write_enum_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:515,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:518,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:519,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:520,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:521,1
    - Dst: dds_stream_write_wcharBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:523,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:527,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:527,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:531,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 8
    argNames:
    - os
    - allocator
    - mid_table
    - discaddr
    - baseaddr
    - ops
    - insn
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - char*
    - uint32_t*
    - uint32_t
    - enum cdr_data_kind
    assertStmts:
    - condition: (DDS_OP (jeq_op[0]) == DDS_OP_JEQ4)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 536
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 536
    functionName: dds_stream_write_uniBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - dds_stream_write_wcharBO
    - dds_stream_write_enum_valueBO
    - dds_os_put1BO
    - dds_stream_write_stringBO
    - dds_os_put4BO
    - abort
    - DDS_OP
    - write_error_ops
    - DDS_JEQ_TYPE
    - op_type_external
    - DDS_OP_ADR_JSR
    - dds_stream_write_wstringBO
    - dds_stream_write_implBO
    - dds_os_put8BO
    - assert
    - find_union_case
    - dds_stream_write_bool_valueBO
    - DDS_OP_ADR_JMP
    - dds_stream_write_union_discriminantBO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_uniBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *discaddr, const char *baseaddr, const uint32_t *ops,
      uint32_t insn, enum cdr_data_kind cdr_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:545,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:545,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:546,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:547,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:548,1
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:549,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:557,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - os
    - allocator
    - flag_mu
    - member_id
    - param_length_offset
    - alignment_offset_by_4
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - bool
    - uint32_t
    - uint32_t*
    - bool*
    assertStmts:
    - condition: ((os->x.m_index % 4) == 0)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    - condition: (os->x.m_index >= 4)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: dds_stream_write_xcdr1_paramheaderBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - assert
    - dds_cdr_get_align
    - dds_os_reserve4BO
    - dds_os_put4BO
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: void
    signature: void dds_stream_write_xcdr1_paramheaderBO (RESTRICT_OSTREAM_T *os,
      const struct dds_cdrstream_allocator *allocator, bool flag_mu, uint32_t member_id,
      uint32_t *param_length_offset, bool *alignment_offset_by_4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:570,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:570,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:571,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - os
    - allocator
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: dds_stream_write_xcdr1_param_list_endBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - dds_cdr_get_align
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: void
    signature: void dds_stream_write_xcdr1_param_list_endBO (RESTRICT_OSTREAM_T *os,
      const struct dds_cdrstream_allocator *allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:577,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - os
    - param_length_offs
    - len
    - alignment_offset_by_4
    argTypes:
    - RESTRICT_OSTREAM_T*
    - uint32_t
    - uint32_t
    - bool
    assertStmts:
    - condition: (os->x.m_align_off >= 4)
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: dds_stream_write_xcdr1_paramheader_closeBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - assert
    - to_BO4u
    linkageType: ''
    returnType: void
    signature: void dds_stream_write_xcdr1_paramheader_closeBO (RESTRICT_OSTREAM_T
      *os, uint32_t param_length_offs, uint32_t len, bool alignment_offset_by_4)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:591,1
    - Dst: op_type_external
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:594,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:594,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:594,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:594,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:597,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:597,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:597,1
    - Dst: write_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:598,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:603,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:608,1
    - Dst: find_member_id
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:613,1
    - Dst: write_error_ops
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:614,1
    - Dst: dds_stream_write_xcdr1_paramheaderBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:615,1
    - Dst: dds_stream_write_xcdr1_paramheader_closeBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:617,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:621,1
    - Dst: dds_stream_skip_adr
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:624,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:626,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:626,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:626,1
    - Dst: DDS_OP_TYPE
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:628,1
    - Dst: dds_stream_write_bool_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:631,1
    - Dst: dds_os_put1BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:635,1
    - Dst: dds_os_put2BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:636,1
    - Dst: dds_os_put4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:637,1
    - Dst: dds_os_put8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:638,1
    - Dst: dds_stream_write_enum_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:640,1
    - Dst: dds_stream_write_bitmask_valueBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:645,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:649,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:650,1
    - Dst: dds_stream_write_stringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:651,1
    - Dst: dds_stream_write_wstringBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:652,1
    - Dst: dds_stream_write_wcharBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:654,1
    - Dst: dds_stream_write_seqBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:658,1
    - Dst: dds_stream_write_arrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:659,1
    - Dst: dds_stream_write_uniBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:660,1
    - Dst: DDS_OP_ADR_JSR
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:662,1
    - Dst: DDS_OP_ADR_JMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:663,1
    - Dst: op_type_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:667,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:671,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:676,1
    - Dst: op_type_optional
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:680,1
    - Dst: dds_stream_write_xcdr1_paramheader_closeBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:681,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 100
    argCount: 8
    argNames:
    - insn
    - os
    - allocator
    - mid_table
    - data
    - ops
    - is_mutable_member
    - cdr_kind
    argTypes:
    - uint32_t
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    assertStmts:
    - condition: (addr || DDS_OP_TYPE (insn) == DDS_OP_VAL_STR || DDS_OP_TYPE (insn)
        == DDS_OP_VAL_WSTR)
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 683
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 683
    functionName: dds_stream_write_adrBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_os_put2BO
    - dds_stream_write_wcharBO
    - dds_stream_write_enum_valueBO
    - dds_os_put1BO
    - op_type_optional
    - dds_stream_write_stringBO
    - dds_os_put4BO
    - abort
    - write_error_ops
    - op_type_external
    - DDS_OP_FLAGS
    - DDS_OP_ADR_JSR
    - dds_stream_write_wstringBO
    - dds_stream_write_arrBO
    - dds_stream_write_uniBO
    - dds_stream_write_implBO
    - DDS_OP_TYPE
    - dds_stream_write_xcdr1_paramheaderBO
    - dds_os_put8BO
    - assert
    - find_member_id
    - dds_stream_write_bool_valueBO
    - op_type_base
    - dds_stream_write_seqBO
    - DDS_OP_ADR_JMP
    - dds_stream_skip_adr
    - dds_stream_write_bitmask_valueBO
    - dds_stream_write_xcdr1_paramheader_closeBO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_adrBO (uint32_t insn, RESTRICT_OSTREAM_T
      *os, const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, bool is_mutable_member, enum
      cdr_data_kind cdr_kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:687,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:688,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: dds_stream_write_delimitedBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - to_BO4u
    - dds_stream_write_implBO
    - dds_os_reserve4BO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_delimitedBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:699,1
    - Dst: dds_stream_write_xcdr1_paramheaderBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:711,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:713,1
    - Dst: dds_cdr_alignto_clear_and_resize_base
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:720,1
    - Dst: dds_cdr_get_align
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:720,1
    - Dst: dds_stream_write_xcdr1_paramheader_closeBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - os
    - allocator
    - mid
    - mid_table
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 724
    functionName: dds_stream_write_xcdr1_pl_memberBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_stream_write_xcdr1_paramheaderBO
    - DDS_OP_FLAGS
    - dds_cdr_get_align
    - dds_stream_write_implBO
    - dds_stream_write_xcdr1_paramheader_closeBO
    - dds_cdr_alignto_clear_and_resize_base
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_xcdr1_pl_memberBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t mid, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:728,1
    - Dst: DDS_OP_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:731,1
    - Dst: get_length_code
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:738,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:739,1
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:740,1
    - Dst: dds_os_reserve8BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:740,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:741,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:752,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - os
    - allocator
    - mid
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - uint32_t
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (!(mid & ~EMHEADER_MEMBERID_MASK))
      pos:
        line_end: 727
        line_start: 727
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    - condition: (lc <= LENGTH_CODE_ALSO_NEXTINT8)
      pos:
        line_end: 738
        line_start: 738
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 756
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 756
    functionName: dds_stream_write_xcdr2_pl_memberBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - to_BO4u
    - DDS_OP_FLAGS
    - get_length_code
    - assert
    - dds_os_reserve4BO
    - dds_os_reserve8BO
    - dds_stream_write_implBO
    linkageType: ''
    returnType: bool
    signature: bool dds_stream_write_xcdr2_pl_memberBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, uint32_t mid, const char *data, const
      uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:763,1
    - Dst: DDS_PLM_FLAGS
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:766,1
    - Dst: DDS_OP_ADR_PLM
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:767,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:770,1
    - Dst: dds_stream_write_pl_memberlistBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:772,1
    - Dst: is_member_present
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:775,1
    - Dst: dds_stream_write_xcdr2_pl_memberBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:780,1
    - Dst: dds_stream_write_xcdr1_pl_memberBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:785,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:793,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts:
    - condition: (plm_ops[0] == DDS_OP_PLC)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    constantsTouched: []
    func_position:
      end: 798
      start: 758
    functionDepth: 5
    functionLinenumber: 758
    functionLinenumberEnd: 798
    functionName: dds_stream_write_pl_memberlistBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 1
    functionsReached:
    - DDS_PLM_FLAGS
    - assert
    - dds_stream_write_pl_memberlistBO
    - dds_stream_write_xcdr2_pl_memberBO
    - is_member_present
    - dds_stream_write_xcdr1_pl_memberBO
    - DDS_OP_ADR_PLM
    - abort
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_pl_memberlistBO (RESTRICT_OSTREAM_T *os,
      const struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_pl_memberlistBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:806,1
    - Dst: dds_stream_write_xcdr1_param_list_endBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 812
    functionName: dds_stream_write_xcdr1_plBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_stream_write_xcdr1_param_list_endBO
    - dds_stream_write_pl_memberlistBO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_xcdr1_plBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_os_reserve4BO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:820,1
    - Dst: dds_stream_write_pl_memberlistBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:824,1
    - Dst: to_BO4u
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 814
    functionDepth: 6
    functionLinenumber: 814
    functionLinenumberEnd: 829
    functionName: dds_stream_write_xcdr2_plBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - to_BO4u
    - dds_stream_write_pl_memberlistBO
    - dds_os_reserve4BO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_xcdr2_plBO (RESTRICT_OSTREAM_T *os, const
      struct dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops, enum cdr_data_kind cdr_kind)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDS_OP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:837,1
    - Dst: dds_stream_write_adrBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:840,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:843,1
    - Dst: DDS_OP_JUMP
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:843,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:848,1
    - Dst: dds_stream_write_delimitedBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:852,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:854,1
    - Dst: dds_stream_write_xcdr2_plBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:858,1
    - Dst: dds_stream_write_xcdr1_plBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:860,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 7
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops0
    - is_mutable_member
    - cdr_kind
    argTypes:
    - RESTRICT_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    - bool
    - enum cdr_data_kind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 831
    functionDepth: 7
    functionLinenumber: 831
    functionLinenumberEnd: 865
    functionName: dds_stream_write_implBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 9
    functionsReached:
    - dds_stream_write_delimitedBO
    - dds_stream_write_xcdr2_plBO
    - DDS_OP_JUMP
    - dds_stream_write_xcdr1_plBO
    - dds_stream_write_adrBO
    - abort
    - dds_stream_write_implBO
    - DDS_OP
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_implBO (RESTRICT_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops0, bool is_mutable_member,
      enum cdr_data_kind cdr_kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:871,1
    - Dst: dds_stream_write_implBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:873,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - os
    - allocator
    - mid_table
    - data
    - ops
    argTypes:
    - DDS_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - struct dds_cdrstream_desc_mid_table*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 8
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: dds_stream_write_with_midBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - memcpy
    - dds_stream_write_implBO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_write_with_midBO (DDS_OSTREAM_T *os, const struct
      dds_cdrstream_allocator *allocator, const struct dds_cdrstream_desc_mid_table
      *mid_table, const char *data, const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_with_midBO
      Src: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - os
    - allocator
    - data
    - ops
    argTypes:
    - DDS_OSTREAM_T*
    - struct dds_cdrstream_allocator*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 9
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: dds_stream_writeBO
    functionSourceFile: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
    functionUses: 0
    functionsReached:
    - dds_stream_write_with_midBO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *dds_stream_writeBO (DDS_OSTREAM_T *os, const struct dds_cdrstream_allocator
      *allocator, const char *data, const uint32_t *ops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:110,1
    - Dst: DDS_Security_Exception_vset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:111,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: test_DDS_Security_Exception_vset
    functionSourceFile: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c
    functionUses: 0
    functionsReached:
    - va_start
    - DDS_Security_Exception_vset
    - va_end
    linkageType: ''
    returnType: void
    signature: void test_DDS_Security_Exception_vset (void *ptr, const char *msg,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:119,1
    - Dst: ddsrt_vasprintf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:120,1
    - Dst: va_end
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - fmt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: test_ddsrt_vasprintf
    functionSourceFile: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - ddsrt_vasprintf
    linkageType: ''
    returnType: void
    signature: void test_ddsrt_vasprintf (char **buf, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - arg
    - si
    - st
    - serdata
    argTypes:
    - void*
    - dds_sample_info_t*
    - struct ddsi_sertype*
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: test_collect_sample
    functionSourceFile: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t test_collect_sample (void *arg, const dds_sample_info_t
      *si, const struct ddsi_sertype *st, struct ddsi_serdata *serdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:144,1
    - Dst: dds_enable
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:148,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:149,1
    - Dst: dds_get_publisher
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:150,1
    - Dst: dds_get_subscriber
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:151,1
    - Dst: dds_get_datareader
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:152,1
    - Dst: dds_get_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:153,1
    - Dst: dds_get_instance_handle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:154,1
    - Dst: dds_get_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:155,1
    - Dst: dds_read_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:156,1
    - Dst: dds_take_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:157,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:158,1
    - Dst: dds_get_status_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:159,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:160,1
    - Dst: dds_get_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:161,1
    - Dst: dds_set_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:162,1
    - Dst: dds_get_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:163,1
    - Dst: dds_set_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:164,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:165,1
    - Dst: dds_create_participant_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:166,1
    - Dst: dds_create_domain
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:167,1
    - Dst: dds_create_domain_with_rawconfig
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:168,1
    - Dst: dds_get_parent
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:169,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:170,1
    - Dst: dds_get_children
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:171,1
    - Dst: dds_get_domainid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:172,1
    - Dst: dds_lookup_participant
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:173,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:174,1
    - Dst: dds_create_topic_sertype
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:175,1
    - Dst: dds_find_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:176,1
    - Dst: dds_find_topic_scoped
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:177,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:178,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:179,1
    - Dst: dds_get_name
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:180,1
    - Dst: dds_get_type_name
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:181,1
    - Dst: dds_set_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:182,1
    - Dst: dds_set_topic_filter_extended
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:183,1
    - Dst: dds_get_topic_filter_and_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:184,1
    - Dst: dds_get_topic_filter_extended
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:185,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:186,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:187,1
    - Dst: dds_suspend
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:188,1
    - Dst: dds_resume
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:189,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:190,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:191,1
    - Dst: dds_create_reader_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:192,1
    - Dst: dds_create_reader_rhc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:193,1
    - Dst: dds_reader_wait_for_historical_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:194,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:195,1
    - Dst: dds_create_writer_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:196,1
    - Dst: dds_register_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:197,1
    - Dst: dds_unregister_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:198,1
    - Dst: dds_unregister_instance_ih
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:199,1
    - Dst: dds_unregister_instance_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:200,1
    - Dst: dds_unregister_instance_ih_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:201,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:202,1
    - Dst: dds_writedispose_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:203,1
    - Dst: dds_dispose
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:204,1
    - Dst: dds_dispose_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:205,1
    - Dst: dds_dispose_ih
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:206,1
    - Dst: dds_dispose_ih_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:207,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:208,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:209,1
    - Dst: dds_writecdr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:210,1
    - Dst: dds_forwardcdr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:211,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:212,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:213,1
    - Dst: dds_create_querycondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:214,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:215,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:216,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:217,1
    - Dst: dds_take_guardcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:218,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:219,1
    - Dst: dds_waitset_get_entities
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:220,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:221,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:222,1
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:223,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:224,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:225,1
    - Dst: dds_peek
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:226,1
    - Dst: dds_peek_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:227,1
    - Dst: dds_peek_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:228,1
    - Dst: dds_peek_instance_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:229,1
    - Dst: dds_peek_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:230,1
    - Dst: dds_read
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:231,1
    - Dst: dds_read_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:232,1
    - Dst: dds_read_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:233,1
    - Dst: dds_read_mask_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:234,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:235,1
    - Dst: dds_read_instance_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:236,1
    - Dst: dds_read_instance_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:237,1
    - Dst: dds_read_instance_mask_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:238,1
    - Dst: dds_read_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:239,1
    - Dst: dds_read_next_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:240,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:241,1
    - Dst: dds_take_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:242,1
    - Dst: dds_take_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:243,1
    - Dst: dds_take_mask_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:244,1
    - Dst: dds_take_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:245,1
    - Dst: dds_take_instance_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:246,1
    - Dst: dds_take_instance_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:247,1
    - Dst: dds_take_instance_mask_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:248,1
    - Dst: dds_take_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:249,1
    - Dst: dds_take_next_wl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:250,1
    - Dst: dds_peekcdr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:251,1
    - Dst: dds_peekcdr_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:252,1
    - Dst: dds_readcdr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:253,1
    - Dst: dds_readcdr_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:254,1
    - Dst: dds_takecdr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:255,1
    - Dst: dds_takecdr_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:256,1
    - Dst: dds_peek_with_collector
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:257,1
    - Dst: dds_read_with_collector
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:258,1
    - Dst: dds_take_with_collector
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:259,1
    - Dst: dds_lookup_instance
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:260,1
    - Dst: dds_instance_get_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:261,1
    - Dst: dds_begin_coherent
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:262,1
    - Dst: dds_end_coherent
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:263,1
    - Dst: dds_notify_readers
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:264,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:265,1
    - Dst: dds_get_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:266,1
    - Dst: dds_get_matched_subscriptions
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:267,1
    - Dst: dds_get_matched_subscription_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:268,1
    - Dst: dds_get_matched_publications
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:269,1
    - Dst: dds_get_matched_publication_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:270,1
    - Dst: dds_builtintopic_get_endpoint_type_info
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:272,1
    - Dst: dds_builtintopic_free_endpoint
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:274,1
    - Dst: dds_builtintopic_free_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:275,1
    - Dst: dds_builtintopic_free_participant
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:276,1
    - Dst: dds_assert_liveliness
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:277,1
    - Dst: dds_domain_set_deafmute
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:278,1
    - Dst: dds_get_typeobj
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:279,1
    - Dst: dds_free_typeobj
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:280,1
    - Dst: dds_get_typeinfo
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:281,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:282,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:283,1
    - Dst: dds_request_loan
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:286,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:287,1
    - Dst: dds_is_shared_memory_available
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:288,1
    - Dst: dds_request_loan_of_size
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:289,1
    - Dst: dds_is_loan_available
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:290,1
    - Dst: dds_loan_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:291,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:294,1
    - Dst: dds_realloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:295,1
    - Dst: dds_realloc_zero
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:296,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:297,1
    - Dst: dds_string_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:298,1
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:299,1
    - Dst: dds_string_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:300,1
    - Dst: dds_sample_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:301,1
    - Dst: dds_write_set_batch
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:304,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:307,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:308,1
    - Dst: dds_reset_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:309,1
    - Dst: dds_copy_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:310,1
    - Dst: dds_merge_listener
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:311,1
    - Dst: dds_lset_data_available_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:312,1
    - Dst: dds_lset_data_on_readers_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:313,1
    - Dst: dds_lset_inconsistent_topic_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:314,1
    - Dst: dds_lset_liveliness_changed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:315,1
    - Dst: dds_lset_liveliness_lost_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:316,1
    - Dst: dds_lset_offered_deadline_missed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:317,1
    - Dst: dds_lset_offered_incompatible_qos_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:318,1
    - Dst: dds_lset_publication_matched_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:319,1
    - Dst: dds_lset_requested_deadline_missed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:320,1
    - Dst: dds_lset_requested_incompatible_qos_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:321,1
    - Dst: dds_lset_sample_lost_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:322,1
    - Dst: dds_lset_sample_rejected_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:323,1
    - Dst: dds_lset_subscription_matched_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:324,1
    - Dst: dds_lset_inconsistent_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:325,1
    - Dst: dds_lset_liveliness_lost
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:326,1
    - Dst: dds_lset_offered_deadline_missed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:327,1
    - Dst: dds_lset_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:328,1
    - Dst: dds_lset_data_on_readers
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:329,1
    - Dst: dds_lset_sample_lost
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:330,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:331,1
    - Dst: dds_lset_sample_rejected
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:332,1
    - Dst: dds_lset_liveliness_changed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:333,1
    - Dst: dds_lset_requested_deadline_missed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:334,1
    - Dst: dds_lset_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:335,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:336,1
    - Dst: dds_lset_subscription_matched
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:337,1
    - Dst: dds_lget_data_available_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:338,1
    - Dst: dds_lget_data_on_readers_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:339,1
    - Dst: dds_lget_inconsistent_topic_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:340,1
    - Dst: dds_lget_liveliness_changed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:341,1
    - Dst: dds_lget_liveliness_lost_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:342,1
    - Dst: dds_lget_offered_deadline_missed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:343,1
    - Dst: dds_lget_offered_incompatible_qos_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:344,1
    - Dst: dds_lget_publication_matched_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:345,1
    - Dst: dds_lget_requested_deadline_missed_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:346,1
    - Dst: dds_lget_requested_incompatible_qos_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:347,1
    - Dst: dds_lget_sample_lost_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:348,1
    - Dst: dds_lget_sample_rejected_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:349,1
    - Dst: dds_lget_subscription_matched_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:350,1
    - Dst: dds_lget_inconsistent_topic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:351,1
    - Dst: dds_lget_liveliness_lost
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:352,1
    - Dst: dds_lget_offered_deadline_missed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:353,1
    - Dst: dds_lget_offered_incompatible_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:354,1
    - Dst: dds_lget_data_on_readers
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:355,1
    - Dst: dds_lget_sample_lost
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:356,1
    - Dst: dds_lget_data_available
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:357,1
    - Dst: dds_lget_sample_rejected
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:358,1
    - Dst: dds_lget_liveliness_changed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:359,1
    - Dst: dds_lget_requested_deadline_missed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:360,1
    - Dst: dds_lget_requested_incompatible_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:361,1
    - Dst: dds_lget_publication_matched
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:362,1
    - Dst: dds_lget_subscription_matched
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:363,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:366,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:367,1
    - Dst: dds_reset_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:368,1
    - Dst: dds_copy_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:369,1
    - Dst: dds_merge_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:370,1
    - Dst: dds_qos_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:371,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:372,1
    - Dst: dds_qset_topicdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:373,1
    - Dst: dds_qset_groupdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:374,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:375,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:376,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:377,1
    - Dst: dds_qset_presentation
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:378,1
    - Dst: dds_qset_lifespan
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:379,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:380,1
    - Dst: dds_qset_latency_budget
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:381,1
    - Dst: dds_qset_ownership
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:382,1
    - Dst: dds_qset_ownership_strength
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:383,1
    - Dst: dds_qset_liveliness
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:384,1
    - Dst: dds_qset_time_based_filter
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:385,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:386,1
    - Dst: dds_qset_partition1
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:387,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:388,1
    - Dst: dds_qset_transport_priority
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:389,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:390,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:391,1
    - Dst: dds_qset_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:392,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:393,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:394,1
    - Dst: dds_qset_ignorelocal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:395,1
    - Dst: dds_qset_prop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:396,1
    - Dst: dds_qunset_prop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:397,1
    - Dst: dds_qset_bprop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:398,1
    - Dst: dds_qunset_bprop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:399,1
    - Dst: dds_qset_type_consistency
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:400,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:401,1
    - Dst: dds_qset_entity_name
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:402,1
    - Dst: dds_qset_psmx_instances
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:403,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:404,1
    - Dst: dds_qget_topicdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:405,1
    - Dst: dds_qget_groupdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:406,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:407,1
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:408,1
    - Dst: dds_qget_resource_limits
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:409,1
    - Dst: dds_qget_presentation
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:410,1
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:411,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:412,1
    - Dst: dds_qget_latency_budget
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:413,1
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:414,1
    - Dst: dds_qget_ownership_strength
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:415,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:416,1
    - Dst: dds_qget_time_based_filter
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:417,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:418,1
    - Dst: dds_qget_reliability
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:419,1
    - Dst: dds_qget_transport_priority
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:420,1
    - Dst: dds_qget_destination_order
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:421,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:422,1
    - Dst: dds_qget_reader_data_lifecycle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:423,1
    - Dst: dds_qget_writer_batching
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:424,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:425,1
    - Dst: dds_qget_ignorelocal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:426,1
    - Dst: dds_qget_propnames
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:427,1
    - Dst: dds_qget_prop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:428,1
    - Dst: dds_qget_bpropnames
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:429,1
    - Dst: dds_qget_bprop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:430,1
    - Dst: dds_qget_type_consistency
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:431,1
    - Dst: dds_qget_data_representation
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:432,1
    - Dst: dds_qget_entity_name
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:433,1
    - Dst: dds_qget_psmx_instances
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:434,1
    - Dst: dds_get_inconsistent_topic_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:437,1
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:438,1
    - Dst: dds_get_liveliness_lost_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:439,1
    - Dst: dds_get_offered_deadline_missed_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:440,1
    - Dst: dds_get_offered_incompatible_qos_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:441,1
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:442,1
    - Dst: dds_get_liveliness_changed_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:443,1
    - Dst: dds_get_sample_rejected_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:444,1
    - Dst: dds_get_sample_lost_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:445,1
    - Dst: dds_get_requested_deadline_missed_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:446,1
    - Dst: dds_get_requested_incompatible_qos_status
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:447,1
    - Dst: dds_dynamic_member_set_external
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:451,1
    - Dst: dds_dynamic_member_set_hashid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:452,1
    - Dst: dds_dynamic_member_set_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:453,1
    - Dst: dds_dynamic_member_set_must_understand
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:454,1
    - Dst: dds_dynamic_member_set_optional
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:455,1
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:456,1
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:457,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:458,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:459,1
    - Dst: dds_dynamic_type_dup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:460,1
    - Dst: dds_dynamic_type_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:461,1
    - Dst: dds_dynamic_type_register
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:462,1
    - Dst: dds_dynamic_type_set_autoid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:463,1
    - Dst: dds_dynamic_type_set_bit_bound
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:464,1
    - Dst: dds_dynamic_type_set_extensibility
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:465,1
    - Dst: dds_dynamic_type_set_nested
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:466,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:467,1
    - Dst: dds_rhc_associate
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:471,1
    - Dst: dds_rhc_store
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:472,1
    - Dst: dds_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:473,1
    - Dst: dds_rhc_relinquish_ownership
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:474,1
    - Dst: dds_rhc_set_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:475,1
    - Dst: dds_rhc_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:476,1
    - Dst: dds_rhc_peek
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:477,1
    - Dst: dds_rhc_read
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:478,1
    - Dst: dds_rhc_take
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:479,1
    - Dst: dds_rhc_add_readcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:480,1
    - Dst: dds_rhc_remove_readcondition
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:481,1
    - Dst: dds_reader_data_available_cb
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:482,1
    - Dst: dds_create_statistics
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:485,1
    - Dst: dds_refresh_statistics
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:486,1
    - Dst: dds_delete_statistics
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:487,1
    - Dst: dds_lookup_statistic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:488,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:492,1
    - Dst: dds_istream_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:493,1
    - Dst: dds_ostream_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:494,1
    - Dst: dds_ostream_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:495,1
    - Dst: dds_ostreamLE_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:496,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:497,1
    - Dst: dds_ostreamBE_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:498,1
    - Dst: dds_ostreamBE_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:499,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:501,1
    - Dst: dds_stream_normalize_xcdr2_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:503,1
    - Dst: dds_stream_write
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:506,1
    - Dst: dds_stream_writeLE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:507,1
    - Dst: dds_stream_writeBE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:508,1
    - Dst: dds_stream_write_with_mid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:509,1
    - Dst: dds_stream_write_with_midLE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:510,1
    - Dst: dds_stream_write_with_midBE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:511,1
    - Dst: dds_stream_write_with_byte_order
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:512,1
    - Dst: dds_stream_write_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:513,1
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:514,1
    - Dst: dds_stream_write_sampleBE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:515,1
    - Dst: dds_stream_getsize_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:517,1
    - Dst: dds_stream_getsize_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:518,1
    - Dst: dds_stream_read
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:520,1
    - Dst: dds_stream_read_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:521,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:523,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:524,1
    - Dst: dds_stream_countops
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:525,1
    - Dst: dds_stream_print_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:526,1
    - Dst: dds_stream_print_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:527,1
    - Dst: dds_stream_extract_key_from_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:529,1
    - Dst: dds_stream_extract_key_from_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:530,1
    - Dst: dds_stream_extract_keyBE_from_data
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:531,1
    - Dst: dds_stream_extract_keyBE_from_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:532,1
    - Dst: dds_cdrstream_desc_from_topic_desc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:533,1
    - Dst: dds_cdrstream_desc_init_with_nops
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:534,1
    - Dst: dds_cdrstream_desc_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:535,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:536,1
    - Dst: dds_add_psmx_endpoint_to_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:539,1
    - Dst: dds_add_psmx_topic_to_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:540,1
    - Dst: dds_remove_psmx_endpoint_from_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:541,1
    - Dst: dds_remove_psmx_topic_from_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:542,1
    - Dst: dds_psmx_init_generic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:543,1
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:544,1
    - Dst: dds_psmx_topic_init_generic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:545,1
    - Dst: dds_psmx_topic_cleanup_generic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:546,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:547,1
    - Dst: dds_loaned_sample_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:550,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:551,1
    - Dst: dds_reader_store_loaned_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:552,1
    - Dst: dds_reader_store_loaned_sample_wr_metadata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:553,1
    - Dst: dds_security_timed_dispatcher_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:557,1
    - Dst: dds_security_timed_dispatcher_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:558,1
    - Dst: dds_security_timed_dispatcher_enable
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:559,1
    - Dst: dds_security_timed_dispatcher_disable
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:560,1
    - Dst: dds_security_timed_dispatcher_add
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:561,1
    - Dst: dds_security_timed_dispatcher_remove
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:562,1
    - Dst: DDS_Security_BinaryProperty_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:565,1
    - Dst: DDS_Security_BinaryProperty_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:566,1
    - Dst: DDS_Security_BinaryProperty_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:567,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:568,1
    - Dst: DDS_Security_BinaryProperty_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:569,1
    - Dst: DDS_Security_BinaryProperty_set_by_value
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:570,1
    - Dst: DDS_Security_BinaryProperty_set_by_string
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:571,1
    - Dst: DDS_Security_BinaryProperty_set_by_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:572,1
    - Dst: DDS_Security_BinaryPropertySeq_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:573,1
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:574,1
    - Dst: DDS_Security_BinaryPropertySeq_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:575,1
    - Dst: DDS_Security_BinaryPropertySeq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:576,1
    - Dst: DDS_Security_Property_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:577,1
    - Dst: DDS_Security_Property_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:578,1
    - Dst: DDS_Security_Property_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:579,1
    - Dst: DDS_Security_Property_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:580,1
    - Dst: DDS_Security_Property_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:581,1
    - Dst: DDS_Security_Property_get_value
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:582,1
    - Dst: DDS_Security_PropertySeq_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:583,1
    - Dst: DDS_Security_PropertySeq_allocbuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:584,1
    - Dst: DDS_Security_PropertySeq_freebuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:585,1
    - Dst: DDS_Security_PropertySeq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:586,1
    - Dst: DDS_Security_PropertySeq_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:587,1
    - Dst: DDS_Security_PropertySeq_find_property
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:588,1
    - Dst: DDS_Security_DataHolder_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:589,1
    - Dst: DDS_Security_DataHolder_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:590,1
    - Dst: DDS_Security_DataHolder_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:591,1
    - Dst: DDS_Security_DataHolder_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:592,1
    - Dst: DDS_Security_DataHolder_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:593,1
    - Dst: DDS_Security_DataHolder_find_property
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:594,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:595,1
    - Dst: DDS_Security_DataHolderSeq_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:596,1
    - Dst: DDS_Security_DataHolderSeq_allocbuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:597,1
    - Dst: DDS_Security_DataHolderSeq_freebuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:598,1
    - Dst: DDS_Security_DataHolderSeq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:599,1
    - Dst: DDS_Security_DataHolderSeq_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:600,1
    - Dst: DDS_Security_DataHolderSeq_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:601,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:602,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:603,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:604,1
    - Dst: DDS_Security_OctetSeq_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:605,1
    - Dst: DDS_Security_OctetSeq_allocbuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:606,1
    - Dst: DDS_Security_OctetSeq_freebuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:607,1
    - Dst: DDS_Security_OctetSeq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:608,1
    - Dst: DDS_Security_OctetSeq_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:609,1
    - Dst: DDS_Security_OctetSeq_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:610,1
    - Dst: DDS_Security_HandleSeq_alloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:611,1
    - Dst: DDS_Security_HandleSeq_allocbuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:612,1
    - Dst: DDS_Security_HandleSeq_freebuf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:613,1
    - Dst: DDS_Security_HandleSeq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:614,1
    - Dst: DDS_Security_HandleSeq_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:615,1
    - Dst: test_DDS_Security_Exception_vset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:616,1
    - Dst: DDS_Security_Exception_set
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:617,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:618,1
    - Dst: DDS_Security_Exception_clean
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:619,1
    - Dst: DDS_Security_PropertyQosPolicy_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:620,1
    - Dst: DDS_Security_PropertyQosPolicy_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:621,1
    - Dst: DDS_Security_set_token_nil
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:622,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:623,1
    - Dst: DDS_Security_basicprotectionkind2transformationkind
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:624,1
    - Dst: DDS_Security_protectionkind2transformationkind
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:625,1
    - Dst: DDS_Security_get_conf_item_type
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:626,1
    - Dst: DDS_Security_normalize_file
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:627,1
    - Dst: DDS_Security_parse_xml_date
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:628,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:631,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:632,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:633,1
    - Dst: DDS_Security_Serialize_PropertySeq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:634,1
    - Dst: DDS_Security_Serialize_BinaryPropertyArray
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:635,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:636,1
    - Dst: DDS_Security_Serialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:637,1
    - Dst: DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:638,1
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:639,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:640,1
    - Dst: DDS_Security_Deserialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:641,1
    - Dst: DDS_Security_BuiltinTopicKeyBE
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:642,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:643,1
    - Dst: DDS_Security_get_challenge1_from_secret_handle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:646,1
    - Dst: DDS_Security_get_challenge2_from_secret_handle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:647,1
    - Dst: DDS_Security_get_secret_from_secret_handle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:648,1
    - Dst: DDS_Security_get_secret_size_from_secret_handle
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:649,1
    - Dst: dds_create_qos_provider
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:653,1
    - Dst: dds_create_qos_provider_scope
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:654,1
    - Dst: dds_qos_provider_get_qos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:655,1
    - Dst: dds_delete_qos_provider
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:656,1
    - Dst: ddsi_sertype_v0
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:661,1
    - Dst: ddsi_sertype_init_props
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:662,1
    - Dst: ddsi_sertype_init_flags
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:663,1
    - Dst: ddsi_sertype_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:664,1
    - Dst: ddsi_sertype_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:665,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:666,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:667,1
    - Dst: ddsi_sertype_compute_serdata_basehash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:668,1
    - Dst: ddsi_sertype_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:669,1
    - Dst: ddsi_sertype_hash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:670,1
    - Dst: ddsi_sertype_extensibility_enc_format
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:671,1
    - Dst: ddsi_sertype_get_native_enc_identifier
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:672,1
    - Dst: ddsi_sertype_enc_id_xcdr_version
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:673,1
    - Dst: ddsi_sertype_enc_id_enc_format
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:674,1
    - Dst: ddsi_sertype_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:675,1
    - Dst: ddsi_sertype_zero_samples
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:676,1
    - Dst: ddsi_sertype_realloc_samples
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:677,1
    - Dst: ddsi_sertype_free_samples
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:678,1
    - Dst: ddsi_sertype_zero_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:679,1
    - Dst: ddsi_sertype_alloc_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:680,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:681,1
    - Dst: ddsi_sertype_typeid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:682,1
    - Dst: ddsi_sertype_typemap
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:683,1
    - Dst: ddsi_sertype_typeinfo
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:684,1
    - Dst: ddsi_sertype_derive_sertype
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:685,1
    - Dst: ddsi_sertype_get_serialized_size
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:686,1
    - Dst: ddsi_sertype_serialize_into
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:687,1
    - Dst: ddsi_serdata_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:690,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:691,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:692,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:693,1
    - Dst: ddsi_serdata_from_ser
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:694,1
    - Dst: ddsi_serdata_from_ser_iov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:695,1
    - Dst: ddsi_serdata_from_keyhash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:696,1
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:697,1
    - Dst: ddsi_serdata_to_untyped
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:698,1
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:699,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:700,1
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:701,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:702,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:703,1
    - Dst: ddsi_serdata_eqkey
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:704,1
    - Dst: ddsi_serdata_print
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:706,1
    - Dst: ddsi_serdata_print_untyped
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:707,1
    - Dst: ddsi_serdata_get_keyhash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:708,1
    - Dst: ddsi_serdata_from_loaned_sample
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:709,1
    - Dst: ddsi_serdata_from_psmx
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:710,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:714,1
    - Dst: ddsi_typeid_copy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:715,1
    - Dst: ddsi_typeid_dup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:716,1
    - Dst: ddsi_typeid_ser
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:717,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:718,1
    - Dst: ddsi_typeid_is_hash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:719,1
    - Dst: ddsi_typeid_is_minimal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:720,1
    - Dst: ddsi_typeid_is_complete
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:721,1
    - Dst: ddsi_typeid_is_fully_descriptive
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:722,1
    - Dst: ddsi_typeid_get_equivalence_hash
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:723,1
    - Dst: ddsi_typeid_kind
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:724,1
    - Dst: ddsi_typeid_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:725,1
    - Dst: ddsi_typeinfo_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:728,1
    - Dst: ddsi_typeinfo_typeid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:729,1
    - Dst: ddsi_typeinfo_deser
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:730,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:731,1
    - Dst: ddsi_typeinfo_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:732,1
    - Dst: ddsi_typeinfo_dup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:733,1
    - Dst: ddsi_typeinfo_minimal_typeid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:734,1
    - Dst: ddsi_typeinfo_complete_typeid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:735,1
    - Dst: ddsi_typemap_deser
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:736,1
    - Dst: ddsi_typemap_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:737,1
    - Dst: ddsi_typemap_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:738,1
    - Dst: ddsi_typemap_get_type_name
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:739,1
    - Dst: ddsi_type_lookup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:740,1
    - Dst: ddsi_type_compare
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:741,1
    - Dst: ddsi_type_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:742,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:743,1
    - Dst: ddsi_type_add
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:744,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:746,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:750,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:753,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:756,1
    - Dst: ddsi_lookup_thread_state_real
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:757,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:758,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:759,1
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:762,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:763,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:764,1
    - Dst: ddsi_gcreq_get_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:765,1
    - Dst: ddsi_gcreq_set_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:766,1
    - Dst: ddsi_topic_descriptor_from_type
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:770,1
    - Dst: ddsi_topic_descriptor_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:771,1
    - Dst: ddsi_new_proxy_writer
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:775,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:775,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:777,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:777,1
    - Dst: ddsi_new_proxy_reader
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:779,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:779,1
    - Dst: ddsi_new_proxy_participant
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:783,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:783,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:786,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:787,1
    - Dst: ddsi_xqos_delta
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:790,1
    - Dst: ddsi_xpack_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:793,1
    - Dst: ddsi_xpack_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:794,1
    - Dst: ddsi_xpack_send
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:795,1
    - Dst: ddsi_hton_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:798,1
    - Dst: ddsi_ntoh_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:799,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:802,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:803,1
    - Dst: ddsi_write_sample_gc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:806,1
    - Dst: ddsi_entidx_lookup_writer_guid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:809,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:812,1
    - Dst: ddsi_unref_addrset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:813,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:814,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:815,1
    - Dst: ddsi_locator_to_string
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:818,1
    - Dst: ddsi_get_port_int
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:821,1
    - Dst: ddsi_ipaddr_to_loc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:824,1
    - Dst: ddsi_include_multicast_locator_in_discovery
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:827,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:831,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:832,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:833,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:834,1
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:835,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:836,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:837,1
    - Dst: ddsrt_atomic_incptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:838,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:839,1
    - Dst: ddsrt_atomic_incptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:840,1
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:841,1
    - Dst: ddsrt_atomic_incptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:842,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:843,1
    - Dst: ddsrt_atomic_decptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:844,1
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:845,1
    - Dst: ddsrt_atomic_decptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:846,1
    - Dst: ddsrt_atomic_dec32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:847,1
    - Dst: ddsrt_atomic_decptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:848,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:849,1
    - Dst: ddsrt_atomic_addptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:850,1
    - Dst: ddsrt_atomic_add32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:851,1
    - Dst: ddsrt_atomic_addptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:852,1
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:853,1
    - Dst: ddsrt_atomic_addptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:854,1
    - Dst: ddsrt_atomic_sub32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:855,1
    - Dst: ddsrt_atomic_subptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:856,1
    - Dst: ddsrt_atomic_sub32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:857,1
    - Dst: ddsrt_atomic_subptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:858,1
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:859,1
    - Dst: ddsrt_atomic_subptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:860,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:861,1
    - Dst: ddsrt_atomic_andptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:862,1
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:863,1
    - Dst: ddsrt_atomic_andptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:864,1
    - Dst: ddsrt_atomic_and32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:865,1
    - Dst: ddsrt_atomic_andptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:866,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:867,1
    - Dst: ddsrt_atomic_orptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:868,1
    - Dst: ddsrt_atomic_or32_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:869,1
    - Dst: ddsrt_atomic_orptr_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:870,1
    - Dst: ddsrt_atomic_or32_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:871,1
    - Dst: ddsrt_atomic_orptr_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:872,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:873,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:874,1
    - Dst: ddsrt_atomic_casvoidp
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:875,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:876,1
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:877,1
    - Dst: ddsrt_atomic_fence_stst
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:878,1
    - Dst: ddsrt_atomic_fence_acq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:879,1
    - Dst: ddsrt_atomic_fence_rel
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:880,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:882,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:883,1
    - Dst: ddsrt_atomic_inc64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:884,1
    - Dst: ddsrt_atomic_inc64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:885,1
    - Dst: ddsrt_atomic_inc64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:886,1
    - Dst: ddsrt_atomic_dec64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:887,1
    - Dst: ddsrt_atomic_dec64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:888,1
    - Dst: ddsrt_atomic_dec64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:889,1
    - Dst: ddsrt_atomic_add64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:890,1
    - Dst: ddsrt_atomic_add64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:891,1
    - Dst: ddsrt_atomic_add64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:892,1
    - Dst: ddsrt_atomic_sub64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:893,1
    - Dst: ddsrt_atomic_sub64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:894,1
    - Dst: ddsrt_atomic_sub64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:895,1
    - Dst: ddsrt_atomic_and64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:896,1
    - Dst: ddsrt_atomic_and64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:897,1
    - Dst: ddsrt_atomic_and64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:898,1
    - Dst: ddsrt_atomic_or64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:899,1
    - Dst: ddsrt_atomic_or64_ov
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:900,1
    - Dst: ddsrt_atomic_or64_nv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:901,1
    - Dst: ddsrt_atomic_cas64
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:902,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:906,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:909,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:910,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:911,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:914,1
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:917,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:918,1
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:919,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:920,1
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:921,1
    - Dst: ddsrt_hh_add_absent
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:922,1
    - Dst: ddsrt_hh_remove_present
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:923,1
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:924,1
    - Dst: ddsrt_hh_iter_first
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:925,1
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:926,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:930,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:931,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:932,1
    - Dst: ddsrt_mutex_trylock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:933,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:935,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:936,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:937,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:938,1
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:939,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:940,1
    - Dst: ddsrt_cond_wctime_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:941,1
    - Dst: ddsrt_cond_wctime_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:942,1
    - Dst: ddsrt_cond_wctime_wait
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:943,1
    - Dst: ddsrt_cond_wctime_waituntil
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:944,1
    - Dst: ddsrt_cond_wctime_signal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:945,1
    - Dst: ddsrt_cond_wctime_broadcast
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:946,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:947,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:948,1
    - Dst: ddsrt_cond_mtime_wait
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:949,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:950,1
    - Dst: ddsrt_cond_mtime_signal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:951,1
    - Dst: ddsrt_cond_mtime_broadcast
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:952,1
    - Dst: ddsrt_cond_etime_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:953,1
    - Dst: ddsrt_cond_etime_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:954,1
    - Dst: ddsrt_cond_etime_wait
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:955,1
    - Dst: ddsrt_cond_etime_waituntil
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:956,1
    - Dst: ddsrt_cond_etime_signal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:957,1
    - Dst: ddsrt_cond_etime_broadcast
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:958,1
    - Dst: ddsrt_rwlock_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:959,1
    - Dst: ddsrt_rwlock_destroy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:960,1
    - Dst: ddsrt_rwlock_read
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:961,1
    - Dst: ddsrt_rwlock_write
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:962,1
    - Dst: ddsrt_rwlock_tryread
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:963,1
    - Dst: ddsrt_rwlock_trywrite
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:965,1
    - Dst: ddsrt_rwlock_unlock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:967,1
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:968,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:972,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:973,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:974,1
    - Dst: ddsrt_gettid_for_thread
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:975,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:976,1
    - Dst: ddsrt_thread_equal
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:977,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:978,1
    - Dst: ddsrt_thread_getname
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:979,1
    - Dst: ddsrt_thread_setname
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:981,1
    - Dst: ddsrt_thread_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:984,1
    - Dst: ddsrt_thread_getname_anythread
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:985,1
    - Dst: ddsrt_thread_cleanup_push
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:987,1
    - Dst: ddsrt_thread_cleanup_pop
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:988,1
    - Dst: ddsrt_thread_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:989,1
    - Dst: ddsrt_thread_fini
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:990,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:993,1
    - Dst: ddsrt_getprocessname
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:994,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1000,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1001,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1002,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1003,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1004,1
    - Dst: ddsrt_time_highres
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1005,1
    - Dst: ddsrt_ctime
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1006,1
    - Dst: ddsrt_time_add_duration
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1007,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1008,1
    - Dst: ddsrt_wctime_add_duration
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1009,1
    - Dst: ddsrt_etime_add_duration
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1010,1
    - Dst: ddsrt_mtime_to_sec_usec
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1011,1
    - Dst: ddsrt_wctime_to_sec_usec
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1012,1
    - Dst: ddsrt_etime_to_sec_usec
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1013,1
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1016,1
    - Dst: ddsrt_bswap2
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1017,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1018,1
    - Dst: ddsrt_bswap4
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1019,1
    - Dst: ddsrt_bswap8u
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1020,1
    - Dst: ddsrt_bswap8
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1021,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1024,1
    - Dst: ddsrt_avl_treedef_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1027,1
    - Dst: ddsrt_avl_treedef_init_r
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1028,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1029,1
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1030,1
    - Dst: ddsrt_avl_free_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1031,1
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1032,1
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1033,1
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1034,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1035,1
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1036,1
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1037,1
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1038,1
    - Dst: ddsrt_avl_lookup_pred
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1039,1
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1040,1
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1041,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1042,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1043,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1044,1
    - Dst: ddsrt_avl_swap_node
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1045,1
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1046,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1047,1
    - Dst: ddsrt_avl_is_singleton
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1048,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1049,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1050,1
    - Dst: ddsrt_avl_find_pred
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1051,1
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1052,1
    - Dst: ddsrt_avl_walk
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1053,1
    - Dst: ddsrt_avl_const_walk
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1054,1
    - Dst: ddsrt_avl_walk_range
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1055,1
    - Dst: ddsrt_avl_const_walk_range
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1056,1
    - Dst: ddsrt_avl_walk_range_reverse
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1057,1
    - Dst: ddsrt_avl_const_walk_range_reverse
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1058,1
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1059,1
    - Dst: ddsrt_avl_iter_succ_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1060,1
    - Dst: ddsrt_avl_iter_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1061,1
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1062,1
    - Dst: ddsrt_avl_ctreedef_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1064,1
    - Dst: ddsrt_avl_ctreedef_init_r
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1065,1
    - Dst: ddsrt_avl_cinit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1066,1
    - Dst: ddsrt_avl_cfree
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1067,1
    - Dst: ddsrt_avl_cfree_arg
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1068,1
    - Dst: ddsrt_avl_croot
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1069,1
    - Dst: ddsrt_avl_croot_non_empty
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1070,1
    - Dst: ddsrt_avl_clookup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1071,1
    - Dst: ddsrt_avl_clookup_ipath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1072,1
    - Dst: ddsrt_avl_clookup_dpath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1073,1
    - Dst: ddsrt_avl_clookup_pred_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1074,1
    - Dst: ddsrt_avl_clookup_succ_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1075,1
    - Dst: ddsrt_avl_clookup_pred
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1076,1
    - Dst: ddsrt_avl_clookup_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1077,1
    - Dst: ddsrt_avl_cinsert
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1078,1
    - Dst: ddsrt_avl_cdelete
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1079,1
    - Dst: ddsrt_avl_cinsert_ipath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1080,1
    - Dst: ddsrt_avl_cdelete_dpath
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1081,1
    - Dst: ddsrt_avl_cswap_node
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1082,1
    - Dst: ddsrt_avl_caugment_update
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1083,1
    - Dst: ddsrt_avl_cis_empty
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1085,1
    - Dst: ddsrt_avl_cis_singleton
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1086,1
    - Dst: ddsrt_avl_ccount
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1087,1
    - Dst: ddsrt_avl_cfind_min
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1089,1
    - Dst: ddsrt_avl_cfind_max
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1090,1
    - Dst: ddsrt_avl_cfind_pred
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1091,1
    - Dst: ddsrt_avl_cfind_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1092,1
    - Dst: ddsrt_avl_cwalk
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1093,1
    - Dst: ddsrt_avl_cconst_walk
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1094,1
    - Dst: ddsrt_avl_cwalk_range
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1095,1
    - Dst: ddsrt_avl_cconst_walk_range
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1096,1
    - Dst: ddsrt_avl_cwalk_range_reverse
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1097,1
    - Dst: ddsrt_avl_cconst_walk_range_reverse
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1098,1
    - Dst: ddsrt_avl_citer_first
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1099,1
    - Dst: ddsrt_avl_citer_succ_eq
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1100,1
    - Dst: ddsrt_avl_citer_succ
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1101,1
    - Dst: ddsrt_avl_citer_next
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1102,1
    - Dst: ddsrt_fibheap_def_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1105,1
    - Dst: ddsrt_fibheap_init
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1106,1
    - Dst: ddsrt_fibheap_min
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1107,1
    - Dst: ddsrt_fibheap_merge
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1108,1
    - Dst: ddsrt_fibheap_insert
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1109,1
    - Dst: ddsrt_fibheap_delete
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1110,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1111,1
    - Dst: ddsrt_fibheap_decrease_key
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1112,1
    - Dst: ddsrt_netstat_new
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1116,1
    - Dst: ddsrt_netstat_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1117,1
    - Dst: ddsrt_netstat_get
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1118,1
    - Dst: ddsrt_thread_list
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1124,1
    - Dst: ddsrt_getrusage
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1125,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1126,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1130,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1131,1
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1132,1
    - Dst: ddsrt_expand_envvars
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1133,1
    - Dst: ddsrt_expand_envvars_sh
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1134,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1137,1
    - Dst: dds_log
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1140,1
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1141,1
    - Dst: dds_get_log_mask
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1142,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1146,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1151,1
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1152,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1153,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1154,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1155,1
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1156,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1157,1
    - Dst: ddsrt_set_allocator
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1158,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1161,1
    - Dst: ddsrt_strncasecmp
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1162,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1163,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1164,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1165,1
    - Dst: ddsrt_strndup
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1166,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1167,1
    - Dst: ddsrt_strlcat
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1168,1
    - Dst: ddsrt_str_replace
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1169,1
    - Dst: ddsrt_str_trim_ord_space
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1170,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1173,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1174,1
    - Dst: ddsrt_strtoull
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1175,1
    - Dst: ddsrt_atoll
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1176,1
    - Dst: ddsrt_atoull
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1177,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1178,1
    - Dst: ddsrt_ulltostr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1179,1
    - Dst: ddsrt_xmlp_new_file
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1182,1
    - Dst: ddsrt_xmlp_new_string
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1183,1
    - Dst: ddsrt_xmlp_set_options
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1184,1
    - Dst: ddsrt_xmlp_get_bufpos
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1185,1
    - Dst: ddsrt_xmlp_free
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1186,1
    - Dst: ddsrt_xmlp_parse
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1187,1
    - Dst: ddsrt_get_machineid
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1190,1
    - Dst: ddsrt_opendir
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1194,1
    - Dst: ddsrt_closedir
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1195,1
    - Dst: ddsrt_readdir
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1196,1
    - Dst: ddsrt_stat
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1197,1
    - Dst: ddsrt_file_normalize
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1198,1
    - Dst: ddsrt_file_sep
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1199,1
    - Dst: test_ddsrt_vasprintf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1203,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1204,1
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1207,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1208,1
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1211,1
    - Dst: dds_write_impl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1214,1
    - Dst: dds_writecdr_impl
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1215,1
    - Dst: dds_writer_psmx_loan_raw
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1218,1
    - Dst: dds_writer_psmx_loan_from_serdata
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1219,1
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1222,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1223,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1224,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1225,1
    - Dst: dds_sysdef_init_sysdef
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1228,1
    - Dst: dds_sysdef_init_sysdef_str
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1229,1
    - Dst: dds_sysdef_fini_sysdef
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1230,1
    - Dst: dds_sysdef_init_data_types
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1231,1
    - Dst: dds_sysdef_init_data_types_str
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1232,1
    - Dst: dds_sysdef_fini_data_types
      Src: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 899
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 134
    functionDepth: 12
    functionLinenumber: 134
    functionLinenumberEnd: 1236
    functionName: main
    functionSourceFile: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c
    functionUses: 77
    functionsReached:
    - ddsi_write_sample_gc
    - dds_create_domain
    - DDS_Security_OctetSeq_freebuf
    - ddsrt_mtime_to_sec_usec
    - ddsrt_atomic_or64_nv
    - dds_qget_data_representation
    - dds_get_sample_rejected_status
    - ddsrt_md5_init
    - dds_create_domain_with_rawconfig
    - dds_stream_extract_key_from_data
    - dds_qget_userdata
    - ddsrt_str_replace
    - ddsi_serdata_from_loaned_sample
    - dds_lset_liveliness_changed_arg
    - ddsrt_strtoll
    - dds_rhc_unregister_wr
    - ddsrt_atomic_stptr
    - dds_loaned_sample_ref
    - ddsrt_avl_insert_ipath
    - dds_free_typeinfo
    - ddsrt_avl_lookup_succ_eq
    - ddsrt_netstat_free
    - dds_get_status_changes
    - dds_qget_type_consistency
    - dds_qget_durability_service
    - ddsrt_rwlock_tryread
    - DDS_Security_PropertySeq_alloc
    - ddsrt_avl_citer_succ_eq
    - ddsrt_atomic_inc32_nv
    - ddsrt_thread_create
    - ddsrt_atomic_or64_ov
    - ddsrt_getrusage
    - dds_sample_free
    - ddsrt_atomic_decptr_ov
    - ddsrt_rwlock_trywrite
    - ddsrt_atomic_and64
    - dds_stream_write_with_byte_order
    - ddsi_sertype_zero_samples
    - DDS_Security_Property_equal
    - ddsrt_avl_free
    - ddsrt_avl_const_walk
    - dds_stream_write_sample
    - dds_stream_write_with_midBE
    - dds_stream_read_sample
    - dds_qset_ignorelocal
    - ddsrt_time_elapsed
    - ddsrt_atomic_ld64
    - ddsrt_atomic_inc64
    - dds_take
    - DDS_Security_BinaryPropertySeq_deinit
    - DDS_Security_DataHolder_find_property
    - ddsrt_wctime_to_sec_usec
    - ddsrt_avl_walk_range_reverse
    - dds_builtintopic_free_participant
    - dds_return_loan
    - dds_copy_qos
    - ddsrt_cond_destroy
    - ddsrt_lltostr
    - dds_create_waitset
    - dds_read
    - ddsrt_atomic_casvoidp
    - ddsrt_avl_citer_first
    - ddsrt_atomic_inc32_ov
    - ddsrt_avl_croot_non_empty
    - dds_read_wl
    - dds_psmx_topic_cleanup_generic
    - ddsrt_atomic_sub32
    - ddsi_type_compare
    - dds_dynamic_type_add_member
    - ddsrt_atomic_dec64
    - ddsrt_bswap8u
    - ddsi_serdata_size
    - ddsi_serdata_get_keyhash
    - DDS_Security_Property_alloc
    - ddsi_locator_to_string
    - dds_loan_sample
    - ddsrt_atomic_dec32_ov
    - dds_write
    - dds_cdrstream_desc_init_with_nops
    - ddsrt_atomic_fence_ldld
    - ddsrt_avl_caugment_update
    - dds_get_mask
    - dds_peek_instance_mask
    - ddsrt_atomic_decptr
    - ddsrt_atomic_add64
    - dds_realloc
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - dds_get_instance_handle
    - dds_find_topic
    - DDS_Security_Serialize_ParticipantBuiltinTopicData
    - ddsrt_avl_lookup_pred_eq
    - ddsrt_avl_ccount
    - dds_dynamic_member_set_key
    - DDS_Security_get_challenge1_from_secret_handle
    - dds_dynamic_type_unref
    - dds_dynamic_type_create
    - dds_read_next
    - DDS_Security_BinaryProperty_set_by_string
    - dds_lset_sample_lost_arg
    - ddsi_typeid_dup
    - DDS_Security_BinaryPropertySeq_free
    - dds_string_free
    - ddsi_sertype_typeinfo
    - DDS_Security_protectionkind2transformationkind
    - dds_waitset_wait
    - ddsrt_atomic_inc32
    - ddsrt_avl_find_succ
    - ddsrt_avl_root_non_empty
    - ddsrt_atomic_sub64
    - ddsrt_avl_swap_node
    - DDS_Security_Exception_clean
    - dds_delete
    - ddsrt_str_trim_ord_space
    - dds_dispose_ih_ts
    - dds_lget_data_available_arg
    - ddsrt_atomic_subptr_ov
    - ddsrt_bswap2u
    - ddsi_sertype_get_native_enc_identifier
    - DDS_Security_OctetSeq_free
    - DDS_Security_BinaryPropertySeq_alloc
    - dds_lset_offered_incompatible_qos
    - dds_refresh_statistics
    - dds_stream_writeLE
    - dds_take_guardcondition
    - dds_create_writer_guid
    - ddsrt_rwlock_destroy
    - ddsrt_avl_cconst_walk_range_reverse
    - dds_peek
    - dds_peek_mask
    - dds_qset_writer_data_lifecycle
    - dds_stream_read_key
    - dds_dynamic_type_set_bit_bound
    - DDS_Security_Deserialize_ParticipantBuiltinTopicData
    - ddsrt_fibheap_merge
    - ddsrt_rwlock_write
    - dds_read_instance_mask
    - dds_stream_write
    - ddsi_sertype_typeid
    - ddsrt_atomic_fence_stst
    - ddsrt_atomic_or64
    - dds_dynamic_type_add_enum_literal
    - ddsrt_cond_mtime_broadcast
    - dds_qset_partition
    - ddsrt_time_monotonic
    - dds_cdrstream_desc_from_topic_desc
    - dds_delete_qos_provider
    - ddsi_typemap_deser
    - ddsrt_rwlock_read
    - dds_dynamic_member_set_optional
    - dds_stream_normalize
    - dds_qget_reliability
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - dds_get_matched_publications
    - dds_qget_ownership
    - dds_qset_transport_priority
    - ddsi_new_proxy_participant
    - dds_takecdr
    - dds_psmx_topic_init_generic
    - dds_peekcdr_instance
    - DDS_Security_PropertySeq_deinit
    - ddsi_serdata_from_ser_iov
    - dds_delete_statistics
    - dds_stream_write_with_mid
    - ddsrt_avl_find_pred
    - ddsrt_avl_iter_succ_eq
    - dds_sysdef_init_data_types_str
    - ddsi_typeid_kind
    - DDS_Security_PropertySeq_free
    - ddsi_typeinfo_free
    - dds_writedispose
    - ddsi_sertype_zero_sample
    - ddsrt_avl_cfree
    - ddsrt_avl_root
    - DDS_Security_Serializer_buffer
    - ddsi_gcreq_enqueue
    - ddsrt_fibheap_insert
    - dds_peek_next
    - ddsi_serdata_init
    - ddsrt_hh_add_absent
    - ddsi_serdata_from_psmx
    - dds_lget_liveliness_lost_arg
    - dds_qset_time_based_filter
    - ddsrt_realloc
    - dds_write_ts
    - ddsrt_bswap4u
    - dds_lget_sample_rejected_arg
    - dds_stream_free_sample
    - DDS_Security_basicprotectionkind2transformationkind
    - ddsi_sertype_init
    - ddsrt_fibheap_min
    - ddsrt_fibheap_decrease_key
    - ddsrt_ulltostr
    - ddsi_serdata_from_ser
    - ddsrt_file_sep
    - dds_qset_partition1
    - dds_suspend
    - ddsrt_avl_clookup_succ
    - ddsrt_atomic_inc64_nv
    - ddsrt_mutex_unlock
    - ddsrt_cond_etime_signal
    - ddsrt_avl_lookup_pred
    - dds_get_subscriber
    - ddsi_sertype_derive_sertype
    - dds_qset_ownership
    - dds_unregister_instance
    - ddsrt_atomic_fence_acq
    - ddsi_sertype_init_flags
    - ddsrt_thread_list
    - ddsrt_fibheap_delete
    - dds_qset_reliability
    - ddsi_gcreq_set_arg
    - ddsrt_atomic_fence
    - dds_lset_data_available
    - dds_qget_writer_batching
    - ddsi_serdata_to_untyped
    - dds_create_topic_sertype
    - dds_take_instance_mask
    - ddsi_sertype_compute_serdata_basehash
    - ddsi_typeinfo_complete_typeid
    - ddsrt_xmlp_parse
    - DDS_Security_OctetSeq_alloc
    - ddsrt_atomic_fence_rel
    - dds_create_reader
    - ddsrt_cond_broadcast
    - dds_peek_instance
    - DDS_Security_Serialize_PropertySeq
    - dds_assert_liveliness
    - dds_ostream_init
    - dds_read_next_wl
    - ddsi_serdata_to_sample
    - ddsrt_cond_mtime_destroy
    - ddsi_typeid_fini
    - dds_take_status
    - ddsi_sertype_realloc_samples
    - ddsi_typemap_fini
    - ddsi_tkmap_lookup_instance_ref
    - dds_qset_durability
    - ddsrt_avl_find_max
    - DDS_Security_ParticipantBuiltinTopicData_deinit
    - dds_qset_ownership_strength
    - dds_qset_reader_data_lifecycle
    - ddsrt_atomic_or32_nv
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    - dds_lset_subscription_matched
    - dds_read_instance
    - dds_rhc_set_qos
    - ddsi_sertype_get_serialized_size
    - dds_qget_lifespan
    - ddsi_typeid_is_none
    - ddsrt_stat
    - dds_stream_extract_keyBE_from_key
    - ddsrt_atomic_cas32
    - dds_qget_partition
    - dds_set_qos
    - dds_get_participant
    - dds_stream_print_sample
    - ddsi_sertype_unref
    - dds_qset_presentation
    - ddsi_sertype_equal
    - dds_peekcdr
    - ddsi_typeid_copy
    - dds_qset_psmx_instances
    - ddsi_config_init_default
    - ddsi_ntoh_guid
    - ddsrt_thread_getname_anythread
    - ddsrt_avl_cfind_succ
    - dds_write_flush
    - dds_lset_subscription_matched_arg
    - dds_writedispose_ts
    - dds_lset_liveliness_lost
    - dds_stream_getsize_sample
    - ddsrt_set_allocator
    - dds_get_typeobj
    - ddsrt_strdup
    - ddsrt_strndup
    - ddsrt_atomic_andptr_ov
    - dds_entity_pin
    - ddsrt_atomic_add32
    - DDS_Security_PropertyQosPolicy_deinit
    - ddsrt_avl_cinsert_ipath
    - ddsrt_thread_fini
    - ddsi_serdata_eqkey
    - dds_delete_listener
    - dds_lset_data_available_arg
    - dds_writer_psmx_loan_from_serdata
    - DDS_Security_Serialize_BinaryPropertyArray
    - ddsi_typeid_is_hash
    - ddsrt_time_highres
    - ddsrt_strlcpy
    - DDS_Security_DataHolderSeq_free
    - ddsi_serdata_to_ser
    - dds_lookup_participant
    - ddsrt_avl_walk
    - dds_strretcode
    - ddsi_lookup_thread_state
    - dds_read_guardcondition
    - dds_take_with_collector
    - dds_dynamic_member_set_external
    - ddsrt_cond_init
    - dds_stream_write_sampleLE
    - ddsrt_memdup
    - DDS_Security_BinaryProperty_equal
    - ddsi_serdata_print_untyped
    - dds_read_instance_mask_wl
    - ddsrt_atomic_inc64_ov
    - ddsrt_avl_citer_succ
    - ddsi_gcreq_free
    - ddsi_typeinfo_fini
    - ddsrt_atomic_casptr
    - dds_unregister_instance_ih
    - dds_ostream_fini
    - dds_sysdef_init_sysdef
    - ddsrt_avl_cfind_max
    - ddsi_ipaddr_to_loc
    - dds_entity_unpin
    - dds_lset_liveliness_lost_arg
    - dds_lset_inconsistent_topic
    - dds_psmx_init_generic
    - dds_sysdef_fini_sysdef
    - dds_qset_deadline
    - dds_lookup_instance
    - ddsrt_atomic_sub32_ov
    - dds_is_loan_available
    - dds_ostreamLE_fini
    - ddsrt_atomic_ld32
    - dds_lget_offered_incompatible_qos_arg
    - ddsrt_atomic_andptr_nv
    - ddsrt_netstat_new
    - dds_create_qos_provider
    - dds_get_requested_deadline_missed_status
    - dds_merge_qos
    - dds_qget_ignorelocal
    - dds_set_status_mask
    - ddsrt_thread_getname
    - dds_qget_writer_data_lifecycle
    - ddsi_sertype_free_sample
    - ddsrt_atomic_and64_ov
    - ddsrt_todigit
    - DDS_Security_HandleSeq_allocbuf
    - ddsrt_atomic_orptr
    - DDS_Security_HandleSeq_deinit
    - ddsrt_avl_lookup_succ
    - ddsi_hton_guid
    - DDS_Security_BinaryProperty_alloc
    - dds_remove_psmx_endpoint_from_list
    - ddsrt_atomic_andptr
    - dds_qset_prop
    - dds_create_qos_provider_scope
    - dds_take_mask_wl
    - ddsi_serdata_untyped_to_sample
    - dds_add_psmx_topic_to_list
    - dds_lset_data_on_readers_arg
    - dds_lget_requested_incompatible_qos_arg
    - dds_istream_fini
    - dds_lset_requested_incompatible_qos
    - dds_builtintopic_free_endpoint
    - ddsrt_avl_const_walk_range
    - dds_qunset_prop
    - dds_istream_init
    - ddsrt_cond_wctime_signal
    - ddsi_typeinfo_equal
    - dds_create_reader_rhc
    - dds_create_listener
    - dds_reader_wait_for_historical_data
    - dds_get_domainid
    - DDS_Security_OctetSeq_copy
    - ddsrt_atomic_add32_ov
    - dds_waitset_set_trigger
    - dds_read_mask
    - dds_sleepfor
    - dds_create_topic_descriptor
    - ddsrt_atomic_addptr_nv
    - dds_qset_data_representation
    - ddsrt_avl_cwalk_range_reverse
    - dds_lget_requested_incompatible_qos
    - dds_lget_sample_lost_arg
    - ddsrt_cond_mtime_wait
    - ddsrt_atomic_subptr_nv
    - ddsi_typeid_is_complete
    - dds_reset_qos
    - ddsrt_atomic_and32_ov
    - dds_domain_set_deafmute
    - ddsrt_avl_lookup_dpath
    - ddsrt_avl_walk_range
    - ddsi_typemap_equal
    - dds_lget_subscription_matched
    - dds_loaned_sample_unref
    - ddsrt_malloc
    - dds_lset_offered_deadline_missed
    - dds_cdrstream_desc_fini
    - dds_unregister_instance_ts
    - dds_security_timed_dispatcher_free
    - ddsrt_getpid
    - dds_qget_reader_data_lifecycle
    - dds_readcdr_instance
    - ddsrt_cond_signal
    - dds_reader_data_available_cb
    - dds_take_next_wl
    - ddsrt_wctime_add_duration
    - dds_copy_listener
    - ddsrt_avl_cis_empty
    - DDS_Security_Serialize_BinaryPropertySeq
    - ddsi_lookup_thread_state_real
    - dds_wait_for_acks
    - DDS_Security_Property_copy
    - DDS_Security_get_secret_size_from_secret_handle
    - ddsrt_avl_const_walk_range_reverse
    - dds_dynamic_type_set_extensibility
    - dds_stream_write_with_midLE
    - dds_create_statistics
    - ddsi_serdata_ref
    - dds_qget_entity_name
    - ddsrt_avl_augment_update
    - ddsi_sertype_serialize_into
    - ddsi_config_fini
    - test_DDS_Security_Exception_vset
    - ddsrt_sockaddrfromstr
    - ddsrt_opendir
    - dds_take_next
    - dds_qget_groupdata
    - dds_get_name
    - dds_unregister_instance_ih_ts
    - DDS_Security_DataHolderSeq_alloc
    - ddsi_unref_addrset
    - ddsrt_atomic_st32
    - ddsrt_time_add_duration
    - dds_qget_time_based_filter
    - ddsi_sertype_free
    - dds_merge_listener
    - dds_qset_liveliness
    - dds_qset_userdata
    - ddsrt_cond_wctime_wait
    - ddsrt_thread_cleanup_pop
    - ddsrt_atomic_incptr_ov
    - ddsrt_xmlp_get_bufpos
    - dds_rhc_remove_readcondition
    - ddsi_typeid_ser
    - ddsrt_avl_cconst_walk_range
    - ddsrt_avl_cfind_pred
    - dds_qget_durability
    - DDS_Security_Exception_set
    - ddsi_typeid_is_fully_descriptive
    - ddsrt_etime_to_sec_usec
    - ddsrt_avl_clookup
    - ddsrt_strncasecmp
    - ddsi_topic_descriptor_fini
    - DDS_Security_Serializer_new
    - ddsi_thread_state_asleep
    - dds_qget_ownership_strength
    - ddsi_entidx_lookup_writer_guid
    - ddsrt_atomic_subptr
    - ddsi_serdata_from_keyhash
    - dds_create_readcondition
    - dds_qset_durability_service
    - ddsi_serdata_unref
    - dds_get_datareader
    - dds_free
    - ddsi_topic_descriptor_from_type
    - ddsrt_thread_self
    - ddsrt_avl_iter_first
    - DDS_Security_DataHolderSeq_deinit
    - DDS_Security_normalize_file
    - dds_notify_readers
    - dds_stream_normalize_xcdr2_data
    - ddsrt_bswap2
    - ddsrt_bswap8
    - ddsrt_fibheap_extract_min
    - dds_end_coherent
    - dds_remove_psmx_topic_from_list
    - ddsrt_xmlp_free
    - dds_psmx_get_config_option_value
    - dds_get_publisher
    - DDS_Security_get_conf_item_type
    - ddsrt_calloc
    - dds_qget_destination_order
    - dds_lget_publication_matched
    - dds_take_wl
    - dds_lget_subscription_matched_arg
    - dds_qos_equal
    - ddsrt_atomic_incptr
    - ddsi_gcreq_new
    - ddsrt_atomic_add64_ov
    - DDS_Security_DataHolderSeq_allocbuf
    - dds_stream_print_key
    - dds_rhc_store
    - dds_take_instance_wl
    - dds_lget_sample_rejected
    - DDS_Security_get_challenge2_from_secret_handle
    - dds_lget_data_on_readers
    - dds_security_timed_dispatcher_new
    - DDS_Security_BuiltinTopicKeyBE
    - dds_take_instance
    - dds_lget_offered_incompatible_qos
    - ddsrt_xmlp_new_string
    - dds_lset_sample_rejected
    - ddsi_sertype_init_props
    - dds_create_topic
    - dds_register_instance
    - dds_ostreamLE_init
    - dds_string_alloc
    - ddsrt_avl_clookup_pred_eq
    - dds_qget_bprop
    - dds_get_requested_incompatible_qos_status
    - DDS_Security_Property_get_value
    - ddsrt_atomic_addptr_ov
    - ddsrt_mutex_lock
    - ddsrt_atomic_orptr_nv
    - dds_sysdef_init_data_types
    - ddsi_typeinfo_deser
    - ddsrt_time_wallclock
    - dds_instance_get_key
    - dds_security_timed_dispatcher_disable
    - DDS_Security_parse_xml_date
    - ddsi_thread_state_awake
    - ddsrt_avl_clookup_succ_eq
    - dds_entity_lock
    - ddsrt_avl_clookup_pred
    - DDS_Security_Property_free
    - dds_delete_topic_descriptor
    - ddsi_sertype_alloc_sample
    - DDS_Security_BinaryProperty_free
    - dds_take_instance_mask_wl
    - dds_get_entity_sertype
    - ddsi_plist_fini
    - ddsrt_atomic_addptr
    - ddsrt_avl_cfree_arg
    - ddsi_include_multicast_locator_in_discovery
    - DDS_Security_DataHolder_find_binary_property
    - ddsi_new_addrset
    - ddsrt_cond_wait
    - ddsrt_thread_cleanup_push
    - ddsrt_file_normalize
    - ddsrt_get_machineid
    - dds_qget_history
    - dds_lset_data_on_readers
    - dds_set_topic_filter_extended
    - dds_lget_inconsistent_topic_arg
    - ddsrt_rwlock_init
    - dds_get_status_mask
    - ddsi_make_typeid_str
    - dds_log
    - dds_get_typeinfo
    - ddsi_serdata_to_ser_unref
    - ddsrt_avl_cconst_walk
    - dds_qget_propnames
    - ddsi_sertype_hash
    - ddsrt_hh_new
    - dds_create_qos
    - ddsrt_rwlock_unlock
    - ddsrt_atomic_orptr_ov
    - dds_enable
    - dds_lget_inconsistent_topic
    - dds_qset_type_consistency
    - dds_dynamic_type_set_autoid
    - ddsrt_avl_lookup
    - ddsrt_closedir
    - ddsrt_atomic_or32
    - ddsrt_strcasecmp
    - ddsi_ref_addrset
    - dds_begin_coherent
    - dds_dispose
    - dds_create_participant_guid
    - dds_qget_resource_limits
    - dds_find_topic_scoped
    - DDS_Security_PropertySeq_allocbuf
    - dds_create_writer
    - dds_lset_publication_matched_arg
    - dds_peek_with_collector
    - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
    - dds_lget_publication_matched_arg
    - ddsi_tkmap_instance_unref
    - dds_get_publication_matched_status
    - dds_set_listener
    - dds_create_reader_guid
    - dds_request_loan
    - ddsrt_thread_equal
    - dds_rhc_associate
    - ddsrt_atomic_dec64_ov
    - ddsrt_readdir
    - ddsrt_atomic_decptr_nv
    - ddsrt_atoull
    - dds_lset_sample_lost
    - dds_lset_sample_rejected_arg
    - dds_dispose_ih
    - dds_lget_data_available
    - dds_qget_bpropnames
    - ddsrt_atomic_sub64_ov
    - dds_dynamic_member_set_hashid
    - ddsrt_atomic_sub64_nv
    - ddsrt_avl_cinit
    - DDS_Security_DataHolderSeq_freebuf
    - ddsrt_cond_wctime_broadcast
    - ddsrt_hh_remove
    - dds_security_timed_dispatcher_remove
    - ddsrt_avl_cdelete_dpath
    - dds_qset_resource_limits
    - dds_qos_provider_get_qos
    - dds_get_liveliness_changed_status
    - ddsi_get_port_int
    - ddsrt_realloc_s
    - dds_qset_history
    - DDS_Security_BinaryPropertySeq_allocbuf
    - dds_dynamic_type_ref
    - ddsrt_avl_iter_succ
    - ddsi_sertype_enc_id_xcdr_version
    - dds_get_subscription_matched_status
    - DDS_Security_BinaryProperty_deinit
    - ddsi_new_proxy_reader
    - DDS_Security_BinaryProperty_copy
    - ddsrt_cond_mtime_init
    - dds_waitset_detach
    - DDS_Security_PropertySeq_find_property
    - dds_get_listener
    - ddsrt_mutex_destroy
    - ddsrt_thread_setname
    - ddsrt_avl_cdelete
    - dds_resume
    - ddsrt_md5_append
    - ddsrt_xmlp_set_options
    - dds_entity_unlock
    - ddsrt_free
    - dds_write_set_batch
    - ddsrt_avl_lookup_ipath
    - ddsi_add_locator_to_addrset
    - dds_lset_requested_deadline_missed
    - dds_rhc_add_readcondition
    - ddsrt_hh_free
    - ddsrt_avl_init
    - ddsrt_expand_envvars
    - DDS_Security_Property_deinit
    - DDS_Security_ParticipantBuiltinTopicData_free
    - ddsrt_atomic_dec32
    - ddsrt_strtoull
    - dds_lset_offered_deadline_missed_arg
    - ddsrt_random
    - dds_dynamic_type_add_bitmask_field
    - dds_sysdef_fini_data_types
    - dds_take_mask
    - dds_get_inconsistent_topic_status
    - DDS_Security_get_secret_from_secret_handle
    - dds_create_guardcondition
    - ddsi_xpack_free
    - ddsrt_hh_lookup
    - ddsrt_avl_treedef_init_r
    - ddsrt_avl_cinsert
    - dds_sysdef_init_sysdef_str
    - dds_builtintopic_get_endpoint_type_info
    - dds_request_loan_of_size
    - ddsrt_avl_clookup_dpath
    - ddsrt_fibheap_init
    - ddsrt_atomic_and32_nv
    - dds_qget_psmx_instances
    - dds_get_parent
    - dds_set_topic_filter_and_arg
    - ddsrt_avl_treedef_init
    - dds_reader_store_loaned_sample_wr_metadata
    - ddsrt_cond_mtime_signal
    - ddsrt_avl_iter_next
    - dds_read_with_collector
    - dds_realloc_zero
    - ddsrt_mutex_trylock
    - dds_set_log_mask
    - dds_qunset_bprop
    - dds_lget_offered_deadline_missed_arg
    - dds_reset_listener
    - ddsi_serdata_from_sample
    - ddsrt_xmlp_new_file
    - ddsrt_cond_wctime_init
    - ddsrt_getrusage_anythread
    - dds_qset_bprop
    - DDS_Security_HandleSeq_alloc
    - dds_lget_liveliness_changed_arg
    - dds_lset_requested_deadline_missed_arg
    - ddsrt_cond_etime_destroy
    - ddsrt_calloc_s
    - ddsrt_avl_delete
    - ddsrt_avl_croot
    - dds_read_instance_wl
    - dds_lset_liveliness_changed
    - ddsrt_atomic_dec32_nv
    - ddsrt_avl_cfind_min
    - DDS_Security_BinaryProperty_set_by_ref
    - ddsi_xpack_send
    - ddsi_typemap_get_type_name
    - ddsi_serdata_to_ser_ref
    - ddsrt_cond_wctime_waituntil
    - ddsi_sertype_ref
    - DDS_Security_DataHolder_copy
    - dds_get_sample_lost_status
    - dds_write_impl
    - dds_create_querycondition
    - dds_stream_countops
    - DDS_Security_HandleSeq_freebuf
    - dds_qget_deadline
    - ddsrt_strlcat
    - dds_add_psmx_endpoint_to_list
    - dds_rhc_peek
    - ddsi_new_proxy_writer
    - dds_free_typeobj
    - ddsrt_avl_free_arg
    - ddsrt_cond_mtime_waituntil
    - dds_time
    - dds_get_matched_subscription_data
    - dds_ostreamBE_init
    - DDS_Security_OctetSeq_deinit
    - ddsrt_cond_etime_waituntil
    - ddsrt_ctime
    - ddsrt_malloc_s
    - dds_builtintopic_free_topic
    - ddsrt_atomic_ldvoidp
    - DDS_Security_PropertySeq_freebuf
    - ddsi_type_add
    - ddsi_typeinfo_typeid
    - dds_cdrstream_desc_init
    - dds_set_guardcondition
    - dds_waitset_wait_until
    - dds_qget_transport_priority
    - dds_get_log_mask
    - dds_get_qos
    - ddsrt_hh_remove_present
    - ddsrt_strsep
    - dds_dynamic_type_dup
    - dds_dynamic_type_set_nested
    - ddsrt_cond_etime_init
    - DDS_Security_PropertyQosPolicy_free
    - ddsrt_avl_ctreedef_init
    - ddsi_typeid_get_equivalence_hash
    - ddsrt_hh_add
    - dds_string_dup
    - dds_waitset_attach
    - dds_security_timed_dispatcher_enable
    - ddsrt_atomic_dec64_nv
    - ddsrt_md5_finish
    - ddsrt_expand_envvars_sh
    - ddsrt_unsetenv
    - dds_read_status
    - dds_lget_sample_lost
    - DDS_Security_DataHolder_free
    - ddsrt_netstat_get
    - ddsi_sertype_free_samples
    - ddsi_serdata_print
    - dds_qset_destination_order
    - dds_get_offered_incompatible_qos_status
    - dds_rhc_free
    - dds_stream_extract_keyBE_from_data
    - ddsrt_avl_cwalk_range
    - dds_read_mask_wl
    - DDS_Security_DataHolder_equal
    - ddsrt_gethostname
    - DDS_Security_Deserializer_free
    - ddsrt_getenv
    - ddsrt_getprocessname
    - dds_stream_getsize_key
    - dds_create_participant
    - DDS_Security_OctetSeq_allocbuf
    - dds_rhc_read
    - dds_readcdr
    - dds_lget_offered_deadline_missed
    - ddsi_sertype_typemap
    - dds_get_topic
    - dds_qset_groupdata
    - ddsrt_hh_iter_first
    - dds_qget_liveliness
    - ddsrt_avl_clookup_ipath
    - dds_psmx_cleanup_generic
    - ddsrt_atomic_add64_nv
    - ddsrt_getifaddrs
    - dds_rhc_take
    - dds_get_topic_filter_extended
    - dds_takecdr_instance
    - ddsrt_gettid_for_thread
    - ddsrt_avl_cis_singleton
    - dds_qset_entity_name
    - dds_create_subscriber
    - dds_dynamic_type_register
    - ddsrt_atomic_add32_nv
    - ddsrt_hh_iter_next
    - dds_alloc
    - ddsrt_avl_find_min
    - DDS_Security_DataHolderSeq_copy
    - ddsi_gcreq_get_arg
    - ddsrt_once
    - dds_security_timed_dispatcher_add
    - DDS_Security_BinaryProperty_set_by_value
    - dds_triggered
    - dds_qget_latency_budget
    - DDS_Security_set_token_nil
    - dds_lookup_statistic
    - ddsrt_ffs32u
    - dds_lset_requested_incompatible_qos_arg
    - ddsrt_gettid
    - dds_qset_writer_batching
    - ddsi_sertype_v0
    - dds_rhc_relinquish_ownership
    - ddsrt_etime_add_duration
    - dds_lget_data_on_readers_arg
    - ddsrt_asprintf
    - dds_stream_extract_key_from_key
    - dds_lget_requested_deadline_missed
    - ddsrt_atomic_sub32_nv
    - dds_writecdr
    - dds_writecdr_impl
    - ddsi_sertype_enc_id_enc_format
    - dds_lget_liveliness_changed
    - ddsrt_avl_insert
    - DDS_Security_Serializer_free
    - ddsi_plist_init_empty
    - dds_stream_read
    - ddsrt_avl_cwalk
    - ddsrt_atomic_incptr_nv
    - ddsrt_atomic_cas64
    - ddsrt_fibheap_def_init
    - ddsi_type_lookup
    - dds_forwardcdr
    - ddsrt_avl_ctreedef_init_r
    - ddsrt_avl_citer_next
    - ddsrt_atomic_ldptr
    - ddsrt_atomic_stvoidp
    - ddsi_sertype_extensibility_enc_format
    - dds_dispose_ts
    - ddsrt_atomic_and32
    - ddsrt_setenv
    - ddsrt_hh_enum
    - DDS_Security_Exception_reset
    - ddsi_typeid_compare
    - dds_reader_store_loaned_sample
    - ddsi_typeid_is_minimal
    - dds_get_offered_deadline_missed_status
    - ddsi_type_unref
    - ddsrt_atomic_and64_nv
    - ddsrt_freeifaddrs
    - ddsi_xqos_delta
    - ddsrt_atomic_or32_ov
    - dds_get_guid
    - dds_lget_requested_deadline_missed_arg
    - dds_create_publisher
    - dds_qget_prop
    - DDS_Security_DataHolder_deinit
    - ddsrt_cond_etime_wait
    - ddsi_typeinfo_minimal_typeid
    - ddsrt_avl_delete_dpath
    - dds_get_type_name
    - dds_qset_latency_budget
    - DDS_Security_Deserializer_new
    - ddsrt_bswap4
    - dds_dynamic_member_set_must_understand
    - dds_is_shared_memory_available
    - ddsrt_avl_cswap_node
    - dds_ostreamBE_fini
    - dds_get_liveliness_lost_status
    - ddsi_xpack_new
    - ddsrt_thread_join
    - ddsrt_atoll
    - dds_get_matched_publication_data
    - DDS_Security_HandleSeq_free
    - dds_get_children
    - dds_stream_write_sampleBE
    - ddsrt_atomic_st64
    - ddsrt_avl_is_empty
    - dds_lset_offered_incompatible_qos_arg
    - ddsrt_thread_init
    - ddsrt_threadattr_init
    - test_ddsrt_vasprintf
    - ddsrt_mutex_init
    - ddsi_type_ref
    - dds_get_topic_filter_and_arg
    - dds_get_matched_subscriptions
    - dds_lget_liveliness_lost
    - dds_qset_lifespan
    - dds_stream_writeBE
    - dds_waitset_get_entities
    - dds_lset_publication_matched
    - dds_writer_psmx_loan_raw
    - ddsrt_cond_wctime_destroy
    - DDS_Security_DataHolder_alloc
    - ddsrt_cond_etime_broadcast
    - dds_qget_presentation
    - ddsrt_mtime_add_duration
    - ddsrt_mh3
    - dds_delete_qos
    - dds_qget_topicdata
    - ddsi_typeinfo_dup
    - ddsi_sertype_fini
    - dds_qset_topicdata
    - ddsrt_avl_is_singleton
    - dds_lset_inconsistent_topic_arg
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:21,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:22,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: oops
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void oops (const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: oops
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: oops()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:34,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:35,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:38,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:38,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:39,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:42,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:44,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:46,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ppant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: wait_for_writer
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
    functionUses: 0
    functionsReached:
    - dds_take
    - strcmp
    - dds_sleepfor
    - dds_return_loan
    - dds_delete
    - dds_create_reader
    - oops
    - DDS_MSECS
    linkageType: ''
    returnType: void
    signature: void wait_for_writer (dds_entity_t ppant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_subscription_matched_status
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:54,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rd
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: get_subscription_matched_count
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
    functionUses: 0
    functionsReached:
    - dds_get_subscription_matched_status
    - oops
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_subscription_matched_count (dds_entity_t rd)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:70,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:75,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:87,1
    - Dst: exit
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:88,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:92,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:93,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:95,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:96,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:96,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:97,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:98,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:99,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:103,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:104,1
    - Dst: wait_for_writer
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:105,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:106,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:107,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:108,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:108,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:109,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:110,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:114,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:115,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:116,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:117,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:118,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:120,1
    - Dst: dds_qset_userdata
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:121,1
    - Dst: get_subscription_matched_count
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:128,1
    - Dst: dds_take
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:135,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:136,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:145,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:146,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:151,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:152,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:159,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:164,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:165,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:167,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:167,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:170,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:176,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:189,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:190,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:194,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c:195,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 59
    functionDepth: 7
    functionLinenumber: 59
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
    functionUses: 77
    functionsReached:
    - dds_take
    - fprintf
    - atoi
    - dds_qset_userdata
    - DDS_SECS
    - dds_return_loan
    - dds_delete
    - dds_qset_reliability
    - dds_create_qos
    - get_subscription_matched_count
    - fflush
    - dds_qset_history
    - dds_create_topic
    - dds_create_reader
    - DDS_MSECS
    - exit
    - dds_qset_durability
    - printf
    - getopt
    - dds_create_participant
    - dds_sleepfor
    - wait_for_writer
    - dds_delete_qos
    - oops
    linkageType: ''
    returnType: int
    signature: int main (int argc, char ** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:20,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:21,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: oops
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
    functionUses: 3
    functionsReached:
    - abort
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void oops (const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: oops
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: oops()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:33,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:34,1
    - Dst: dds_get_participant
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:34,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:35,1
    - Dst: dds_read_instance
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:36,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:37,1
    - Dst: dds_qget_userdata
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:42,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:43,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:44,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:46,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:47,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:48,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:49,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:49,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:50,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - wr
    - st
    - varg
    argTypes:
    - dds_entity_t
    - dds_publication_matched_status_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 6
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: on_pub_matched
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
    functionUses: 0
    functionsReached:
    - dds_read_instance
    - atoi
    - UINT32_C
    - dds_free
    - dds_qget_userdata
    - ddsrt_atomic_or32
    - dds_return_loan
    - printf
    - dds_create_reader
    - oops
    - dds_get_participant
    - fflush
    linkageType: ''
    returnType: void
    signature: void on_pub_matched (dds_entity_t wr, const dds_publication_matched_status_t
      st, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_publication_matched_status
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:57,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wr
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: get_publication_matched_count
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
    functionUses: 0
    functionsReached:
    - oops
    - dds_get_publication_matched_status
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_publication_matched_count (dds_entity_t wr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:68,1
    - Dst: getopt
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:74,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:85,1
    - Dst: exit
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:86,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:90,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:91,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:93,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:94,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:94,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:95,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:96,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:97,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:100,1
    - Dst: dds_qset_durability
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:101,1
    - Dst: dds_qset_durability_service
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:102,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:104,1
    - Dst: dds_lset_publication_matched
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:105,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:106,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:107,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:108,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:109,1
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:121,1
    - Dst: UINT32_C
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:124,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:127,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:129,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:131,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:132,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:133,1
    - Dst: get_publication_matched_count
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:137,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:139,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:140,1
    - Dst: dds_write
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:142,1
    - Dst: oops
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:143,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:148,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:149,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:150,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:155,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:155,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:158,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:158,1
    - Dst: dds_wait_for_acks
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:159,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c:160,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
    functionUses: 77
    functionsReached:
    - fprintf
    - UINT32_C
    - DDS_SECS
    - dds_delete
    - ddsrt_atomic_and32_ov
    - dds_qset_reliability
    - DDSRT_ATOMIC_UINT32_INIT
    - dds_create_qos
    - fflush
    - dds_qset_history
    - get_publication_matched_count
    - dds_create_topic
    - DDS_MSECS
    - exit
    - dds_wait_for_acks
    - dds_delete_listener
    - dds_qset_durability_service
    - dds_write
    - dds_qset_durability
    - printf
    - dds_create_writer
    - getopt
    - dds_create_listener
    - dds_create_participant
    - dds_lset_publication_matched
    - dds_time
    - dds_sleepfor
    - dds_delete_qos
    - oops
    linkageType: ''
    returnType: int
    signature: int main (int argc, char ** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:75,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:77,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - sz
    - t
    argTypes:
    - char*
    - size_t
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: print_tstamp
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *print_tstamp (char *buf, size_t sz, dds_time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: dds_time_uniq
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_time
    linkageType: ''
    returnType: int64_t
    signature: int64_t dds_time_uniq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:98,1
    - Dst: dds_time_uniq
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - keyval
    - statusinfo
    argTypes:
    - int32_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: mksample
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_time_uniq
    - ddsi_serdata_from_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *mksample (int32_t keyval, unsigned statusinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_from_sample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:107,1
    - Dst: dds_time_uniq
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - keyval
    - statusinfo
    argTypes:
    - int32_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: mkkeysample
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_time_uniq
    - ddsi_serdata_from_sample
    linkageType: ''
    returnType: struct ddsi_serdata
    signature: struct ddsi_serdata *mkkeysample (int32_t keyval, unsigned statusinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:116,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:117,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:117,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: rand_texp
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    - ddsrt_time_monotonic
    - ddsrt_prng_random
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t rand_texp (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:125,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: rand_deadline
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - DDS_MSECS
    - ddsrt_prng_random
    linkageType: ''
    returnType: dds_duration_t
    signature: dds_duration_t rand_deadline (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:132,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:138,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:138,1
    - Dst: ddsi_tkmap_lookup_instance_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:139,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:147,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:148,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:149,1
    - Dst: print_tstamp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:150,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:152,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:154,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:155,1
    - Dst: rand_texp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:163,1
    - Dst: dds_rhc_store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:167,1
    - Dst: ddsi_tkmap_instance_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:168,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:169,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:169,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - tkmap
    - rhc
    - wr
    - sd
    - print
    - lifespan_expiry
    argTypes:
    - struct ddsi_tkmap*
    - struct dds_rhc*
    - struct ddsi_proxy_writer*
    - struct ddsi_serdata*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: store
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 12
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - ddsi_tkmap_instance_unref
    - ddsi_serdata_unref
    - rand_texp
    - dds_rhc_store
    - ddsi_tkmap_lookup_instance_ref
    - DDSRT_UNUSED_ARG
    - memset
    - print_tstamp
    - printf
    - ddsi_sertype_free_sample
    - ddsi_thread_state_asleep
    - abort
    - ddsi_lookup_thread_state
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t store (struct ddsi_tkmap *tkmap, struct dds_rhc *rhc, struct
      ddsi_proxy_writer *wr, struct ddsi_serdata *sd, bool print, bool lifespan_expiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:179,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:180,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:181,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:182,1
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:183,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - auto_dispose
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: mkwr
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_iid_gen
    - ddsi_xqos_init_empty
    - memset
    - ddsrt_malloc
    - ddsi_xqos_mergein_missing
    linkageType: ''
    returnType: struct ddsi_proxy_writer
    signature: struct ddsi_proxy_writer *mkwr (bool auto_dispose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _Pragma
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:195,1
    - Dst: _Pragma
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:196,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:198,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:199,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:200,1
    - Dst: _Pragma
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wr
    argTypes:
    - struct ddsi_proxy_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: fwr
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_xqos_fini
    - _Pragma
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void fwr (struct ddsi_proxy_writer *wr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_xqos_init_empty
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:210,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:215,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:216,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:216,1
    - Dst: dds_rhc_default_new_xchecks
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:217,1
    - Dst: dds_rhc_set_qos
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:218,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:219,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:219,1
    - Dst: ddsi_xqos_fini
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - gv
    - rd
    - hk
    - hdepth
    - dok
    argTypes:
    - struct ddsi_domaingv*
    - dds_reader*
    - dds_history_kind_t
    - int32_t
    - dds_destination_order_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: mkrhc
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - dds_rhc_set_qos
    - dds_rhc_default_new_xchecks
    - ddsi_xqos_init_empty
    - ddsi_thread_state_asleep
    - ddsi_xqos_fini
    - ddsi_xqos_mergein_missing
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: struct dds_rhc
    signature: struct dds_rhc *mkrhc (struct ddsi_domaingv *gv, dds_reader *rd, dds_history_kind_t
      hk, int32_t hdepth, dds_destination_order_kind_t dok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:226,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:226,1
    - Dst: dds_rhc_free
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:227,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:228,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhc
    argTypes:
    - struct dds_rhc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: frhc
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    - dds_rhc_free
    linkageType: ''
    returnType: void
    signature: void frhc (struct dds_rhc *rhc)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - si
    argTypes:
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: si2is
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char si2is (const dds_sample_info_t *si)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - si
    argTypes:
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: si2ss
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char si2ss (const dds_sample_info_t *si)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - si
    argTypes:
    - dds_sample_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: si2vs
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char si2vs (const dds_sample_info_t *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:280,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:284,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:286,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:287,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:288,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:289,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:290,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:291,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:292,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:293,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - n
    - iseq
    - mseq
    - chk
    argTypes:
    - int
    - dds_sample_info_t*
    - RhcTypes_T*
    - struct check*
    assertStmts:
    - condition: (chk[i].st != 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].instance_handle == chk[i].iid)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].view_state == vst)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].instance_state == ist)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].sample_state == sst)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (chk[i].wr_iid == 0 || iseq[i].publication_handle == chk[i].wr_iid)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].disposed_generation_count == chk[i].dgen)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iseq[i].no_writers_generation_count == chk[i].nwgen)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (!!iseq[i].valid_data == !!chk[i].vd)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (mseq[i].k == chk[i].keyval)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (chk[i].st == 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (!chk[i].vd || mseq[i].x == chk[i].seq)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: docheck
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void docheck (int n, const dds_sample_info_t *iseq, const RhcTypes_T
      *mseq, const struct check *chk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:305,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:311,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:312,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:313,1
    - Dst: si2ss
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:314,1
    - Dst: si2vs
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:314,1
    - Dst: si2is
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:314,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:320,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:322,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:323,1
    - Dst: print_tstamp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - n
    - iseq
    - mseq
    argTypes:
    - int
    - dds_sample_info_t*
    - RhcTypes_T*
    assertStmts:
    - condition: (si->instance_handle)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (si->publication_handle)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: print_seq
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - si2is
    - si2vs
    - assert
    - print_tstamp
    - printf
    - si2ss
    linkageType: ''
    returnType: void
    signature: void print_seq (int n, const dds_sample_info_t *iseq, const RhcTypes_T
      *mseq)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:332,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:334,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:334,1
    - Dst: dds_read_collect_sample_arg_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:336,1
    - Dst: op
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:337,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:338,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:338,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:340,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:341,1
    - Dst: print_seq
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:343,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:345,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:347,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:348,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:361,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:373,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:376,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:382,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:385,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:391,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:394,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:397,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:401,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:405,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:409,1
    - Dst: dds_readcond*::m_query::m_filter
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:415,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:416,1
    - Dst: docheck
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:423,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 8
    argNames:
    - rhc
    - cond
    - chk
    - print
    - max
    - opname
    - op
    - states_seen
    argTypes:
    - struct dds_rhc*
    - dds_readcond*
    - struct check*
    - bool
    - int
    - char*
    - dds_rhc_read_take_t
    - uint32_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 425
    functionName: rdtkcond
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - dds_readcond*::m_query::m_filter
    - op
    - printf
    - dds_read_collect_sample_arg_init
    - print_seq
    - ddsi_thread_state_asleep
    - docheck
    - abort
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void rdtkcond (struct dds_rhc *rhc, dds_readcond *cond, const struct
      check *chk, bool print, int max, const char *opname, dds_rhc_read_take_t op,
      uint32_t states_seen[STATIC_ARRAY_DIM 2*2*3][2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdtkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rhc
    - chk
    - print
    - states_seen
    argTypes:
    - struct dds_rhc*
    - struct check*
    - bool
    - uint32_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: rdall
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - rdtkcond
    linkageType: ''
    returnType: void
    signature: void rdall (struct dds_rhc *rhc, const struct check *chk, bool print,
      uint32_t states_seen[STATIC_ARRAY_DIM 2*2*3][2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdtkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rhc
    - chk
    - print
    - states_seen
    argTypes:
    - struct dds_rhc*
    - struct check*
    - bool
    - uint32_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: tkall
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - rdtkcond
    linkageType: ''
    returnType: void
    signature: void tkall (struct dds_rhc *rhc, const struct check *chk, bool print,
      uint32_t states_seen[STATIC_ARRAY_DIM 2*2*3][2])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:441,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:445,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:449,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:456,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:460,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:467,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:470,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:473,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:476,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:479,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:482,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - bufsz
    - cond
    argTypes:
    - char*
    - size_t
    - dds_readcond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 486
    functionName: print_condmask
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void print_condmask (char *buf, size_t bufsz, const dds_readcond *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:492,1
    - Dst: print_condmask
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:493,1
    - Dst: rdtkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - rhc
    - cond
    - chk
    - max
    - print
    - states_seen
    argTypes:
    - struct dds_rhc*
    - dds_readcond*
    - struct check*
    - int
    - bool
    - uint32_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: rdcond
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - snprintf
    - rdtkcond
    - print_condmask
    linkageType: ''
    returnType: void
    signature: void rdcond (struct dds_rhc *rhc, dds_readcond *cond, const struct
      check *chk, int max, bool print, uint32_t states_seen[STATIC_ARRAY_DIM 2*2*3][2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:501,1
    - Dst: print_condmask
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:502,1
    - Dst: rdtkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - rhc
    - cond
    - chk
    - max
    - print
    - states_seen
    argTypes:
    - struct dds_rhc*
    - dds_readcond*
    - struct check*
    - int
    - bool
    - uint32_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: tkcond
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 4
    functionsReached:
    - snprintf
    - rdtkcond
    - print_condmask
    linkageType: ''
    returnType: void
    signature: void tkcond (struct dds_rhc *rhc, dds_readcond *cond, const struct
      check *chk, int max, bool print, uint32_t states_seen[STATIC_ARRAY_DIM 2*2*3][2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:508,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:510,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:511,1
    - Dst: ddsi_gcreq_free
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gcreq
    argTypes:
    - struct ddsi_gcreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: wait_gc_cycle_impl
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsi_gcreq_free
    linkageType: ''
    returnType: void
    signature: void wait_gc_cycle_impl (struct ddsi_gcreq *gcreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_gcreq_new
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:518,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:520,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:521,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:522,1
    - Dst: ddsi_gcreq_enqueue
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:524,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:525,1
    - Dst: ddsrt_cond_wait
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:527,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - gcreq_queue
    argTypes:
    - struct ddsi_gcreq_queue*
    assertStmts:
    - condition: (wait_gc_cycle_trig == 0)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: wait_gc_cycle
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_wait
    - ddsi_gcreq_enqueue
    - assert
    - ddsrt_mutex_lock
    - ddsi_gcreq_new
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void wait_gc_cycle (struct ddsi_gcreq_queue *gcreq_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: qcpred_key
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qcpred_key (const void *vx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: qcpred_attr2
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qcpred_attr2 (const void *vx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: qcpred_attr3
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qcpred_attr3 (const void *vx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:553,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:554,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:555,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:555,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:555,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - dds_entity_t
    assertStmts:
    - condition: (dds_entity_kind (e) == DDS_KIND_COND_READ || dds_entity_kind (e)
        == DDS_KIND_COND_QUERY)
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 558
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 558
    functionName: get_condaddr
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_entity_lock
    - assert
    - dds_entity_kind
    - abort
    - dds_entity_unlock
    linkageType: ''
    returnType: dds_readcond
    signature: dds_readcond *get_condaddr (dds_entity_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:564,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:565,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:566,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:566,1
    - Dst: dds_entity_kind
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:566,1
    - Dst: print_condmask
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:567,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:568,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - label
    - x
    argTypes:
    - char*
    - dds_entity_t
    assertStmts:
    - condition: (dds_entity_kind (e) == DDS_KIND_COND_READ || dds_entity_kind (e)
        == DDS_KIND_COND_QUERY)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: print_cond_w_addr
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_entity_lock
    - assert
    - dds_entity_kind
    - printf
    - print_condmask
    - abort
    - dds_entity_unlock
    linkageType: ''
    returnType: void
    signature: void print_cond_w_addr (const char *label, dds_entity_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reader
    - mask
    - filter
    argTypes:
    - dds_entity_t
    - uint32_t
    - dds_querycondition_filter_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 5
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: readcond_wrapper
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - dds_create_readcondition
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t readcond_wrapper (dds_entity_t reader, uint32_t mask,
      dds_querycondition_filter_fn filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_entity_pin
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:582,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:583,1
    - Dst: dds_entity_unpin
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: get_gv
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 4
    functionsReached:
    - dds_entity_pin
    - abort
    - dds_entity_unpin
    linkageType: ''
    returnType: struct ddsi_domaingv
    signature: struct ddsi_domaingv *get_gv (dds_entity_t e)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:591,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:592,1
    - Dst: dds_qset_destination_order
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:593,1
    - Dst: dds_qset_deadline
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:595,1
    - Dst: rand_deadline
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:595,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:598,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:598,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:600,1
    - Dst: dds_entity_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:605,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:606,1
    - Dst: dds_entity_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:609,1
    - Dst: get_gv
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:612,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:614,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:614,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:614,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:636,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:637,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:638,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:641,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:650,1
    - Dst: create_cond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:651,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:652,1
    - Dst: get_condaddr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:653,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:656,1
    - Dst: print_cond_w_addr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:657,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:659,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:669,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:670,1
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:671,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:672,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:673,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:675,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:676,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:677,1
    - Dst: dds_take_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:678,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:679,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:680,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:681,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:682,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:683,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:748,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:749,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:755,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:767,1
    - Dst: fflush
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:768,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:774,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:776,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:776,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:777,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:781,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:783,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:783,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:784,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:788,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:790,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:790,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:791,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:795,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:797,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:797,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:798,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:802,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:804,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:804,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:805,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:809,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:811,1
    - Dst: ddsi_serdata_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:811,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:812,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:817,1
    - Dst: tkall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:821,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:824,1
    - Dst: rdcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:826,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:830,1
    - Dst: tkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:832,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:836,1
    - Dst: tkcond
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:838,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:842,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:842,1
    - Dst: dds_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:852,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:853,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:853,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:858,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:858,1
    - Dst: dds_rhc_default_sample_expired_cb
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:861,1
    - Dst: rand_texp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:861,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:862,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:862,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:868,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:868,1
    - Dst: dds_rhc_default_deadline_missed_cb
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:871,1
    - Dst: rand_texp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:871,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:872,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:872,1
    - Dst: wait_gc_cycle
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:879,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:883,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:889,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:892,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:894,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:895,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:896,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:898,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:900,1
    - Dst: fwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:902,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 174
    argCount: 6
    argNames:
    - pp
    - tp
    - count
    - filter0
    - filter1
    - print
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - int
    - dds_querycondition_filter_fn
    - dds_querycondition_filter_fn
    - bool
    assertStmts:
    - condition: (xs[0] == 888)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (n == 0)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (n == 1)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (nconds == 63)
      pos:
        line_end: 640
        line_start: 640
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (v)
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (!v)
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (!v)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (v)
      pos:
        line_end: 676
        line_start: 676
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (ci / 32 < (int) (sizeof (rd) / sizeof (rd[0])))
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 903
      start: 589
    functionDepth: 7
    functionLinenumber: 589
    functionLinenumberEnd: 903
    functionName: test_conditions
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_awake_domain_ok
    - dds_set_guardcondition
    - dds_delete
    - dds_qset_deadline
    - dds_create_waitset
    - get_condaddr
    - dds_rhc_default_deadline_missed_cb
    - dds_create_qos
    - abort
    - dds_take_guardcondition
    - dds_rhc_default_sample_expired_cb
    - fflush
    - dds_qset_history
    - snprintf
    - rdcond
    - dds_waitset_attach
    - create_cond
    - ddsrt_prng_random
    - dds_create_reader
    - ddsi_thread_state_asleep
    - rdall
    - dds_waitset_detach
    - dds_rhc_unregister_wr
    - rand_deadline
    - dds_entity_unlock
    - dds_qset_destination_order
    - wait_gc_cycle
    - dds_entity_lock
    - ddsi_serdata_unref
    - assert
    - ddsi_serdata_ref
    - printf
    - ddsi_lookup_thread_state
    - dds_read_guardcondition
    - print_cond_w_addr
    - mkkeysample
    - rand_texp
    - get_gv
    - dds_create_guardcondition
    - store
    - mksample
    - tkcond
    - dds_delete_qos
    - tkall
    - fwr
    - dds_waitset_wait
    - mkwr
    linkageType: ''
    returnType: void
    signature: void test_conditions (dds_entity_t pp, dds_entity_t tp, const int count,
      dds_entity_t (*create_cond) (dds_entity_t reader, uint32_t mask, dds_querycondition_filter_fn
      filter), dds_querycondition_filter_fn filter0, dds_querycondition_filter_fn
      filter1, bool print)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:918,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:919,1
    - Dst: ddsrt_cond_mtime_waituntil
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:922,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:924,1
    - Dst: ddsi_log_stack_traces
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:925,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:926,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:929,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 933
    functionName: stacktracethread
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 0
    functionsReached:
    - ddsrt_cond_mtime_waituntil
    - ddsrt_mutex_lock
    - ddsi_log_stack_traces
    - dds_log_cfg_init
    - ddsrt_mtime_add_duration
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t stacktracethread (void *varg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:937,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:938,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:939,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:947,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:949,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:950,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:953,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:955,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:957,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:959,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:961,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:963,1
    - Dst: ddsrt_mtime_add_duration
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:966,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:966,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:966,1
    - Dst: atoi
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:966,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:967,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:969,1
    - Dst: ddsrt_cond_mtime_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:970,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:972,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:973,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:974,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:977,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:977,1
    - Dst: ddsrt_prng_init_simple
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:978,1
    - Dst: get_gv
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:982,1
    - Dst: memset
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:989,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:993,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:994,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:995,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:995,1
    - Dst: dds_topic_pin
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:998,1
    - Dst: abort
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:998,1
    - Dst: ddsi_sertype_ref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:999,1
    - Dst: dds_topic_unpin
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1000,1
    - Dst: get_gv
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1005,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1007,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1007,1
    - Dst: mkrhc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1008,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1009,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1010,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1012,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1012,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1013,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1013,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1019,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1021,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1021,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1022,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1028,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1030,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1030,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1031,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1037,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1039,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1039,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1040,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1041,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1043,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1043,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1044,1
    - Dst: rdall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1051,1
    - Dst: ddsi_thread_state_awake_domain_ok
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1052,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1052,1
    - Dst: dds_rhc_unregister_wr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1061,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1062,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1062,1
    - Dst: tkall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1070,1
    - Dst: frhc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1071,1
    - Dst: fwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1072,1
    - Dst: fwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1073,1
    - Dst: get_gv
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1079,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1081,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1081,1
    - Dst: mkrhc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1082,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1083,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1083,1
    - Dst: mkwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1083,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1086,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1086,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1087,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1087,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1087,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1088,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1088,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1088,1
    - Dst: tkall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1090,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1100,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1100,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1104,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1104,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1110,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1110,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1115,1
    - Dst: tkall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1118,1
    - Dst: wait_gc_cycle
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1119,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1120,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1125,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1125,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1126,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1131,1
    - Dst: tkall
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1132,1
    - Dst: wait_gc_cycle
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1133,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1134,1
    - Dst: mksample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1134,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1135,1
    - Dst: store
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1137,1
    - Dst: mkkeysample
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1137,1
    - Dst: assert
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1138,1
    - Dst: frhc
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1139,1
    - Dst: fwr
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1142,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1158,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1158,1
    - Dst: test_conditions
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1159,1
    - Dst: printf
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1162,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1162,1
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1164,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1165,1
    - Dst: RhcTypes_T_free
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1168,1
    - Dst: ddsi_sertype_unref
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1170,1
    - Dst: dds_delete
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1171,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1175,1
    - Dst: ddsrt_cond_mtime_signal
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1177,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1178,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1179,1
    - Dst: ddsrt_cond_mtime_destroy
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1180,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1181,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c:1183,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 162
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (iid_t == iid0)
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid0 == iid_t)
      pos:
        line_end: 1087
        line_start: 1087
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid0 == iid_t)
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (ddsrt_atomic_ldvoidp (&mainthread->gv) != NULL)
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1021
        line_start: 1021
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (nregs > 0)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1137
        line_start: 1137
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1030
        line_start: 1030
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (nregs == 0)
      pos:
        line_end: 1130
        line_start: 1130
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t != iid0)
      pos:
        line_end: 1134
        line_start: 1134
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - condition: (iid_t == iid0)
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    constantsTouched: []
    func_position:
      end: 1185
      start: 935
    functionDepth: 8
    functionLinenumber: 935
    functionLinenumberEnd: 1185
    functionName: main
    functionSourceFile: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    functionUses: 77
    functionsReached:
    - ddsrt_cond_mtime_signal
    - ddsi_thread_state_awake_domain_ok
    - atoi
    - ddsi_sertype_unref
    - DDS_SECS
    - ddsrt_cond_destroy
    - dds_delete
    - frhc
    - test_conditions
    - abort
    - dds_create_topic
    - ddsrt_getpid
    - dds_topic_pin
    - ddsrt_mutex_lock
    - mkrhc
    - ddsi_thread_state_asleep
    - rdall
    - ddsrt_cond_mtime_init
    - dds_rhc_unregister_wr
    - ddsrt_mutex_destroy
    - ddsrt_cond_mtime_destroy
    - ddsrt_mutex_unlock
    - wait_gc_cycle
    - ddsrt_thread_join
    - ddsrt_prng_init_simple
    - assert
    - ddsi_sertype_ref
    - printf
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - ddsrt_mutex_init
    - ddsrt_time_monotonic
    - ddsrt_cond_init
    - ddsi_lookup_thread_state
    - mkkeysample
    - ddsrt_fini
    - dds_create_participant
    - dds_time
    - get_gv
    - memset
    - ddsrt_init
    - ddsrt_mtime_add_duration
    - store
    - mksample
    - tkall
    - fwr
    - RhcTypes_T_free
    - ddsrt_atomic_ldvoidp
    - dds_topic_unpin
    - mkwr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_init_simple
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:29,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:32,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/random.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsrt_prng_init_simple
    - ddsrt_prng_random
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_random, mt19937)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:42,1
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:45,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:46,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:54,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:54,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:61,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:64,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:66,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:71,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/random.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ddsrt_prng_init
    - memset
    - ddsrt_prng_random
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - ddsrt_prng_makeseed
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_random, makeseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:80,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:83,1
    - Dst: CU_ASSERT_LT
      Src: /src/cyclonedds/src/ddsrt/tests/random.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/random.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - CU_ASSERT_LT
    - memset
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_random, default_random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 22
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 15
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:52,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - ddsrt_sockaddrfromstr
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sockaddrfromstr, bad_family)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrfromstr
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:61,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:63,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - af
    - exp
    argTypes:
    - char*
    - int
    - dds_return_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: sockaddrfromstr_test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_LEQ
    - CU_ASSERT_EQ
    - ddsrt_sockaddrfromstr
    linkageType: ''
    returnType: void
    signature: void sockaddrfromstr_test(char *str, int af, dds_return_t exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrtostr
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:131,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:132,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - CU_ASSERT_STREQ
    - ddsrt_sockaddrtostr
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sockaddrtostr, ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_sockaddrtostr
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:141,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:142,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:143,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    - CU_ASSERT_EQ
    - CU_ASSERT_STREQ
    - ddsrt_sockaddrtostr
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sockaddrtostr, ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:156,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:160,1
    - Dst: gethostname
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:162,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:163,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:165,1
    - Dst: ddsrt_gethostname
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:167,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:167,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ
    - ddsrt_strlcpy
    - strlen
    - ddsrt_gethostname
    - CU_ASSERT_EQ
    - gethostname
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sockets, gethostname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_gethostbyname
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:176,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:177,1
    - Dst: CU_ASSERT_GT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:179,1
    - Dst: CU_ASSERT_LEQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:181,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:182,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/socket.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - af
    - exp
    argTypes:
    - char*
    - int
    - dds_return_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: gethostbyname_test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/socket.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - ddsrt_gethostbyname
    - CU_ASSERT_LEQ
    - CU_ASSERT_GT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void gethostbyname_test(char *name, int af, dds_return_t exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: hash_uint32
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_uint32 (const void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: equals_uint32
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool equals_uint32 (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: compare_uint32
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_uint32 (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: swap
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap (uint32_t *a, uint32_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:64,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:65,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:66,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:67,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:83,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:85,1
    - Dst: qsort
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - random
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 96
    functionName: init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 536
    functionsReached:
    - qsort
    - ddsrt_prng_init
    - ddsrt_prng_random
    - printf
    - CU_ASSERT_FATAL
    - ddsrt_prng_makeseed
    linkageType: ''
    returnType: void
    signature: void init (bool random)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret_
    - ','
    - f_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: WRAP
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRAP(ret_, f_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret_
    - ','
    - f_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: WRAP
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRAP(ret_, f_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bs
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: free_buckets
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void free_buckets (void *bs, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: hhnew
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_new
    linkageType: ''
    returnType: void
    signature: void *hhnew (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: hhfree
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_free
    linkageType: ''
    returnType: void
    signature: void hhfree (void *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_chh_new
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: chhnew
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_chh_new
    linkageType: ''
    returnType: void
    signature: void *chhnew (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_chh_free
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: chhfree
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_chh_free
    linkageType: ''
    returnType: void
    signature: void chhfree (void *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_new
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ehhnew
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_new
    linkageType: ''
    returnType: void
    signature: void *ehhnew (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_free
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: ehhfree
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_ehh_free
    linkageType: ''
    returnType: void
    signature: void ehhfree (void *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: adj_nop
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adj_nop (uint32_t *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: adj_seq
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adj_seq (uint32_t *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - block
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: chhtest_gc
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void chhtest_gc (void *block, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:254,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:255,1
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:263,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:264,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:265,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:266,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:268,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:270,1
    - Dst: ddsrt_chh_add
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:276,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:277,1
    - Dst: ddsrt_chh_remove
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:289,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:290,1
    - Dst: ddsrt_chh_lookup
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:299,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:300,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:311,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts:
    - condition: (arg->nkeys > 0)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    constantsTouched: []
    func_position:
      end: 313
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 313
    functionName: chhtest_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - CU_FAIL
    - ddsrt_free
    - ddsrt_chh_remove
    - assert
    - ddsrt_prng_init
    - printf
    - ddsrt_prng_random
    - ddsrt_chh_lookup
    - ddsrt_chh_add
    - ddsrt_malloc
    - CU_ASSERT_FATAL
    - ddsrt_prng_makeseed
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t chhtest_thread (void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/hopscotch.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vobj
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: chhtest_check
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void chhtest_check (void *vobj, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vobj
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: chhtest_count
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chhtest_count (void *vobj, void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:31,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:44,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:45,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fopen
    - fclose
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_getifaddrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_getifaddrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:72,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:73,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:75,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:76,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:79,1
    - Dst: ddsrt_sockaddr_isloopback
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:79,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:81,1
    - Dst: ddsrt_sockaddr_isloopback
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:81,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:87,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_getifaddrs
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT
    - ddsrt_sockaddr_isloopback
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_getifaddrs, ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:97,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:98,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:100,1
    - Dst: CU_ASSERT_GT
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:104,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_getifaddrs
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_GT
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_getifaddrs, null_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:114,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:115,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:116,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - ddsrt_freeifaddrs
    - ddsrt_getifaddrs
    - CU_ASSERT_EQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_getifaddrs, empty_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:130,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:132,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:133,1
    - Dst: ddsrt_sockaddr_isloopback
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:140,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:141,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:146,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:147,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:148,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:150,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 155
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - CU_ASSERT_NEQ
    - CU_PASS
    - ddsrt_getifaddrs
    - CU_ASSERT_EQ_FATAL
    - ddsrt_sockaddr_isloopback
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_getifaddrs, ipv6)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:169,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:170,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:172,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:173,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:181,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:182,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:183,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:184,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:186,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 191
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - CU_PASS
    - ddsrt_getifaddrs
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_getifaddrs, ipv4_n_ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:22,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:24,1
    - Dst: DDSRT_ATOMIC_UINTPTR_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:26,1
    - Dst: DDSRT_ATOMIC_VOIDP_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:27,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:30,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:30,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:31,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:32,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:32,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:36,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:36,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:37,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:38,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:38,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:42,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:42,1
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:44,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:44,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:47,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:47,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:48,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:49,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 50
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_ldptr
    - ddsrt_atomic_stvoidp
    - ddsrt_atomic_st64
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - DDSRT_ATOMIC_UINTPTR_INIT
    - ddsrt_atomic_st32
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_ldvoidp
    - CU_ASSERT_EQ
    - ddsrt_atomic_stptr
    - DDSRT_ATOMIC_VOIDP_INIT
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, load_store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:55,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:57,1
    - Dst: DDSRT_ATOMIC_UINTPTR_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:59,1
    - Dst: DDSRT_ATOMIC_VOIDP_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:60,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:72,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:73,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:73,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:74,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:75,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:76,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:76,1
    - Dst: ddsrt_atomic_cas64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:80,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:81,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:81,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:82,1
    - Dst: ddsrt_atomic_cas64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:83,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:84,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:84,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:88,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:89,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:89,1
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:90,1
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:91,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:92,1
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:92,1
    - Dst: ddsrt_atomic_casvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:95,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:96,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:96,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:97,1
    - Dst: ddsrt_atomic_casvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:98,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:99,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 100
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_ldptr
    - ddsrt_atomic_stvoidp
    - CU_ASSERT
    - ddsrt_atomic_st64
    - ddsrt_atomic_cas32
    - ddsrt_atomic_cas64
    - DDSRT_ATOMIC_UINT32_INIT
    - DDSRT_ATOMIC_UINTPTR_INIT
    - ddsrt_atomic_stptr
    - ddsrt_atomic_st32
    - ddsrt_atomic_casvoidp
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_ldvoidp
    - ddsrt_atomic_ld64
    - ddsrt_atomic_casptr
    - DDSRT_ATOMIC_VOIDP_INIT
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, compare_and_swap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:104,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:106,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:112,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:113,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:113,1
    - Dst: ddsrt_atomic_inc64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:117,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:118,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:118,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:122,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:123,1
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:123,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:127,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:128,1
    - Dst: ddsrt_atomic_inc64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_st64
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_atomic_st32
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_inc32
    - ddsrt_atomic_inc32_nv
    - CU_ASSERT_EQ
    - ddsrt_atomic_inc64_nv
    - ddsrt_atomic_inc64
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:134,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:136,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:142,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:143,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:143,1
    - Dst: ddsrt_atomic_dec64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:147,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:148,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:148,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:152,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:153,1
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:153,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:157,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:158,1
    - Dst: ddsrt_atomic_dec64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_dec64_nv
    - ddsrt_atomic_st64
    - ddsrt_atomic_dec64
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_atomic_st32
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_dec32_nv
    - CU_ASSERT_EQ
    - ddsrt_atomic_dec32
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, decrement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:164,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:166,1
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:172,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:173,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:173,1
    - Dst: ddsrt_atomic_add64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:177,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:178,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:178,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:182,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:183,1
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:183,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:187,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:188,1
    - Dst: ddsrt_atomic_add64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_add64_nv
    - ddsrt_atomic_ld32
    - ddsrt_atomic_st64
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_atomic_add32_nv
    - ddsrt_atomic_add64
    - ddsrt_atomic_st32
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_add32
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:194,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:196,1
    - Dst: ddsrt_atomic_sub32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:202,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:203,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:203,1
    - Dst: ddsrt_atomic_sub64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:207,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:208,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:208,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:212,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:213,1
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:213,1
    - Dst: ddsrt_atomic_st64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:217,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:218,1
    - Dst: ddsrt_atomic_sub64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 220
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_sub64
    - ddsrt_atomic_ld32
    - ddsrt_atomic_sub32
    - ddsrt_atomic_st64
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_atomic_sub32_nv
    - ddsrt_atomic_st32
    - DDSRT_ATOMIC_UINT64_INIT
    - CU_ASSERT_EQ
    - ddsrt_atomic_sub64_nv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, subtract)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:231,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:233,1
    - Dst: ddsrt_atomic_and32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:239,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:240,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:240,1
    - Dst: ddsrt_atomic_and64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:244,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:245,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:245,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:249,1
    - Dst: ddsrt_atomic_and32_ov
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:249,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:253,1
    - Dst: ddsrt_atomic_and64_ov
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:253,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:257,1
    - Dst: ddsrt_atomic_and32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:257,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:261,1
    - Dst: ddsrt_atomic_and64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 263
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_and64
    - ddsrt_atomic_and32
    - ddsrt_atomic_and32_ov
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - DDSRT_ATOMIC_UINT64_INIT
    - ddsrt_atomic_and64_ov
    - ddsrt_atomic_and32_nv
    - CU_ASSERT_EQ
    - ddsrt_atomic_and64_nv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:274,1
    - Dst: DDSRT_ATOMIC_UINT64_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:276,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:282,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:283,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:283,1
    - Dst: ddsrt_atomic_or64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:287,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:288,1
    - Dst: ddsrt_atomic_ld64
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:288,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:292,1
    - Dst: ddsrt_atomic_or32_ov
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:292,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:296,1
    - Dst: ddsrt_atomic_or64_ov
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:296,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:300,1
    - Dst: ddsrt_atomic_or32_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:300,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:304,1
    - Dst: ddsrt_atomic_or64_nv
      Src: /src/cyclonedds/src/ddsrt/tests/atomics.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 306
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/atomics.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_or32_ov
    - ddsrt_atomic_or32
    - ddsrt_atomic_or64_ov
    - ddsrt_atomic_ld64
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_atomic_or64
    - ddsrt_atomic_or64_nv
    - DDSRT_ATOMIC_UINT64_INIT
    - CU_ASSERT_EQ
    - ddsrt_atomic_or32_nv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_atomics, or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:37,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:38,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:39,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:40,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    - ddsrt_free
    - memset
    - ddsrt_malloc
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, malloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:50,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:51,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:53,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:53,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:55,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_PASS
    - ddsrt_calloc
    - ddsrt_free
    - memcmp
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, calloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:69,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:70,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:71,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:74,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:74,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:76,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:80,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    - ddsrt_free
    - memcmp
    - CU_ASSERT
    - ddsrt_realloc
    - memset
    - printf
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, realloc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:92,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:94,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:98,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:100,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - CU_PASS
    - ddsrt_free
    - memset
    - ddsrt_malloc_s
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, malloc_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:111,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:114,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:114,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:119,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:121,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - CU_PASS
    - ddsrt_free
    - memcmp
    - CU_ASSERT
    - ddsrt_calloc_s
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, calloc_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:135,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:136,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:140,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:145,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:145,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:147,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:153,1
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ddsrt/tests/heap.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/heap.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_PASS
    - ddsrt_free
    - memcmp
    - CU_ASSERT
    - memset
    - printf
    - ddsrt_realloc_s
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_heap, ddsrt_realloc_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:19,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:20,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:23,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:24,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:25,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:26,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:29,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:30,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:31,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: fill
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void fill(ddsrt_tasklist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:39,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:42,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:43,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:44,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:45,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:49,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:50,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:51,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:52,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:55,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:56,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:57,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: fill_wrapped
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_pop
    - fill
    - CU_ASSERT_EQ_FATAL
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void fill_wrapped(ddsrt_tasklist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:151,1
    - Dst: fill
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:152,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:154,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:156,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:157,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:158,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:159,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:160,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:161,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:162,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - fill
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_ltrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:171,1
    - Dst: fill
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:172,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:174,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:175,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:176,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:177,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:178,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:179,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:180,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:181,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:182,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - fill
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_rtrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:191,1
    - Dst: fill_wrapped
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:192,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:195,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:197,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:198,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:199,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:200,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:201,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:202,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:203,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:204,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:205,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:206,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:207,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:208,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - fill_wrapped
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_wrapped_ltrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:218,1
    - Dst: fill_wrapped
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:219,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:222,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:224,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:225,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:226,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:227,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:228,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:229,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:230,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:231,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:232,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:233,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:234,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:235,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:236,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:237,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:238,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:239,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:240,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - fill_wrapped
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_wrapped_rtrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:250,1
    - Dst: fill
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:251,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:254,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:255,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:256,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:257,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:258,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:261,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:262,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:264,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:265,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:266,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:270,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:272,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:273,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:274,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:277,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:278,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:279,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:280,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:284,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:285,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:287,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:288,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:289,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 292
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - CU_ASSERT_EQ_FATAL
    - fill
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_resize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:299,1
    - Dst: fill_wrapped
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:300,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:303,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:304,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:305,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:306,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:307,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:310,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:311,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:313,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:314,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:315,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:319,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:321,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:322,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:323,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:326,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:327,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:328,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:329,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:333,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:335,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:336,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:337,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/tests/tasklist.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 340
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - CU_ASSERT_EQ_FATAL
    - fill_wrapped
    - ddsrt_tasklist_pop
    - CU_ASSERT_EQ
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, tasklist_wrapped_resize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetTempPath
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:74,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:76,1
    - Dst: GetTempFileName
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:81,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:82,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:83,1
    - Dst: CreateFile
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:88,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:97,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:104,1
    - Dst: _open_osfhandle
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:105,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:107,1
    - Dst: fdopen
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:108,1
    - Dst: _close
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:110,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - size
    - mode
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts:
    - condition: (err != ERROR_BUFFER_OVERFLOW)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
    constantsTouched: []
    func_position:
      end: 118
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 118
    functionName: fmemopen
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached:
    - GetTempPath
    - GetLastError
    - _close
    - _open_osfhandle
    - DDSRT_WARNING_MSVC_OFF
    - CloseHandle
    - assert
    - fdopen
    - DDSRT_WARNING_MSVC_ON
    - GetTempFileName
    - CreateFile
    linkageType: ''
    returnType: FILE
    signature: FILE *fmemopen(void *buf, size_t size, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: count
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: copy
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 68
    functionsReached:
    - ddsrt_strdup
    linkageType: ''
    returnType: void
    signature: void copy(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_log_mask
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:139,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:140,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: reset
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 20
    functionsReached:
    - dds_set_log_mask
    - dds_set_log_sink
    - dds_set_trace_sink
    linkageType: ''
    returnType: void
    signature: void reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:147,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 22
    functionsReached:
    - CU_ASSERT_NEQ_FATAL
    - fmemopen
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:154,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: teardown
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 15
    functionsReached:
    - reset
    - fclose
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: dummy
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:362,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:363,1
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:364,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:365,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: block
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 4
    functionsReached:
    - ddsrt_cond_broadcast
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - dds_time
    linkageType: ''
    returnType: void
    signature: void block(void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: run
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached:
    - DDS_ERROR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t run(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: abort_handler
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void abort_handler (int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - info
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: abort_log
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    linkageType: ''
    returnType: void
    signature: void abort_log (void *arg, const dds_log_data_t *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/tests/log.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - info
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: abort_trace
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/log.c
    functionUses: 0
    functionsReached:
    - ddsrt_strlcpy
    linkageType: ''
    returnType: void
    signature: void abort_trace (void *arg, const dds_log_data_t *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/bits.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/bits.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:33,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:33,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:36,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:37,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:44,1
    - Dst: ddsrt_ffs32u
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:50,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:50,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/bits.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/bits.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - CU_ASSERT_EQ
    - ddsrt_ffs32u
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_bits, ffs32u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:48,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:49,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:50,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:51,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:52,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:55,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:56,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:57,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:58,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:59,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/environ.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ
    - getenv
    - ddsrt_setenv
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_environ, setenv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:74,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:75,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:78,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:79,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:80,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:83,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:84,1
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:87,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:88,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:89,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:90,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:92,1
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:96,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/environ.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/environ.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - ddsrt_setenv
    - ddsrt_unsetenv
    - CU_ASSERT_EQ
    - ddsrt_getenv
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_environ, getenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:45,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:46,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:47,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: mutex_lock_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mutex_lock_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:59,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:62,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:63,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:64,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:65,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:66,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:67,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:69,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:70,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:71,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:72,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:73,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:74,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:74,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - ddsrt_mutex_lock
    - ddsrt_thread_create
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_threadattr_init
    - ddsrt_atomic_inc32
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - CU_ASSERT_EQ
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, mutex_lock_conc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:82,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:83,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: mutex_trylock_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsrt_atomic_ld32
    - ddsrt_mutex_trylock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mutex_trylock_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:94,1
    - Dst: ddsrt_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:95,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:96,1
    - Dst: ddsrt_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:97,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:101,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:102,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_trylock
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - CU_ASSERT_EQ
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, mutex_trylock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_rwlock_tryread
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:110,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:111,1
    - Dst: ddsrt_rwlock_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:112,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: rwlock_tryread_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsrt_atomic_ld32
    - ddsrt_rwlock_unlock
    - ddsrt_rwlock_tryread
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rwlock_tryread_routine(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_rwlock_trywrite
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:124,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:125,1
    - Dst: ddsrt_rwlock_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:126,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: rwlock_trywrite_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsrt_atomic_ld32
    - ddsrt_rwlock_unlock
    - ddsrt_rwlock_trywrite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rwlock_trywrite_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:137,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:140,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:141,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:142,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:143,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:144,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:145,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:146,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:147,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:148,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - ddsrt_mutex_lock
    - ddsrt_thread_create
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_threadattr_init
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - CU_ASSERT_EQ
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, mutex_trylock_conc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: do_once
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_inc32
    linkageType: ''
    returnType: void
    signature: void do_once(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:212,1
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:214,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: once_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_once
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t once_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:226,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:228,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:229,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:230,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:233,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:237,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:238,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:239,1
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:242,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:243,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 244
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_thread_join
    - ddsrt_atomic_ld32
    - CU_ASSERT_EQ_FATAL
    - ddsrt_once
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, once_conc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tb_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: WAITUNTIL_ARG
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAITUNTIL_ARG(tb_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:261,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:262,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:263,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - tname
    - after
    - abstimeout
    - cnt
    argTypes:
    - char*
    - int64_t
    - int64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: waituntil_check
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - fprintf
    - DDS_MSECS
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t waituntil_check (const char *tname, int64_t after, int64_t
      abstimeout, uint32_t cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tb_
    - ','
    - tname_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: WAITUNTIL_THREAD
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAITUNTIL_THREAD(tb_, tname_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tb_
    - ','
    - tname_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: WAITUNTIL_TEST
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAITUNTIL_TEST(tb_, tname_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_cond_waituntil_wctime
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - do_test_cond_waituntil_wctime
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, cond_waituntil_wctime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_cond_waituntil_mtime
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - do_test_cond_waituntil_mtime
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, cond_waituntil_mtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_cond_waituntil_etime
      Src: /src/cyclonedds/src/ddsrt/tests/sync.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/sync.c
    functionUses: 0
    functionsReached:
    - do_test_cond_waituntil_etime
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_sync, cond_waituntil_etime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:34,1
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:44,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:45,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:47,1
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - sched_get_priority_min
    - sched_get_priority_max
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_thread)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:72,1
    - Dst: uxTaskPriorityGet
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:77,1
    - Dst: GetThreadPriority
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:82,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:82,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:84,1
    - Dst: pthread_getschedparam
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:93,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:93,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (arg != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/ddsrt/tests/thread.c
    constantsTouched: []
    func_position:
      end: 106
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 106
    functionName: thread_main
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - GetCurrentThread
    - uxTaskPriorityGet
    - assert
    - GetThreadPriority
    - pthread_getschedparam
    - pthread_self
    - abort
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t thread_main(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:176,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:179,1
    - Dst: GetCurrentThreadId
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:182,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:185,1
    - Dst: pthread_equal
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:186,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_thread_self
    - xTaskGetCurrentTaskHandle
    - pthread_self
    - GetCurrentThreadId
    - pthread_equal
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread, thread_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:199,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: thread_main_waitforme
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t thread_main_waitforme(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:209,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:210,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: thread_main_waitforit
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t thread_main_waitforit(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:222,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:223,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:224,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:225,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:226,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:227,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:228,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:229,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:230,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:232,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:233,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:233,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:234,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:236,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:238,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:240,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - ddsrt_mutex_lock
    - ddsrt_thread_create
    - dds_sleepfor
    - DDS_MSECS
    - ddsrt_threadattr_init
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - CU_ASSERT_EQ
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread, stacked_join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:248,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:249,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:250,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - ddsrt_threadattr_init
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread, attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:35,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:36,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:37,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:38,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:39,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:40,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:41,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_strtoll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddstr_strtoll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:61,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:62,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:66,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:67,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:68,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:72,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:73,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:74,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:79,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:80,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:81,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:86,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:87,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:88,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:92,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:93,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:94,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:99,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:100,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:101,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:106,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:107,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:108,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:113,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:114,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:115,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:119,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:120,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:121,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:125,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:126,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:127,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:131,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:132,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:133,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:137,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:138,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:139,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:143,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:144,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:145,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:149,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:150,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:151,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:156,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:157,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:161,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:162,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:163,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:167,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:168,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:169,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:173,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:174,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:175,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:179,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:180,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:181,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:185,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:186,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:187,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:191,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:192,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:193,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:198,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:199,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:200,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:205,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:206,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:207,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:211,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:212,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:213,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:217,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:218,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:219,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:223,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:224,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:225,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:230,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:231,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:232,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:237,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:238,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:239,1
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:243,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:244,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:245,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 246
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - ddsrt_strtoll
    - CU_ASSERT
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, strtoll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoull
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:255,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:256,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:257,1
    - Dst: ddsrt_strtoull
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:261,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:262,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:263,1
    - Dst: ddsrt_strtoull
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:267,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:268,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 270
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - ddsrt_strtoull
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, strtoull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atoll
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:279,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:280,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - ddsrt_atoll
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, atoll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atoull
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:291,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:292,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - ddsrt_atoull
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, atoull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:301,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:302,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:306,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:307,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:310,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:311,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:314,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:315,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:318,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:319,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:322,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:323,1
    - Dst: ddsrt_lltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:326,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 328
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ
    - CU_ASSERT_STREQ
    - ddsrt_lltostr
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, lltostr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ulltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:335,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:336,1
    - Dst: ddsrt_ulltostr
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:339,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/ddsrt/tests/strtoll.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/strtoll.c
    functionUses: 0
    functionsReached:
    - ddsrt_ulltostr
    - CU_ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_strtoll, ulltostr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_thread_cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_thread_cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:54,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - flags
    - pop
    - one
    - two
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: make_thread_argument
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    - memset
    linkageType: ''
    returnType: struct thread_argument
    signature: "struct thread_argument *\nmake_thread_argument(\n  int flags, int
      pop, int one, int two)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: reset_one
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void reset_one(\n  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: reset_two
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void reset_two(\n    void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_cleanup_push
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:92,1
    - Dst: ddsrt_thread_cleanup_push
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:96,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:100,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:104,1
    - Dst: ddsrt_thread_cleanup_pop
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:109,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (targ->pop <= pushed)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: thread_main
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_cleanup_pop
    - assert
    - ddsrt_mutex_lock
    - ddsrt_thread_cleanup_push
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t thread_main(\n  void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:131,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:133,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:137,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct thread_argument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: setup
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 22
    functionsReached:
    - ddsrt_thread_join
    - ddsrt_thread_create
    - CU_ASSERT_EQ_FATAL
    - ddsrt_threadattr_init
    linkageType: ''
    returnType: void
    signature: "void setup(\n  struct thread_argument *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:146,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:147,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:149,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:150,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:151,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:152,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:161,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:162,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:164,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:165,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:166,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:167,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:176,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:177,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:179,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:180,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:181,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:182,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two_pop_one_no_exec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:190,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:191,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:193,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:194,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:195,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:196,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two_pop_one_exec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:205,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:206,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:208,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:209,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:210,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:211,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two_pop_two_no_exec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:219,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:220,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:222,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:223,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:224,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:225,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two_pop_two_exec_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:233,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:234,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:236,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:237,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:238,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:239,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - CU_ASSERT_EQ
    - ddsrt_free
    - make_thread_argument
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, push_two_pop_two_exec_both)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:247,1
    - Dst: make_thread_argument
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:248,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:251,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:252,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:253,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:254,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:261,1
    - Dst: setup
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:262,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:265,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:266,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:268,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:269,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:270,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:271,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:274,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:275,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:277,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:278,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:279,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:280,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:282,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:283,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:284,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    functionUses: 0
    functionsReached:
    - setup
    - ddsrt_thread_join
    - ddsrt_free
    - make_thread_argument
    - ddsrt_mutex_lock
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    - CU_ASSERT_EQ
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_thread_cleanup, no_interference)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: TEST_ABORT_IF_NULL
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ABORT_IF_NULL(var, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:46,1
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:47,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:48,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:49,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:50,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:52,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - printf
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlopen_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:61,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:62,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:63,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:64,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:66,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlopen_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:75,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:76,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:77,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:78,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:80,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlopen_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:90,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:91,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:92,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:94,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:95,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - ddsrt_dlopen
    - ddsrt_dlerror
    - printf
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlopen_unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:105,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:106,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:107,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:108,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:110,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:111,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:112,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:113,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:115,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - ddsrt_dlsym
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlsym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:126,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:127,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:128,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:129,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:131,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:132,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:133,1
    - Dst: ddsrt_dlerror
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:135,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:136,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:137,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:139,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - ddsrt_dlclose
    - ddsrt_dlopen
    - ddsrt_dlsym
    - ddsrt_dlerror
    - printf
    - CU_ASSERT_FATAL
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlsym_unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:154,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:155,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:156,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:157,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:159,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:160,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:161,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:162,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:164,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:165,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:166,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:167,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:169,1
    - Dst: f_set
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:170,1
    - Dst: f_get
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:171,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:172,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:174,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (f_set != 0 && f_get != 0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - ddsrt_dlsym
    - assert
    - f_set
    - f_get
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:183,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:184,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:185,1
    - Dst: TEST_ABORT_IF_NULL
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:186,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:188,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:189,1
    - Dst: ddsrt_dlclose
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:191,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/dynlib.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dynlib.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - ddsrt_dlclose
    - ddsrt_dlopen
    - CU_ASSERT_EQ
    - TEST_ABORT_IF_NULL
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_library, dlclose_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: set_int
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_int(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: get_int
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/dl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void CU_Init(ddsrt_select)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void CU_Clean(ddsrt_select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tv
    - ','
    - secs
    - ','
    - usecs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: CU_ASSERT_TIMEVAL_EQ
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_TIMEVAL_EQ(tv, secs, usecs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:42,1
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:43,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:48,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:51,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:54,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:59,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:60,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:61,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:64,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:65,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:66,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:69,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:70,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:71,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:74,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:75,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:76,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:79,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:80,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:81,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:84,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:85,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:86,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:89,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:90,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:91,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:94,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:95,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:96,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:99,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:100,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:101,1
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:104,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:105,1
    - Dst: CU_ASSERT_TIMEVAL_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 107
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - ddsrt_duration_to_timeval_ceil
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_STATIC_ASSERT
    - DDSRT_WARNING_MSVC_ON
    - CU_ASSERT_TIMEVAL_EQ
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_select, duration_to_timeval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:124,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:127,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:128,1
    - Dst: ddsrt_socket
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:129,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:130,1
    - Dst: ddsrt_socket
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:131,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:132,1
    - Dst: ddsrt_bind
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:133,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:134,1
    - Dst: ddsrt_getsockname
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:136,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:137,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:138,1
    - Dst: ddsrt_listen
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:139,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:140,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:141,1
    - Dst: ddsrt_connect
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:142,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:143,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:144,1
    - Dst: ddsrt_accept
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:145,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:146,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:147,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - socks
    argTypes:
    - ddsrt_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: sockets_pipe
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_close
    - ddsrt_bind
    - fprintf
    - CU_ASSERT_EQ_FATAL
    - htonl
    - ddsrt_listen
    - ddsrt_getsockname
    - ddsrt_connect
    - ddsrt_socket
    - ddsrt_accept
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void sockets_pipe(ddsrt_socket_t socks[2])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:162,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:164,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:166,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:168,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:171,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:172,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:173,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:176,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:177,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: select_timeout_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - fprintf
    - DDSRT_WARNING_GNUC_ON
    - dds_time
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t select_timeout_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sockets_pipe
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:195,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:197,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:202,1
    - Dst: ddsrt_socket_ext_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:203,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:205,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:206,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:207,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:208,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:210,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:212,1
    - Dst: ddsrt_send
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:214,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:215,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:216,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:217,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:218,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:219,1
    - Dst: ddsrt_socket_ext_fini
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:221,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:222,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 224
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_socket_ext_init
    - ddsrt_close
    - ddsrt_thread_join
    - fprintf
    - CU_ASSERT_EQ_FATAL
    - dds_sleepfor
    - sockets_pipe
    - DDS_MSECS
    - ddsrt_socket_ext_fini
    - ddsrt_threadattr_init
    - ddsrt_send
    - ddsrt_thread_create
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_select, timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:234,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:236,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:238,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:240,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:243,1
    - Dst: ddsrt_recv
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:245,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: recv_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - memcmp
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_recv
    - ddsrt_select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t recv_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sockets_pipe
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:261,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:263,1
    - Dst: ddsrt_socket_ext_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:265,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:267,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:268,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:269,1
    - Dst: ddsrt_send
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:272,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:273,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:274,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:276,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:277,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:278,1
    - Dst: ddsrt_socket_ext_fini
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:280,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:281,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 283
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_socket_ext_init
    - ddsrt_close
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - DDS_SECS
    - sockets_pipe
    - ddsrt_socket_ext_fini
    - ddsrt_threadattr_init
    - ddsrt_send
    - ddsrt_thread_create
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_select, send_recv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:294,1
    - Dst: FD_ZERO
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:301,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:303,1
    - Dst: FD_SET
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:305,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:307,1
    - Dst: ddsrt_select
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:310,1
    - Dst: ddsrt_recvmsg
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:312,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 317
    functionName: recvmsg_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - memcmp
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - memset
    - ddsrt_select
    - ddsrt_recvmsg
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t recvmsg_routine(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sockets_pipe
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:328,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:330,1
    - Dst: ddsrt_socket_ext_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:331,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:333,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:334,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:335,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:340,1
    - Dst: ddsrt_sendmsg
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:346,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:347,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:348,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:350,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:351,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:352,1
    - Dst: ddsrt_socket_ext_fini
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:354,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:355,1
    - Dst: ddsrt_close
      Src: /src/cyclonedds/src/ddsrt/tests/select.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 357
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ddsrt/tests/select.c
    functionUses: 0
    functionsReached:
    - ddsrt_socket_ext_init
    - ddsrt_close
    - ddsrt_thread_join
    - CU_ASSERT_EQ_FATAL
    - memset
    - sockets_pipe
    - ddsrt_socket_ext_fini
    - ddsrt_threadattr_init
    - ddsrt_sendmsg
    - ddsrt_thread_create
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(ddsrt_select, sendmsg_recvmsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - chr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: ddsrt_todigit
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ddsrt_todigit(const int chr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:44,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:45,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:49,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:67,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - str
    - endptr
    - base
    - ullng
    - max
    argTypes:
    - char*
    - char**
    - int32_t
    - unsigned long long*
    - unsigned long long
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    - condition: (ullng != NULL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: ullfstr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 0
    functionsReached:
    - ddsrt_todigit
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ullfstr(\n  const char *str,\n  char **endptr,\n  int32_t
      base,\n  unsigned long long *ullng,\n  unsigned long long max)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:100,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:101,1
    - Dst: isspace
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:103,1
    - Dst: ullfstr
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - str
    - endptr
    - base
    - llng
    argTypes:
    - char*
    - char**
    - int32_t
    - long long*
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    - condition: (llng != NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    constantsTouched: []
    func_position:
      end: 124
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 124
    functionName: ddsrt_strtoll
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 8
    functionsReached:
    - ullfstr
    - assert
    - isspace
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_strtoll(\n  const char *str,\n  char **endptr,\n
      \ int32_t base,\n  long long *llng)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:138,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:139,1
    - Dst: isspace
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:141,1
    - Dst: ullfstr
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - str
    - endptr
    - base
    - ullng
    argTypes:
    - char*
    - char**
    - int32_t
    - unsigned long long*
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    - condition: (ullng != NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    constantsTouched: []
    func_position:
      end: 159
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 159
    functionName: ddsrt_strtoull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 2
    functionsReached:
    - ullfstr
    - assert
    - isspace
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_strtoull(\n  const char *str,\n  char **endptr,\n
      \ int32_t base,\n  unsigned long long *ullng)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoll
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - llng
    argTypes:
    - char*
    - long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: ddsrt_atoll
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 2
    functionsReached:
    - ddsrt_strtoll
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_atoll(\n  const char *str,\n  long long *llng)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strtoull
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - ullng
    argTypes:
    - char*
    - unsigned long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: ddsrt_atoull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 2
    functionsReached:
    - ddsrt_strtoull
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_atoull(\n  const char *str,\n  unsigned long long
      *ullng)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - num
    - str
    - len
    - endptr
    argTypes:
    - unsigned long long
    - char*
    - size_t
    - char**
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    constantsTouched: []
    func_position:
      end: 235
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 235
    functionName: ddsrt_ulltostr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: "char *\nddsrt_ulltostr(\n  unsigned long long num,\n  char *str,\n
      \ size_t len,\n  char **endptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:248,1
    - Dst: ddsrt_ulltostr
      Src: /src/cyclonedds/src/ddsrt/src/strtol.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - num
    - str
    - len
    - endptr
    argTypes:
    - long long
    - char*
    - size_t
    - char**
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
    constantsTouched: []
    func_position:
      end: 277
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 277
    functionName: ddsrt_lltostr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtol.c
    functionUses: 2
    functionsReached:
    - ddsrt_ulltostr
    - assert
    linkageType: ''
    returnType: char
    signature: "char *\nddsrt_lltostr(\n  long long num,\n  char *str,\n  size_t len,\n
      \ char **endptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n0
    - s
    - msg
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: errorN
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - DDS_ERROR
    linkageType: ''
    returnType: void
    signature: void errorN (size_t n0, const char *s, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorN
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:37,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: error
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 139
    functionsReached:
    - errorN
    - strlen
    linkageType: ''
    returnType: void
    signature: void error (const char *s, const char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - sz
    - pos
    - c
    argTypes:
    - char**
    - size_t*
    - size_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: expand_append
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - ddsrt_realloc
    linkageType: ''
    returnType: bool
    signature: bool expand_append (char **dst, size_t *sz, size_t *pos, char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:59,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:63,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:65,1
    - Dst: expand
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:65,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:68,1
    - Dst: expand
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:70,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:72,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:73,1
    - Dst: expand
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:78,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:78,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - name
    - op
    - alt
    - expand
    - lookup
    - data
    - depth
    argTypes:
    - char*
    - char
    - char*
    - expand_fn
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: expand_var
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - expand
    - lookup
    - ddsrt_free
    - DDS_ERROR
    - ddsrt_strdup
    - abort
    linkageType: ''
    returnType: char
    signature: char *expand_var (const char *name, char op, const char *alt, expand_fn
      expand, expand_lookup_fn lookup, void * data, uint32_t depth)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:89,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:97,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:98,1
    - Dst: expand_var
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:102,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:103,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:110,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:118,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:126,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:131,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:138,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:141,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:142,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:143,1
    - Dst: expand_var
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:146,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:147,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:148,1
    - Dst: errorN
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:152,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 5
    argNames:
    - src
    - expand
    - lookup
    - data
    - depth
    argTypes:
    - char**
    - expand_fn
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts:
    - condition: (**src == '{')
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    - condition: (**src == ':')
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    - condition: (nest > 0)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    - condition: (**src == '}')
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    constantsTouched: []
    func_position:
      end: 154
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 154
    functionName: expand_varbrace
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - errorN
    - ddsrt_free
    - memcpy
    - assert
    - ddsrt_malloc
    - expand_var
    linkageType: ''
    returnType: char
    signature: char *expand_varbrace (const char **src, expand_fn expand, expand_lookup_fn
      lookup, void * data, uint32_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:160,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:163,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:164,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:165,1
    - Dst: expand_var
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:167,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - src
    - expand
    - lookup
    - data
    - depth
    argTypes:
    - char**
    - expand_fn
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts:
    - condition: (*src > start)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: expand_varsimple
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - assert
    - isalnum
    - ddsrt_malloc
    - expand_var
    linkageType: ''
    returnType: char
    signature: char *expand_varsimple (const char **src, expand_fn expand, expand_lookup_fn
      lookup, void * data, uint32_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:175,1
    - Dst: expand_var
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - src
    - expand
    - lookup
    - data
    - depth
    argTypes:
    - char**
    - expand_fn
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts:
    - condition: (**src)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: expand_varchar
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - assert
    - expand_var
    linkageType: ''
    returnType: char
    signature: char *expand_varchar (const char **src, expand_fn expand, expand_lookup_fn
      lookup, void * data, uint32_t depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:187,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:191,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:192,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:197,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:200,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:201,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:208,1
    - Dst: expand_varbrace
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:211,1
    - Dst: isalnum
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:212,1
    - Dst: expand_varsimple
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:213,1
    - Dst: expand_varchar
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:215,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:222,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:223,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:224,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:228,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:230,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:231,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:236,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:237,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:242,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - src0
    - lookup
    - data
    - depth
    argTypes:
    - char*
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 244
    functionName: ddsrt_expand_vars_sh1
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - error
    - ddsrt_free
    - expand_append
    - strlen
    - expand_varsimple
    - isalnum
    - expand_varchar
    - expand_varbrace
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_vars_sh1 (const char *src0, expand_lookup_fn lookup,
      void * data, uint32_t depth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:251,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:255,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:256,1
    - Dst: expand_varbrace
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:261,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:263,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:268,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:269,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:270,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:274,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:276,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:277,1
    - Dst: expand_append
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:282,1
    - Dst: error
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:283,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - src0
    - lookup
    - data
    - depth
    argTypes:
    - char*
    - expand_lookup_fn
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 290
    functionName: ddsrt_expand_vars1
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 0
    functionsReached:
    - error
    - ddsrt_free
    - expand_append
    - strlen
    - expand_varbrace
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_vars1 (const char *src0, expand_lookup_fn lookup,
      void * data, uint32_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh1
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - lookup
    - data
    argTypes:
    - char*
    - expand_lookup_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: ddsrt_expand_vars_sh
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 6
    functionsReached:
    - ddsrt_expand_vars_sh1
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_vars_sh (const char *string, expand_lookup_fn lookup,
      void * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars1
      Src: /src/cyclonedds/src/ddsrt/src/expand_vars.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - string
    - lookup
    - data
    argTypes:
    - char*
    - expand_lookup_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: ddsrt_expand_vars
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/expand_vars.c
    functionUses: 6
    functionsReached:
    - ddsrt_expand_vars1
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_vars (const char *string, expand_lookup_fn lookup,
      void * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:62,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:63,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:64,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:65,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - varg
    - parentinfo
    - eleminfo
    - name
    - line
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: cb_null_elem_open
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int cb_null_elem_open (void *varg, uintptr_t parentinfo, uintptr_t
      *eleminfo, const char *name, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:72,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:73,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:74,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:75,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - varg
    - eleminfo
    - name
    - value
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: cb_null_attr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int cb_null_attr (void *varg, uintptr_t eleminfo, const char *name,
      const char *value, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:82,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:83,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:84,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - varg
    - eleminfo
    - data
    - line
    argTypes:
    - void*
    - uintptr_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: cb_null_elem_data
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int cb_null_elem_data (void *varg, uintptr_t eleminfo, const char *data,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:91,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:92,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - varg
    - eleminfo
    - line
    argTypes:
    - void*
    - uintptr_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: cb_null_elem_close
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: int
    signature: int cb_null_elem_close (void *varg, uintptr_t eleminfo, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:99,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:100,1
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - varg
    - msg
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: cb_null_error
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void cb_null_error (void *varg, const char *msg, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: ddsrt_xmlp_new_common
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_xmlp_new_common (struct ddsrt_xmlp_state *st)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - st
    - varg
    - cb
    argTypes:
    - struct ddsrt_xmlp_state*
    - void*
    - struct ddsrt_xmlp_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: ddsrt_xmlp_new_setCB
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_xmlp_new_setCB (struct ddsrt_xmlp_state *st, void *varg,
      const struct ddsrt_xmlp_callbacks *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:137,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:140,1
    - Dst: ddsrt_xmlp_new_common
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:142,1
    - Dst: ddsrt_xmlp_new_setCB
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - varg
    - cb
    argTypes:
    - FILE*
    - void*
    - struct ddsrt_xmlp_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: ddsrt_xmlp_new_file
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 3
    functionsReached:
    - ddsrt_xmlp_new_setCB
    - ddsrt_malloc
    - ddsrt_xmlp_new_common
    linkageType: ''
    returnType: struct ddsrt_xmlp_state
    signature: struct ddsrt_xmlp_state *ddsrt_xmlp_new_file (FILE *fp, void *varg,
      const struct ddsrt_xmlp_callbacks *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:150,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:151,1
    - Dst: ddsrt_xmlp_new_common
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:155,1
    - Dst: ddsrt_xmlp_new_setCB
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - string
    - varg
    - cb
    argTypes:
    - char*
    - void*
    - struct ddsrt_xmlp_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: ddsrt_xmlp_new_string
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 5
    functionsReached:
    - ddsrt_xmlp_new_setCB
    - ddsrt_malloc
    - ddsrt_xmlp_new_common
    - strlen
    linkageType: ''
    returnType: struct ddsrt_xmlp_state
    signature: struct ddsrt_xmlp_state *ddsrt_xmlp_new_string (const char *string,
      void *varg, const struct ddsrt_xmlp_callbacks *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - options
    argTypes:
    - struct ddsrt_xmlp_state*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ddsrt_xmlp_set_options
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_xmlp_set_options (struct ddsrt_xmlp_state *st, uint32_t
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ddsrt_xmlp_get_bufpos
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_xmlp_get_bufpos (const struct ddsrt_xmlp_state *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:173,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:175,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: ddsrt_xmlp_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 6
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_xmlp_free (struct ddsrt_xmlp_state *st)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:186,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:187,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:188,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:196,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:206,1
    - Dst: fread
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - st
    - nmin
    argTypes:
    - struct ddsrt_xmlp_state*
    - size_t
    assertStmts:
    - condition: (st->cbufn >= st->cbufp)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    - condition: (st->cbufmark == NOMARKER || st->cbufmark <= st->cbufp)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    - condition: (st->cbufmax >= st->cbufn)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 214
    functionName: make_chars_available
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert
    - ddsrt_realloc
    - fread
    linkageType: ''
    returnType: bool
    signature: bool make_chars_available (struct ddsrt_xmlp_state *st, size_t nmin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts:
    - condition: (st->cbufmark == NOMARKER)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: set_input_marker
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set_input_marker (struct ddsrt_xmlp_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts:
    - condition: (st->cbufmark != NOMARKER)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: discard_input_marker
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void discard_input_marker (struct ddsrt_xmlp_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: have_input_marker
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool have_input_marker (struct ddsrt_xmlp_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:237,1
    - Dst: discard_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts:
    - condition: (st->cbufmark != NOMARKER)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: rewind_to_input_marker
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - discard_input_marker
    - assert
    linkageType: ''
    returnType: void
    signature: void rewind_to_input_marker (struct ddsrt_xmlp_state *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_chars_available
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: next_char
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - make_chars_available
    linkageType: ''
    returnType: int
    signature: int next_char (struct ddsrt_xmlp_state *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_chars_available
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: peek_char
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - make_chars_available
    linkageType: ''
    returnType: int
    signature: int peek_char (struct ddsrt_xmlp_state *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_chars_available
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:266,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - st
    - seq
    - n
    - consume
    argTypes:
    - struct ddsrt_xmlp_state*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: peek_chars_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - make_chars_available
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool peek_chars_impl (struct ddsrt_xmlp_state *st, const char *seq,
      size_t n, int consume)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: peek_chars_impl
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:279,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - seq
    - consume
    argTypes:
    - struct ddsrt_xmlp_state*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: peek_chars
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - peek_chars_impl
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool peek_chars (struct ddsrt_xmlp_state *st, const char *seq, int
      consume)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: qq_isspace
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qq_isspace (int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: qq_isidentfirst
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qq_isidentfirst (int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qq_isidentfirst
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: qq_isidentcont
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - qq_isidentfirst
    linkageType: ''
    returnType: bool
    signature: bool qq_isidentcont (int x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - dst
    - cp
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: unescape_into_utf8
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *unescape_into_utf8 (char *dst, unsigned cp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:321,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:348,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:350,1
    - Dst: unescape_into_utf8
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:355,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:358,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:360,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:362,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:364,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:366,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:375,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - buffer
    - n
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 376
    functionName: unescape_insitu
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - sscanf
    - DDSRT_WARNING_MSVC_OFF
    - strcmp
    - unescape_into_utf8
    - DDSRT_WARNING_MSVC_ON
    linkageType: ''
    returnType: int
    signature: int unescape_insitu (char *buffer, size_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: discard_payload
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void discard_payload (struct ddsrt_xmlp_state *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - st
    - c
    argTypes:
    - struct ddsrt_xmlp_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: append_to_payload
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - ddsrt_realloc_s
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t append_to_payload (struct ddsrt_xmlp_state *st, int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unescape_insitu
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:404,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:405,1
    - Dst: append_to_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:410,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - st
    - c
    argTypes:
    - struct ddsrt_xmlp_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 419
    functionName: append_to_payload_no_unescape
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - unescape_insitu
    - discard_payload
    - append_to_payload
    linkageType: ''
    returnType: int
    signature: int append_to_payload_no_unescape (struct ddsrt_xmlp_state *st, int
      c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unescape_insitu
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:426,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:427,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:435,1
    - Dst: qq_isspace
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:439,1
    - Dst: qq_isspace
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:442,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:447,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:449,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:451,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - payload
    - st
    - trim
    argTypes:
    - char**
    - struct ddsrt_xmlp_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 460
    functionName: save_payload
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - memcpy
    - unescape_insitu
    - discard_payload
    - ddsrt_strdup
    - qq_isspace
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int save_payload (char **payload, struct ddsrt_xmlp_state *st, int
      trim)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qq_isidentcont
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:464,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:464,1
    - Dst: append_to_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:465,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:465,1
    - Dst: save_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - st
    - payload
    argTypes:
    - struct ddsrt_xmlp_state*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 474
    functionName: next_token_ident
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - next_char
    - peek_char
    - qq_isidentcont
    - save_payload
    - append_to_payload
    linkageType: ''
    returnType: int
    signature: int next_token_ident (struct ddsrt_xmlp_state *st, char **payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:478,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:479,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:483,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:484,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:486,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:489,1
    - Dst: qq_isidentfirst
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:491,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:491,1
    - Dst: next_token_ident
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - st
    - payload
    argTypes:
    - struct ddsrt_xmlp_state*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 498
    functionName: next_token_tag_withoutclose
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - next_char
    - next_token_ident
    - peek_char
    - peek_chars
    - qq_isidentfirst
    linkageType: ''
    returnType: int
    signature: int next_token_tag_withoutclose (struct ddsrt_xmlp_state *st, char
      **payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:502,1
    - Dst: peek_chars_impl
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:504,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:504,1
    - Dst: append_to_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:505,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:505,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:509,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:510,1
    - Dst: save_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - st
    - payload
    - endm
    argTypes:
    - struct ddsrt_xmlp_state*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: next_token_string
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - next_char
    - peek_char
    - discard_payload
    - strlen
    - peek_chars
    - save_payload
    - append_to_payload
    - peek_chars_impl
    linkageType: ''
    returnType: int
    signature: int next_token_string (struct ddsrt_xmlp_state *st, char **payload,
      const char *endm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:521,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:524,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:524,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:524,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:525,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: skip_comment
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - peek_char
    - next_char
    - peek_chars
    linkageType: ''
    returnType: int
    signature: int skip_comment (struct ddsrt_xmlp_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:537,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:537,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - st
    - end
    argTypes:
    - struct ddsrt_xmlp_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: processing_instruction
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - peek_char
    - next_char
    - peek_chars
    linkageType: ''
    returnType: void
    signature: void processing_instruction (struct ddsrt_xmlp_state *st, const char
      *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: drop_peek_token
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void drop_peek_token (struct ddsrt_xmlp_state *st)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:566,1
    - Dst: qq_isspace
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:574,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:574,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:575,1
    - Dst: skip_comment
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:577,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:580,1
    - Dst: processing_instruction
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:581,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:582,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:583,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:585,1
    - Dst: processing_instruction
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:586,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:587,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:589,1
    - Dst: next_token_tag_withoutclose
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:591,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:593,1
    - Dst: next_token_string
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:595,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:596,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:596,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:600,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:600,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:601,1
    - Dst: next_token_string
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:603,1
    - Dst: qq_isidentfirst
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:604,1
    - Dst: next_token_ident
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:605,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:606,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:609,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:614,1
    - Dst: struct ddsrt_xmlp_state*::cb::error
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:615,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - st
    - payload
    argTypes:
    - struct ddsrt_xmlp_state*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 620
    functionName: next_token
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 1
    functionsReached:
    - next_char
    - next_token
    - next_token_ident
    - snprintf
    - struct ddsrt_xmlp_state*::cb::error
    - ddsrt_free
    - next_token_string
    - peek_char
    - skip_comment
    - peek_chars
    - qq_isidentfirst
    - next_token_tag_withoutclose
    - qq_isspace
    - processing_instruction
    linkageType: ''
    returnType: int
    signature: int next_token (struct ddsrt_xmlp_state *st, char **payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 6
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: peek_token
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 0
    functionsReached:
    - next_token
    linkageType: ''
    returnType: int
    signature: int peek_token (struct ddsrt_xmlp_state *st)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:642,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:643,1
    - Dst: struct ddsrt_xmlp_state*::cb::elem_open
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:646,1
    - Dst: PE_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:647,1
    - Dst: peek_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:650,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:652,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:653,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:654,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:656,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:657,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:658,1
    - Dst: struct ddsrt_xmlp_state*::cb::attr
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:660,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:661,1
    - Dst: PE_ERROR2
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:663,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:665,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:669,1
    - Dst: struct ddsrt_xmlp_state*::cb::elem_close
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:673,1
    - Dst: set_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:677,1
    - Dst: peek_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:678,1
    - Dst: discard_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:680,1
    - Dst: peek_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:681,1
    - Dst: parse_element
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:682,1
    - Dst: PE_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:683,1
    - Dst: rewind_to_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:690,1
    - Dst: drop_peek_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:691,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:694,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:694,1
    - Dst: append_to_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:695,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:695,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:696,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:701,1
    - Dst: peek_chars
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:702,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:702,1
    - Dst: append_to_payload_no_unescape
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:703,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:703,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:704,1
    - Dst: peek_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:709,1
    - Dst: skip_comment
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:709,1
    - Dst: make_chars_available
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:709,1
    - Dst: discard_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:711,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:712,1
    - Dst: save_payload
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:714,1
    - Dst: PE_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:715,1
    - Dst: struct ddsrt_xmlp_state*::cb::elem_data
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:718,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:719,1
    - Dst: PE_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:721,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:724,1
    - Dst: set_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:729,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:730,1
    - Dst: next_char
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:730,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:732,1
    - Dst: rewind_to_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:734,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:739,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:740,1
    - Dst: have_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:742,1
    - Dst: discard_input_marker
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:743,1
    - Dst: struct ddsrt_xmlp_state*::cb::elem_close
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:745,1
    - Dst: PE_LOCAL_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:748,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:754,1
    - Dst: struct ddsrt_xmlp_state*::cb::error
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:755,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:759,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:760,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:761,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 112
    argCount: 2
    argNames:
    - st
    - parentinfo
    argTypes:
    - struct ddsrt_xmlp_state*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 632
    functionDepth: 7
    functionLinenumber: 632
    functionLinenumberEnd: 766
    functionName: parse_element
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 1
    functionsReached:
    - peek_token
    - append_to_payload_no_unescape
    - have_input_marker
    - next_char
    - snprintf
    - PE_LOCAL_ERROR
    - set_input_marker
    - discard_payload
    - peek_chars
    - PE_ERROR2
    - append_to_payload
    - make_chars_available
    - next_token
    - rewind_to_input_marker
    - struct ddsrt_xmlp_state*::cb::elem_close
    - ddsrt_free
    - drop_peek_token
    - peek_char
    - struct ddsrt_xmlp_state*::cb::elem_data
    - strcmp
    - parse_element
    - discard_input_marker
    - struct ddsrt_xmlp_state*::cb::error
    - skip_comment
    - save_payload
    - PE_ERROR
    - struct ddsrt_xmlp_state*::cb::attr
    - struct ddsrt_xmlp_state*::cb::elem_open
    linkageType: ''
    returnType: int
    signature: int parse_element (struct ddsrt_xmlp_state *st, uintptr_t parentinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: PE_ERROR2
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PE_ERROR2(c,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - c1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: PE_ERROR
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PE_ERROR(c,c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - c1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: PE_LOCAL_ERROR
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PE_LOCAL_ERROR(c,c1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: peek_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:770,1
    - Dst: parse_element
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:773,1
    - Dst: next_token
      Src: /src/cyclonedds/src/ddsrt/src/xmlparser.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct ddsrt_xmlp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 768
    functionDepth: 8
    functionLinenumber: 768
    functionLinenumberEnd: 780
    functionName: ddsrt_xmlp_parse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    functionUses: 6
    functionsReached:
    - peek_token
    - parse_element
    - next_token
    linkageType: ''
    returnType: int
    signature: int ddsrt_xmlp_parse (struct ddsrt_xmlp_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:36,1
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:37,1
    - Dst: ddsrt_winsock_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:39,1
    - Dst: ddsrt_time_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:40,1
    - Dst: ddsrt_random_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:42,1
    - Dst: ddsrt_atomics_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: ddsrt_init_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 0
    functionsReached:
    - ddsrt_winsock_init
    - ddsrt_atomics_init
    - ddsrt_time_init
    - ddsrt_random_init
    - ddsrt_mutex_init
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_init_impl (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:48,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:49,1
    - Dst: ddsrt_random_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:50,1
    - Dst: ddsrt_atomics_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:51,1
    - Dst: ddsrt_winsock_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:53,1
    - Dst: ddsrt_time_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: ddsrt_fini_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 0
    functionsReached:
    - ddsrt_random_fini
    - ddsrt_cond_destroy
    - ddsrt_atomics_fini
    - ddsrt_winsock_fini
    - ddsrt_time_fini
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_fini_impl (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:61,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:66,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:76,1
    - Dst: ddsrt_init_impl
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:82,1
    - Dst: ddsrt_atomic_or32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:83,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:94,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:96,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 103
    functionName: ddsrt_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 18
    functionsReached:
    - ddsrt_atomic_ld32
    - DDSRT_WARNING_GNUC_ON
    - ddsrt_atomic_or32
    - dds_sleepfor
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_atomic_cas32
    - ddsrt_init_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_init (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:109,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:110,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:127,1
    - Dst: ddsrt_fini_impl
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:130,1
    - Dst: ddsrt_atomic_dec32
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((v & INIT_STATUS_OK) && (v & INIT_COUNT_MASK) > 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/cdtors.c
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: ddsrt_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 19
    functionsReached:
    - ddsrt_atomic_ld32
    - assert
    - ddsrt_atomic_cas32
    - ddsrt_atomic_dec32
    - ddsrt_fini_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: ddsrt_get_singleton_mutex
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_mutex_t
    signature: ddsrt_mutex_t *ddsrt_get_singleton_mutex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: ddsrt_get_singleton_cond
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_cond_t
    signature: ddsrt_cond_t *ddsrt_get_singleton_cond(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:162,1
    - Dst: ddsrt_thread_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:165,1
    - Dst: ddsrt_thread_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:168,1
    - Dst: ddsrt_thread_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:171,1
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - handle
    - reason
    - reserved
    argTypes:
    - PVOID
    - DWORD
    - PVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: ddsrt_cdtor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    - ddsrt_thread_init
    - ddsrt_thread_fini
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_cdtor(PVOID handle, DWORD reason, PVOID reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_init
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: ddsrt_ctor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 0
    functionsReached:
    - ddsrt_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_ctor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fini
      Src: /src/cyclonedds/src/ddsrt/src/cdtors.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: ddsrt_dtor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/cdtors.c
    functionUses: 0
    functionsReached:
    - ddsrt_fini
    linkageType: ''
    returnType: void
    signature: void ddsrt_dtor(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:51,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:55,1
    - Dst: ddsrt_md5_init
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:56,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:64,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:71,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:78,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:85,1
    - Dst: LLADDR
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:85,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:92,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:93,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:95,1
    - Dst: ddsrt_md5_finish
      Src: /src/cyclonedds/src/ddsrt/src/machineid.c:98,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - id
    argTypes:
    - ddsrt_machineid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 103
    functionName: ddsrt_get_machineid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/machineid.c
    functionUses: 1
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_getifaddrs
    - LLADDR
    - ddsrt_md5_finish
    - DDSRT_STATIC_ASSERT
    - ddsrt_md5_init
    - ddsrt_md5_append
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_get_machineid (ddsrt_machineid_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ddsrt_threadattr_t*
    assertStmts:
    - condition: (attr != NULL)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/src/threads.c
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: ddsrt_threadattr_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads.c
    functionUses: 27
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ddsrt_threadattr_init (\n  ddsrt_threadattr_t *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/sockets_priv.h:43,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets_priv.h:44,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/sockets_priv.h:52,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/src/sockets_priv.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - reltime
    - tv
    argTypes:
    - dds_duration_t
    - struct timeval*
    assertStmts:
    - condition: (tv != NULL)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: ddsrt_duration_to_timeval_ceil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
    functionUses: 1
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - assert
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: struct timeval
    signature: 'struct timeval *

      ddsrt_duration_to_timeval_ceil(dds_duration_t reltime, struct timeval *tv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prng
    - s
    argTypes:
    - ddsrt_prng_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: init_genrand
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_genrand (ddsrt_prng_t *prng, uint32_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_genrand
      Src: /src/cyclonedds/src/ddsrt/src/random.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - prng
    - init_key
    - key_length
    argTypes:
    - ddsrt_prng_t*
    - uint32_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: init_by_array
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 0
    functionsReached:
    - init_genrand
    linkageType: ''
    returnType: void
    signature: void init_by_array (ddsrt_prng_t *prng, const uint32_t init_key[],
      size_t key_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_genrand
      Src: /src/cyclonedds/src/ddsrt/src/random.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prng
    - seed
    argTypes:
    - ddsrt_prng_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ddsrt_prng_init_simple
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 2
    functionsReached:
    - init_genrand
    linkageType: ''
    returnType: void
    signature: void ddsrt_prng_init_simple (ddsrt_prng_t *prng, uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_by_array
      Src: /src/cyclonedds/src/ddsrt/src/random.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prng
    - seed
    argTypes:
    - ddsrt_prng_t*
    - struct ddsrt_prng_seed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: ddsrt_prng_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 5
    functionsReached:
    - init_by_array
    linkageType: ''
    returnType: void
    signature: void ddsrt_prng_init (ddsrt_prng_t *prng, const struct ddsrt_prng_seed
      *seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - prng
    argTypes:
    - ddsrt_prng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 172
    functionName: ddsrt_prng_random
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_prng_random (ddsrt_prng_t *prng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/random.c:177,1
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/src/random.c:178,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/random.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: ddsrt_random
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 13
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_prng_random
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_random (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_random
      Src: /src/cyclonedds/src/ddsrt/src/random.c:313,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/random.c:329,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/random.c:332,1
    - Dst: toupper
      Src: /src/cyclonedds/src/ddsrt/src/random.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - prng
    - output
    - output_size
    argTypes:
    - ddsrt_prng_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 346
    functionName: ddsrt_prng_random_name
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 1
    functionsReached:
    - memcpy
    - toupper
    - strlen
    - ddsrt_prng_random
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_prng_random_name(ddsrt_prng_t *prng, char* output, size_t
      output_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_prng_makeseed
      Src: /src/cyclonedds/src/ddsrt/src/random.c:351,1
    - Dst: DDSRT_ATOMIC_UINT32_INIT
      Src: /src/cyclonedds/src/ddsrt/src/random.c:353,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/random.c:355,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/random.c:356,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/random.c:357,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/ddsrt/src/random.c:358,1
    - Dst: ddsrt_atomic_inc32_ov
      Src: /src/cyclonedds/src/ddsrt/src/random.c:361,1
    - Dst: ddsrt_prng_init
      Src: /src/cyclonedds/src/ddsrt/src/random.c:363,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/random.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: ddsrt_random_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 1
    functionsReached:
    - ddsrt_getpid
    - dds_time
    - DDSRT_STATIC_ASSERT
    - ddsrt_prng_init
    - memset
    - DDSRT_ATOMIC_UINT32_INIT
    - ddsrt_mutex_init
    - ddsrt_prng_makeseed
    - ddsrt_atomic_inc32_ov
    linkageType: ''
    returnType: void
    signature: void ddsrt_random_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/random.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: ddsrt_random_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_random_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ddsrt_hh_hash_0
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_hh_hash_0 (const void *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ddsrt_hh_equals_false
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_hh_equals_false (const void *x, const void *y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - rt
    - init_size
    - hash
    - equals
    argTypes:
    - struct ddsrt_hh*
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: ddsrt_hh_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_init (struct ddsrt_hh *rt, uint32_t init_size, ddsrt_hh_hash_fn
      hash, ddsrt_hh_equals_fn equals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_hh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ddsrt_hh_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_fini (struct ddsrt_hh *rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:65,1
    - Dst: ddsrt_hh_init
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - init_size
    - hash
    - equals
    argTypes:
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ddsrt_hh_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 17
    functionsReached:
    - ddsrt_malloc
    - ddsrt_hh_init
    linkageType: ''
    returnType: struct ddsrt_hh
    signature: struct ddsrt_hh *ddsrt_hh_new (uint32_t init_size, ddsrt_hh_hash_fn
      hash, ddsrt_hh_equals_fn equals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_fini
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:72,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct ddsrt_hh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: ddsrt_hh_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 19
    functionsReached:
    - ddsrt_hh_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_free (struct ddsrt_hh *hh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_hh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - rt
    - bucket
    - keyobject
    argTypes:
    - struct ddsrt_hh*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: ddsrt_hh_lookup_internal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - struct ddsrt_hh*::equals
    linkageType: ''
    returnType: void
    signature: void *ddsrt_hh_lookup_internal (const struct ddsrt_hh *rt, const uint32_t
      bucket, const void *keyobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_hh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:94,1
    - Dst: ddsrt_hh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: ddsrt_hh_lookup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 24
    functionsReached:
    - ddsrt_hh_lookup_internal
    - struct ddsrt_hh*::hash
    linkageType: ''
    returnType: void
    signature: void *ddsrt_hh_lookup (const struct ddsrt_hh *rt, const void *keyobject)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - rt
    - free_bucket
    - free_distance
    argTypes:
    - struct ddsrt_hh*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 127
    functionName: ddsrt_hh_find_closer_free_bucket
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_hh_find_closer_free_bucket (struct ddsrt_hh *rt, uint32_t
      free_bucket, uint32_t *free_distance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:132,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:133,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:134,1
    - Dst: struct ddsrt_hh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:137,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:141,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:147,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:153,1
    - Dst: struct ddsrt_hh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:164,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:169,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_hh*
    assertStmts:
    - condition: (rt->size == 1)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (rt->buckets[0].data != NULL)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (rt->buckets[0].hopinfo == 1)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (dist < HH_HOP_RANGE)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 179
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 179
    functionName: ddsrt_hh_resize
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - assert
    - struct ddsrt_hh*::hash
    - ddsrt_free
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_resize (struct ddsrt_hh *rt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_hh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:183,1
    - Dst: ddsrt_hh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:188,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:201,1
    - Dst: ddsrt_hh_find_closer_free_bucket
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:206,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:207,1
    - Dst: ddsrt_hh_resize
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:211,1
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - rt
    - data
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts:
    - condition: ((uint32_t) free_bucket == ((start_bucket + free_distance) & idxmask))
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (free_bucket == NOT_A_BUCKET || free_bucket <= idxmask)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: ddsrt_hh_add
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 16
    functionsReached:
    - ddsrt_hh_add
    - assert
    - struct ddsrt_hh*::hash
    - ddsrt_hh_find_closer_free_bucket
    - ddsrt_hh_resize
    - ddsrt_hh_lookup_internal
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_hh_add (struct ddsrt_hh *rt, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_hh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:217,1
    - Dst: struct ddsrt_hh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: ddsrt_hh_remove
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 14
    functionsReached:
    - struct ddsrt_hh*::hash
    - struct ddsrt_hh*::equals
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_hh_remove (struct ddsrt_hh *rt, const void *keyobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:239,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - data
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts:
    - condition: (x)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: ddsrt_hh_add_absent
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 6
    functionsReached:
    - assert
    - ddsrt_hh_add
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_add_absent (struct ddsrt_hh *rt, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_remove
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:246,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts:
    - condition: (x)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: ddsrt_hh_remove_present
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 9
    functionsReached:
    - ddsrt_hh_remove
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_remove_present (struct ddsrt_hh *rt, void *keyobject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - f_arg
    argTypes:
    - struct ddsrt_hh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: ddsrt_hh_enum
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 6
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void ddsrt_hh_enum (struct ddsrt_hh *rt, void (*f) (void *a, void *f_arg),
      void *f_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_iter_next
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - iter
    argTypes:
    - struct ddsrt_hh*
    - struct ddsrt_hh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: ddsrt_hh_iter_first
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 23
    functionsReached:
    - ddsrt_hh_iter_next
    linkageType: ''
    returnType: void
    signature: void *ddsrt_hh_iter_first (struct ddsrt_hh *rt, struct ddsrt_hh_iter
      *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct ddsrt_hh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: ddsrt_hh_iter_next
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsrt_hh_iter_next (struct ddsrt_hh_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: ddsrt_chh_data_valid_p
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_chh_data_valid_p (void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:327,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:331,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:335,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:336,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:337,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - rt
    - init_size
    - hash
    - equals
    - gc_buckets
    - gc_buckets_arg
    argTypes:
    - struct ddsrt_chh*
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    - ddsrt_hh_buckets_gc_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: ddsrt_chh_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_init
    - ddsrt_atomic_st32
    - ddsrt_malloc_s
    - ddsrt_atomic_stvoidp
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_chh_init (struct ddsrt_chh *rt, uint32_t init_size,
      ddsrt_hh_hash_fn hash, ddsrt_hh_equals_fn equals, ddsrt_hh_buckets_gc_fn gc_buckets,
      void *gc_buckets_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:345,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:345,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_chh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: ddsrt_chh_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_destroy
    - ddsrt_atomic_ldvoidp
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_chh_fini (struct ddsrt_chh *rt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:351,1
    - Dst: ddsrt_chh_init
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:352,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - init_size
    - hash
    - equals
    - gc_buckets
    - gc_buckets_arg
    argTypes:
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    - ddsrt_hh_buckets_gc_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: ddsrt_chh_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_chh_init
    - ddsrt_malloc_s
    - ddsrt_free
    linkageType: ''
    returnType: struct ddsrt_chh
    signature: struct ddsrt_chh *ddsrt_chh_new (uint32_t init_size, ddsrt_hh_hash_fn
      hash, ddsrt_hh_equals_fn equals, ddsrt_hh_buckets_gc_fn gc_buckets, void *gc_buckets_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_chh_fini
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:362,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct ddsrt_chh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: ddsrt_chh_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - ddsrt_chh_fini
    linkageType: ''
    returnType: void
    signature: void ddsrt_chh_free (struct ddsrt_chh *hh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:375,1
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:376,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:377,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:381,1
    - Dst: ddsrt_chh_data_valid_p
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:382,1
    - Dst: equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:382,1
    - Dst: ddsrt_atomic_fence_ldld
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:387,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:388,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:395,1
    - Dst: ddsrt_chh_data_valid_p
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:396,1
    - Dst: equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - bsary
    - equals
    - bucket
    - keyobject
    argTypes:
    - struct ddsrt_chh_bucket_array*
    - ddsrt_hh_equals_fn
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 402
    functionName: ddsrt_chh_lookup_internal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_fence_ldld
    - equals
    - ddsrt_chh_data_valid_p
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void *ddsrt_chh_lookup_internal (struct ddsrt_chh_bucket_array const
      * const bsary, ddsrt_hh_equals_fn equals, const uint32_t bucket, const void
      *keyobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var_
    - ','
    - tmp_
    - ','
    - expr_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: ddsrt_atomic_rmw32_nonatomic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_atomic_rmw32_nonatomic(var_, tmp_, expr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:412,1
    - Dst: struct ddsrt_chh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:413,1
    - Dst: ddsrt_chh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_chh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: ddsrt_chh_lookup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 4
    functionsReached:
    - ddsrt_chh_lookup_internal
    - ddsrt_atomic_ldvoidp
    - struct ddsrt_chh*::hash
    linkageType: ''
    returnType: void
    signature: void *ddsrt_chh_lookup (struct ddsrt_chh *rt, const void *keyobject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:421,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:427,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:438,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:441,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:442,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:442,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:443,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:444,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:445,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - rt
    - free_bucket
    - free_distance
    argTypes:
    - struct ddsrt_chh*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 455
    functionName: ddsrt_chh_find_closer_free_bucket
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_rmw32_nonatomic
    - ddsrt_atomic_stvoidp
    - ddsrt_atomic_ldvoidp
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_chh_find_closer_free_bucket (struct ddsrt_chh *rt, uint32_t
      free_bucket, uint32_t *free_distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:464,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:470,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:471,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:476,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:477,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:478,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:483,1
    - Dst: struct ddsrt_chh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:485,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:490,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:491,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:492,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:496,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:497,1
    - Dst: struct ddsrt_chh*::gc_buckets
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_chh*
    assertStmts:
    - condition: (bsary0->size > 0)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (dist < HH_HOP_RANGE)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 499
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 499
    functionName: ddsrt_chh_resize
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_rmw32_nonatomic
    - struct ddsrt_chh*::gc_buckets
    - ddsrt_atomic_stvoidp
    - assert
    - struct ddsrt_chh*::hash
    - ddsrt_atomic_st32
    - ddsrt_atomic_ldvoidp
    - ddsrt_atomic_fence
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_chh_resize (struct ddsrt_chh *rt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_chh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:503,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:507,1
    - Dst: ddsrt_chh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:516,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:522,1
    - Dst: ddsrt_atomic_casvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:523,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:531,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:532,1
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:533,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:534,1
    - Dst: ddsrt_chh_find_closer_free_bucket
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:537,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:538,1
    - Dst: ddsrt_chh_resize
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:543,1
    - Dst: ddsrt_chh_add_locked
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - rt
    - data
    argTypes:
    - struct ddsrt_chh*
    - void*
    assertStmts:
    - condition: (free_bucket == ((start_bucket + free_distance) & idxmask))
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (free_bucket == NOT_A_BUCKET || free_bucket <= idxmask)
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 545
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 545
    functionName: ddsrt_chh_add_locked
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_rmw32_nonatomic
    - ddsrt_chh_find_closer_free_bucket
    - ddsrt_chh_resize
    - ddsrt_atomic_stvoidp
    - assert
    - struct ddsrt_chh*::hash
    - ddsrt_chh_lookup_internal
    - ddsrt_atomic_casvoidp
    - ddsrt_chh_add_locked
    - ddsrt_atomic_ldvoidp
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_chh_add_locked (struct ddsrt_chh *rt, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:549,1
    - Dst: ddsrt_chh_add_locked
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:550,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - data
    argTypes:
    - struct ddsrt_chh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 553
    functionName: ddsrt_chh_add
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_chh_add_locked
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_chh_add (struct ddsrt_chh *rt, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_chh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:557,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:558,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:561,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:568,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:572,1
    - Dst: ddsrt_chh_data_valid_p
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:573,1
    - Dst: struct ddsrt_chh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:573,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:574,1
    - Dst: ddsrt_atomic_rmw32_nonatomic
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:575,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:576,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_chh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 585
    functionName: ddsrt_chh_remove
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsrt_atomic_rmw32_nonatomic
    - ddsrt_atomic_stvoidp
    - ddsrt_mutex_lock
    - struct ddsrt_chh*::hash
    - ddsrt_chh_data_valid_p
    - ddsrt_atomic_ldvoidp
    - struct ddsrt_chh*::equals
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_chh_remove (struct ddsrt_chh *rt, const void *keyobject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:589,1
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:593,1
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - f_arg
    argTypes:
    - struct ddsrt_chh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: ddsrt_chh_enum_unsafe
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 1
    functionsReached:
    - f
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void ddsrt_chh_enum_unsafe (struct ddsrt_chh *rt, void (*f) (void *a,
      void *f_arg), void *f_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct ddsrt_chh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 611
    functionName: ddsrt_chh_iter_next
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldvoidp
    linkageType: ''
    returnType: void
    signature: void *ddsrt_chh_iter_next (struct ddsrt_chh_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldvoidp
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:615,1
    - Dst: ddsrt_chh_iter_next
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rt
    - it
    argTypes:
    - struct ddsrt_chh*
    - struct ddsrt_chh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: ddsrt_chh_iter_first
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_ldvoidp
    - ddsrt_chh_iter_next
    linkageType: ''
    returnType: void
    signature: void *ddsrt_chh_iter_first (struct ddsrt_chh *rt, struct ddsrt_chh_iter
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - rt
    - elemsz
    - init_size
    - hash
    - equals
    argTypes:
    - struct ddsrt_ehh*
    - size_t
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 657
    functionName: ddsrt_ehh_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_ehh_init (struct ddsrt_ehh *rt, size_t elemsz, uint32_t
      init_size, ddsrt_hh_hash_fn hash, ddsrt_hh_equals_fn equals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_ehh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: ddsrt_ehh_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_ehh_fini (struct ddsrt_ehh *rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:666,1
    - Dst: ddsrt_ehh_init
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - elemsz
    - init_size
    - hash
    - equals
    argTypes:
    - size_t
    - uint32_t
    - ddsrt_hh_hash_fn
    - ddsrt_hh_equals_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: ddsrt_ehh_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_malloc
    - ddsrt_ehh_init
    linkageType: ''
    returnType: struct ddsrt_ehh
    signature: struct ddsrt_ehh *ddsrt_ehh_new (size_t elemsz, uint32_t init_size,
      ddsrt_hh_hash_fn hash, ddsrt_hh_equals_fn equals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_fini
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:673,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct ddsrt_ehh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: ddsrt_ehh_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_ehh_fini
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_ehh_free (struct ddsrt_ehh *hh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_ehh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:683,1
    - Dst: struct ddsrt_ehh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - rt
    - bucket
    - keyobject
    argTypes:
    - struct ddsrt_ehh*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 701
    functionName: ddsrt_ehh_lookup_internal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - struct ddsrt_ehh*::equals
    linkageType: ''
    returnType: void
    signature: void *ddsrt_ehh_lookup_internal (const struct ddsrt_ehh *rt, uint32_t
      bucket, const void *keyobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_ehh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:705,1
    - Dst: ddsrt_ehh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_ehh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 709
    functionName: ddsrt_ehh_lookup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 2
    functionsReached:
    - struct ddsrt_ehh*::hash
    - ddsrt_ehh_lookup_internal
    linkageType: ''
    returnType: void
    signature: void *ddsrt_ehh_lookup (const struct ddsrt_ehh *rt, const void *keyobject)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - rt
    - free_bucket
    - free_distance
    argTypes:
    - struct ddsrt_ehh*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 742
    functionName: ddsrt_ehh_find_closer_free_bucket
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_ehh_find_closer_free_bucket (struct ddsrt_ehh *rt, uint32_t
      free_bucket, uint32_t *free_distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:749,1
    - Dst: struct ddsrt_ehh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:761,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:768,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:769,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:772,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - rt
    argTypes:
    - struct ddsrt_ehh*
    assertStmts:
    - condition: (!nb->inuse)
      pos:
        line_end: 768
        line_start: 768
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (dist < HH_HOP_RANGE)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 779
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 779
    functionName: ddsrt_ehh_resize
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - assert
    - struct ddsrt_ehh*::hash
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: void ddsrt_ehh_resize (struct ddsrt_ehh *rt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_ehh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:783,1
    - Dst: ddsrt_ehh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:788,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:805,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:808,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:809,1
    - Dst: ddsrt_ehh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:809,1
    - Dst: ddsrt_ehh_find_closer_free_bucket
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:812,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:813,1
    - Dst: ddsrt_ehh_resize
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:817,1
    - Dst: ddsrt_ehh_add
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:818,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - rt
    - data
    argTypes:
    - struct ddsrt_ehh*
    - void*
    assertStmts:
    - condition: (ddsrt_ehh_lookup_internal (rt, start_bucket, data))
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: ((uint32_t) free_bucket == ((start_bucket + free_distance) & idxmask))
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (free_bucket == NOT_A_BUCKET || free_bucket <= idxmask)
      pos:
        line_end: 812
        line_start: 812
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 819
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 819
    functionName: ddsrt_ehh_add
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 3
    functionsReached:
    - ddsrt_ehh_resize
    - ddsrt_ehh_add
    - memcpy
    - assert
    - struct ddsrt_ehh*::hash
    - ddsrt_ehh_find_closer_free_bucket
    - ddsrt_ehh_lookup_internal
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_ehh_add (struct ddsrt_ehh *rt, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ddsrt_ehh*::hash
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:823,1
    - Dst: struct ddsrt_ehh*::equals
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:835,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:836,1
    - Dst: ddsrt_ehh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:836,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:843,1
    - Dst: ddsrt_ehh_lookup_internal
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rt
    - keyobject
    argTypes:
    - struct ddsrt_ehh*
    - void*
    assertStmts:
    - condition: (!ddsrt_ehh_lookup_internal(rt, bucket, keyobject))
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - condition: (ddsrt_ehh_lookup_internal(rt, bucket, keyobject))
      pos:
        line_end: 835
        line_start: 835
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    constantsTouched: []
    func_position:
      end: 845
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 845
    functionName: ddsrt_ehh_remove
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 2
    functionsReached:
    - assert
    - struct ddsrt_ehh*::hash
    - ddsrt_ehh_lookup_internal
    - struct ddsrt_ehh*::equals
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_ehh_remove (struct ddsrt_ehh *rt, const void *keyobject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - f_arg
    argTypes:
    - struct ddsrt_ehh*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 856
    functionName: ddsrt_ehh_enum
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void ddsrt_ehh_enum (struct ddsrt_ehh *rt, void (*f) (void *a, void
      *f_arg), void *f_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_ehh_iter_next
      Src: /src/cyclonedds/src/ddsrt/src/hopscotch.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rt
    - iter
    argTypes:
    - struct ddsrt_ehh*
    - struct ddsrt_ehh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: ddsrt_ehh_iter_first
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 1
    functionsReached:
    - ddsrt_ehh_iter_next
    linkageType: ''
    returnType: void
    signature: void *ddsrt_ehh_iter_first (struct ddsrt_ehh *rt, struct ddsrt_ehh_iter
      *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct ddsrt_ehh_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: ddsrt_ehh_iter_next
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsrt_ehh_iter_next (struct ddsrt_ehh_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs.c:21,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs.c:22,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs.c:23,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs.c:24,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ifa
    argTypes:
    - ddsrt_ifaddrs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: ddsrt_freeifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs.c
    functionUses: 8
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_freeifaddrs(ddsrt_ifaddrs_t *ifa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:29,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:29,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:36,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: ddsrt_strcasecmp
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 28
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: "int ddsrt_strcasecmp(\n  const char *s1,\n  const char *s2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:48,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:49,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:52,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:52,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:61,1
    - Dst: tolower
      Src: /src/cyclonedds/src/ddsrt/src/string.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (s1 != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    - condition: (s2 != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: ddsrt_strncasecmp
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 4
    functionsReached:
    - assert
    - tolower
    linkageType: ''
    returnType: int
    signature: "int ddsrt_strncasecmp(\n  const char *s1,\n  const char *s2,\n  size_t
      n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/string.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: ddsrt_strsep
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 10
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_strsep(char **stringp, const char *delim)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:91,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:92,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:96,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (dest != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    - condition: (src != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: ddsrt_strlcpy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 40
    functionsReached:
    - memcpy
    - assert
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t ddsrt_strlcpy(\n  char *dest,\n  const char *src,\n  size_t
      size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:121,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:122,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:126,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:127,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (dest != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    - condition: (src != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    constantsTouched: []
    func_position:
      end: 144
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 144
    functionName: ddsrt_strlcat
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t ddsrt_strlcat(\n  char *dest,\n  const char *src,\n  size_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/string.c:151,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - src
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: ddsrt_memdup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 34
    functionsReached:
    - memcpy
    - ddsrt_malloc_s
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_memdup(const void *src, size_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:162,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/string.c:164,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: ddsrt_strdup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 186
    functionsReached:
    - ddsrt_memdup
    - assert
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nddsrt_strdup(\n  const char *str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:174,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:178,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:179,1
    - Dst: strstr
      Src: /src/cyclonedds/src/ddsrt/src/string.c:186,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/string.c:188,1
    - Dst: strstr
      Src: /src/cyclonedds/src/ddsrt/src/string.c:194,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:196,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:197,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - str
    - srch
    - subst
    - max
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 203
    functionName: ddsrt_str_replace
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 4
    functionsReached:
    - strstr
    - memcpy
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nddsrt_str_replace(\n    const char *str,\n    const char *srch,\n
      \   const char *subst,\n    size_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/string.c:211,1
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/string.c:215,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/string.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/ddsrt/src/string.c
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: ddsrt_strndup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 4
    functionsReached:
    - memcpy
    - assert
    - ddsrt_malloc_s
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_strndup(const char *str, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/string.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: ddsrt_str_trim_ord_space
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/string.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_str_trim_ord_space(char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/io.c:69,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/io.c:70,1
    - Dst: va_start
      Src: /src/cyclonedds/src/ddsrt/src/io.c:72,1
    - Dst: ddsrt_vasprintf
      Src: /src/cyclonedds/src/ddsrt/src/io.c:73,1
    - Dst: va_end
      Src: /src/cyclonedds/src/ddsrt/src/io.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - strp
    - fmt
    argTypes:
    - char**
    - char*
    assertStmts:
    - condition: (strp != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/ddsrt/src/io.c
    - condition: (fmt != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/src/io.c
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: ddsrt_asprintf
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/io.c
    functionUses: 43
    functionsReached:
    - va_start
    - assert
    - va_end
    - ddsrt_vasprintf
    linkageType: ''
    returnType: int
    signature: "int ddsrt_asprintf(\n  char **strp,\n  const char *fmt,\n  ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/ddsrt/src/io.c:90,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/ddsrt/src/io.c:91,1
    - Dst: va_end
      Src: /src/cyclonedds/src/ddsrt/src/io.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: snprintf
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/io.c
    functionUses: 115
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: "int snprintf(\n  char *str,\n  size_t size,\n  const char *fmt,\n
      \ ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/retcode.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ret
    argTypes:
    - dds_return_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: dds_strretcode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/retcode.c
    functionUses: 14
    functionsReached:
    - DDSRT_STATIC_ASSERT
    linkageType: ''
    returnType: char
    signature: char *dds_strretcode (dds_return_t ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - ddsrt_atomic_lifo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: ddsrt_atomic_lifo_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_lifo_init (ddsrt_atomic_lifo_t *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casvoidp2
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - head
    - elem
    - linkoff
    argTypes:
    - ddsrt_atomic_lifo_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: ddsrt_atomic_lifo_push
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_casvoidp2
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_lifo_push (ddsrt_atomic_lifo_t *head, void *elem,
      size_t linkoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casvoidp2
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - head
    - linkoff
    argTypes:
    - ddsrt_atomic_lifo_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: ddsrt_atomic_lifo_pop
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_casvoidp2
    linkageType: ''
    returnType: void
    signature: void *ddsrt_atomic_lifo_pop (ddsrt_atomic_lifo_t *head, size_t linkoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casvoidp2
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - head
    - first
    - last
    - linkoff
    argTypes:
    - ddsrt_atomic_lifo_t*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: ddsrt_atomic_lifo_pushmany
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_casvoidp2
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_lifo_pushmany (ddsrt_atomic_lifo_t *head, void *first,
      void *last, size_t linkoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ddsrt_atomics_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_init (void)
  - 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: ddsrt_atomics_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: ddsrt_atomics_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: ddsrt_atomics_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached:
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: ddsrt_atomics_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: ddsrt_atomics_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomics_fini (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: atomic64_lock_index
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t atomic64_lock_index (const volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic64_lock_index
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:258,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:259,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:263,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: ddsrt_atomic_cas64
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 4
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - atomic64_lock_index
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_cas64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      exp, uint64_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - oper
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: DDSRT_FAKE_ATOMIC64
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FAKE_ATOMIC64(name, oper, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - oper
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: DDSRT_FAKE_ATOMIC64_TRIPLET
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FAKE_ATOMIC64_TRIPLET(name, oper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic64_lock_index
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:294,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:295,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: ddsrt_atomic_ld64
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 17
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - atomic64_lock_index
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_ld64 (const volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic64_lock_index
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:303,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:304,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/atomics.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: ddsrt_atomic_st64
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 11
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - atomic64_lock_index
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - size
    - ','
    - oper
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: DDSRT_FAKE_SYNC_PAIR
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/atomics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FAKE_SYNC_PAIR(name, size, oper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/cyclonedds/src/ddsrt/src/log.c:56,1
    - Dst: fflush
      Src: /src/cyclonedds/src/ddsrt/src/log.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: default_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fflush
    linkageType: ''
    returnType: void
    signature: void default_sink (void *ptr, const dds_log_data_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_rwlock_init
      Src: /src/cyclonedds/src/ddsrt/src/log.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: init_lock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - ddsrt_rwlock_init
    linkageType: ''
    returnType: void
    signature: void init_lock (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/ddsrt/src/log.c:96,1
    - Dst: ddsrt_rwlock_read
      Src: /src/cyclonedds/src/ddsrt/src/log.c:98,1
    - Dst: ddsrt_rwlock_write
      Src: /src/cyclonedds/src/ddsrt/src/log.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum lock_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: lock_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - ddsrt_rwlock_write
    - ddsrt_rwlock_read
    - ddsrt_once
    linkageType: ''
    returnType: void
    signature: void lock_sink (enum lock_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_rwlock_unlock
      Src: /src/cyclonedds/src/ddsrt/src/log.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: unlock_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - ddsrt_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_sink (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:111,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:112,1
    - Dst: lock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:117,1
    - Dst: unlock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sink
    - func
    - ptr
    argTypes:
    - log_sink_t*
    - dds_log_write_fn_t
    - void*
    assertStmts:
    - condition: (sink != NULL)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (sink == &sinks[0] || sink == &sinks[1])
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: set_log_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 14
    functionsReached:
    - lock_sink
    - assert
    - unlock_sink
    linkageType: ''
    returnType: void
    signature: void set_log_sink (log_sink_t *sink, dds_log_write_fn_t func, void
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:126,1
    - Dst: unlock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: dds_set_log_file
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 1
    functionsReached:
    - lock_sink
    - unlock_sink
    linkageType: ''
    returnType: void
    signature: void dds_set_log_file (FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:133,1
    - Dst: unlock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: dds_set_trace_file
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 1
    functionsReached:
    - lock_sink
    - unlock_sink
    linkageType: ''
    returnType: void
    signature: void dds_set_trace_file (FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_log_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - callback
    - userdata
    argTypes:
    - dds_log_write_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: dds_set_log_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 14
    functionsReached:
    - set_log_sink
    linkageType: ''
    returnType: void
    signature: void dds_set_log_sink (dds_log_write_fn_t callback, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_log_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - callback
    - userdata
    argTypes:
    - dds_log_write_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: dds_set_trace_sink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 14
    functionsReached:
    - set_log_sink
    linkageType: ''
    returnType: void
    signature: void dds_set_trace_sink (dds_log_write_fn_t callback, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:152,1
    - Dst: unlock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cats
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: dds_set_log_mask
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 7
    functionsReached:
    - lock_sink
    - unlock_sink
    linkageType: ''
    returnType: void
    signature: void dds_set_log_mask (uint32_t cats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:161,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/log.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - cfg
    - domid
    - tracemask
    - log_fp
    - trace_fp
    argTypes:
    - struct ddsrt_log_cfg*
    - uint32_t
    - uint32_t
    - FILE*
    - FILE*
    assertStmts:
    - condition: (domid != UINT32_MAX)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: dds_log_cfg_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 12
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void dds_log_cfg_init (struct ddsrt_log_cfg *cfg, uint32_t domid, uint32_t
      tracemask, FILE *log_fp, FILE *trace_fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_getname
      Src: /src/cyclonedds/src/ddsrt/src/log.c:180,1
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/log.c:182,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/log.c:189,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/log.c:197,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - str
    - id
    argTypes:
    - char*
    - uint32_t
    assertStmts:
    - condition: (off + cnt == (HDR_LEN - 1))
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: print_header
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 1
    functionsReached:
    - ddsrt_thread_getname
    - snprintf
    - dds_time
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t print_header (char *str, uint32_t id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:215,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/ddsrt/src/log.c:241,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:251,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:252,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/log.c:253,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/log.c:257,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:258,1
    - Dst: print_header
      Src: /src/cyclonedds/src/ddsrt/src/log.c:259,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:276,1
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/log.c:277,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/log.c:286,1
    - Dst: g
      Src: /src/cyclonedds/src/ddsrt/src/log.c:288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 8
    argNames:
    - cfg
    - cat
    - domid
    - file
    - line
    - func
    - fmt
    - ap
    argTypes:
    - struct ddsrt_log_cfg_impl*
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - char*
    - char*
    - va_list
    assertStmts:
    - condition: (domid == cfg->c.domid || cfg == &logconfig)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (lb->pos >= msglen)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (lb->pos <= sizeof (lb->buf))
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (lb->pos > BUF_OFFSET)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (f != NULL)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - condition: (g != NULL)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    constantsTouched: []
    func_position:
      end: 294
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 294
    functionName: vlog1
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - f
    - memcpy
    - assert
    - g
    - strlen
    - print_header
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void vlog1 (const struct ddsrt_log_cfg_impl *cfg, uint32_t cat, uint32_t
      domid, const char *file, uint32_t line, const char *func, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:298,1
    - Dst: vlog1
      Src: /src/cyclonedds/src/ddsrt/src/log.c:299,1
    - Dst: unlock_sink
      Src: /src/cyclonedds/src/ddsrt/src/log.c:300,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/log.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - cfg
    - cat
    - domid
    - file
    - line
    - func
    - fmt
    - ap
    argTypes:
    - struct ddsrt_log_cfg_impl*
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: vlog
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - lock_sink
    - vlog1
    - abort
    - unlock_sink
    linkageType: ''
    returnType: void
    signature: void vlog (const struct ddsrt_log_cfg_impl *cfg, uint32_t cat, uint32_t
      domid, const char *file, uint32_t line, const char *func, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_log_mask
      Src: /src/cyclonedds/src/ddsrt/src/log.c:311,1
    - Dst: va_start
      Src: /src/cyclonedds/src/ddsrt/src/log.c:313,1
    - Dst: vlog
      Src: /src/cyclonedds/src/ddsrt/src/log.c:314,1
    - Dst: va_end
      Src: /src/cyclonedds/src/ddsrt/src/log.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - cfg
    - cat
    - file
    - line
    - func
    - fmt
    argTypes:
    - struct ddsrt_log_cfg*
    - uint32_t
    - char*
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: dds_log_cfg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 1
    functionsReached:
    - dds_get_log_mask
    - va_start
    - vlog
    - va_end
    linkageType: ''
    returnType: void
    signature: void dds_log_cfg (const struct ddsrt_log_cfg *cfg, uint32_t cat, const
      char *file, uint32_t line, const char *func, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_log_mask
      Src: /src/cyclonedds/src/ddsrt/src/log.c:321,1
    - Dst: va_start
      Src: /src/cyclonedds/src/ddsrt/src/log.c:323,1
    - Dst: vlog
      Src: /src/cyclonedds/src/ddsrt/src/log.c:324,1
    - Dst: va_end
      Src: /src/cyclonedds/src/ddsrt/src/log.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - cat
    - domid
    - file
    - line
    - func
    - fmt
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: dds_log_id
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 0
    functionsReached:
    - dds_get_log_mask
    - va_start
    - vlog
    - va_end
    linkageType: ''
    returnType: void
    signature: void dds_log_id (uint32_t cat, uint32_t domid, const char *file, uint32_t
      line, const char *func, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_get_log_mask
      Src: /src/cyclonedds/src/ddsrt/src/log.c:331,1
    - Dst: va_start
      Src: /src/cyclonedds/src/ddsrt/src/log.c:333,1
    - Dst: vlog
      Src: /src/cyclonedds/src/ddsrt/src/log.c:334,1
    - Dst: va_end
      Src: /src/cyclonedds/src/ddsrt/src/log.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - cat
    - file
    - line
    - func
    - fmt
    argTypes:
    - uint32_t
    - char*
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: dds_log
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/log.c
    functionUses: 1
    functionsReached:
    - dds_get_log_mask
    - va_start
    - vlog
    - va_end
    linkageType: ''
    returnType: void
    signature: void dds_log (uint32_t cat, const char *file, uint32_t line, const
      char *func, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getenv
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:35,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:37,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:37,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:38,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:38,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:40,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: expand_lookup_env
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strcmp
    - ddsrt_getpid
    - ddsrt_getenv
    linkageType: ''
    returnType: char
    signature: char * expand_lookup_env(const char *name, void * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars_sh
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - domid
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ddsrt_expand_envvars_sh
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ.c
    functionUses: 1
    functionsReached:
    - ddsrt_expand_vars_sh
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_envvars_sh (const char *string, uint32_t domid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_expand_vars
      Src: /src/cyclonedds/src/ddsrt/src/environ.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - domid
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ddsrt_expand_envvars
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ.c
    functionUses: 38
    functionsReached:
    - ddsrt_expand_vars
    linkageType: ''
    returnType: char
    signature: char *ddsrt_expand_envvars (const char *string, uint32_t domid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ddsrt_circlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ddsrt_circlist_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_circlist_init (struct ddsrt_circlist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ddsrt_circlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ddsrt_circlist_isempty
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_circlist_isempty (const struct ddsrt_circlist *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - list
    - elem
    argTypes:
    - struct ddsrt_circlist*
    - struct ddsrt_circlist_elem*
    assertStmts:
    - condition: (x != elem)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: ddsrt_circlist_append
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_circlist_append (struct ddsrt_circlist *list, struct ddsrt_circlist_elem
      *elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:53,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - list
    - elem
    argTypes:
    - struct ddsrt_circlist*
    - struct ddsrt_circlist_elem*
    assertStmts:
    - condition: (x)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
    - condition: (x == elem)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: ddsrt_circlist_remove
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_circlist_remove (struct ddsrt_circlist *list, struct ddsrt_circlist_elem
      *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:73,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ddsrt_circlist*
    assertStmts:
    - condition: (!ddsrt_circlist_isempty (list))
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ddsrt_circlist_oldest
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 11
    functionsReached:
    - ddsrt_circlist_isempty
    - assert
    linkageType: ''
    returnType: struct ddsrt_circlist_elem
    signature: struct ddsrt_circlist_elem *ddsrt_circlist_oldest (const struct ddsrt_circlist
      *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:79,1
    - Dst: ddsrt_circlist_isempty
      Src: /src/cyclonedds/src/ddsrt/src/circlist.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ddsrt_circlist*
    assertStmts:
    - condition: (!ddsrt_circlist_isempty (list))
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ddsrt_circlist_latest
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/circlist.c
    functionUses: 1
    functionsReached:
    - ddsrt_circlist_isempty
    - assert
    linkageType: ''
    returnType: struct ddsrt_circlist_elem
    signature: struct ddsrt_circlist_elem *ddsrt_circlist_latest (const struct ddsrt_circlist
      *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: VALID_DOUBLE_CHAR
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DOUBLE_CHAR(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:70,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: os_lcNumericGet
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DDS_WARNING
    linkageType: ''
    returnType: char
    signature: char os_lcNumericGet(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_lcNumericGet
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:89,1
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: os_lcNumericReplace
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached:
    - os_lcNumericGet
    - strchr
    linkageType: ''
    returnType: void
    signature: void os_lcNumericReplace(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALID_DOUBLE_CHAR
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:118,1
    - Dst: os_lcNumericGet
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - nptr
    - nptrCopy
    - nptrCopyEnd
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: delocalize_floating_point_str
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached:
    - os_lcNumericGet
    - VALID_DOUBLE_CHAR
    linkageType: ''
    returnType: void
    signature: void delocalize_floating_point_str(const char *nptr, char *nptrCopy,
      char **nptrCopyEnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:140,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:141,1
    - Dst: os_lcNumericGet
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:144,1
    - Dst: strtod
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:147,1
    - Dst: delocalize_floating_point_str
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:162,1
    - Dst: strtod
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:167,1
    - Dst: isnan
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:200,1
    - Dst: isinf
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - nptr
    - endptr
    - dblptr
    argTypes:
    - char*
    - char**
    - double*
    assertStmts:
    - condition: (nptr != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
    - condition: (dblptr != NULL)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
    constantsTouched: []
    func_position:
      end: 209
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 209
    functionName: ddsrt_strtod
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 1
    functionsReached:
    - os_lcNumericGet
    - assert
    - isinf
    - isnan
    - strtod
    - delocalize_floating_point_str
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_strtod(const char *nptr, char **endptr, double *dblptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:216,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:219,1
    - Dst: os_lcNumericReplace
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - src
    - str
    - size
    argTypes:
    - double
    - char*
    - size_t
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: ddsrt_dtostr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - os_lcNumericReplace
    linkageType: ''
    returnType: int
    signature: int ddsrt_dtostr(double src, char *str, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:230,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:233,1
    - Dst: os_lcNumericReplace
      Src: /src/cyclonedds/src/ddsrt/src/strtod.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - src
    - str
    - size
    argTypes:
    - float
    - char*
    - size_t
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: ddsrt_ftostr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/strtod.c
    functionUses: 0
    functionsReached:
    - snprintf
    - assert
    - os_lcNumericReplace
    linkageType: ''
    returnType: int
    signature: int ddsrt_ftostr(float src, char *str, size_t size)
  - 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: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: DDSRT_MH3_ROTL32
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/mh3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_MH3_ROTL32(x,r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_MH3_ROTL32
      Src: /src/cyclonedds/src/ddsrt/src/mh3.c:35,1
    - Dst: DDSRT_MH3_ROTL32
      Src: /src/cyclonedds/src/ddsrt/src/mh3.c:39,1
    - Dst: DDSRT_MH3_ROTL32
      Src: /src/cyclonedds/src/ddsrt/src/mh3.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 71
    functionName: ddsrt_mh3
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/mh3.c
    functionUses: 12
    functionsReached:
    - DDSRT_MH3_ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_mh3 (const void *key, size_t len, uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: COMMA
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SEMICOLON
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEMICOLON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: DLSYM_EXTERN
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLSYM_EXTERN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: MAKE_DLSYM_EXTERNS_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_EXTERNS_2(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: MAKE_DLSYM_EXTERNS_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_EXTERNS_1(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: MAKE_DLSYM_EXTERNS
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_EXTERNS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DLSYM_TABLE_ENTRY
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLSYM_TABLE_ENTRY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - libname
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: MAKE_DLSYM_TABLE_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_TABLE_2(libname, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - libname
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MAKE_DLSYM_TABLE_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_TABLE_1(libname, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: MAKE_DLSYM_TABLE
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DLSYM_TABLE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: DLOPEN_TABLE_ENTRY
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLOPEN_TABLE_ENTRY(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:63,1
    - Dst: ddsrt_platform_dlopen
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - name
    - translate
    - handle
    argTypes:
    - char*
    - bool
    - ddsrt_dynlib_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: ddsrt_dlopen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 11
    functionsReached:
    - strcmp
    - ddsrt_platform_dlopen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlopen (const char *name, bool translate, ddsrt_dynlib_t
      *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlclose
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ddsrt_dynlib_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: ddsrt_dlclose
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 12
    functionsReached:
    - ddsrt_platform_dlclose
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlclose (ddsrt_dynlib_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - symbol
    - address
    argTypes:
    - ddsrt_dynlib_t
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: fake_dlsym
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t fake_dlsym (ddsrt_dynlib_t handle, const char *symbol,
      void **address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_dlsym
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:103,1
    - Dst: ddsrt_platform_dlsym
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - symbol
    - address
    argTypes:
    - ddsrt_dynlib_t
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: ddsrt_dlsym
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 6
    functionsReached:
    - fake_dlsym
    - ddsrt_platform_dlsym
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlsym (ddsrt_dynlib_t handle, const char *symbol,
      void **address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlerror
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: ddsrt_dlerror
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 5
    functionsReached:
    - ddsrt_platform_dlerror
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlerror (char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlopen
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - translate
    - handle
    argTypes:
    - char*
    - bool
    - ddsrt_dynlib_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: ddsrt_dlopen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 11
    functionsReached:
    - ddsrt_platform_dlopen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlopen (const char *name, bool translate, ddsrt_dynlib_t
      *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlclose
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ddsrt_dynlib_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: ddsrt_dlclose
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 12
    functionsReached:
    - ddsrt_platform_dlclose
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlclose (ddsrt_dynlib_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlsym
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - symbol
    - address
    argTypes:
    - ddsrt_dynlib_t
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: ddsrt_dlsym
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 6
    functionsReached:
    - ddsrt_platform_dlsym
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlsym (ddsrt_dynlib_t handle, const char *symbol,
      void **address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_platform_dlerror
      Src: /src/cyclonedds/src/ddsrt/src/dynlib.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: ddsrt_dlerror
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib.c
    functionUses: 5
    functionsReached:
    - ddsrt_platform_dlerror
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_dlerror (char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:182,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:223,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:224,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:225,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:226,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:227,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:228,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:229,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:230,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:231,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:232,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:233,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:234,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:235,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:236,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:237,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:238,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:249,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:250,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:251,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:252,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:253,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:254,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:255,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:256,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:257,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:258,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:259,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:260,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:261,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:262,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:263,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:264,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:275,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:276,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:277,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:278,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:279,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:280,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:281,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:282,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:283,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:284,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:285,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:286,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:287,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:288,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:289,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:290,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:301,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:302,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:303,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:304,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:305,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:306,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:307,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:308,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:309,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:310,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:311,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:312,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:313,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:314,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:315,1
    - Dst: SET
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 84
    argCount: 2
    argNames:
    - pms
    - data
    argTypes:
    - ddsrt_md5_state_t*
    - ddsrt_md5_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 326
    functionName: md5_process
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SET
    linkageType: ''
    returnType: void
    signature: void md5_process(ddsrt_md5_state_t *pms, const ddsrt_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: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: ROTATE_LEFT
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/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: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: F
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 86
    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: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: SET
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 13
    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: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: G
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 267
    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: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: SET
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 13
    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: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: H
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 22
    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: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: SET
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 13
    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: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: I
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 1
    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: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: SET
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 13
    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:
    - ddsrt_md5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: ddsrt_md5_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_md5_init(ddsrt_md5_state_t *pms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:359,1
    - Dst: md5_process
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:364,1
    - Dst: md5_process
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:369,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pms
    - data
    - nbytes
    argTypes:
    - ddsrt_md5_state_t*
    - ddsrt_md5_byte_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 374
    functionName: ddsrt_md5_append
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 18
    functionsReached:
    - memcpy
    - md5_process
    linkageType: ''
    returnType: void
    signature: void ddsrt_md5_append(ddsrt_md5_state_t *pms, const ddsrt_md5_byte_t
      *data, unsigned nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:392,1
    - Dst: ddsrt_md5_append
      Src: /src/cyclonedds/src/ddsrt/src/md5.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pms
    - digest
    argTypes:
    - ddsrt_md5_state_t*
    - ddsrt_md5_byte_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 397
    functionName: ddsrt_md5_finish
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/md5.c
    functionUses: 18
    functionsReached:
    - ddsrt_md5_append
    linkageType: ''
    returnType: void
    signature: void ddsrt_md5_finish(ddsrt_md5_state_t *pms, ddsrt_md5_byte_t digest[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/cyclonedds/src/ddsrt/src/time.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - reltime
    argTypes:
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: dds_sleepfor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 59
    functionsReached:
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void dds_sleepfor(dds_duration_t reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/time.c:54,1
    - Dst: localtime_s
      Src: /src/cyclonedds/src/ddsrt/src/time.c:57,1
    - Dst: localtime_r
      Src: /src/cyclonedds/src/ddsrt/src/time.c:59,1
    - Dst: strftime
      Src: /src/cyclonedds/src/ddsrt/src/time.c:62,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/time.c:65,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/time.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - abstime
    - str
    - size
    argTypes:
    - dds_time_t
    - char*
    - size_t
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/src/time.c
    - condition: (cnt == (sizeof(buf) - 2 /* ':' + '\0' */))
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/src/time.c
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: ddsrt_ctime
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 2
    functionsReached:
    - localtime_s
    - strftime
    - ddsrt_strlcpy
    - assert
    - localtime_r
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_ctime(dds_time_t abstime, char *str, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sec
    - usec
    - t
    argTypes:
    - int32_t*
    - int32_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: time_to_sec_usec
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void time_to_sec_usec (int32_t *sec, int32_t *usec, int64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_to_sec_usec
      Src: /src/cyclonedds/src/ddsrt/src/time.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec
    - usec
    - t
    argTypes:
    - int32_t*
    - int32_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: ddsrt_mtime_to_sec_usec
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 2
    functionsReached:
    - time_to_sec_usec
    linkageType: ''
    returnType: void
    signature: void ddsrt_mtime_to_sec_usec (int32_t *sec, int32_t *usec, ddsrt_mtime_t
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_to_sec_usec
      Src: /src/cyclonedds/src/ddsrt/src/time.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec
    - usec
    - t
    argTypes:
    - int32_t*
    - int32_t*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ddsrt_wctime_to_sec_usec
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 3
    functionsReached:
    - time_to_sec_usec
    linkageType: ''
    returnType: void
    signature: void ddsrt_wctime_to_sec_usec (int32_t *sec, int32_t *usec, ddsrt_wctime_t
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_to_sec_usec
      Src: /src/cyclonedds/src/ddsrt/src/time.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sec
    - usec
    - t
    argTypes:
    - int32_t*
    - int32_t*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ddsrt_etime_to_sec_usec
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time.c
    functionUses: 2
    functionsReached:
    - time_to_sec_usec
    linkageType: ''
    returnType: void
    signature: void ddsrt_etime_to_sec_usec (int32_t *sec, int32_t *usec, ddsrt_etime_t
      t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:65,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts:
    - condition: (sa != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (sa->sa_family == AF_INET)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: ddsrt_sockaddr_get_size
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t ddsrt_sockaddr_get_size(const struct sockaddr *const sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:98,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:102,1
    - Dst: ntohs
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts:
    - condition: (sa->sa_family == AF_INET)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: ddsrt_sockaddr_get_port
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 4
    functionsReached:
    - assert
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ddsrt_sockaddr_get_port(const struct sockaddr *const sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:113,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts:
    - condition: (sa != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: ddsrt_sockaddr_isunspecified
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 1
    functionsReached:
    - assert
    - IN6_IS_ADDR_UNSPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_sockaddr_isunspecified(const struct sockaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:130,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:135,1
    - Dst: htonl
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts:
    - condition: (sa != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 144
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 144
    functionName: ddsrt_sockaddr_isloopback
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 2
    functionsReached:
    - assert
    - IN6_IS_ADDR_LOOPBACK
    - htonl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_sockaddr_isloopback(const struct sockaddr *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - sa1
    - sa2
    - mask
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 188
    functionName: ddsrt_sockaddr_insamesubnet
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ddsrt_sockaddr_insamesubnet(\n  const struct sockaddr *sa1,\n
      \ const struct sockaddr *sa2,\n  const struct sockaddr *mask)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:193,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:194,1
    - Dst: inet_pton
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:200,1
    - Dst: inet_addr
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:204,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:209,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:211,1
    - Dst: inet_pton
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:216,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:219,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - af
    - str
    - sa
    argTypes:
    - int
    - char*
    - void*
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (sa != NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 230
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 230
    functionName: ddsrt_sockaddrfromstr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 6
    functionsReached:
    - memcpy
    - assert
    - memset
    - inet_pton
    - inet_addr
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_sockaddrfromstr(int af, const char *str, void *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:236,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:237,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:240,1
    - Dst: inet_ntop
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:245,1
    - Dst: ntohl
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:249,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:250,1
    - Dst: inet_ntop
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:257,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - sa
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts:
    - condition: (sa != NULL)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (buf != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 273
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 273
    functionName: ddsrt_sockaddrtostr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 4
    functionsReached:
    - snprintf
    - ntohl
    - assert
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - inet_ntop
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_sockaddrtostr(const void *sa, char *buf, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: is_valid_hostname_char
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_valid_hostname_char(char c)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:296,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:297,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:313,1
    - Dst: is_valid_hostname_char
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:318,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:323,1
    - Dst: getaddrinfo
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:326,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:377,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:378,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:386,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:392,1
    - Dst: freeaddrinfo
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:395,1
    - Dst: freeaddrinfo
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:399,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 3
    argNames:
    - name
    - af
    - hentp
    argTypes:
    - char*
    - int
    - ddsrt_hostent_t**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (hentp != NULL)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (gai_err == 0)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    - condition: (res != NULL)
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
    constantsTouched: []
    func_position:
      end: 408
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 408
    functionName: ddsrt_gethostbyname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 2
    functionsReached:
    - DDS_ERROR
    - memcpy
    - assert
    - ddsrt_calloc_s
    - memset
    - strlen
    - getaddrinfo
    - freeaddrinfo
    - is_valid_hostname_char
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_gethostbyname(const char *name, int af, ddsrt_hostent_t
      **hentp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname_r
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:416,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:421,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - name
    - af
    - hentp
    argTypes:
    - char*
    - int
    - ddsrt_hostent_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: ddsrt_gethostbyname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ddsrt_calloc_s
    - gethostbyname_r
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_gethostbyname(const char *name, int af, ddsrt_hostent_t
      **hentp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:435,1
    - Dst: ddsrt_setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sock
    - reuse
    argTypes:
    - ddsrt_socket_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 448
    functionName: ddsrt_setsockreuse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets.c
    functionUses: 2
    functionsReached:
    - ddsrt_setsockopt
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_setsockreuse(ddsrt_socket_t sock, bool reuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - avlnode
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: LOAD_DIRKEY
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_DIRKEY(avlnode, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - avlnode
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: LOAD_INDKEY
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_INDKEY(avlnode, tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_INDKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:26,1
    - Dst: LOAD_DIRKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:28,1
    - Dst: ddsrt_avl_treedef_t*::u::comparekk_r
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:31,1
    - Dst: ddsrt_avl_treedef_t*::u::comparekk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - td
    - a
    - b
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: comparenk
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - LOAD_INDKEY
    - ddsrt_avl_treedef_t*::u::comparekk
    - LOAD_DIRKEY
    - ddsrt_avl_treedef_t*::u::comparekk_r
    linkageType: ''
    returnType: int
    signature: int comparenk (const ddsrt_avl_treedef_t *td, const ddsrt_avl_node_t
      *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_treedef_t*::comparekk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:40,1
    - Dst: LOAD_DIRKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:40,1
    - Dst: LOAD_DIRKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - a
    - b
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: comparenn_direct
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - LOAD_DIRKEY
    - ddsrt_avl_treedef_t*::comparekk
    linkageType: ''
    returnType: int
    signature: int comparenn_direct (const ddsrt_avl_treedef_t *td, const ddsrt_avl_node_t
      *a, const ddsrt_avl_node_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_treedef_t*::comparekk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:45,1
    - Dst: LOAD_INDKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:45,1
    - Dst: LOAD_INDKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - a
    - b
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: comparenn_indirect
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - LOAD_INDKEY
    - ddsrt_avl_treedef_t*::comparekk
    linkageType: ''
    returnType: int
    signature: int comparenn_indirect (const ddsrt_avl_treedef_t *td, const ddsrt_avl_node_t
      *a, const ddsrt_avl_node_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INDKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:50,1
    - Dst: comparenn_indirect
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:51,1
    - Dst: comparenn_direct
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - td
    - a
    - b
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: comparenn
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - comparenn_direct
    - comparenn_indirect
    - IS_INDKEY
    linkageType: ''
    returnType: int
    signature: int comparenn (const ddsrt_avl_treedef_t *td, const ddsrt_avl_node_t
      *a, const ddsrt_avl_node_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - td
    - onode
    argTypes:
    - ddsrt_avl_treedef_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: node_from_onode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *node_from_onode (const ddsrt_avl_treedef_t *td, char
      *onode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - td
    - onode
    argTypes:
    - ddsrt_avl_treedef_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: cnode_from_onode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *cnode_from_onode (const ddsrt_avl_treedef_t *td,
      const char *onode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - td
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: onode_from_node
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *onode_from_node (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - td
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: conode_from_node
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *conode_from_node (const ddsrt_avl_treedef_t *td, const ddsrt_avl_node_t
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - onode
    argTypes:
    - ddsrt_avl_treedef_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: node_from_onode_nonnull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *node_from_onode_nonnull (const ddsrt_avl_treedef_t
      *td, char *onode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - onode
    argTypes:
    - ddsrt_avl_treedef_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: cnode_from_onode_nonnull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *cnode_from_onode_nonnull (const ddsrt_avl_treedef_t
      *td, const char *onode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: onode_from_node_nonnull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *onode_from_node_nonnull (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: conode_from_node_nonnull
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *conode_from_node_nonnull (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - td
    - avlnodeoffset
    - keyoffset
    - augment
    - flags
    argTypes:
    - ddsrt_avl_treedef_t*
    - size_t
    - size_t
    - ddsrt_avl_augment_t
    - uint32_t
    assertStmts:
    - condition: (avlnodeoffset <= 0x7fffffff)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (keyoffset <= 0x7fffffff)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: treedef_init_common
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void treedef_init_common (ddsrt_avl_treedef_t *td, size_t avlnodeoffset,
      size_t keyoffset, ddsrt_avl_augment_t augment, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treedef_init_common
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - td
    - avlnodeoffset
    - keyoffset
    - comparekk
    - augment
    - flags
    argTypes:
    - ddsrt_avl_treedef_t*
    - size_t
    - size_t
    - ddsrt_avl_compare_t
    - ddsrt_avl_augment_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ddsrt_avl_treedef_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - treedef_init_common
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_treedef_init (ddsrt_avl_treedef_t *td, size_t avlnodeoffset,
      size_t keyoffset, ddsrt_avl_compare_t comparekk, ddsrt_avl_augment_t augment,
      uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treedef_init_common
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - td
    - avlnodeoffset
    - keyoffset
    - comparekk_r
    - cmp_arg
    - augment
    - flags
    argTypes:
    - ddsrt_avl_treedef_t*
    - size_t
    - size_t
    - ddsrt_avl_compare_r_t
    - void*
    - ddsrt_avl_augment_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: ddsrt_avl_treedef_init_r
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - treedef_init_common
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_treedef_init_r (ddsrt_avl_treedef_t *td, size_t avlnodeoffset,
      size_t keyoffset, ddsrt_avl_compare_r_t comparekk_r, void *cmp_arg, ddsrt_avl_augment_t
      augment, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ddsrt_avl_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_init (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treedestroy
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:153,1
    - Dst: treedestroy
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:154,1
    - Dst: freefun
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:157,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - td
    - n
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: treedestroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - onode_from_node
    - freefun
    - treedestroy
    linkageType: ''
    returnType: void
    signature: void treedestroy (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t *n,
      void (*freefun) (void *node))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treedestroy_arg
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:165,1
    - Dst: treedestroy_arg
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:166,1
    - Dst: freefun
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:169,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - td
    - n
    - arg
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: treedestroy_arg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - treedestroy_arg
    - onode_from_node
    - freefun
    linkageType: ''
    returnType: void
    signature: void treedestroy_arg (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      *n, void (*freefun) (void *node, void *arg), void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treedestroy
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: ddsrt_avl_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 19
    functionsReached:
    - treedestroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_free (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void (*freefun) (void *vnode))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treedestroy_arg
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - td
    - tree
    - arg
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: ddsrt_avl_free_arg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - treedestroy_arg
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_free_arg (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void (*freefun) (void *vnode, void *arg), void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_treedef_t*::augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:194,1
    - Dst: onode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:194,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:194,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - n
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: augment
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - conode_from_node
    - ddsrt_avl_treedef_t*::augment
    - onode_from_node_nonnull
    linkageType: ''
    returnType: void
    signature: void augment (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:212,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:224,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - td
    - pnode
    - node
    - dir
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t**
    - ddsrt_avl_node_t*
    - int
    assertStmts:
    - condition: (node_ND)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 228
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 228
    functionName: rotate_single
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - assert
    - augment
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *rotate_single (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      **pnode, ddsrt_avl_node_t *node, int dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:252,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:253,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:275,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:276,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - td
    - pnode
    - node
    - dir
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t**
    - ddsrt_avl_node_t*
    - int
    assertStmts:
    - condition: (node_ND)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (node_ND_D)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 280
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 280
    functionName: rotate_double
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - assert
    - augment
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *rotate_double (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      **pnode, ddsrt_avl_node_t *node, int dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:290,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:294,1
    - Dst: rotate_double
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:298,1
    - Dst: rotate_single
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - td
    - pnode
    - node
    - dir
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t**
    - ddsrt_avl_node_t*
    - int
    assertStmts:
    - condition: (node_ND != NULL)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (dir == !!dir)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: rotate
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - assert
    - rotate_single
    - rotate_double
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *rotate (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      **pnode, ddsrt_avl_node_t *node, int dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rotate
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:312,1
    - Dst: rotate
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:314,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - td
    - pnode
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_node_t**
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: rebalance_one
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - rotate
    - augment
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *rebalance_one (const ddsrt_avl_treedef_t *td, ddsrt_avl_node_t
      **pnode, ddsrt_avl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:338,1
    - Dst: rebalance_one
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - td
    - path
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_path_t*
    - ddsrt_avl_node_t*
    assertStmts:
    - condition: (*path->pnode[path->depth] == node)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 5
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: rebalance_path
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - rebalance_one
    - assert
    linkageType: ''
    returnType: void
    signature: void rebalance_path (const ddsrt_avl_treedef_t *td, ddsrt_avl_path_t
      *path, ddsrt_avl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: nodeptr_from_node
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t **nodeptr_from_node (ddsrt_avl_tree_t *tree, ddsrt_avl_node_t
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeptr_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:357,1
    - Dst: rebalance_one
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - td
    - tree
    - node
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: rebalance_nopath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - rebalance_one
    - nodeptr_from_node
    linkageType: ''
    returnType: void
    signature: void rebalance_nopath (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, ddsrt_avl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:366,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: ddsrt_avl_lookup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 52
    functionsReached:
    - conode_from_node
    - comparenk
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - td
    - tree
    - key
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_path_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: lookup_path
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *lookup_path (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key, ddsrt_avl_path_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_path
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:394,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - key
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_dpath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: ddsrt_avl_lookup_dpath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 9
    functionsReached:
    - conode_from_node
    - lookup_path
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_dpath (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key, ddsrt_avl_dpath_t *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_path
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:400,1
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:412,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - td
    - tree
    - key
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_ipath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: ddsrt_avl_lookup_ipath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 21
    functionsReached:
    - conode_from_node
    - comparenk
    - lookup_path
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_ipath (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key, ddsrt_avl_ipath_t *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:426,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:433,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:435,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:436,1
    - Dst: rebalance_path
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - td
    - tree
    - vnode
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_ipath_t*
    assertStmts:
    - condition: ((*path->p.pnode[path->p.depth]) == NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (path->p.pnode[path->p.depth])
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 6
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: ddsrt_avl_insert_ipath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 21
    functionsReached:
    - assert
    - node_from_onode_nonnull
    - rebalance_path
    - augment
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_insert_ipath (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *vnode, ddsrt_avl_ipath_t *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cnode_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:444,1
    - Dst: LOAD_INDKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:448,1
    - Dst: LOAD_DIRKEY
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:450,1
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:452,1
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 7
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: ddsrt_avl_insert
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 21
    functionsReached:
    - ddsrt_avl_insert_ipath
    - LOAD_INDKEY
    - ddsrt_avl_lookup_ipath
    - cnode_from_onode_nonnull
    - LOAD_DIRKEY
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_insert (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *vnode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: node_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:459,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:464,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:467,1
    - Dst: nodeptr_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:468,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:489,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:490,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:513,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:523,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:529,1
    - Dst: rebalance_path
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:533,1
    - Dst: rebalance_nopath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 4
    argNames:
    - td
    - tree
    - vnode
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_dpath_t*
    assertStmts:
    - condition: (node->cs[0] != NULL)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (tree == NULL)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (tree != NULL)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (node->cs[1] != NULL)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (subst->cs[0] != NULL)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    - condition: (subst->cs[1] != NULL)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 537
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 537
    functionName: delete_generic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - nodeptr_from_node
    - rebalance_nopath
    - assert
    - node_from_onode_nonnull
    - rebalance_path
    - augment
    linkageType: ''
    returnType: void
    signature: void delete_generic (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *vnode, ddsrt_avl_dpath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_generic
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - td
    - tree
    - vnode
    - path
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - ddsrt_avl_dpath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 7
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: ddsrt_avl_delete_dpath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 9
    functionsReached:
    - delete_generic
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_delete_dpath (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *vnode, ddsrt_avl_dpath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_generic
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: ddsrt_avl_delete
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 39
    functionsReached:
    - delete_generic
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_delete (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *vnode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:552,1
    - Dst: node_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:553,1
    - Dst: nodeptr_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:554,1
    - Dst: cs::cs
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:559,1
    - Dst: cs::cs
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:560,1
    - Dst: cs::cs
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:562,1
    - Dst: cs::cs
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - td
    - tree
    - voldn
    - vnewn
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: ddsrt_avl_swap_node
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - cs::cs
    - node_from_onode_nonnull
    - nodeptr_from_node
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_swap_node (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, void *voldn, void *vnewn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - n
    - dir
    argTypes:
    - ddsrt_avl_node_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 587
    functionName: find_neighbour
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *find_neighbour (const ddsrt_avl_node_t *n, int dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tree
    - dir
    argTypes:
    - ddsrt_avl_tree_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: find_extremum
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *find_extremum (const ddsrt_avl_tree_t *tree, int
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:602,1
    - Dst: find_extremum
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: ddsrt_avl_find_min
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 20
    functionsReached:
    - conode_from_node
    - find_extremum
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_find_min (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:607,1
    - Dst: find_extremum
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: ddsrt_avl_find_max
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 10
    functionsReached:
    - conode_from_node
    - find_extremum
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_find_max (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cnode_from_onode
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:612,1
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:614,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:616,1
    - Dst: find_neighbour
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: ddsrt_avl_find_pred
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 3
    functionsReached:
    - conode_from_node
    - find_neighbour
    - cnode_from_onode
    - ddsrt_avl_find_max
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_find_pred (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, const void *vnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cnode_from_onode
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:622,1
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:624,1
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:626,1
    - Dst: find_neighbour
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: ddsrt_avl_find_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 21
    functionsReached:
    - conode_from_node
    - find_neighbour
    - cnode_from_onode
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_find_succ (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, const void *vnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - ddsrt_avl_iter_t*
    assertStmts:
    - condition: ((int) (iter->todop - iter->todo) < (int) (sizeof (iter->todo) /
        sizeof (*iter->todo)))
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 642
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 642
    functionName: avl_iter_downleft
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void avl_iter_downleft (ddsrt_avl_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avl_iter_downleft
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:649,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - td
    - tree
    - iter
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: ddsrt_avl_iter_first
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 35
    functionsReached:
    - onode_from_node
    - avl_iter_downleft
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_iter_first (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, ddsrt_avl_iter_t *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:658,1
    - Dst: avl_iter_downleft
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:660,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - ddsrt_avl_iter_t*
    assertStmts:
    - condition: ((int) (iter->todop - iter->todo) < (int) (sizeof (iter->todo) /
        sizeof (*iter->todo)))
      pos:
        line_end: 657
        line_start: 657
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 663
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 663
    functionName: ddsrt_avl_iter_next
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 37
    functionsReached:
    - onode_from_node
    - assert
    - avl_iter_downleft
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_iter_next (ddsrt_avl_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:683,1
    - Dst: onode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - td
    - tree
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 689
    functionName: ddsrt_avl_walk
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - f
    - onode_from_node_nonnull
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_walk (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, ddsrt_avl_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:705,1
    - Dst: conode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - td
    - tree
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 709
    functionName: ddsrt_avl_const_walk
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - f
    - conode_from_node_nonnull
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_const_walk (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, ddsrt_avl_const_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: ddsrt_avl_is_empty
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddsrt_avl_is_empty (const ddsrt_avl_tree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ddsrt_avl_tree_t*
    assertStmts:
    - condition: (!r || (tree->root->cs[0] == NULL && tree->root->cs[1] == NULL))
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 721
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 721
    functionName: ddsrt_avl_is_singleton
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int ddsrt_avl_is_singleton (const ddsrt_avl_tree_t *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_from_onode_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:726,1
    - Dst: augment
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - td
    - vnode
    argTypes:
    - ddsrt_avl_treedef_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 732
    functionName: ddsrt_avl_augment_update
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 3
    functionsReached:
    - node_from_onode_nonnull
    - augment
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_augment_update (const ddsrt_avl_treedef_t *td, void
      *vnode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - td
    - key
    - tmp
    - cand
    - dir
    argTypes:
    - ddsrt_avl_treedef_t*
    - void*
    - ddsrt_avl_node_t*
    - ddsrt_avl_node_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: fixup_predsucceq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *fixup_predsucceq (const ddsrt_avl_treedef_t *td,
      const void *key, const ddsrt_avl_node_t *tmp, const ddsrt_avl_node_t *cand,
      int dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:763,1
    - Dst: fixup_predsucceq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: lookup_predeq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - fixup_predsucceq
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *lookup_predeq (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:780,1
    - Dst: fixup_predsucceq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 789
    functionName: lookup_succeq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - fixup_predsucceq
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *lookup_succeq (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - td
    - key
    - tmp
    - cand
    - dir
    argTypes:
    - ddsrt_avl_treedef_t*
    - void*
    - ddsrt_avl_node_t*
    - ddsrt_avl_node_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 818
    functionName: fixup_predsucc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 0
    functionsReached:
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *fixup_predsucc (const ddsrt_avl_treedef_t *td, const
      void *key, const ddsrt_avl_node_t *tmp, const ddsrt_avl_node_t *cand, int dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:826,1
    - Dst: fixup_predsucc
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 835
    functionName: lookup_pred
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - fixup_predsucc
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *lookup_pred (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:843,1
    - Dst: fixup_predsucc
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 852
    functionName: lookup_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 24
    functionsReached:
    - fixup_predsucc
    - comparenk
    linkageType: ''
    returnType: ddsrt_avl_node_t
    signature: ddsrt_avl_node_t *lookup_succ (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:856,1
    - Dst: lookup_succeq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: ddsrt_avl_lookup_succ_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 10
    functionsReached:
    - conode_from_node
    - lookup_succeq
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_succ_eq (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:861,1
    - Dst: lookup_predeq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: ddsrt_avl_lookup_pred_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 9
    functionsReached:
    - conode_from_node
    - lookup_predeq
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_pred_eq (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:866,1
    - Dst: lookup_succ
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 867
    functionName: ddsrt_avl_lookup_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 24
    functionsReached:
    - conode_from_node
    - lookup_succ
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_succ (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:871,1
    - Dst: lookup_pred
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 4
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: ddsrt_avl_lookup_pred
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - conode_from_node
    - lookup_pred
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_lookup_pred (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, const void *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:880,1
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:895,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - td
    - tree
    - iter
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_iter_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 910
    functionName: ddsrt_avl_iter_succ_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - onode_from_node
    - comparenk
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_iter_succ_eq (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, ddsrt_avl_iter_t *iter, const void *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:918,1
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:938,1
    - Dst: onode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - td
    - tree
    - iter
    - key
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - ddsrt_avl_iter_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 953
    functionName: ddsrt_avl_iter_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 3
    functionsReached:
    - onode_from_node
    - comparenk
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_iter_succ (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree, ddsrt_avl_iter_t *iter, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_succeq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:958,1
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:959,1
    - Dst: find_neighbour
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:960,1
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:961,1
    - Dst: onode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - void*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 955
    functionDepth: 4
    functionLinenumber: 955
    functionLinenumberEnd: 964
    functionName: ddsrt_avl_walk_range
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - lookup_succeq
    - f
    - onode_from_node_nonnull
    - comparenk
    - find_neighbour
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_walk_range (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, const void *min, const void *max, ddsrt_avl_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_walk_range
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - void*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 5
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: ddsrt_avl_const_walk_range
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_walk_range
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_const_walk_range (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree, const void *min, const void *max, ddsrt_avl_const_walk_t
      f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_predeq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:974,1
    - Dst: comparenk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:975,1
    - Dst: find_neighbour
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:976,1
    - Dst: f
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:977,1
    - Dst: onode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - void*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: ddsrt_avl_walk_range_reverse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - f
    - onode_from_node_nonnull
    - lookup_predeq
    - comparenk
    - find_neighbour
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_walk_range_reverse (const ddsrt_avl_treedef_t *td, ddsrt_avl_tree_t
      *tree, const void *min, const void *max, ddsrt_avl_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_walk_range_reverse
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    - void*
    - void*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 5
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: ddsrt_avl_const_walk_range_reverse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_walk_range_reverse
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_const_walk_range_reverse (const ddsrt_avl_treedef_t
      *td, const ddsrt_avl_tree_t *tree, const void *min, const void *max, ddsrt_avl_const_walk_t
      f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conode_from_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: ddsrt_avl_root
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 5
    functionsReached:
    - conode_from_node
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_root (const ddsrt_avl_treedef_t *td, const ddsrt_avl_tree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:994,1
    - Dst: conode_from_node_nonnull
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_treedef_t*
    - ddsrt_avl_tree_t*
    assertStmts:
    - condition: (tree->root)
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: ddsrt_avl_root_non_empty
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 10
    functionsReached:
    - assert
    - conode_from_node_nonnull
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_root_non_empty (const ddsrt_avl_treedef_t *td, const
      ddsrt_avl_tree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treedef_init_common
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - td
    - avlnodeoffset
    - keyoffset
    - comparekk
    - avl_augment
    - flags
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - size_t
    - size_t
    - ddsrt_avl_compare_t
    - ddsrt_avl_augment_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: ddsrt_avl_ctreedef_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - treedef_init_common
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_ctreedef_init (ddsrt_avl_ctreedef_t *td, size_t avlnodeoffset,
      size_t keyoffset, ddsrt_avl_compare_t comparekk, ddsrt_avl_augment_t avl_augment,
      uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treedef_init_common
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - td
    - avlnodeoffset
    - keyoffset
    - comparekk_r
    - cmp_arg
    - avl_augment
    - flags
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - size_t
    - size_t
    - ddsrt_avl_compare_r_t
    - void*
    - ddsrt_avl_augment_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: ddsrt_avl_ctreedef_init_r
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - treedef_init_common
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_ctreedef_init_r (ddsrt_avl_ctreedef_t *td, size_t avlnodeoffset,
      size_t keyoffset, ddsrt_avl_compare_r_t comparekk_r, void *cmp_arg, ddsrt_avl_augment_t
      avl_augment, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: ddsrt_avl_cinit
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 6
    functionsReached:
    - ddsrt_avl_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cinit (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 3
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: ddsrt_avl_cfree
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 6
    functionsReached:
    - ddsrt_avl_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cfree (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void (*freefun) (void *vnode))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_free_arg
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - td
    - tree
    - arg
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: ddsrt_avl_cfree_arg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_free_arg
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cfree_arg (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void (*freefun) (void *vnode, void *arg), void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    functionName: ddsrt_avl_croot
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_root
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_croot (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_root_non_empty
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    functionName: ddsrt_avl_croot_non_empty
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 4
    functionsReached:
    - ddsrt_avl_root_non_empty
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_croot_non_empty (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 3
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    functionName: ddsrt_avl_clookup
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 4
    functionsReached:
    - ddsrt_avl_lookup
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_ipath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - key
    - path
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - ddsrt_avl_ipath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 4
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: ddsrt_avl_clookup_ipath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_lookup_ipath
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_ipath (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key, ddsrt_avl_ipath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_dpath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - key
    - path
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - ddsrt_avl_dpath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 4
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: ddsrt_avl_clookup_dpath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 6
    functionsReached:
    - ddsrt_avl_lookup_dpath
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_dpath (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key, ddsrt_avl_dpath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred_eq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 5
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: ddsrt_avl_clookup_pred_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_pred_eq
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_pred_eq (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_succ_eq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 5
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: ddsrt_avl_clookup_succ_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ_eq
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_succ_eq (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_pred
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1070
    functionDepth: 5
    functionLinenumber: 1070
    functionLinenumberEnd: 1073
    functionName: ddsrt_avl_clookup_pred
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_pred
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_pred (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_lookup_succ
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1078
    functionName: ddsrt_avl_clookup_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_lookup_succ
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_clookup_succ (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_insert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 8
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: ddsrt_avl_cinsert
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 5
    functionsReached:
    - ddsrt_avl_insert
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cinsert (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1088,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts:
    - condition: (tree->count > 0)
      pos:
        line_end: 1087
        line_start: 1087
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 1091
      start: 1086
    functionDepth: 8
    functionLinenumber: 1086
    functionLinenumberEnd: 1091
    functionName: ddsrt_avl_cdelete
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - assert
    - ddsrt_avl_delete
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cdelete (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_insert_ipath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - td
    - tree
    - vnode
    - path
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - ddsrt_avl_ipath_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 7
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: ddsrt_avl_cinsert_ipath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_insert_ipath
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cinsert_ipath (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void *vnode, ddsrt_avl_ipath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1101,1
    - Dst: ddsrt_avl_delete_dpath
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - td
    - tree
    - vnode
    - path
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - ddsrt_avl_dpath_t*
    assertStmts:
    - condition: (tree->count > 0)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/cyclonedds/src/ddsrt/src/avl.c
    constantsTouched: []
    func_position:
      end: 1104
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1104
    functionName: ddsrt_avl_cdelete_dpath
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 6
    functionsReached:
    - assert
    - ddsrt_avl_delete_dpath
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cdelete_dpath (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void *vnode, ddsrt_avl_dpath_t *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_swap_node
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - voldn
    - vnewn
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: ddsrt_avl_cswap_node
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_swap_node
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cswap_node (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, void *voldn, void *vnewn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_augment_update
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - vnode
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: ddsrt_avl_caugment_update
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_augment_update
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_caugment_update (const ddsrt_avl_ctreedef_t *td, void
      *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1119
    functionName: ddsrt_avl_cis_empty
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 6
    functionsReached:
    - ddsrt_avl_is_empty
    linkageType: ''
    returnType: int
    signature: int ddsrt_avl_cis_empty (const ddsrt_avl_ctree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_is_singleton
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: ddsrt_avl_cis_singleton
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_is_singleton
    linkageType: ''
    returnType: int
    signature: int ddsrt_avl_cis_singleton (const ddsrt_avl_ctree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1129
    functionName: ddsrt_avl_ccount
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_avl_ccount (const ddsrt_avl_ctree_t *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_min
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: ddsrt_avl_cfind_min
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_find_min
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_cfind_min (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_max
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td
    - tree
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: ddsrt_avl_cfind_max
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_find_max
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_cfind_max (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_pred
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1141
    functionDepth: 3
    functionLinenumber: 1141
    functionLinenumberEnd: 1144
    functionName: ddsrt_avl_cfind_pred
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_find_pred
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_cfind_pred (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree, const void *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_find_succ
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - vnode
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: ddsrt_avl_cfind_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 2
    functionsReached:
    - ddsrt_avl_find_succ
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_cfind_succ (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree, const void *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_walk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: ddsrt_avl_cwalk
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_walk
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cwalk (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, ddsrt_avl_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_const_walk
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1159
    functionName: ddsrt_avl_cconst_walk
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 3
    functionsReached:
    - ddsrt_avl_const_walk
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cconst_walk (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree, ddsrt_avl_const_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_walk_range
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - void*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1164
    functionName: ddsrt_avl_cwalk_range
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_walk_range
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cwalk_range (const ddsrt_avl_ctreedef_t *td, ddsrt_avl_ctree_t
      *tree, const void *min, const void *max, ddsrt_avl_walk_t f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_const_walk_range
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - void*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 6
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    functionName: ddsrt_avl_cconst_walk_range
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_const_walk_range
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cconst_walk_range (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, const void *min, const void *max, ddsrt_avl_const_walk_t
      f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_walk_range_reverse
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - void*
    - ddsrt_avl_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 5
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: ddsrt_avl_cwalk_range_reverse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_walk_range_reverse
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cwalk_range_reverse (const ddsrt_avl_ctreedef_t *td,
      ddsrt_avl_ctree_t *tree, const void *min, const void *max, ddsrt_avl_walk_t
      f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_const_walk_range_reverse
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - td
    - tree
    - min
    - max
    - f
    - a
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - void*
    - void*
    - ddsrt_avl_const_walk_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1176
    functionDepth: 6
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    functionName: ddsrt_avl_cconst_walk_range_reverse
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_const_walk_range_reverse
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_cconst_walk_range_reverse (const ddsrt_avl_ctreedef_t
      *td, const ddsrt_avl_ctree_t *tree, const void *min, const void *max, ddsrt_avl_const_walk_t
      f, void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_first
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - td
    - tree
    - iter
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_citer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: ddsrt_avl_citer_first
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 13
    functionsReached:
    - ddsrt_avl_iter_first
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_citer_first (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, ddsrt_avl_citer_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_succ_eq
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - iter
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_citer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: ddsrt_avl_citer_succ_eq
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_succ_eq
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_citer_succ_eq (const ddsrt_avl_ctreedef_t *td, const
      ddsrt_avl_ctree_t *tree, ddsrt_avl_citer_t *iter, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_succ
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - td
    - tree
    - iter
    - key
    argTypes:
    - ddsrt_avl_ctreedef_t*
    - ddsrt_avl_ctree_t*
    - ddsrt_avl_citer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1191
    functionDepth: 3
    functionLinenumber: 1191
    functionLinenumberEnd: 1194
    functionName: ddsrt_avl_citer_succ
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 1
    functionsReached:
    - ddsrt_avl_iter_succ
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_citer_succ (const ddsrt_avl_ctreedef_t *td, const ddsrt_avl_ctree_t
      *tree, ddsrt_avl_citer_t *iter, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_avl_iter_next
      Src: /src/cyclonedds/src/ddsrt/src/avl.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - ddsrt_avl_citer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1201
    functionName: ddsrt_avl_citer_next
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/avl.c
    functionUses: 13
    functionsReached:
    - ddsrt_avl_iter_next
    linkageType: ''
    returnType: void
    signature: void *ddsrt_avl_citer_next (ddsrt_avl_citer_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_def_t*::cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fhdef
    - a
    - b
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_node_t*
    - ddsrt_fibheap_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: cmp
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 325
    functionsReached:
    - ddsrt_fibheap_def_t*::cmp
    linkageType: ''
    returnType: int
    signature: int cmp (const ddsrt_fibheap_def_t *fhdef, const ddsrt_fibheap_node_t
      *a, const ddsrt_fibheap_node_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fhdef
    - offset
    argTypes:
    - ddsrt_fibheap_def_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ddsrt_fibheap_def_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_def_init (ddsrt_fibheap_def_t *fhdef, uintptr_t
      offset, int (*compare) (const void *va, const void *vb))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_UNUSED_ARG
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fhdef
    - fh
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ddsrt_fibheap_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 10
    functionsReached:
    - DDSRT_UNUSED_ARG
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_init (const ddsrt_fibheap_def_t *fhdef, ddsrt_fibheap_t
      *fh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fhdef
    - fh
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: ddsrt_fibheap_min
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ddsrt_fibheap_min (const ddsrt_fibheap_def_t *fhdef, const ddsrt_fibheap_t
      *fh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - markptr
    - list
    argTypes:
    - ddsrt_fibheap_node_t**
    - ddsrt_fibheap_node_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: ddsrt_fibheap_merge_nonempty_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_merge_nonempty_list (ddsrt_fibheap_node_t **markptr,
      ddsrt_fibheap_node_t *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:75,1
    - Dst: ddsrt_fibheap_merge_nonempty_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - fhdef
    - a
    - br
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    - ddsrt_fibheap_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: ddsrt_fibheap_merge_into
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_merge_nonempty_list
    - cmp
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_merge_into (const ddsrt_fibheap_def_t *fhdef, ddsrt_fibheap_t
      *a, ddsrt_fibheap_node_t * const br)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_merge_into
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fhdef
    - a
    - b
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    - ddsrt_fibheap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ddsrt_fibheap_merge
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 1
    functionsReached:
    - ddsrt_fibheap_merge_into
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_merge (const ddsrt_fibheap_def_t *fhdef, ddsrt_fibheap_t
      *a, ddsrt_fibheap_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_merge_into
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fhdef
    - fh
    - vnode
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: ddsrt_fibheap_insert
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 17
    functionsReached:
    - ddsrt_fibheap_merge_into
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_insert (const ddsrt_fibheap_def_t *fhdef, ddsrt_fibheap_t
      *fh, const void *vnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_merge_nonempty_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - ddsrt_fibheap_node_t*
    - ddsrt_fibheap_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: ddsrt_fibheap_add_as_child
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_merge_nonempty_list
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_add_as_child (ddsrt_fibheap_node_t *parent, ddsrt_fibheap_node_t
      *child)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - markptr
    - node
    argTypes:
    - ddsrt_fibheap_node_t**
    - ddsrt_fibheap_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: ddsrt_fibheap_delete_one_from_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_delete_one_from_list (ddsrt_fibheap_node_t **markptr,
      ddsrt_fibheap_node_t *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_delete_one_from_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:149,1
    - Dst: ddsrt_fibheap_merge_nonempty_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:165,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:171,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:186,1
    - Dst: cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:192,1
    - Dst: ddsrt_fibheap_add_as_child
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:198,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:202,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:208,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:224,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:227,1
    - Dst: cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - fhdef
    - fh
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    assertStmts:
    - condition: (fh->roots)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    - condition: (n->degree <= MAX_DEGREE)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    - condition: (i+1 < min_degree_noninit)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    - condition: (newmin != NULL)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    constantsTouched: []
    func_position:
      end: 246
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 246
    functionName: ddsrt_fibheap_extract_min
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 8
    functionsReached:
    - ddsrt_fibheap_merge_nonempty_list
    - ddsrt_fibheap_delete_one_from_list
    - assert
    - DDSRT_WARNING_GNUC_ON
    - DDSRT_WARNING_GNUC_OFF
    - ddsrt_fibheap_add_as_child
    - cmp
    linkageType: ''
    returnType: void
    signature: void *ddsrt_fibheap_extract_min (const ddsrt_fibheap_def_t *fhdef,
      ddsrt_fibheap_t *fh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:257,1
    - Dst: ddsrt_fibheap_delete_one_from_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:258,1
    - Dst: ddsrt_fibheap_merge_nonempty_list
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fh
    - node
    argTypes:
    - ddsrt_fibheap_t*
    - ddsrt_fibheap_node_t*
    assertStmts:
    - condition: (parent->degree > 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
    constantsTouched: []
    func_position:
      end: 277
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 277
    functionName: ddsrt_fibheap_cutnode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 0
    functionsReached:
    - ddsrt_fibheap_delete_one_from_list
    - assert
    - ddsrt_fibheap_merge_nonempty_list
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_cutnode (ddsrt_fibheap_t *fh, ddsrt_fibheap_node_t
      *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:286,1
    - Dst: ddsrt_fibheap_cutnode
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:293,1
    - Dst: cmp
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fhdef
    - fh
    - vnode
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 299
    functionName: ddsrt_fibheap_decrease_key
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 4
    functionsReached:
    - cmp
    - ddsrt_fibheap_cutnode
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_decrease_key (const ddsrt_fibheap_def_t *fhdef,
      ddsrt_fibheap_t *fh, const void *vnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_fibheap_cutnode
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:312,1
    - Dst: ddsrt_fibheap_extract_min
      Src: /src/cyclonedds/src/ddsrt/src/fibheap.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fhdef
    - fh
    - vnode
    argTypes:
    - ddsrt_fibheap_def_t*
    - ddsrt_fibheap_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: ddsrt_fibheap_delete
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/fibheap.c
    functionUses: 15
    functionsReached:
    - ddsrt_fibheap_cutnode
    - ddsrt_fibheap_extract_min
    linkageType: ''
    returnType: void
    signature: void ddsrt_fibheap_delete (const ddsrt_fibheap_def_t *fhdef, ddsrt_fibheap_t
      *fh, const void *vnode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - dir
    argTypes:
    - char*
    - ddsrt_dir_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: ddsrt_opendir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached:
    - opendir
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_opendir(const char *name, ddsrt_dir_handle_t *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readdir
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:38,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - d
    - direntp
    argTypes:
    - ddsrt_dir_handle_t
    - struct ddsrt_dirent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: ddsrt_readdir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached:
    - ddsrt_strlcpy
    - readdir
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_readdir(ddsrt_dir_handle_t d, struct ddsrt_dirent
      *direntp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - ddsrt_dir_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: ddsrt_closedir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached:
    - closedir
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_closedir(ddsrt_dir_handle_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:68,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - path
    - buf
    argTypes:
    - char*
    - struct ddsrt_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: ddsrt_stat
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached:
    - DDS_SECS
    - stat
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_stat(const char *path, struct ddsrt_stat *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:89,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: ddsrt_file_normalize
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ddsrt_file_normalize(const char *filepath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ddsrt_file_sep
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ddsrt_file_sep(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:28,1
    - Dst: FindFirstFile
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - dir
    argTypes:
    - char*
    - ddsrt_dir_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: ddsrt_opendir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached:
    - snprintf
    - FindFirstFile
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_opendir(const char *name, ddsrt_dir_handle_t *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFile
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:47,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - d
    - direntp
    argTypes:
    - ddsrt_dir_handle_t
    - struct ddsrt_dirent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: ddsrt_readdir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached:
    - ddsrt_strlcpy
    - FindNextFile
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_readdir(ddsrt_dir_handle_t d, struct ddsrt_dirent
      *direntp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - ddsrt_dir_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ddsrt_closedir
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached:
    - FindClose
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_closedir(ddsrt_dir_handle_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _stat
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:74,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - path
    - buf
    argTypes:
    - char*
    - struct ddsrt_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: ddsrt_stat
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached:
    - DDS_SECS
    - _stat
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_stat(const char *path, struct ddsrt_stat *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:95,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: ddsrt_file_normalize
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached:
    - ddsrt_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ddsrt_file_normalize(const char *filepath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ddsrt_file_sep
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ddsrt_file_sep(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:22,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:25,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:33,1
    - Dst: dlopen
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:35,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:36,1
    - Dst: dlopen
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - name
    - translate
    - handle
    argTypes:
    - char*
    - bool
    - ddsrt_dynlib_t*
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: ddsrt_platform_dlopen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    functionUses: 2
    functionsReached:
    - strrchr
    - ddsrt_free
    - assert
    - dlopen
    - ddsrt_asprintf
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlopen (const char *name, bool translate,
      ddsrt_dynlib_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:50,1
    - Dst: dlclose
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ddsrt_dynlib_t
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ddsrt_platform_dlclose
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    functionUses: 2
    functionsReached:
    - assert
    - dlclose
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlclose (ddsrt_dynlib_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:56,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:57,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:58,1
    - Dst: dlsym
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - symbol
    - address
    argTypes:
    - ddsrt_dynlib_t
    - char*
    - void**
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    - condition: (symbol)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    - condition: (address)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ddsrt_platform_dlsym
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    functionUses: 2
    functionsReached:
    - assert
    - dlsym
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlsym (ddsrt_dynlib_t handle, const char
      *symbol, void **address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:65,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:66,1
    - Dst: dlerror
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:67,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:73,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    - condition: (buflen)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ddsrt_platform_dlerror
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
    functionUses: 2
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - dlerror
    - strlen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlerror (char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:25,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:28,1
    - Dst: strrchr
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:28,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:32,1
    - Dst: LoadLibrary
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:34,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:35,1
    - Dst: LoadLibrary
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:41,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - name
    - translate
    - handle
    argTypes:
    - char*
    - bool
    - ddsrt_dynlib_t*
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: ddsrt_platform_dlopen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    functionUses: 2
    functionsReached:
    - GetLastError
    - strrchr
    - ddsrt_free
    - assert
    - ddsrt_asprintf
    - LoadLibrary
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlopen (const char *name, bool translate,
      ddsrt_dynlib_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:55,1
    - Dst: FreeLibrary
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:56,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ddsrt_dynlib_t
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: ddsrt_platform_dlclose
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    functionUses: 2
    functionsReached:
    - GetLastError
    - assert
    - FreeLibrary
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlclose (ddsrt_dynlib_t handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:67,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:68,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:69,1
    - Dst: GetProcAddress
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:70,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - symbol
    - address
    argTypes:
    - ddsrt_dynlib_t
    - char*
    - void**
    assertStmts:
    - condition: (handle)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    - condition: (symbol)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    - condition: (address)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: ddsrt_platform_dlsym
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    functionUses: 2
    functionsReached:
    - GetLastError
    - assert
    - GetProcAddress
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlsym (ddsrt_dynlib_t handle, const char
      *symbol, void **address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:81,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:82,1
    - Dst: FormatMessage
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:86,1
    - Dst: MAKELANGID
      Src: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    - condition: (buflen)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: ddsrt_platform_dlerror
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
    functionUses: 2
    functionsReached:
    - assert
    - MAKELANGID
    - FormatMessage
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_platform_dlerror (char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pvPortMalloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 47
    functionName: ddsrt_malloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 8
    functionsReached:
    - pvPortMalloc
    linkageType: ''
    returnType: void
    signature: void *ddsrt_malloc_s(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:53,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: ddsrt_malloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 460
    functionsReached:
    - abort
    - ddsrt_malloc_s
    linkageType: ''
    returnType: void
    signature: void *ddsrt_malloc(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:71,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: ddsrt_calloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 4
    functionsReached:
    - memset
    - ddsrt_malloc_s
    linkageType: ''
    returnType: void
    signature: void *ddsrt_calloc_s(size_t nmemb, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:82,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: ddsrt_calloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 66
    functionsReached:
    - abort
    - ddsrt_calloc_s
    linkageType: ''
    returnType: void
    signature: void *ddsrt_calloc(size_t nmemb, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:104,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:109,1
    - Dst: vPortFree
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - memblk
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: ddsrt_realloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 3
    functionsReached:
    - memcpy
    - ddsrt_malloc_s
    - vPortFree
    linkageType: ''
    returnType: void
    signature: void *ddsrt_realloc_s(void *memblk, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:123,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - memblk
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: ddsrt_realloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 37
    functionsReached:
    - abort
    - ddsrt_realloc_s
    linkageType: ''
    returnType: void
    signature: void *ddsrt_realloc(void *memblk, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vPortFree
      Src: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ddsrt_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
    functionUses: 725
    functionsReached:
    - vPortFree
    linkageType: ''
    returnType: void
    signature: void ddsrt_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - custom_ops
    argTypes:
    - ddsrt_allocation_ops_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: ddsrt_set_allocator
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsrt_set_allocator(\n  ddsrt_allocation_ops_t custom_ops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ddsrt_malloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 11
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_malloc_s(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:39,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: ddsrt_malloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 460
    functionsReached:
    - abort
    - ddsrt_malloc_s
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_malloc(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:54,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: ddsrt_calloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 66
    functionsReached:
    - abort
    - ddsrt_calloc_s
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_calloc(size_t count, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: ddsrt_calloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 6
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_calloc_s(size_t count, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:78,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - memblk
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: ddsrt_realloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 37
    functionsReached:
    - abort
    - ddsrt_realloc_s
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_realloc(void *memblk, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memblk
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: ddsrt_realloc_s
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 5
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ddsrt_realloc_s(void *memblk, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: ddsrt_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
    functionUses: 725
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ddsrt_free(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:33,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:39,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: ( ((char *)ptr - (char *)0) % 4 == 0 )
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    - condition: ( ((char *)ptr - (char *)0) % 8 == 0 )
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: ddsrt_malloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    functionUses: 460
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: void
    signature: "void *\nddsrt_malloc(\n    size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:74,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:77,1
    - Dst: realloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:83,1
    - Dst: realloc
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:96,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:115,1
    - Dst: vxAtomicInc
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:118,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: ( ((char *)ptr - (char *)0) % 8 == 0 )
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    - condition: ( ((char *)newptr - (char *)0) % 4 == 0 )
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    - condition: ( ((char *)newdata - (char *)0) % 8 == 0 )
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    - condition: "(  ((char *)newdata)+4 == ((char *)olddata)\n             ||((char
        *)olddata)+4 == ((char *)newdata))"
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    constantsTouched: []
    func_position:
      end: 132
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 132
    functionName: ddsrt_realloc
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    functionUses: 37
    functionsReached:
    - vxAtomicInc
    - memmove
    - realloc
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: void
    signature: "void *ddsrt_realloc(\n    void *ptr,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:138,1
    - Dst: free
      Src: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: ( ((char *)ptr - (char *)0) % 8 == 0 )
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: ddsrt_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
    functionUses: 725
    functionsReached:
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: "void ddsrt_free(\n    void *ptr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c:51,1
    - Dst: gethostname
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c:53,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - hostname
    - buffersize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: ddsrt_gethostname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
    functionUses: 6
    functionsReached:
    - ddsrt_strlcpy
    - memset
    - gethostname
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_gethostname(\n  char *hostname,\n  size_t buffersize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:48,1
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - sockptr
    - domain
    - type
    - protocol
    argTypes:
    - ddsrt_socket_t*
    - int
    - int
    - int
    assertStmts:
    - condition: (sockptr != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 72
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 72
    functionName: ddsrt_socket
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 4
    functionsReached:
    - assert
    - socket
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_socket(ddsrt_socket_t *sockptr, int domain, int
      type, int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sockext
    - sock
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: ddsrt_socket_ext_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsrt_socket_ext_init(\n  ddsrt_socket_ext_t *sockext,\n  ddsrt_socket_t
      sock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockext
    argTypes:
    - ddsrt_socket_ext_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ddsrt_socket_ext_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsrt_socket_ext_fini(\n  ddsrt_socket_ext_t *sockext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sock
    argTypes:
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: ddsrt_close
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 13
    functionsReached:
    - close
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_close(\n  ddsrt_socket_t sock)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bind
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: ddsrt_bind
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 4
    functionsReached:
    - bind
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_bind(\n  ddsrt_socket_t sock,\n  const struct sockaddr
      *addr,\n  socklen_t addrlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: listen
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - sock
    - backlog
    argTypes:
    - ddsrt_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: ddsrt_listen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 1
    functionsReached:
    - listen
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_listen(\n  ddsrt_socket_t sock,\n  int backlog)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 196
    functionName: ddsrt_connect
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 3
    functionsReached:
    - connect
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_connect(\n  ddsrt_socket_t sock,\n  const struct
      sockaddr *addr,\n  socklen_t addrlen)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 4
    argNames:
    - sock
    - addr
    - addrlen
    - connptr
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t*
    - ddsrt_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 243
    functionName: ddsrt_accept
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 2
    functionsReached:
    - accept
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_accept(\n  ddsrt_socket_t sock,\n  struct sockaddr
      *addr,\n  socklen_t *addrlen,\n  ddsrt_socket_t *connptr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: ddsrt_getsockname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 8
    functionsReached:
    - getsockname
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getsockname(\n  ddsrt_socket_t sock,\n  struct
      sockaddr *addr,\n  socklen_t *addrlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - sock
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - ddsrt_socket_t
    - int32_t
    - int32_t
    - void*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 301
    functionName: ddsrt_getsockopt
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 1
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getsockopt(\n  ddsrt_socket_t sock,\n  int32_t
      level,\n  int32_t optname,\n  void *optval,\n  socklen_t *optlen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:349,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - sock
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - ddsrt_socket_t
    - int32_t
    - int32_t
    - void*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 364
    functionName: ddsrt_setsockopt
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 14
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_setsockopt(\n  ddsrt_socket_t sock,\n  int32_t
      level,\n  int32_t optname,\n  const void *optval,\n  socklen_t optlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:373,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - sock
    - nonblock
    argTypes:
    - ddsrt_socket_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 402
    functionName: ddsrt_setsocknonblocking
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 2
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_setsocknonblocking(\n  ddsrt_socket_t sock,\n  bool
      nonblock)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 431
    functionName: recv_error_to_retcode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t recv_error_to_retcode(int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:443,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:444,1
    - Dst: recv_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sock
    - buf
    - len
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_t
    - void*
    - size_t
    - int
    - ssize_t*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: ddsrt_recv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 3
    functionsReached:
    - recv
    - assert
    - recv_error_to_retcode
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recv(\n  ddsrt_socket_t sock,\n  void *buf,\n  size_t
      len,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:455,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:456,1
    - Dst: recvfrom
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sockfd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts:
    - condition: (msg->msg_iovlen == 1)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    - condition: (msg->msg_controllen == 0)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: recvmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 3
    functionsReached:
    - assert
    - recvfrom
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recvmsg
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:479,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:480,1
    - Dst: recv_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sockext
    - msg
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 486
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 486
    functionName: ddsrt_recvmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 3
    functionsReached:
    - assert
    - recv_error_to_retcode
    - recvmsg
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recvmsg(\n  const ddsrt_socket_ext_t *sockext,\n
      \ ddsrt_msghdr_t *msg,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 530
    functionName: send_error_to_retcode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t send_error_to_retcode(int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:542,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:543,1
    - Dst: send_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sock
    - buf
    - len
    - flags
    - sent
    argTypes:
    - ddsrt_socket_t
    - void*
    - size_t
    - int
    - ssize_t*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 549
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 549
    functionName: ddsrt_send
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 3
    functionsReached:
    - send
    - send_error_to_retcode
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_send(\n  ddsrt_socket_t sock,\n  const void *buf,\n
      \ size_t len,\n  int flags,\n  ssize_t *sent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendmsg
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:560,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:561,1
    - Dst: send_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sock
    - msg
    - flags
    - sent
    argTypes:
    - ddsrt_socket_t
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 560
        line_start: 560
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: ddsrt_sendmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 4
    functionsReached:
    - send_error_to_retcode
    - assert
    - sendmsg
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_sendmsg(\n  ddsrt_socket_t sock,\n  const ddsrt_msghdr_t
      *msg,\n  int flags,\n  ssize_t *sent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:580,1
    - Dst: select
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - errorfds
    - reltime
    argTypes:
    - int32_t
    - fd_set*
    - fd_set*
    - fd_set*
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: ddsrt_select
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 6
    functionsReached:
    - select
    - ddsrt_duration_to_timeval_ceil
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_select(\n  int32_t nfds,\n  fd_set *readfds,\n
      \ fd_set *writefds,\n  fd_set *errorfds,\n  dds_duration_t reltime)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sock
    - how
    argTypes:
    - ddsrt_socket_t
    - enum ddsrt_shutdown_how
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 621
    functionName: ddsrt_shutdown
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
    functionUses: 2
    functionsReached:
    - shutdown
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_shutdown(\n  ddsrt_socket_t sock,\n  enum ddsrt_shutdown_how
      how)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c:21,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c:22,1
    - Dst: gethostname
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c:26,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - hostname
    - buffersize
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (hostname != NULL)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c
    - condition: (buffersize <= INT_MAX)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: ddsrt_gethostname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c
    functionUses: 6
    functionsReached:
    - assert
    - WSAGetLastError
    - gethostname
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_gethostname(\n  char *hostname,\n  size_t buffersize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:38,1
    - Dst: MAKEWORD
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:38,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:40,1
    - Dst: LOBYTE
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:46,1
    - Dst: HIBYTE
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:47,1
    - Dst: WSACleanup
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:49,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: ddsrt_winsock_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 1
    functionsReached:
    - WSACleanup
    - LOBYTE
    - DDS_FATAL
    - WSAStartup
    - HIBYTE
    - MAKEWORD
    linkageType: ''
    returnType: void
    signature: void ddsrt_winsock_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ddsrt_winsock_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 1
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void ddsrt_winsock_fini(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:69,1
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:71,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:77,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:78,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:79,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:80,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - sockptr
    - domain
    - type
    - protocol
    argTypes:
    - ddsrt_socket_t*
    - int
    - int
    - int
    assertStmts:
    - condition: (sockptr != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSAEINVALIDPROCTABLE)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSAEINVALIDPROVIDER)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSAEPROVIDERFAILEDINIT)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 101
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 101
    functionName: ddsrt_socket
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 4
    functionsReached:
    - WSAGetLastError
    - assert
    - socket
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_socket(ddsrt_socket_t *sockptr, int domain, int
      type, int protocol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:114,1
    - Dst: WSAIoctl
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sockext
    - sock
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: ddsrt_socket_ext_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 5
    functionsReached:
    - WSAIoctl
    - getsockopt
    linkageType: ''
    returnType: void
    signature: "void ddsrt_socket_ext_init(\n  ddsrt_socket_ext_t *sockext,\n  ddsrt_socket_t
      sock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockext
    argTypes:
    - ddsrt_socket_ext_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: ddsrt_socket_ext_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ddsrt_socket_ext_fini(\n  ddsrt_socket_ext_t *sockext)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:145,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:148,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - sock
    argTypes:
    - ddsrt_socket_t
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: ddsrt_close
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 13
    functionsReached:
    - assert
    - closesocket
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_close(ddsrt_socket_t sock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:177,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:182,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - sock
    - addr
    - addrlen
    - connptr
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t*
    - ddsrt_socket_t*
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 207
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 207
    functionName: ddsrt_accept
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 2
    functionsReached:
    - assert
    - WSAGetLastError
    - accept
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_accept(\n  ddsrt_socket_t sock,\n  struct sockaddr
      *addr,\n  socklen_t *addrlen,\n  ddsrt_socket_t *connptr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bind
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:214,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:217,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 240
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 240
    functionName: ddsrt_bind
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 4
    functionsReached:
    - assert
    - WSAGetLastError
    - bind
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_bind(ddsrt_socket_t sock, const struct sockaddr
      *addr, socklen_t addrlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: listen
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:249,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:252,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - sock
    - backlog
    argTypes:
    - ddsrt_socket_t
    - int
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: ddsrt_listen
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 1
    functionsReached:
    - assert
    - listen
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_listen(\n  ddsrt_socket_t sock,\n  int backlog)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:282,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:285,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 320
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 320
    functionName: ddsrt_connect
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 3
    functionsReached:
    - connect
    - assert
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_connect(\n  ddsrt_socket_t sock,\n  const struct
      sockaddr *addr,\n  socklen_t addrlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:331,1
    - Dst: getsockname
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:333,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:336,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - sock
    - addr
    - addrlen
    argTypes:
    - ddsrt_socket_t
    - struct sockaddr*
    - socklen_t*
    assertStmts:
    - condition: (sock != INVALID_SOCKET)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (addr != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 354
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 354
    functionName: ddsrt_getsockname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 8
    functionsReached:
    - assert
    - getsockname
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getsockname(\n  ddsrt_socket_t sock,\n  struct
      sockaddr *addr,\n  socklen_t *addrlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:373,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:375,1
    - Dst: getsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:380,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:386,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - sock
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - ddsrt_socket_t
    - int32_t
    - int32_t
    - void*
    - socklen_t*
    assertStmts:
    - condition: (dwoptlen == sizeof(DWORD))
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 404
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 404
    functionName: ddsrt_getsockopt
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 1
    functionsReached:
    - assert
    - getsockopt
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getsockopt(\n  ddsrt_socket_t sock,\n  int32_t
      level,\n  int32_t optname,\n  void *optval,\n  socklen_t *optlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:425,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:427,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:433,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - sock
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - ddsrt_socket_t
    - int32_t
    - int32_t
    - void*
    - socklen_t
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 451
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 451
    functionName: ddsrt_setsockopt
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 14
    functionsReached:
    - setsockopt
    - assert
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_setsockopt(\n  ddsrt_socket_t sock,\n  int32_t
      level,\n  int32_t optname,\n  const void *optval,\n  socklen_t optlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:465,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:468,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sock
    - nonblock
    argTypes:
    - ddsrt_socket_t
    - bool
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 482
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 482
    functionName: ddsrt_setsocknonblocking
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 2
    functionsReached:
    - ioctlsocket
    - assert
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_setsocknonblocking(\n  ddsrt_socket_t sock,\n  bool
      nonblock)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts:
    - condition: (errnum != WSANOTINITIALISED)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 517
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 517
    functionName: recv_error_to_retcode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t recv_error_to_retcode(int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:529,1
    - Dst: recv
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:531,1
    - Dst: recv_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:536,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sock
    - buf
    - len
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_t
    - void*
    - size_t
    - int
    - ssize_t*
    assertStmts:
    - condition: (len < INT_MAX)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 537
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 537
    functionName: ddsrt_recv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 3
    functionsReached:
    - recv
    - assert
    - recv_error_to_retcode
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recv(\n  ddsrt_socket_t sock,\n  void *buf,\n  size_t
      len,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_socket_ext_t*::wsarecvmsg
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:568,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:568,1
    - Dst: recv_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - sockext
    - msg
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 580
    functionName: ddsrt_recvmsg_wsarecvmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 0
    functionsReached:
    - ddsrt_socket_ext_t*::wsarecvmsg
    - recv_error_to_retcode
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recvmsg_wsarecvmsg(\n  const ddsrt_socket_ext_t
      *sockext,\n  ddsrt_msghdr_t *msg,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:589,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:590,1
    - Dst: recvfrom
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:592,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:604,1
    - Dst: recv_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sockext
    - msg
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts:
    - condition: (msg->msg_iovlen == 1)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (msg->msg_iov[0].iov_len < INT_MAX)
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 612
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 612
    functionName: ddsrt_recvmsg_recvfrom
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 0
    functionsReached:
    - assert
    - recvfrom
    - recv_error_to_retcode
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recvmsg_recvfrom(\n  const ddsrt_socket_ext_t *sockext,\n
      \ ddsrt_msghdr_t *msg,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:621,1
    - Dst: ddsrt_recvmsg_wsarecvmsg
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:623,1
    - Dst: ddsrt_recvmsg_recvfrom
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - sockext
    - msg
    - flags
    - rcvd
    argTypes:
    - ddsrt_socket_ext_t*
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts:
    - condition: (msg != NULL)
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 626
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 626
    functionName: ddsrt_recvmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 3
    functionsReached:
    - ddsrt_recvmsg_recvfrom
    - ddsrt_recvmsg_wsarecvmsg
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_recvmsg(\n  const ddsrt_socket_ext_t *sockext,\n
      \ ddsrt_msghdr_t *msg,\n  int flags,\n  ssize_t *rcvd)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts:
    - condition: (errnum != WSANOTINITIALISED)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 672
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 672
    functionName: send_error_to_retcode
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t send_error_to_retcode(int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:684,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:685,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:686,1
    - Dst: send
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:688,1
    - Dst: send_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:693,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - sock
    - buf
    - len
    - flags
    - sent
    argTypes:
    - ddsrt_socket_t
    - void*
    - size_t
    - int
    - ssize_t*
    assertStmts:
    - condition: (buf != NULL)
      pos:
        line_end: 683
        line_start: 683
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (sent != NULL)
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (len <= INT_MAX)
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 694
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 694
    functionName: ddsrt_send
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 3
    functionsReached:
    - send
    - send_error_to_retcode
    - assert
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_send(\n  ddsrt_socket_t sock,\n  const void *buf,\n
      \ size_t len,\n  int flags,\n  ssize_t *sent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:706,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:707,1
    - Dst: WSASendTo
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:711,1
    - Dst: send_error_to_retcode
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:726,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - sock
    - msg
    - flags
    - sent
    argTypes:
    - ddsrt_socket_t
    - ddsrt_msghdr_t*
    - int
    - ssize_t*
    assertStmts:
    - condition: (msg != NULL)
      pos:
        line_end: 705
        line_start: 705
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    - condition: (msg->msg_controllen == 0)
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 727
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 727
    functionName: ddsrt_sendmsg
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 4
    functionsReached:
    - send_error_to_retcode
    - assert
    - WSASendTo
    - WSAGetLastError
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_sendmsg(\n  ddsrt_socket_t sock,\n  const ddsrt_msghdr_t
      *msg,\n  int flags,\n  ssize_t *sent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_duration_to_timeval_ceil
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:743,1
    - Dst: select
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:744,1
    - Dst: WSAGetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:747,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - errorfds
    - reltime
    argTypes:
    - int32_t
    - fd_set*
    - fd_set*
    - fd_set*
    - dds_duration_t
    assertStmts:
    - condition: (err != WSANOTINITIALISED)
      pos:
        line_end: 747
        line_start: 747
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    constantsTouched: []
    func_position:
      end: 764
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 764
    functionName: ddsrt_select
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 6
    functionsReached:
    - assert
    - WSAGetLastError
    - select
    - ddsrt_duration_to_timeval_ceil
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_select(\n  int32_t nfds,\n  fd_set *readfds,\n
      \ fd_set *writefds,\n  fd_set *errorfds,\n  dds_duration_t reltime)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sock
    - how
    argTypes:
    - ddsrt_socket_t
    - enum ddsrt_shutdown_how
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 788
    functionName: ddsrt_shutdown
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    functionUses: 2
    functionsReached:
    - shutdown
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_shutdown(\n  ddsrt_socket_t sock,\n  enum ddsrt_shutdown_how
      how)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:40,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:41,1
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:44,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:45,1
    - Dst: perror
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:47,1
    - Dst: exit
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:48,1
    - Dst: printf
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:61,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:65,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:66,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:68,1
    - Dst: strdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:69,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:70,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:71,1
    - Dst: htonl
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:72,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:79,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - ret_ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c
    functionUses: 9
    functionsReached:
    - ddsrt_free
    - perror
    - htonl
    - ddsrt_memdup
    - close
    - strcmp
    - memset
    - printf
    - ioctl
    - socket
    - exit
    - ddsrt_malloc
    - strdup
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ret_ifap,\n  const
      int *afs)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:42,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:56,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:72,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - sys_ifa
    argTypes:
    - struct ifaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 89
    functionName: guess_iftype
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fopen
    - fclose
    - strcmp
    linkageType: ''
    returnType: enum ddsrt_iftype
    signature: enum ddsrt_iftype guess_iftype (const struct ifaddrs *sys_ifa)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:100,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:105,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:106,1
    - Dst: ioctl
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:107,1
    - Dst: IFM_TYPE
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:113,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - sys_ifa
    argTypes:
    - struct ifaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: guess_iftype
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached:
    - IFM_TYPE
    - close
    - ddsrt_strlcpy
    - memset
    - ioctl
    - socket
    linkageType: ''
    returnType: enum ddsrt_iftype
    signature: enum ddsrt_iftype guess_iftype (const struct ifaddrs *sys_ifa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys_ifa
    argTypes:
    - struct ifaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: guess_iftype
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ddsrt_iftype
    signature: enum ddsrt_iftype guess_iftype (const struct ifaddrs *sys_ifa)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:142,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:148,1
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:150,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:157,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:165,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:166,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:167,1
    - Dst: inet_pton
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:174,1
    - Dst: htonl
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:180,1
    - Dst: inet_pton
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:182,1
    - Dst: bind
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:185,1
    - Dst: getsockname
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:187,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:194,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:197,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:198,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:199,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:209,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:210,1
    - Dst: setsockopt
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:211,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:218,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:218,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:218,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:218,1
    - Dst: sendmsg
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:229,1
    - Dst: fcntl
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:232,1
    - Dst: recvmsg
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:238,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:241,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:249,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 1
    argNames:
    - ifa
    argTypes:
    - ddsrt_ifaddrs_t*
    assertStmts:
    - condition: (ifa->addr->sa_family == AF_INET || ifa->addr->sa_family == AF_INET6)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 251
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 251
    functionName: is_the_kernel_likely_lying_about_multicast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - fcntl
    - IN6_IS_ADDR_LINKLOCAL
    - htonl
    - setsockopt
    - bind
    - assert
    - recvmsg
    - getsockname
    - memcmp
    - memset
    - inet_pton
    - close
    - sendmsg
    - socket
    linkageType: ''
    returnType: bool
    signature: bool is_the_kernel_likely_lying_about_multicast (const ddsrt_ifaddrs_t
      *ifa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:260,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:261,1
    - Dst: ddsrt_sockaddr_get_size
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:263,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:264,1
    - Dst: if_nametoindex
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:268,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:271,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:272,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:274,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:277,1
    - Dst: is_the_kernel_likely_lying_about_multicast
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:293,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - ifap
    - sys_ifa
    - type
    argTypes:
    - ddsrt_ifaddrs_t**
    - struct ifaddrs*
    - enum ddsrt_iftype
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    - condition: (sys_ifa != NULL)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 305
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 305
    functionName: copyaddr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - if_nametoindex
    - ddsrt_memdup
    - assert
    - ddsrt_calloc_s
    - ddsrt_sockaddr_get_size
    - ddsrt_strdup
    - is_the_kernel_likely_lying_about_multicast
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t copyaddr(ddsrt_ifaddrs_t **ifap, const struct ifaddrs
      *sys_ifa, enum ddsrt_iftype type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:318,1
    - Dst: getifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:324,1
    - Dst: guess_iftype
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:352,1
    - Dst: copyaddr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:353,1
    - Dst: freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:366,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 376
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 376
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 9
    functionsReached:
    - ddsrt_freeifaddrs
    - assert
    - freeifaddrs
    - getifaddrs
    - guess_iftype
    - copyaddr
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ifap,\n  const
      int *afs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - interface_name
    - mac_addr
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: ddsrt_eth_get_mac_addr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_eth_get_mac_addr (char *interface_name, unsigned
      char *mac_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_getifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:405,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:409,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:412,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:414,1
    - Dst: LLADDR
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:414,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - interface_name
    - mac_addr
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 424
    functionName: ddsrt_eth_get_mac_addr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_getifaddrs
    - LLADDR
    - memcpy
    - strcmp
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_eth_get_mac_addr (char *interface_name, unsigned
      char *mac_addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ip_addr_isloopback
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - netif
    - addr
    argTypes:
    - struct netif*
    - ip_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: getflags
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ip_addr_isloopback
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t getflags(\n  const struct netif *netif,\n  const ip_addr_t
      *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP_IS_V4
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:53,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:54,1
    - Dst: inet_addr_from_ip4addr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:57,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:60,1
    - Dst: IP_IS_V6
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:60,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:61,1
    - Dst: inet6_addr_from_ip6addr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sockaddr
    - addr
    argTypes:
    - struct sockaddr*
    - ip_addr_t*
    assertStmts:
    - condition: (IP_IS_V6(addr))
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: sockaddr_from_ip_addr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - IP_IS_V4
    - IP_IS_V6
    - inet_addr_from_ip4addr
    - inet6_addr_from_ip6addr
    linkageType: ''
    returnType: void
    signature: "void sockaddr_from_ip_addr(\n  struct sockaddr *sockaddr,\n  const
      ip_addr_t *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:79,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:80,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:81,1
    - Dst: sockaddr_from_ip_addr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:83,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:89,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:90,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:91,1
    - Dst: getflags
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:95,1
    - Dst: IP_IS_V4
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:99,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:101,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:102,1
    - Dst: IPADDR4_INIT
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:106,1
    - Dst: ip_2_ip4
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:107,1
    - Dst: ip_2_ip4
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:108,1
    - Dst: sockaddr_from_ip_addr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:110,1
    - Dst: sockaddr_from_ip_addr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:111,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ifap
    - netif
    - addr
    argTypes:
    - ddsrt_ifaddrs_t**
    - struct netif*
    - ip_addr_t*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    - condition: (netif != NULL)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    - condition: (addr != NULL)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 123
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 123
    functionName: copyaddr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    functionUses: 1
    functionsReached:
    - ddsrt_freeifaddrs
    - ip_2_ip4
    - ddsrt_memdup
    - assert
    - ddsrt_calloc_s
    - getflags
    - IP_IS_V4
    - ddsrt_asprintf
    - sockaddr_from_ip_addr
    - IPADDR4_INIT
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t copyaddr(\n  ddsrt_ifaddrs_t **ifap,\n  const struct
      netif *netif,\n  const ip_addr_t *addr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:135,1
    - Dst: IP_IS_V4
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:156,1
    - Dst: copyaddr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:157,1
    - Dst: ip6_addr_ispreferred
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:177,1
    - Dst: ip6_addr_isvalid
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:178,1
    - Dst: copyaddr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:180,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c:203,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 207
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 207
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
    functionUses: 10
    functionsReached:
    - ddsrt_freeifaddrs
    - ip6_addr_isvalid
    - assert
    - IP_IS_V4
    - ip6_addr_ispreferred
    - copyaddr
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ifap,\n  const
      int *afs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:40,1
    - Dst: GetAdaptersAddresses
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:43,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:44,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:48,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:49,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - PIP_ADAPTER_ADDRESSES*
    assertStmts:
    - condition: (ptr != NULL)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (ret != ERROR_INVALID_PARAMETER)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 72
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 72
    functionName: getifaces
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_malloc
    - ddsrt_free
    - GetAdaptersAddresses
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t getifaces(PIP_ADAPTER_ADDRESSES *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:85,1
    - Dst: GetIpAddrTable
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:89,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:94,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:95,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - PMIB_IPADDRTABLE*
    assertStmts:
    - condition: (ptr != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: "(ret != ERROR_INVALID_PARAMETER &&\n           ret != ERROR_NOT_SUPPORTED)"
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 115
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 115
    functionName: getaddrtable
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 0
    functionsReached:
    - assert
    - GetIpAddrTable
    - ddsrt_free
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t getaddrtable(PMIB_IPADDRTABLE *ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - iface
    argTypes:
    - PIP_ADAPTER_ADDRESSES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 152
    functionName: getflags
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getflags(const PIP_ADAPTER_ADDRESSES iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - iface
    argTypes:
    - PIP_ADAPTER_ADDRESSES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: guess_iftype
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum ddsrt_iftype
    signature: enum ddsrt_iftype guess_iftype (const PIP_ADAPTER_ADDRESSES iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:175,1
    - Dst: ddsrt_malloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:179,1
    - Dst: WideCharToMultiByte
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:183,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:185,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - wstr
    - strp
    argTypes:
    - wchar_t*
    - char**
    assertStmts:
    - condition: (str[len - 1] == '\0')
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (cnt == len)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 190
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 190
    functionName: copyname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 0
    functionsReached:
    - assert
    - WideCharToMultiByte
    - ddsrt_malloc_s
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t copyname(const wchar_t *wstr, char **strp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:204,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:205,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:206,1
    - Dst: ddsrt_calloc_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:211,1
    - Dst: getflags
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:213,1
    - Dst: guess_iftype
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:214,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:215,1
    - Dst: copyname
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:217,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:228,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:229,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:230,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:242,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:243,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:245,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:257,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - ifap
    - iface
    - addrtable
    - addr
    argTypes:
    - ddsrt_ifaddrs_t**
    - PIP_ADAPTER_ADDRESSES
    - PMIB_IPADDRTABLE
    - PIP_ADAPTER_UNICAST_ADDRESS
    assertStmts:
    - condition: (iface != NULL)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (addrtable != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (addr != NULL)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (sz == sizeof(nm))
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    - condition: (i < addrtable->dwNumEntries)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 259
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 259
    functionName: copyaddr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 2
    functionsReached:
    - ddsrt_freeifaddrs
    - ddsrt_memdup
    - assert
    - ddsrt_calloc_s
    - getflags
    - memset
    - guess_iftype
    - copyname
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t copyaddr(\n  ddsrt_ifaddrs_t **ifap,\n  const PIP_ADAPTER_ADDRESSES
      iface,\n  const PMIB_IPADDRTABLE addrtable,\n  const PIP_ADAPTER_UNICAST_ADDRESS
      addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:274,1
    - Dst: getifaces
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:282,1
    - Dst: getaddrtable
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:283,1
    - Dst: copyaddr
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:300,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:314,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:315,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:320,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 324
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 324
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 10
    functionsReached:
    - ddsrt_freeifaddrs
    - getaddrtable
    - ddsrt_free
    - assert
    - copyaddr
    - getifaces
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ifap,\n  const
      int *afs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getifaces
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:333,1
    - Dst: sprintf_s
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:342,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:343,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:345,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - interface_name
    - mac_addr
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: ddsrt_eth_get_mac_addr
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - memcpy
    - sprintf_s
    - strcmp
    - getifaces
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_eth_get_mac_addr (char *interface_name, unsigned
      char *mac_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: net_if_is_up
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:38,1
    - Dst: net_if_flag_is_set
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:41,1
    - Dst: net_if_l2
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:48,1
    - Dst: NET_L2_GET_NAME
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct net_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: getflags
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c
    functionUses: 2
    functionsReached:
    - net_if_flag_is_set
    - NET_L2_GET_NAME
    - net_if_is_up
    - net_if_l2
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t getflags(\n  struct net_if *iface)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:188,1
    - Dst: net_if_foreach
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:211,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c
    constantsTouched: []
    func_position:
      end: 220
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 220
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c
    functionUses: 10
    functionsReached:
    - ddsrt_freeifaddrs
    - assert
    - net_if_foreach
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ifap,\n  const
      int *afs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: net_if_is_up
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:38,1
    - Dst: net_if_flag_is_set
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:41,1
    - Dst: net_if_l2
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:48,1
    - Dst: NET_L2_GET_NAME
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct net_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: getflags
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c
    functionUses: 2
    functionsReached:
    - net_if_flag_is_set
    - NET_L2_GET_NAME
    - net_if_is_up
    - net_if_l2
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t getflags(\n  struct net_if *iface)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:188,1
    - Dst: net_if_foreach
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:211,1
    - Dst: ddsrt_freeifaddrs
      Src: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ifap
    - afs
    argTypes:
    - ddsrt_ifaddrs_t**
    - int*
    assertStmts:
    - condition: (ifap != NULL)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c
    constantsTouched: []
    func_position:
      end: 220
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 220
    functionName: ddsrt_getifaddrs
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c
    functionUses: 10
    functionsReached:
    - ddsrt_freeifaddrs
    - assert
    - net_if_foreach
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getifaddrs(\n  ddsrt_ifaddrs_t **ifap,\n  const
      int *afs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/random/posix/random.c:8,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/random/posix/random.c:9,1
    - Dst: fread
      Src: /src/cyclonedds/src/ddsrt/src/random/posix/random.c:13,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/random/posix/random.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - struct ddsrt_prng_seed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 17
    functionName: ddsrt_prng_makeseed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random/posix/random.c
    functionUses: 6
    functionsReached:
    - fread
    - fopen
    - fclose
    - memset
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_prng_makeseed (struct ddsrt_prng_seed *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/random/windows/random.c:11,1
    - Dst: BCryptGenRandom
      Src: /src/cyclonedds/src/ddsrt/src/random/windows/random.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - struct ddsrt_prng_seed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionName: ddsrt_prng_makeseed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/random/windows/random.c
    functionUses: 6
    functionsReached:
    - BCryptGenRandom
    - memset
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_prng_makeseed (struct ddsrt_prng_seed *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: isenvvar
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int isenvvar(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:33,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:34,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:36,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: ddsrt_getenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    functionUses: 16
    functionsReached:
    - assert
    - isenvvar
    - getenv
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getenv(const char *name, const char **value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:51,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:52,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:54,1
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:55,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:56,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:59,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:60,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:61,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:62,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:66,1
    - Dst: realloc
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: ddsrt_setenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    functionUses: 6
    functionsReached:
    - snprintf
    - realloc
    - assert
    - strlen
    - ddsrt_unsetenv
    - malloc
    - strncmp
    - isenvvar
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_setenv(const char *name, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:83,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:85,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:88,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:92,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: ddsrt_unsetenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
    functionUses: 4
    functionsReached:
    - memmove
    - assert
    - strlen
    - strncmp
    - isenvvar
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: isenvvar
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    functionUses: 3
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int isenvvar(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:30,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:31,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:33,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: ddsrt_getenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    functionUses: 16
    functionsReached:
    - assert
    - isenvvar
    - getenv
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getenv(const char *name, const char **value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:45,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:46,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:48,1
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:49,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:50,1
    - Dst: setenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: ddsrt_setenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    functionUses: 6
    functionsReached:
    - assert
    - strlen
    - ddsrt_unsetenv
    - setenv
    - isenvvar
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_setenv(const char *name, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:70,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:72,1
    - Dst: unsetenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: ddsrt_unsetenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
    functionUses: 5
    functionsReached:
    - assert
    - unsetenv
    - isenvvar
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: isenvvar
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    functionUses: 6
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int isenvvar(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:32,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:33,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:35,1
    - Dst: getenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: ddsrt_getenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    functionUses: 16
    functionsReached:
    - assert
    - isenvvar
    - getenv
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getenv(const char *name, const char **value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:48,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:49,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:51,1
    - Dst: _putenv_s
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: ddsrt_setenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    functionUses: 6
    functionsReached:
    - assert
    - isenvvar
    - _putenv_s
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_setenv(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:70,1
    - Dst: ddsrt_setenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: ddsrt_unsetenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
    functionUses: 5
    functionsReached:
    - ddsrt_setenv
    - assert
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: isenvvar
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    functionUses: 8
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int isenvvar(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:33,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:34,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:36,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:40,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: ddsrt_getenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    functionUses: 16
    functionsReached:
    - strncmp
    - assert
    - isenvvar
    - strlen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getenv(const char *name, const char **value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:55,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:56,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:58,1
    - Dst: ddsrt_unsetenv
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:59,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    - condition: (value != NULL)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: ddsrt_setenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    functionUses: 7
    functionsReached:
    - ddsrt_unsetenv
    - assert
    - isenvvar
    - strlen
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_setenv(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:71,1
    - Dst: isenvvar
      Src: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: ddsrt_unsetenv
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
    functionUses: 6
    functionsReached:
    - assert
    - isenvvar
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: non_local_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t non_local_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vTaskGetInfo
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:80,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: ddsrt_gettid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 4
    functionsReached:
    - vTaskGetInfo
    - xTaskGetCurrentTaskHandle
    linkageType: ''
    returnType: ddsrt_tid_t
    signature: ddsrt_tid_t ddsrt_gettid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ddsrt_tid_t::ddsrt_gettid_for_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_EXPORT
    signature: 'DDS_EXPORT ddsrt_tid_t

      ddsrt_gettid_for_thread( ddsrt_thread_t thread)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: ddsrt_thread_self
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 7
    functionsReached:
    - xTaskGetCurrentTaskHandle
    linkageType: ''
    returnType: ddsrt_thread_t
    signature: ddsrt_thread_t ddsrt_thread_self(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsrt_thread_t
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ddsrt_thread_equal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_thread_equal(ddsrt_thread_t a, ddsrt_thread_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:111,1
    - Dst: pcTaskGetName
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:113,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (size >= 1)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: ddsrt_thread_getname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 3
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - pcTaskGetName
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_thread_getname(char *name, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:124,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: thread_registry_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: void thread_registry_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - TaskHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: thread_context_find
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: thread_context_t
    signature: 'thread_context_t *

      thread_context_find(TaskHandle_t task)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:151,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:153,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:161,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:163,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - ctxptr
    argTypes:
    - thread_context_t**
    assertStmts:
    - condition: (ctxptr != NULL)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (thread_registry.cnt == thread_registry.len)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: thread_context_create
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_realloc
    - ddsrt_calloc
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t thread_context_create(thread_context_t **ctxptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: thread_context_require
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: thread_context_require()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_once
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:189,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:191,1
    - Dst: thread_context_create
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:192,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:198,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:200,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:203,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:204,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:205,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:205,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ctxptr
    argTypes:
    - thread_context_t**
    assertStmts:
    - condition: (ctx->func != NULL)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ctx->stat == THREAD_RUNNING)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ctx->task == xTaskGetCurrentTaskHandle())
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ctx != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 214
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 214
    functionName: thread_context_acquire
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - xTaskGetCurrentTaskHandle
    - ddsrt_once
    - assert
    - thread_context_create
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t thread_context_acquire(thread_context_t **ctxptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:230,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:239,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:243,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - thread_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 256
    functionName: thread_context_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached:
    - memmove
    - ddsrt_realloc
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void thread_context_destroy(thread_context_t *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:263,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:266,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:272,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:274,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:302,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:304,1
    - Dst: thread_context_destroy
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:305,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - ret
    argTypes:
    - thread_context_t*
    - uint32_t
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ret == 0)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 309
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 309
    functionName: thread_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - thread_context_destroy
    - ddsrt_mutex_lock
    - assert
    - thread_cleanup_t*::routine
    - ddsrt_mutex_unlock
    - xTaskNotifyGive
    linkageType: ''
    returnType: void
    signature: void thread_fini(thread_context_t *ctx, uint32_t ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:317,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:322,1
    - Dst: thread_context_t*::func
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:329,1
    - Dst: thread_fini
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:331,1
    - Dst: vTaskDelete
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 335
    functionName: thread_start_routine
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - vTaskDelete
    - thread_fini
    - thread_context_t*::func
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void thread_start_routine(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:363,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:364,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:365,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:366,1
    - Dst: thread_context_require
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:368,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:398,1
    - Dst: uxTaskPriorityGet
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:400,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:405,1
    - Dst: thread_context_create
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:411,1
    - Dst: xTaskCreate
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:415,1
    - Dst: thread_context_destroy
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:418,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - thread
    - name
    - attr
    - start_routine
    - arg
    argTypes:
    - ddsrt_thread_t*
    - char*
    - ddsrt_threadattr_t*
    - ddsrt_thread_routine_t
    - void*
    assertStmts:
    - condition: (thread != NULL)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (start_routine != 0)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (attr != NULL)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (name != NULL)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (0 == tskIDLE_PRIORITY)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 428
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 428
    functionName: ddsrt_thread_create
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 26
    functionsReached:
    - thread_context_require
    - thread_context_destroy
    - assert
    - uxTaskPriorityGet
    - ddsrt_mutex_lock
    - thread_context_create
    - xTaskCreate
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_create(\n  ddsrt_thread_t *thread,\n  const
      char *name,\n  const ddsrt_threadattr_t *attr,\n  ddsrt_thread_routine_t start_routine,\n
      \ void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thread_context_require
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:434,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: ddsrt_thread_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 2
    functionsReached:
    - thread_context_require
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_init(uint32_t reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:448,1
    - Dst: thread_fini
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (ctx->func != &non_local_thread)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: ddsrt_thread_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 2
    functionsReached:
    - thread_fini
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_fini(uint32_t reason)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thread_context_require
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:460,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:464,1
    - Dst: thread_context_find
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:465,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:468,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:472,1
    - Dst: eTaskGetState
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:473,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:477,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:480,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:488,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:491,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:493,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:496,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:498,1
    - Dst: thread_context_destroy
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:509,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - thread
    - thread_result
    argTypes:
    - ddsrt_thread_t
    - uint32_t*
    assertStmts:
    - condition: (ctx->blkd == NULL)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ctx != NULL)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - condition: (ctx != NULL)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 516
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 516
    functionName: ddsrt_thread_join
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 28
    functionsReached:
    - thread_context_require
    - thread_context_destroy
    - assert
    - ddsrt_mutex_lock
    - xTaskGetCurrentTaskHandle
    - memset
    - thread_context_find
    - eTaskGetState
    - ulTaskNotifyTake
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_join(ddsrt_thread_t thread, uint32_t *thread_result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:525,1
    - Dst: thread_context_acquire
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:527,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (routine != NULL)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    constantsTouched: []
    func_position:
      end: 539
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 539
    functionName: ddsrt_thread_cleanup_push
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 3
    functionsReached:
    - thread_context_acquire
    - assert
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_push(void (*routine)(void *), void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: thread_context_acquire
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:547,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:551,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - execute
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 558
    functionName: ddsrt_thread_cleanup_pop
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    functionUses: 2
    functionsReached:
    - thread_context_acquire
    - thread_cleanup_t*::routine
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_pop(int execute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: _open
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _open(const char *name, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:93,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:94,1
    - Dst: prctl
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:100,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:101,1
    - Dst: pthread_getname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:106,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:106,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:107,1
    - Dst: pthread_get_name_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:109,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:109,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:110,1
    - Dst: pthread_getname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:113,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:113,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:117,1
    - Dst: taskName
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:125,1
    - Dst: taskIdSelf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:125,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:129,1
    - Dst: pthread_getname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:132,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:132,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:133,1
    - Dst: pthread_getname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:135,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:135,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:136,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:142,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (size > 0)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 147
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 147
    functionName: ddsrt_thread_getname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 3
    functionsReached:
    - snprintf
    - ddsrt_gettid
    - taskIdSelf
    - ddsrt_strlcpy
    - assert
    - taskName
    - pthread_self
    - pthread_getname_np
    - prctl
    - pthread_get_name_np
    linkageType: ''
    returnType: size_t
    signature: size_t ddsrt_thread_getname(char *name, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:152,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:158,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:159,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:159,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:161,1
    - Dst: pthread_set_name_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:163,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:163,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:168,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:168,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:171,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:171,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:173,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:173,1
    - Dst: pthread_setname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:175,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 181
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 181
    functionName: ddsrt_thread_setname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 1
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - pthread_set_name_np
    - pthread_setname_np
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_setname(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_setname
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:195,1
    - Dst: thread_context_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:198,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:202,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:203,1
    - Dst: pthread_getschedparam
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:225,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:225,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:226,1
    - Dst: pthread_setschedprio
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:228,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - threadContext
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 235
    functionName: os_startRoutineWrapper
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 0
    functionsReached:
    - thread_context_t*::routine
    - ddsrt_free
    - sched_get_priority_max
    - pthread_getschedparam
    - pthread_self
    - pthread_setschedprio
    - ddsrt_thread_setname
    linkageType: ''
    returnType: void
    signature: void *os_startRoutineWrapper (void *threadContext)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:271,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:272,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:273,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:274,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:280,1
    - Dst: pthread_attr_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:288,1
    - Dst: pthread_attr_setname
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:294,1
    - Dst: pthread_attr_setscope
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:298,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:302,1
    - Dst: pthread_attr_setstacksize
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:314,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:316,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:322,1
    - Dst: pthread_attr_setstack
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:325,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:327,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:344,1
    - Dst: pthread_getschedparam
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:354,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:354,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:356,1
    - Dst: pthread_attr_getschedparam
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:360,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:362,1
    - Dst: pthread_attr_getschedpolicy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:365,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:367,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:375,1
    - Dst: pthread_attr_setschedpolicy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:387,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:389,1
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:394,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:394,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:400,1
    - Dst: pthread_attr_setschedparam
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:403,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:405,1
    - Dst: pthread_attr_setinheritsched
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:410,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:412,1
    - Dst: CPU_ZERO
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:422,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:427,1
    - Dst: CPU_SET
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:430,1
    - Dst: pthread_attr_setaffinity_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:432,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:434,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:444,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:445,1
    - Dst: sigfillset
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:452,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:454,1
    - Dst: sigdelset
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:456,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:458,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:460,1
    - Dst: pthread_create
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:462,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:464,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:468,1
    - Dst: pthread_attr_destroy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:470,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:474,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:475,1
    - Dst: pthread_attr_destroy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:477,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 141
    argCount: 5
    argNames:
    - thread
    - name
    - attr
    - start_routine
    - arg
    argTypes:
    - ddsrt_thread_t*
    - char*
    - ddsrt_threadattr_t*
    - ddsrt_thread_routine_t
    - void*
    assertStmts:
    - condition: (thread != NULL)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (start_routine != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (attr != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (0)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (name != NULL)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 479
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 479
    functionName: ddsrt_thread_create
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 26
    functionsReached:
    - pthread_attr_getschedpolicy
    - pthread_attr_setschedparam
    - sigprocmask
    - pthread_attr_setinheritsched
    - ddsrt_malloc
    - pthread_attr_setstack
    - pthread_attr_getschedparam
    - sigdelset
    - pthread_attr_setname
    - DDS_ERROR
    - pthread_attr_setdetachstate
    - sigfillset
    - DDSRT_WARNING_GNUC_OFF
    - pthread_attr_setaffinity_np
    - ddsrt_strdup
    - pthread_attr_setschedpolicy
    - pthread_create
    - sched_get_priority_max
    - ddsrt_free
    - pthread_attr_init
    - assert
    - DDSRT_WARNING_GNUC_ON
    - pthread_attr_setscope
    - pthread_getschedparam
    - pthread_attr_destroy
    - DDS_WARNING
    - CPU_ZERO
    - sched_get_priority_min
    - CPU_SET
    - pthread_self
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_create (\n  ddsrt_thread_t *thread,\n  const
      char *name,\n  const ddsrt_threadattr_t *attr,\n  ddsrt_thread_routine_t start_routine,\n
      \ void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:487,1
    - Dst: pthread_getthreadid_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:490,1
    - Dst: pthread_threadid_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:494,1
    - Dst: taskIdSelf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:496,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 502
    functionName: ddsrt_gettid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 5
    functionsReached:
    - taskIdSelf
    - pthread_getthreadid_np
    - pthread_self
    - syscall
    - pthread_threadid_np
    linkageType: ''
    returnType: ddsrt_tid_t
    signature: ddsrt_tid_t ddsrt_gettid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: ddsrt_gettid_for_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_tid_t
    signature: ddsrt_tid_t ddsrt_gettid_for_thread( ddsrt_thread_t thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: ddsrt_thread_self
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 7
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: ddsrt_thread_t
    signature: ddsrt_thread_t ddsrt_thread_self(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - ddsrt_thread_t
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: ddsrt_thread_equal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - pthread_equal
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_thread_equal(ddsrt_thread_t t1, ddsrt_thread_t t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:533,1
    - Dst: pthread_join
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:537,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - thread
    - thread_result
    argTypes:
    - ddsrt_thread_t
    - uint32_t*
    assertStmts:
    - condition: (thread.v)
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 546
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 546
    functionName: ddsrt_thread_join
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 28
    functionsReached:
    - assert
    - pthread_join
    - DDS_ERROR
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_join(ddsrt_thread_t thread, uint32_t *thread_result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:556,1
    - Dst: readdir
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:559,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:565,1
    - Dst: closedir
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - tids
    - size
    argTypes:
    - ddsrt_thread_list_id_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 577
    functionName: ddsrt_thread_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - opendir
    - readdir
    - closedir
    - sscanf
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_list (\n  ddsrt_thread_list_id_t *tids,\n
      \ size_t size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:588,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:591,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:595,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:598,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:605,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - name
    - size
    argTypes:
    - ddsrt_thread_list_id_t
    - char*
    - size_t
    assertStmts:
    - condition: (size == 0 || namelen < size)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 610
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 610
    functionName: ddsrt_thread_getname_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - snprintf
    - fclose
    - assert
    - fopen
    - fgetc
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_getname_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  char *name,\n  size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:622,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:622,1
    - Dst: open
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:626,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:629,1
    - Dst: devctl
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:630,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:631,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:632,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:632,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:633,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - tids
    - size
    argTypes:
    - ddsrt_thread_list_id_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 650
    functionName: ddsrt_thread_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - snprintf
    - open
    - DDS_ERROR
    - close
    - getpid
    - memset
    - devctl
    - strerror
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_list (\n  ddsrt_thread_list_id_t *tids,\n
      \ size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:663,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:663,1
    - Dst: open
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:667,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:670,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:676,1
    - Dst: devctl
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:680,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:681,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:682,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:682,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:683,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:688,1
    - Dst: strncpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:691,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - tid
    - name
    - size
    argTypes:
    - ddsrt_thread_list_id_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 695
    functionName: ddsrt_thread_getname_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - snprintf
    - open
    - DDS_ERROR
    - close
    - getpid
    - memset
    - devctl
    - strerror
    - strncpy
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_getname_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  char *name,\n  size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: task_threads
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:706,1
    - Dst: mach_task_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:706,1
    - Dst: vm_deallocate
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:710,1
    - Dst: mach_task_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tids
    - size
    argTypes:
    - ddsrt_thread_list_id_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 712
    functionName: ddsrt_thread_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - vm_deallocate
    - mach_task_self
    - task_threads
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_list (\n  ddsrt_thread_list_id_t *tids,\n
      \ size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_from_mach_thread_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:722,1
    - Dst: pthread_getname_np
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:724,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - tid
    - name
    - size
    argTypes:
    - ddsrt_thread_list_id_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: ddsrt_thread_getname_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - pthread_from_mach_thread_np
    - pthread_getname_np
    - snprintf
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_getname_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  char *name,\n  size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:741,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 741
        line_start: 741
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: thread_init_once
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void thread_init_once(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: thread_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: void
    signature: void thread_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:756,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:759,1
    - Dst: thread_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:765,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:766,1
    - Dst: pthread_getspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:767,1
    - Dst: pthread_setspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:771,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:772,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (routine != NULL)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    - condition: (err != EINVAL)
      pos:
        line_end: 771
        line_start: 771
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 779
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 779
    functionName: ddsrt_thread_cleanup_push
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 3
    functionsReached:
    - ddsrt_calloc
    - ddsrt_free
    - assert
    - pthread_setspecific
    - pthread_self
    - thread_init
    - pthread_getspecific
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_push (void (*routine) (void * p),
      void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:787,1
    - Dst: thread_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:793,1
    - Dst: pthread_getspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:794,1
    - Dst: pthread_setspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:795,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:796,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:800,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - execute
    argTypes:
    - int
    assertStmts:
    - condition: (err != EINVAL)
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 805
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 805
    functionName: ddsrt_thread_cleanup_pop
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - assert
    - pthread_setspecific
    - thread_cleanup_t*::routine
    - pthread_self
    - thread_init
    - pthread_getspecific
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_pop (int execute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:814,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:815,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (tail->routine != NULL)
      pos:
        line_end: 813
        line_start: 813
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    constantsTouched: []
    func_position:
      end: 822
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 822
    functionName: thread_cleanup_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 0
    functionsReached:
    - assert
    - thread_cleanup_t*::routine
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void thread_cleanup_fini(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: ddsrt_thread_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - thread_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_init(uint32_t reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thread_init
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:835,1
    - Dst: pthread_getspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:836,1
    - Dst: thread_cleanup_fini
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:837,1
    - Dst: pthread_setspecific
      Src: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 840
    functionName: ddsrt_thread_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    functionUses: 2
    functionsReached:
    - thread_cleanup_fini
    - pthread_setspecific
    - thread_init
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_fini(uint32_t reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hThread
    - lpThreadDescription
    argTypes:
    - HANDLE
    - PCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: SetThreadDescription_dummy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT SetThreadDescription_dummy (HANDLE hThread, PCWSTR lpThreadDescription)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hThread
    - ppszThreadDescription
    argTypes:
    - HANDLE
    - PWSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: GetThreadDescription_dummy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT GetThreadDescription_dummy (HANDLE hThread, PWSTR *ppszThreadDescription)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleExA
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:55,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:62,1
    - Dst: GetProcAddress
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:63,1
    - Dst: GetProcAddress
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:67,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: getset_threaddescription_addresses
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 0
    functionsReached:
    - DDSRT_WARNING_GNUC_ON
    - GetModuleHandleExA
    - DDSRT_WARNING_GNUC_OFF
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void getset_threaddescription_addresses (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_thread_setname
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:89,1
    - Dst: thread_context_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:92,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:96,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - threadContext
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: os_startRoutineWrapper
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 0
    functionsReached:
    - ddsrt_thread_setname
    - thread_context_t*::routine
    - ddsrt_free
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t os_startRoutineWrapper(\n  void *threadContext)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:115,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:117,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:118,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:126,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:127,1
    - Dst: CreateThread
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:132,1
    - Dst: GetPriorityClass
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:160,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:160,1
    - Dst: SetThreadPriority
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:172,1
    - Dst: DDS_WARNING
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:173,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - thrptr
    - name
    - attr
    - start_routine
    - arg
    argTypes:
    - ddsrt_thread_t*
    - char*
    - ddsrt_threadattr_t*
    - ddsrt_thread_routine_t
    - void*
    assertStmts:
    - condition: (thrptr != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (name != NULL)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (attr != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (start_routine != NULL)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 177
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 177
    functionName: ddsrt_thread_create
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 26
    functionsReached:
    - GetPriorityClass
    - SetThreadPriority
    - GetLastError
    - GetCurrentProcess
    - CreateThread
    - assert
    - DDS_WARNING
    - ddsrt_strdup
    - ddsrt_malloc
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_create(\n  ddsrt_thread_t *thrptr,\n  const
      char *name,\n  const ddsrt_threadattr_t *attr,\n  ddsrt_thread_routine_t start_routine,\n
      \ void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ddsrt_gettid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 5
    functionsReached:
    - GetCurrentThreadId
    linkageType: ''
    returnType: ddsrt_tid_t
    signature: ddsrt_tid_t ddsrt_gettid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: ddsrt_gettid_for_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ddsrt_tid_t
    signature: ddsrt_tid_t ddsrt_gettid_for_thread( ddsrt_thread_t thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:198,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: ddsrt_thread_self
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 7
    functionsReached:
    - GetCurrentThread
    - GetCurrentThreadId
    linkageType: ''
    returnType: ddsrt_thread_t
    signature: "ddsrt_thread_t ddsrt_thread_self(\n    void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ddsrt_thread_t
    - ddsrt_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: ddsrt_thread_equal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_thread_equal(ddsrt_thread_t a, ddsrt_thread_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:226,1
    - Dst: GetExitCodeThread
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:233,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:240,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - thread
    - thread_result
    argTypes:
    - ddsrt_thread_t
    - uint32_t*
    assertStmts:
    - condition: (tr != STILL_ACTIVE)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: ddsrt_thread_join
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 28
    functionsReached:
    - CloseHandle
    - assert
    - WaitForSingleObject
    - GetExitCodeThread
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_join(\n  ddsrt_thread_t thread,\n  uint32_t
      *thread_result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:263,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:265,1
    - Dst: ddsrt_gettid
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:266,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: ddsrt_thread_getname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 3
    functionsReached:
    - ddsrt_strlcpy
    - assert
    - ddsrt_gettid
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t ddsrt_thread_getname(\n  char *str,\n  size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:301,1
    - Dst: getset_threaddescription_addresses
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:302,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:305,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:306,1
    - Dst: mbstowcs_s
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:308,1
    - Dst: SetThreadDescription_ptr
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:309,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:309,1
    - Dst: free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:310,1
    - Dst: RaiseException
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:327,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: ddsrt_thread_setname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 3
    functionsReached:
    - GetCurrentThread
    - assert
    - ddsrt_strlcpy
    - strlen
    - malloc
    - free
    - getset_threaddescription_addresses
    - SetThreadDescription_ptr
    - RaiseException
    - mbstowcs_s
    linkageType: ''
    returnType: void
    signature: "void ddsrt_thread_setname(\n  const char *name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:346,1
    - Dst: CreateToolhelp32Snapshot
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:349,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:352,1
    - Dst: Thread32First
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:354,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:356,1
    - Dst: OpenThread
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:367,1
    - Dst: Thread32Next
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:371,1
    - Dst: CloseHandle
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - tids
    - size
    argTypes:
    - ddsrt_thread_list_id_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: ddsrt_thread_list
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached:
    - Thread32First
    - GetCurrentProcessId
    - CloseHandle
    - CreateToolhelp32Snapshot
    - memset
    - Thread32Next
    - OpenThread
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_list (\n  ddsrt_thread_list_id_t *tids,\n
      \ size_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getset_threaddescription_addresses
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:382,1
    - Dst: GetThreadDescription_ptr
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:386,1
    - Dst: SUCCEEDED
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:387,1
    - Dst: wcstombs_s
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:392,1
    - Dst: LocalFree
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:393,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:397,1
    - Dst: GetThreadId
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tid
    - name
    - size
    argTypes:
    - ddsrt_thread_list_id_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 401
    functionName: ddsrt_thread_getname_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached:
    - snprintf
    - LocalFree
    - GetThreadDescription_ptr
    - SUCCEEDED
    - GetThreadId
    - getset_threaddescription_addresses
    - wcstombs_s
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_thread_getname_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  char *name,\n  size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:412,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:413,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:415,1
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:417,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:420,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (routine != NULL)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (cleanup != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 424
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 424
    functionName: ddsrt_thread_cleanup_push
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 3
    functionsReached:
    - ddsrt_free
    - assert
    - TlsSetValue
    - ddsrt_malloc
    - TlsGetValue
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_push(void (*routine)(void *), void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:430,1
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:431,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:433,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:436,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - execute
    argTypes:
    - int
    assertStmts:
    - condition: (cleanup != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: ddsrt_thread_cleanup_pop
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - assert
    - thread_cleanup_t*::routine
    - TlsSetValue
    - TlsGetValue
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_thread_cleanup_pop(int execute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:445,1
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:446,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:447,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:452,1
    - Dst: thread_cleanup_t*::routine
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:453,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cleanup != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (tail->routine != NULL)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 457
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 457
    functionName: thread_cleanup_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 1
    functionsReached:
    - ddsrt_free
    - assert
    - thread_cleanup_t*::routine
    - TlsSetValue
    - TlsGetValue
    linkageType: ''
    returnType: void
    signature: void thread_cleanup_fini(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:461,1
    - Dst: TlsAlloc
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:465,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (reason == DLL_PROCESS_ATTACH || reason == DLL_THREAD_ATTACH)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: ddsrt_thread_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached:
    - TlsAlloc
    - assert
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_init(uint32_t reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:471,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:472,1
    - Dst: thread_cleanup_fini
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:474,1
    - Dst: TlsFree
      Src: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - reason
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (reason == DLL_PROCESS_DETACH || reason == DLL_THREAD_DETACH)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - condition: (cleanup != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: ddsrt_thread_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    functionUses: 2
    functionsReached:
    - assert
    - TlsFree
    - thread_cleanup_fini
    linkageType: ''
    returnType: void
    signature: void ddsrt_thread_fini(uint32_t reason)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:21,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:34,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:51,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:95,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:118,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 84
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 120
    functionName: ddsrt_netstat_get
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c
    functionUses: 2
    functionsReached:
    - fclose
    - sscanf
    - strcmp
    - fopen
    - fgetc
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:124,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:126,1
    - Dst: ddsrt_netstat_get
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:127,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:129,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - control
    - device
    argTypes:
    - struct ddsrt_netstat_control**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: ddsrt_netstat_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_netstat_get
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_new (struct ddsrt_netstat_control **control,
      const char *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:143,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct ddsrt_netstat_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ddsrt_netstat_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_free (struct ddsrt_netstat_control *control)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:43,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:45,1
    - Dst: sysctl
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:57,1
    - Dst: sysctl
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:68,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 95
    functionName: ddsrt_netstat_get_int
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sysctl
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get_int (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:99,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:101,1
    - Dst: ddsrt_netstat_get_int
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:103,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:105,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - control
    - device
    argTypes:
    - struct ddsrt_netstat_control**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: ddsrt_netstat_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_free
    - ddsrt_netstat_get_int
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_new (struct ddsrt_netstat_control **control,
      const char *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:119,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct ddsrt_netstat_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: ddsrt_netstat_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_free (struct ddsrt_netstat_control *control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_netstat_get_int
      Src: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: ddsrt_netstat_get
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
    functionUses: 3
    functionsReached:
    - ddsrt_netstat_get_int
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct ddsrt_netstat*
    - MIB_IF_ROW2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: copy_data
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_data (struct ddsrt_netstat *dst, const MIB_IF_ROW2 *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:36,1
    - Dst: wcscmp
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - control
    - info
    argTypes:
    - struct ddsrt_netstat_control*
    - MIB_IF_ROW2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: is_desired_interface
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool is_desired_interface (const struct ddsrt_netstat_control *control,
      const MIB_IF_ROW2 *info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:47,1
    - Dst: GetIfEntry2
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:49,1
    - Dst: is_desired_interface
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:49,1
    - Dst: copy_data
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:53,1
    - Dst: GetIfTable2
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:59,1
    - Dst: is_desired_interface
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:64,1
    - Dst: copy_data
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:68,1
    - Dst: FreeMibTable
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: ddsrt_netstat_get_int
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 2
    functionsReached:
    - GetIfEntry2
    - FreeMibTable
    - is_desired_interface
    - memset
    - copy_data
    - GetIfTable2
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get_int (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:82,1
    - Dst: strlen
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:84,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:85,1
    - Dst: mbstowcs_s
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:87,1
    - Dst: ddsrt_netstat_get_int
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:91,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:93,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - control
    - device
    argTypes:
    - struct ddsrt_netstat_control**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: ddsrt_netstat_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    - strlen
    - ddsrt_netstat_get_int
    - ddsrt_malloc
    - mbstowcs_s
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_new (struct ddsrt_netstat_control **control,
      const char *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:107,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct ddsrt_netstat_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ddsrt_netstat_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_free (struct ddsrt_netstat_control *control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_netstat_get_int
      Src: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ddsrt_netstat_get
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    functionUses: 3
    functionsReached:
    - ddsrt_netstat_get_int
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:27,1
    - Dst: strncpy
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:31,1
    - Dst: devctl
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:36,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:37,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:38,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:39,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - control
    - stats
    argTypes:
    - struct ddsrt_netstat_control*
    - struct ddsrt_netstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: ddsrt_netstat_get
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c
    functionUses: 3
    functionsReached:
    - DDS_ERROR
    - close
    - devctl
    - strerror
    - socket
    - strncpy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_get (struct ddsrt_netstat_control *control,
      struct ddsrt_netstat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:54,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:56,1
    - Dst: ddsrt_netstat_get
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:57,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:59,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - control
    - device
    argTypes:
    - struct ddsrt_netstat_control**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: ddsrt_netstat_new
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - ddsrt_malloc
    - ddsrt_netstat_get
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_new (struct ddsrt_netstat_control **control,
      const char *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:73,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct ddsrt_netstat_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: ddsrt_netstat_free
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c
    functionUses: 2
    functionsReached:
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_netstat_free (struct ddsrt_netstat_control *control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: ddsrt_getpid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c
    functionUses: 13
    functionsReached:
    - xTaskGetCurrentTaskHandle
    linkageType: ''
    returnType: ddsrt_pid_t
    signature: ddsrt_pid_t ddsrt_getpid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c:26,1
    - Dst: pcTaskGetName
      Src: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c:26,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ddsrt_getprocessname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c
    functionUses: 2
    functionsReached:
    - ddsrt_strdup
    - xTaskGetCurrentTaskHandle
    - pcTaskGetName
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_getprocessname(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: ddsrt_getpid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/posix/process.c
    functionUses: 13
    functionsReached:
    - getpid
    linkageType: ''
    returnType: ddsrt_pid_t
    signature: ddsrt_pid_t ddsrt_getpid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: _basename
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/posix/process.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *_basename(char const *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getprogname
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:45,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:55,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:58,1
    - Dst: _basename
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:67,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:69,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:74,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:77,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:77,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/process/posix/process.c:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: ddsrt_getprocessname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/posix/process.c
    functionUses: 2
    functionsReached:
    - fclose
    - ddsrt_getpid
    - ddsrt_free
    - ddsrt_asprintf
    - ddsrt_strdup
    - fopen
    - getprogname
    - fgetc
    - _basename
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_getprocessname(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/cyclonedds/src/ddsrt/src/process/windows/process.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: ddsrt_getpid
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/windows/process.c
    functionUses: 14
    functionsReached:
    - GetCurrentProcessId
    linkageType: ''
    returnType: ddsrt_pid_t
    signature: ddsrt_pid_t ddsrt_getpid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameA
      Src: /src/cyclonedds/src/ddsrt/src/process/windows/process.c:30,1
    - Dst: ddsrt_asprintf
      Src: /src/cyclonedds/src/ddsrt/src/process/windows/process.c:31,1
    - Dst: ddsrt_getpid
      Src: /src/cyclonedds/src/ddsrt/src/process/windows/process.c:31,1
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/ddsrt/src/process/windows/process.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: ddsrt_getprocessname
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/process/windows/process.c
    functionUses: 2
    functionsReached:
    - GetModuleFileNameA
    - ddsrt_strdup
    - ddsrt_asprintf
    - ddsrt_getpid
    linkageType: ''
    returnType: char
    signature: 'char *

      ddsrt_getprocessname(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uxTaskGetNumberOfTasks
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:41,1
    - Dst: ddsrt_realloc_s
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:43,1
    - Dst: uxTaskGetSystemState
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:49,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:54,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - usage
    argTypes:
    - ddsrt_rusage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: rusage_self
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    functionUses: 0
    functionsReached:
    - ddsrt_free
    - uxTaskGetNumberOfTasks
    - memset
    - uxTaskGetSystemState
    - ddsrt_realloc_s
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t rusage_self(ddsrt_rusage_t *usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:72,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:73,1
    - Dst: vTaskGetInfo
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: rusage_thread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    functionUses: 0
    functionsReached:
    - vTaskGetInfo
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t rusage_thread(ddsrt_thread_list_id_t tid, ddsrt_rusage_t
      *usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:86,1
    - Dst: rusage_thread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (usage != NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: ddsrt_getrusage_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    functionUses: 3
    functionsReached:
    - assert
    - rusage_thread
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage_anythread(ddsrt_thread_list_id_t tid,
      ddsrt_rusage_t *usage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:95,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:96,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:99,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:99,1
    - Dst: rusage_self
      Src: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - who
    - usage
    argTypes:
    - enum ddsrt_getrusage_who
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (who == DDSRT_RUSAGE_SELF || who == DDSRT_RUSAGE_THREAD)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    - condition: (usage != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: ddsrt_getrusage
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
    functionUses: 4
    functionsReached:
    - rusage_self
    - assert
    - xTaskGetCurrentTaskHandle
    - ddsrt_getrusage_anythread
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage(enum ddsrt_getrusage_who who, ddsrt_rusage_t
      *usage)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:41,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:45,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:48,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:56,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:90,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:91,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:98,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:107,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:110,1
    - Dst: fgetc
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:114,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:125,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:127,1
    - Dst: fscanf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:139,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:148,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (savepos < sizeof (save))
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    constantsTouched: []
    func_position:
      end: 150
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 150
    functionName: ddsrt_getrusage_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 4
    functionsReached:
    - snprintf
    - fclose
    - sscanf
    - assert
    - strcmp
    - fscanf
    - sysconf
    - fopen
    - fgetc
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getrusage_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  ddsrt_rusage_t *usage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:157,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:158,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:160,1
    - Dst: getrusage
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - who
    - usage
    argTypes:
    - enum ddsrt_getrusage_who
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (who == DDSRT_RUSAGE_SELF || who == DDSRT_RUSAGE_THREAD)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    - condition: (usage != NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: ddsrt_getrusage
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 4
    functionsReached:
    - assert
    - getrusage
    - memset
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage (enum ddsrt_getrusage_who who, ddsrt_rusage_t
      *usage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:188,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:189,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:191,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:191,1
    - Dst: open
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:195,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:198,1
    - Dst: devctl
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:200,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:201,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:202,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:202,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:203,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (tid >= 1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    - condition: (usage)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: ddsrt_getrusage_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 4
    functionsReached:
    - snprintf
    - open
    - DDS_ERROR
    - close
    - getpid
    - assert
    - memset
    - devctl
    - strerror
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getrusage_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  ddsrt_rusage_t *usage)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:227,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:228,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:236,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:236,1
    - Dst: fopen
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:240,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:242,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:243,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:243,1
    - Dst: sysconf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:246,1
    - Dst: fgets
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:247,1
    - Dst: strstr
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:248,1
    - Dst: strchr
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:249,1
    - Dst: strtoul
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:252,1
    - Dst: fclose
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:256,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:262,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:262,1
    - Dst: open
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:266,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:269,1
    - Dst: devctl
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:270,1
    - Dst: DDS_ERROR
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:271,1
    - Dst: getpid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:272,1
    - Dst: strerror
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:272,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:273,1
    - Dst: close
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:276,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:281,1
    - Dst: gettid
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - who
    - usage
    argTypes:
    - enum ddsrt_getrusage_who
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (who == DDSRT_RUSAGE_SELF || who == DDSRT_RUSAGE_THREAD)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    - condition: (usage != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    constantsTouched: []
    func_position:
      end: 285
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 285
    functionName: ddsrt_getrusage
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 4
    functionsReached:
    - strstr
    - snprintf
    - fclose
    - open
    - DDS_ERROR
    - strtoul
    - getpid
    - assert
    - close
    - fgets
    - memset
    - sysconf
    - devctl
    - gettid
    - fopen
    - strerror
    - strchr
    - ddsrt_getrusage_anythread
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage (enum ddsrt_getrusage_who who, ddsrt_rusage_t
      *usage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thread_info
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: ddsrt_getrusage_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 5
    functionsReached:
    - thread_info
    linkageType: ''
    returnType: dds_return_t
    signature: "dds_return_t ddsrt_getrusage_anythread (\n  ddsrt_thread_list_id_t
      tid,\n  ddsrt_rusage_t *usage)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:319,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:321,1
    - Dst: getrusage
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:322,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:327,1
    - Dst: pthread_mach_thread_np
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:327,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - who
    - usage
    argTypes:
    - enum ddsrt_getrusage_who
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (usage != NULL)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    constantsTouched: []
    func_position:
      end: 340
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 340
    functionName: ddsrt_getrusage
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
    functionUses: 4
    functionsReached:
    - assert
    - memset
    - pthread_self
    - pthread_mach_thread_np
    - getrusage
    - ddsrt_getrusage_anythread
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage (enum ddsrt_getrusage_who who, ddsrt_rusage_t
      *usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ft
    argTypes:
    - FILETIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: filetime_to_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t filetime_to_time (const FILETIME *ft)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:31,1
    - Dst: GetThreadTimes
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:35,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:38,1
    - Dst: filetime_to_time
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:39,1
    - Dst: filetime_to_time
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tid
    - usage
    argTypes:
    - ddsrt_thread_list_id_t
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (usage != NULL)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: ddsrt_getrusage_anythread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    functionUses: 6
    functionsReached:
    - GetThreadTimes
    - assert
    - memset
    - filetime_to_time
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage_anythread (ddsrt_thread_list_id_t tid,
      ddsrt_rusage_t *usage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:49,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:50,1
    - Dst: GetProcessMemoryInfo
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:54,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:54,1
    - Dst: ddsrt_getrusage_anythread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:60,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:60,1
    - Dst: GetProcessTimes
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:66,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:66,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:68,1
    - Dst: filetime_to_time
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:69,1
    - Dst: filetime_to_time
      Src: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - who
    - usage
    argTypes:
    - enum ddsrt_getrusage_who
    - ddsrt_rusage_t*
    assertStmts:
    - condition: (who == DDSRT_RUSAGE_SELF || who == DDSRT_RUSAGE_THREAD)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    - condition: (usage != NULL)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: ddsrt_getrusage
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
    functionUses: 4
    functionsReached:
    - GetCurrentThread
    - GetCurrentProcess
    - assert
    - memset
    - GetProcessTimes
    - filetime_to_time
    - GetProcessMemoryInfo
    - ddsrt_getrusage_anythread
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t ddsrt_getrusage (enum ddsrt_getrusage_who who, ddsrt_rusage_t
      *usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:22,1
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: dds_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 67
    functionsReached:
    - timespec_get
    - clock_gettime
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t dds_time (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ddsrt_time_wallclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 43
    functionsReached:
    - dds_time
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsrt_time_wallclock (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetTickCount
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ddsrt_time_monotonic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 63
    functionsReached:
    - xTaskGetTickCount
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsrt_time_monotonic (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetTickCount
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ddsrt_time_elapsed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 28
    functionsReached:
    - xTaskGetTickCount
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t ddsrt_time_elapsed (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ddsrt_time_highres
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 11
    functionsReached:
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: ddsrt_hrtime_t
    signature: ddsrt_hrtime_t ddsrt_time_highres(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:57,1
    - Dst: vTaskDelay
      Src: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - reltime
    argTypes:
    - dds_duration_t
    assertStmts:
    - condition: (portMAX_DELAY > configTICK_RATE_HZ)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: dds_sleepfor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
    functionUses: 59
    functionsReached:
    - vTaskDelay
    - assert
    linkageType: ''
    returnType: void
    signature: void dds_sleepfor (dds_duration_t reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: dds_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
    functionUses: 68
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t dds_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ddsrt_time_wallclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
    functionUses: 43
    functionsReached:
    - dds_time
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsrt_time_wallclock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ddsrt_time_monotonic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
    functionUses: 64
    functionsReached:
    - gethrtime
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsrt_time_monotonic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ddsrt_time_elapsed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
    functionUses: 28
    functionsReached:
    - gethrtime
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t ddsrt_time_elapsed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ddsrt_time_highres
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
    functionUses: 11
    functionsReached:
    - gethrtime
    linkageType: ''
    returnType: ddsrt_hrtime_t
    signature: ddsrt_hrtime_t ddsrt_time_highres(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: dds_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
    functionUses: 69
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t dds_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ddsrt_time_wallclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
    functionUses: 43
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsrt_time_wallclock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ddsrt_time_monotonic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
    functionUses: 64
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsrt_time_monotonic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ddsrt_time_elapsed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
    functionUses: 28
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t ddsrt_time_elapsed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYSPAGE_ENTRY
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:60,1
    - Dst: ClockCycles
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:63,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/time/posix/time.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: ddsrt_time_highres
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
    functionUses: 11
    functionsReached:
    - SYSPAGE_ENTRY
    - ddsrt_time_monotonic
    - ClockCycles
    linkageType: ''
    returnType: ddsrt_hrtime_t
    signature: ddsrt_hrtime_t ddsrt_time_highres(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime_nsec_np
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:26,1
    - Dst: gettimeofday
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: dds_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
    functionUses: 69
    functionsReached:
    - gettimeofday
    - clock_gettime_nsec_np
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t dds_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ddsrt_time_wallclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
    functionUses: 43
    functionsReached:
    - dds_time
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsrt_time_wallclock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime_nsec_np
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:42,1
    - Dst: mach_absolute_time
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:58,1
    - Dst: mach_timebase_info
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: ddsrt_time_monotonic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
    functionUses: 65
    functionsReached:
    - mach_absolute_time
    - mach_timebase_info
    - clock_gettime_nsec_np
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsrt_time_monotonic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime_nsec_np
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:71,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: ddsrt_time_elapsed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
    functionUses: 28
    functionsReached:
    - ddsrt_time_monotonic
    - clock_gettime_nsec_np
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t ddsrt_time_elapsed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: ddsrt_time_highres
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
    functionUses: 11
    functionsReached:
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: ddsrt_hrtime_t
    signature: ddsrt_hrtime_t ddsrt_time_highres(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimePreciseAsFileTime
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:58,1
    - Dst: GetSystemTimeAsFileTimeFunc
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: dds_time
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 70
    functionsReached:
    - GetSystemTimePreciseAsFileTime
    - GetSystemTimeAsFileTimeFunc
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t dds_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:83,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:84,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:86,1
    - Dst: GetProcAddress
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:87,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (Kernel32ModuleHandle)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: ddsrt_time_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 1
    functionsReached:
    - GetProcAddress
    - DDSRT_WARNING_GNUC_ON
    - assert
    - DDSRT_WARNING_GNUC_OFF
    - LoadLibrary
    linkageType: ''
    returnType: void
    signature: void ddsrt_time_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ddsrt_time_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 1
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void ddsrt_time_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ddsrt_time_wallclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 43
    functionsReached:
    - dds_time
    linkageType: ''
    returnType: ddsrt_wctime_t
    signature: ddsrt_wctime_t ddsrt_time_wallclock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnbiasedInterruptTime
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ddsrt_time_monotonic
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 67
    functionsReached:
    - QueryUnbiasedInterruptTime
    linkageType: ''
    returnType: ddsrt_mtime_t
    signature: ddsrt_mtime_t ddsrt_time_monotonic(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:147,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:156,1
    - Dst: QueryPerformanceCounter
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qpc_freq)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    constantsTouched: []
    func_position:
      end: 164
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 164
    functionName: ddsrt_time_elapsed
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 28
    functionsReached:
    - assert
    - QueryPerformanceFrequency
    - QueryPerformanceCounter
    linkageType: ''
    returnType: ddsrt_etime_t
    signature: ddsrt_etime_t ddsrt_time_elapsed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnbiasedInterruptTime
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: ddsrt_time_highres
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 11
    functionsReached:
    - QueryUnbiasedInterruptTime
    linkageType: ''
    returnType: ddsrt_hrtime_t
    signature: ddsrt_hrtime_t ddsrt_time_highres(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:182,1
    - Dst: Sleep
      Src: /src/cyclonedds/src/ddsrt/src/time/windows/time.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: dds_sleepfor
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
    functionUses: 59
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - Sleep
    linkageType: ''
    returnType: void
    signature: void dds_sleepfor (dds_duration_t timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:63,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:66,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:67,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:68,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->end == 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->tasks[i] == NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->off == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->len == DDSRT_TASKLIST_INITIAL)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: tasklist_assert
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void tasklist_assert(ddsrt_tasklist_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:84,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:86,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:91,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: ddsrt_tasklist_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 6
    functionsReached:
    - assert
    - memset
    - ddsrt_malloc
    linkageType: ''
    returnType: int
    signature: int ddsrt_tasklist_init(ddsrt_tasklist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:101,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ddsrt_tasklist_fini
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 6
    functionsReached:
    - memset
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void ddsrt_tasklist_fini(ddsrt_tasklist_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:109,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:110,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->cnt != 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (i == list->len - 1)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->off > list->end)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: ddsrt_tasklist_ltrim
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_tasklist_ltrim(ddsrt_tasklist_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:129,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:130,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:136,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->off > list->end)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (i == 0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->cnt != 0)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: ddsrt_tasklist_rtrim
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_tasklist_rtrim(ddsrt_tasklist_t *list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:166,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:184,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:201,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (j != 0)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->end == list->cnt - 1)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (j != list->len - 1)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (j != 0)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 206
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 206
    functionName: ddsrt_tasklist_pack
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ddsrt_tasklist_pack(ddsrt_tasklist_t *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:214,1
    - Dst: ddsrt_tasklist_pack
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:225,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:230,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:232,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:237,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->end < list->off)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 250
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 250
    functionName: ddsrt_tasklist_shrink
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - memmove
    - ddsrt_tasklist_pack
    - assert
    - ddsrt_realloc
    linkageType: ''
    returnType: int
    signature: int ddsrt_tasklist_shrink(ddsrt_tasklist_t *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:258,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:260,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:263,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:269,1
    - Dst: memmove
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:270,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - list
    argTypes:
    - ddsrt_tasklist_t*
    assertStmts:
    - condition: (list != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->cnt == list->len)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    - condition: (list->end < list->off)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 281
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 281
    functionName: ddsrt_tasklist_grow
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert
    - ddsrt_realloc
    - memset
    linkageType: ''
    returnType: int
    signature: int ddsrt_tasklist_grow(ddsrt_tasklist_t *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - list
    - task
    argTypes:
    - ddsrt_tasklist_t*
    - TaskHandle_t
    assertStmts:
    - condition: (task != NULL)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: ddsrt_tasklist_find
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ddsrt_tasklist_find(ddsrt_tasklist_t *list, TaskHandle_t task)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tasklist_assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:312,1
    - Dst: ddsrt_tasklist_find
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - list
    - task
    argTypes:
    - ddsrt_tasklist_t*
    - TaskHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: ddsrt_tasklist_peek
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 0
    functionsReached:
    - ddsrt_tasklist_find
    - tasklist_assert
    linkageType: ''
    returnType: TaskHandle_t
    signature: TaskHandle_t ddsrt_tasklist_peek(ddsrt_tasklist_t *list, TaskHandle_t
      task)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tasklist_assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:327,1
    - Dst: ddsrt_tasklist_find
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:333,1
    - Dst: ddsrt_tasklist_rtrim
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:347,1
    - Dst: ddsrt_tasklist_ltrim
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:350,1
    - Dst: ddsrt_tasklist_shrink
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - list
    - task
    argTypes:
    - ddsrt_tasklist_t*
    - TaskHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 362
    functionName: ddsrt_tasklist_pop
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 7
    functionsReached:
    - ddsrt_tasklist_ltrim
    - ddsrt_tasklist_shrink
    - tasklist_assert
    - ddsrt_tasklist_find
    - ddsrt_tasklist_rtrim
    linkageType: ''
    returnType: TaskHandle_t
    signature: TaskHandle_t ddsrt_tasklist_pop(ddsrt_tasklist_t *list, TaskHandle_t
      task)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tasklist_assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:366,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:367,1
    - Dst: ddsrt_tasklist_find
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:370,1
    - Dst: ddsrt_tasklist_grow
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:375,1
    - Dst: ddsrt_tasklist_pack
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - list
    - task
    argTypes:
    - ddsrt_tasklist_t*
    - TaskHandle_t
    assertStmts:
    - condition: (task != NULL)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    constantsTouched: []
    func_position:
      end: 395
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 395
    functionName: ddsrt_tasklist_push
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
    functionUses: 4
    functionsReached:
    - assert
    - ddsrt_tasklist_pack
    - tasklist_assert
    - ddsrt_tasklist_find
    - ddsrt_tasklist_grow
    linkageType: ''
    returnType: int
    signature: int ddsrt_tasklist_push(ddsrt_tasklist_t *list, TaskHandle_t task)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xSemaphoreCreateMutex
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:26,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:27,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: ddsrt_mutex_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 75
    functionsReached:
    - abort
    - xSemaphoreCreateMutex
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_init (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vSemaphoreDelete
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:35,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ddsrt_mutex_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 75
    functionsReached:
    - vSemaphoreDelete
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_destroy (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:41,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mutex
    - blk
    argTypes:
    - ddsrt_mutex_t*
    - int
    assertStmts:
    - condition: (blk == 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: mutex_lock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 499
    functionsReached:
    - assert
    - xSemaphoreTake
    linkageType: ''
    returnType: bool
    signature: bool mutex_lock (ddsrt_mutex_t *mutex, int blk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:53,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ddsrt_mutex_lock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 499
    functionsReached:
    - DDS_FATAL
    - mutex_lock
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_lock (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ddsrt_mutex_trylock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 4
    functionsReached:
    - mutex_lock
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_mutex_trylock (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:65,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ddsrt_mutex_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 499
    functionsReached:
    - DDS_FATAL
    - xSemaphoreGive
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_unlock (ddsrt_mutex_t *mutex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:85,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:105,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:106,1
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:108,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:110,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:112,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:114,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:117,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:119,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:120,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:121,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - cond
    - mutex
    - tnow
    - abstimeout
    argTypes:
    - ddsrt_cond_t*
    - ddsrt_mutex_t*
    - int64_t
    - int64_t
    assertStmts:
    - condition: (portMAX_DELAY > configTICK_RATE_HZ)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 132
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 132
    functionName: cond_waituntil_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 0
    functionsReached:
    - xSemaphoreGive
    - assert
    - xTaskGetCurrentTaskHandle
    - ddsrt_mutex_lock
    - ddsrt_tasklist_pop
    - xSemaphoreTake
    - ulTaskNotifyTake
    - ddsrt_mutex_unlock
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: bool
    signature: bool cond_waituntil_impl (ddsrt_cond_t *cond, ddsrt_mutex_t *mutex,
      int64_t tnow, int64_t abstimeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:138,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:139,1
    - Dst: xSemaphoreCreateMutex
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:141,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:142,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:143,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: ddsrt_cond_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 15
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - xSemaphoreCreateMutex
    - memset
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_init (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ddsrt_cond_wctime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_init (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ddsrt_cond_mtime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 8
    functionsReached:
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_init (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ddsrt_cond_etime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 5
    functionsReached:
    - ddsrt_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_init (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vSemaphoreDelete
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:167,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:168,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: ddsrt_cond_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 17
    functionsReached:
    - ddsrt_tasklist_fini
    - vSemaphoreDelete
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_destroy (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: ddsrt_cond_wctime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_destroy (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: ddsrt_cond_mtime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 9
    functionsReached:
    - ddsrt_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_destroy (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: ddsrt_cond_etime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 5
    functionsReached:
    - ddsrt_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_destroy (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: ddsrt_cond_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 28
    functionsReached:
    - cond_waituntil_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wait (ddsrt_cond_t *cond, ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: ddsrt_cond_wctime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - cond_waituntil_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_wait (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: ddsrt_cond_mtime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 3
    functionsReached:
    - cond_waituntil_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_wait (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: ddsrt_cond_etime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 5
    functionsReached:
    - cond_waituntil_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_wait (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:209,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: ddsrt_cond_wctime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_time_wallclock
    - cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_wctime_waituntil (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_wctime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:214,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: ddsrt_cond_mtime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 10
    functionsReached:
    - cond_waituntil_impl
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_mtime_waituntil (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_mtime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:219,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: ddsrt_cond_etime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 6
    functionsReached:
    - cond_waituntil_impl
    - ddsrt_time_elapsed
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_etime_waituntil (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_etime_t abstimeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:226,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:227,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:228,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: ddsrt_cond_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 4
    functionsReached:
    - xSemaphoreGive
    - ddsrt_tasklist_pop
    - xTaskNotifyGive
    - xSemaphoreTake
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_signal (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: ddsrt_cond_wctime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_signal (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: ddsrt_cond_mtime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 4
    functionsReached:
    - ddsrt_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_signal (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: ddsrt_cond_etime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_signal (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:251,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:252,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:253,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: ddsrt_cond_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 36
    functionsReached:
    - xSemaphoreGive
    - ddsrt_tasklist_pop
    - xTaskNotifyGive
    - xSemaphoreTake
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_broadcast (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: ddsrt_cond_wctime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_broadcast (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: ddsrt_cond_mtime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 14
    functionsReached:
    - ddsrt_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_broadcast (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: ddsrt_cond_etime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 17
    functionsReached:
    - ddsrt_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_broadcast (ddsrt_cond_etime_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:282,1
    - Dst: ddsrt_tasklist_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:284,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:285,1
    - Dst: xSemaphoreCreateMutex
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:287,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:288,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:289,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 296
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionName: ddsrt_rwlock_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 2
    functionsReached:
    - ddsrt_tasklist_init
    - ddsrt_tasklist_fini
    - assert
    - xSemaphoreCreateMutex
    - memset
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_init(ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:300,1
    - Dst: vSemaphoreDelete
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:302,1
    - Dst: ddsrt_tasklist_fini
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:303,1
    - Dst: memset
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: ddsrt_rwlock_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 1
    functionsReached:
    - assert
    - ddsrt_tasklist_fini
    - vSemaphoreDelete
    - memset
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_destroy(ddsrt_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:309,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:311,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:313,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:316,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:318,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:319,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:321,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:322,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:323,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:325,1
    - Dst: ddsrt_tasklist_peek
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:330,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:331,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: "(rwlock->state == UNLOCKED ||\n         rwlock->state == READ_LOCKED)"
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 334
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 334
    functionName: ddsrt_rwlock_read
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 2
    functionsReached:
    - xSemaphoreGive
    - ddsrt_tasklist_peek
    - assert
    - xTaskGetCurrentTaskHandle
    - xTaskNotifyGive
    - ddsrt_tasklist_pop
    - xSemaphoreTake
    - ulTaskNotifyTake
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_read(ddsrt_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xTaskGetCurrentTaskHandle
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:338,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:340,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:342,1
    - Dst: ddsrt_tasklist_push
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:345,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:348,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:349,1
    - Dst: ulTaskNotifyTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:351,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:352,1
    - Dst: ddsrt_tasklist_pop
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:354,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:356,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:357,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->cnt == 0)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->state == UNLOCKED)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 361
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 361
    functionName: ddsrt_rwlock_write
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 2
    functionsReached:
    - xSemaphoreGive
    - assert
    - xTaskGetCurrentTaskHandle
    - ddsrt_tasklist_pop
    - xSemaphoreTake
    - ulTaskNotifyTake
    - ddsrt_tasklist_push
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_write(ddsrt_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:368,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:370,1
    - Dst: ddsrt_tasklist_peek
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:377,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:378,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: ddsrt_rwlock_tryread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 2
    functionsReached:
    - xSemaphoreGive
    - ddsrt_tasklist_peek
    - assert
    - xSemaphoreTake
    - xTaskNotifyGive
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_tryread(ddsrt_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:390,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:392,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: ddsrt_rwlock_trywrite
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 2
    functionsReached:
    - xSemaphoreGive
    - assert
    - xSemaphoreTake
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_trywrite(ddsrt_rwlock_t *rwlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:408,1
    - Dst: xSemaphoreTake
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:410,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:411,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:414,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:420,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:421,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:422,1
    - Dst: ddsrt_tasklist_peek
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:428,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:430,1
    - Dst: xTaskNotifyGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:432,1
    - Dst: xSemaphoreGive
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock != NULL)
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->rdcnt != 0)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->state == WRITE_LOCKED)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->cnt != 0)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->wrcnt != 0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (rwlock->cnt == 0)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: "(rwlock->rdcnt != 0 ||\n           rwlock->wrcnt != 0)"
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 435
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 435
    functionName: ddsrt_rwlock_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 4
    functionsReached:
    - xSemaphoreGive
    - ddsrt_tasklist_peek
    - assert
    - xSemaphoreTake
    - xTaskNotifyGive
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_unlock(ddsrt_rwlock_t *rwlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:453,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:455,1
    - Dst: vTaskDelay
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:467,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:474,1
    - Dst: init_fn
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:478,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:480,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - control
    - init_fn
    argTypes:
    - ddsrt_once_t*
    - ddsrt_once_fn
    assertStmts:
    - condition: "(stat == ONCE_NOT_STARTED ||\n           stat == ONCE_IN_PROGRESS
        ||\n           stat == ONCE_FINISHED)"
      pos:
        line_end: 456
        line_start: 454
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    - condition: (ret == 0)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    constantsTouched: []
    func_position:
      end: 492
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 492
    functionName: ddsrt_once
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
    functionUses: 7
    functionsReached:
    - vTaskDelay
    - ddsrt_atomic_ld32
    - assert
    - init_fn
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: void
    signature: "void ddsrt_once(\n  ddsrt_once_t *control,\n  ddsrt_once_fn init_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ddsrt_mutex_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 75
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_init (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:29,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ddsrt_mutex_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 75
    functionsReached:
    - pthread_mutex_destroy
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_destroy (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:35,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ddsrt_mutex_lock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 500
    functionsReached:
    - pthread_mutex_lock
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_lock (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:42,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ddsrt_mutex_trylock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 4
    functionsReached:
    - abort
    - pthread_mutex_trylock
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_mutex_trylock (ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:50,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ddsrt_mutex_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 500
    functionsReached:
    - abort
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_unlock (ddsrt_mutex_t *mutex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_condattr_setclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:68,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:69,1
    - Dst: pthread_condattr_setclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:73,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - attr
    - clockid
    argTypes:
    - pthread_condattr_t*
    - enum ddsrt_clockid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: ddsrt_condattr_setclock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_condattr_setclock
    linkageType: ''
    returnType: void
    signature: void ddsrt_condattr_setclock (pthread_condattr_t *attr, enum ddsrt_clockid
      clockid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_condattr_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:83,1
    - Dst: ddsrt_condattr_setclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:85,1
    - Dst: pthread_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:89,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:90,1
    - Dst: pthread_condattr_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cond
    - clockid
    argTypes:
    - pthread_cond_t*
    - enum ddsrt_clockid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: ddsrt_cond_init_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_condattr_setclock
    - pthread_cond_init
    - pthread_condattr_init
    - pthread_condattr_destroy
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_init_impl (pthread_cond_t *cond, enum ddsrt_clockid
      clockid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ddsrt_cond_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 18
    functionsReached:
    - pthread_cond_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_init (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ddsrt_cond_wctime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_init_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_init (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ddsrt_cond_mtime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 8
    functionsReached:
    - ddsrt_cond_init_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_init (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_init_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ddsrt_cond_etime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 5
    functionsReached:
    - ddsrt_cond_init_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_init (ddsrt_cond_etime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:116,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ddsrt_cond_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 20
    functionsReached:
    - abort
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_destroy (ddsrt_cond_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:122,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: ddsrt_cond_wctime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - abort
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_destroy (ddsrt_cond_wctime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:128,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: ddsrt_cond_mtime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 9
    functionsReached:
    - abort
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_destroy (ddsrt_cond_mtime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:134,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ddsrt_cond_etime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 5
    functionsReached:
    - abort
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_destroy (ddsrt_cond_etime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:140,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ddsrt_cond_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 28
    functionsReached:
    - abort
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wait (ddsrt_cond_t *cond, ddsrt_mutex_t *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:146,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: ddsrt_cond_wctime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - abort
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_wait (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:152,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: ddsrt_cond_mtime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 3
    functionsReached:
    - abort
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_wait (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:158,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: ddsrt_cond_etime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 5
    functionsReached:
    - abort
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_wait (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:166,1
    - Dst: pthread_cond_timedwait
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:173,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: ddsrt_cond_waituntil_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_cond_wait
    - pthread_cond_timedwait
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_waituntil_impl (pthread_cond_t *cond, pthread_mutex_t
      *mutex, int64_t abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: ddsrt_cond_wctime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_wctime_waituntil (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_wctime_t abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ddsrt_cond_mtime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 10
    functionsReached:
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_mtime_waituntil (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_mtime_t abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ddsrt_cond_etime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 6
    functionsReached:
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_etime_waituntil (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_etime_t abstime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:204,1
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:208,1
    - Dst: ddsrt_time_add_duration
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - cond
    - mutex
    - abstime
    - tnow_wc
    - tnow_src
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: ddsrt_cond_waituntil_clockconv_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 0
    functionsReached:
    - ddsrt_time_add_duration
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_waituntil_clockconv_impl (pthread_cond_t *cond, pthread_mutex_t
      *mutex, int64_t abstime, int64_t tnow_wc, int64_t tnow_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:213,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:214,1
    - Dst: ddsrt_cond_waituntil_clockconv_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: ddsrt_cond_mtime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 10
    functionsReached:
    - ddsrt_time_wallclock
    - ddsrt_cond_waituntil_clockconv_impl
    - ddsrt_time_monotonic
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_mtime_waituntil (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_mtime_t abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:220,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:221,1
    - Dst: ddsrt_cond_waituntil_clockconv_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: ddsrt_cond_etime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 6
    functionsReached:
    - ddsrt_time_wallclock
    - ddsrt_cond_waituntil_clockconv_impl
    - ddsrt_time_elapsed
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_etime_waituntil (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_etime_t abstime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:228,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ddsrt_cond_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 7
    functionsReached:
    - abort
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_signal (ddsrt_cond_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:234,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: ddsrt_cond_wctime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - abort
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_signal (ddsrt_cond_wctime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:240,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: ddsrt_cond_mtime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 4
    functionsReached:
    - abort
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_signal (ddsrt_cond_mtime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:246,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ddsrt_cond_etime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - abort
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_signal (ddsrt_cond_etime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:252,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: ddsrt_cond_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 39
    functionsReached:
    - pthread_cond_broadcast
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_broadcast (ddsrt_cond_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:258,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: ddsrt_cond_wctime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - pthread_cond_broadcast
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_broadcast (ddsrt_cond_wctime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:264,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ddsrt_cond_mtime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 14
    functionsReached:
    - pthread_cond_broadcast
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_broadcast (ddsrt_cond_mtime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:270,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: ddsrt_cond_etime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 17
    functionsReached:
    - pthread_cond_broadcast
    - abort
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_broadcast (ddsrt_cond_etime_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:277,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:278,1
    - Dst: pthread_rwlock_init
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:281,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: ddsrt_rwlock_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_init
    - abort
    - pthread_rwlock_init
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_init (ddsrt_rwlock_t *rwlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:289,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:290,1
    - Dst: pthread_rwlock_destroy
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:292,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: ddsrt_rwlock_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_destroy
    - abort
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_destroy (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:301,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:303,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: ddsrt_rwlock_read
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_lock
    - assert
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_read (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:313,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:315,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: ddsrt_rwlock_write
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_lock
    - assert
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_write (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:325,1
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:327,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (err == 0 || err == EBUSY)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: ddsrt_rwlock_tryread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 2
    functionsReached:
    - assert
    - pthread_rwlock_tryrdlock
    - pthread_mutex_trylock
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_tryread (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:337,1
    - Dst: pthread_rwlock_trywrlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:339,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (err == 0 || err == EBUSY)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: ddsrt_rwlock_trywrite
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 2
    functionsReached:
    - assert
    - pthread_rwlock_trywrlock
    - pthread_mutex_trylock
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_trywrite (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:349,1
    - Dst: pthread_rwlock_unlock
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:351,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: ddsrt_rwlock_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 4
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_unlock (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - control
    - init_fn
    argTypes:
    - ddsrt_once_t*
    - ddsrt_once_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: ddsrt_once
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    functionUses: 7
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: void
    signature: void ddsrt_once (ddsrt_once_t *control, ddsrt_once_fn init_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeSRWLock
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ddsrt_mutex_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 75
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_init (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: ddsrt_mutex_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_destroy (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ddsrt_mutex_lock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 500
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_lock (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ddsrt_mutex_trylock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 4
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_mutex_trylock (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ddsrt_mutex_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 500
    functionsReached:
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: void ddsrt_mutex_unlock (ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ddsrt_cond_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 18
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_init (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ddsrt_cond_wctime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_init (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ddsrt_cond_mtime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 8
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_init (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ddsrt_cond_etime_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 5
    functionsReached:
    - InitializeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_init (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ddsrt_cond_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_destroy (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ddsrt_cond_wctime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_destroy (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ddsrt_cond_mtime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_destroy (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ddsrt_cond_etime_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_destroy (ddsrt_cond_etime_t *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SleepConditionVariableSRW
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:85,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - CONDITION_VARIABLE*
    - SRWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: ddsrt_cond_wait_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 0
    functionsReached:
    - abort
    - SleepConditionVariableSRW
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wait_impl (CONDITION_VARIABLE *cond, SRWLOCK *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_wait_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ddsrt_cond_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 28
    functionsReached:
    - ddsrt_cond_wait_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wait (ddsrt_cond_t *cond, ddsrt_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_wait_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ddsrt_cond_wctime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_cond_wait_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_wait (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_wait_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ddsrt_cond_mtime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 3
    functionsReached:
    - ddsrt_cond_wait_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_wait (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_wait_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ddsrt_cond_etime_wait
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 5
    functionsReached:
    - ddsrt_cond_wait_impl
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_wait (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SleepConditionVariableSRW
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:114,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:115,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:124,1
    - Dst: SleepConditionVariableSRW
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:138,1
    - Dst: GetLastError
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:140,1
    - Dst: abort
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - cond
    - mutex
    - tnow
    - abstimeout
    argTypes:
    - CONDITION_VARIABLE*
    - SRWLOCK*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: ddsrt_cond_waituntil_impl
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 4
    functionsReached:
    - GetLastError
    - abort
    - DDSRT_STATIC_ASSERT
    - SleepConditionVariableSRW
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_waituntil_impl (CONDITION_VARIABLE *cond, SRWLOCK *mutex,
      int64_t tnow, int64_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:148,1
    - Dst: ddsrt_time_wallclock
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_wctime_t*
    - ddsrt_mutex_t*
    - ddsrt_wctime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ddsrt_cond_wctime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - ddsrt_time_wallclock
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_wctime_waituntil (ddsrt_cond_wctime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_wctime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:153,1
    - Dst: ddsrt_time_monotonic
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_mtime_t*
    - ddsrt_mutex_t*
    - ddsrt_mtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: ddsrt_cond_mtime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 10
    functionsReached:
    - ddsrt_time_monotonic
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_mtime_waituntil (ddsrt_cond_mtime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_mtime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_cond_waituntil_impl
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:158,1
    - Dst: ddsrt_time_elapsed
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstimeout
    argTypes:
    - ddsrt_cond_etime_t*
    - ddsrt_mutex_t*
    - ddsrt_etime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: ddsrt_cond_etime_waituntil
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 6
    functionsReached:
    - ddsrt_time_elapsed
    - ddsrt_cond_waituntil_impl
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_cond_etime_waituntil (ddsrt_cond_etime_t *cond, ddsrt_mutex_t
      *mutex, ddsrt_etime_t abstimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: ddsrt_cond_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 7
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_signal (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: ddsrt_cond_wctime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_signal (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ddsrt_cond_mtime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 4
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_signal (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: ddsrt_cond_etime_signal
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_signal (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: ddsrt_cond_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 39
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_broadcast (ddsrt_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_wctime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ddsrt_cond_wctime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_wctime_broadcast (ddsrt_cond_wctime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_mtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ddsrt_cond_mtime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 14
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_mtime_broadcast (ddsrt_cond_mtime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - ddsrt_cond_etime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ddsrt_cond_etime_broadcast
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 17
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: void ddsrt_cond_etime_broadcast (ddsrt_cond_etime_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeSRWLock
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ddsrt_rwlock_init
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 2
    functionsReached:
    - InitializeSRWLock
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_init (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: ddsrt_rwlock_destroy
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_destroy (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockShared
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ddsrt_rwlock_read
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 2
    functionsReached:
    - AcquireSRWLockShared
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_read (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: ddsrt_rwlock_write
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 2
    functionsReached:
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_write (ddsrt_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockShared
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: ddsrt_rwlock_tryread
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 2
    functionsReached:
    - TryAcquireSRWLockShared
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_tryread (ddsrt_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryAcquireSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: ddsrt_rwlock_trywrite
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 2
    functionsReached:
    - TryAcquireSRWLockExclusive
    linkageType: ''
    returnType: bool
    signature: bool ddsrt_rwlock_trywrite (ddsrt_rwlock_t *rwlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:242,1
    - Dst: ReleaseSRWLockShared
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:244,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - ddsrt_rwlock_t*
    assertStmts:
    - condition: (rwlock->state != 0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: ddsrt_rwlock_unlock
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 4
    functionsReached:
    - assert
    - ReleaseSRWLockShared
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: void ddsrt_rwlock_unlock (ddsrt_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:257,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:258,1
    - Dst: once_arg_t*::init_fn
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - InitOnce
    - Parameter
    - Context
    argTypes:
    - PINIT_ONCE
    - PVOID
    - PVOID*
    assertStmts:
    - condition: (Parameter != NULL)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    - condition: (Context == NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: once_wrapper
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 0
    functionsReached:
    - assert
    - once_arg_t*::init_fn
    linkageType: ''
    returnType: BOOL
    signature: BOOL once_wrapper (PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitOnceExecuteOnce
      Src: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - control
    - init_fn
    argTypes:
    - ddsrt_once_t*
    - ddsrt_once_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: ddsrt_once
    functionSourceFile: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    functionUses: 7
    functionsReached:
    - InitOnceExecuteOnce
    linkageType: ''
    returnType: void
    signature: void ddsrt_once (ddsrt_once_t *control, ddsrt_once_fn init_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ddsrt_has_attribute
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_has_attribute(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ddsrt_has_attribute
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_has_attribute(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ddsrt_has_attribute
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_has_attribute(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ddsrt_attribute_malloc2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_malloc2(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: ddsrt_nonnull
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_nonnull(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ddsrt_attribute_alloc_size
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_alloc_size(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ddsrt_attribute_format
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_format(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_index
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: ddsrt_attribute_format_printf
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_format_printf(string_index, first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_index
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: ddsrt_attribute_format_printf
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_format_printf(string_index, first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: ddsrt_attribute_assume_aligned
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_assume_aligned(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: ddsrt_attribute_no_sanitize
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_attribute_no_sanitize(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DDSRT_COUNT_ARGS_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/countargs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_ARGS_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: DDSRT_COUNT_ARGS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/countargs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_ARGS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: DDSRT_COUNT_ARGS1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/countargs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_ARGS1(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 45
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - ','
    - q
    - ','
    - r
    - ','
    - s
    - ','
    - t
    - ','
    - N
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: DDSRT_COUNT_ARGS_ARGN
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/countargs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_ARGS_ARGN(a,b,c,d,e,f,g,h,i,j, k,l,m,n,o,p,q,r,s,t, N,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: dds_get_log_mask
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT dds_get_log_mask(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cat
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: DDS_LOG
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_LOG(cat, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cat
    - ','
    - domid
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: DDS_ILOG
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_ILOG(cat, domid, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cat
    - ','
    - cfg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: DDS_CLOG
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CLOG(cat, cfg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: DDS_INFO
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_INFO(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: DDS_WARNING
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_WARNING(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: DDS_ERROR
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_ERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: DDS_FATAL
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_FATAL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: DDS_CLOG_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CLOG_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: DDS_CINFO
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CINFO(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: DDS_CWARNING
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CWARNING(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: DDS_CERROR
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: DDS_CTRACE
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_CTRACE(...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:33,1
    - Dst: __builtin_ffs
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:34,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:36,1
    - Dst: __builtin_ffs
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:37,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:39,1
    - Dst: _BitScanForward
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h:41,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: ddsrt_ffs32u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h
    functionUses: 3
    functionsReached:
    - DDSRT_STATIC_ASSERT
    - __builtin_ffs
    - _BitScanForward
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_ffs32u (uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - nfds
    - ','
    - readfds
    - ','
    - writefds
    - ','
    - errorfds
    - ','
    - timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: ddsrt_select
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_select(nfds, readfds, writefds, errorfds, timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DDSRT_STRINGIFY
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_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: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: DDSRT_STRINGIFY1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STRINGIFY1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: DDSRT_STR
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STR(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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DDSRT_JOINSTR
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_JOINSTR(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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: DDSRT_DO_PRAGMA
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_DO_PRAGMA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: DDSRT_PRAGMA
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_PRAGMA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: DDSRT_WARNING_CLANG_OFF
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_CLANG_OFF(x)
  - 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: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: DDSRT_WARNING_CLANG_ON
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_CLANG_ON(x)
  - 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: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: DDSRT_WARNING_GNUC_OFF
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_GNUC_OFF(x)
  - 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: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: DDSRT_WARNING_GNUC_ON
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_GNUC_ON(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: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: DDSRT_WARNING_GNUC_OFF
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_GNUC_OFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: DDSRT_WARNING_GNUC_ON
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_GNUC_ON(x)
  - 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: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: DDSRT_WARNING_MSVC_OFF
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_MSVC_OFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: DDSRT_WARNING_MSVC_ON
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_WARNING_MSVC_ON(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: DDSRT_UNUSED_ARG
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_UNUSED_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DDSRT_ATOMIC_UINT32_INIT
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_UINT32_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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DDSRT_ATOMIC_UINT64_INIT
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_UINT64_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: DDSRT_ATOMIC_UINTPTR_INIT
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_UINTPTR_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: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DDSRT_ATOMIC_VOIDP_INIT
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_VOIDP_INIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DDSRT_FOREACH_3_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: DDSRT_FOREACH_3_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_1(f, sep, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: DDSRT_FOREACH_3_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_2(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: DDSRT_FOREACH_3_3
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_3(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: DDSRT_FOREACH_3_4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_4(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: DDSRT_FOREACH_3_5
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_5(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DDSRT_FOREACH_3_6
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_6(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: DDSRT_FOREACH_3_7
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_7(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: DDSRT_FOREACH_3_8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_8(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: DDSRT_FOREACH_3_9
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_9(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DDSRT_FOREACH_3_10
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_10(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DDSRT_FOREACH_3_11
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_11(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: DDSRT_FOREACH_3_12
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_12(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DDSRT_FOREACH_3_13
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_13(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: DDSRT_FOREACH_3_14
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_14(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: DDSRT_FOREACH_3_15
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_15(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DDSRT_FOREACH_3_16
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_16(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: DDSRT_FOREACH_3_17
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_17(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DDSRT_FOREACH_3_18
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_18(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DDSRT_FOREACH_3_19
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_19(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: DDSRT_FOREACH_3_20
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_3_20(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: DDSRT_FOREACH_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_2(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DDSRT_FOREACH_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_1(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DDSRT_FOREACH
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: DDSRT_FOREACH_WRAP
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_WRAP(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DDSRT_FOREACH_B_3_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: DDSRT_FOREACH_B_3_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_1(f, sep, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    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: DDSRT_FOREACH_B_3_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_2(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    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: DDSRT_FOREACH_B_3_3
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_3(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: DDSRT_FOREACH_B_3_4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_4(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: DDSRT_FOREACH_B_3_5
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_5(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    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: DDSRT_FOREACH_B_3_6
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_6(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DDSRT_FOREACH_B_3_7
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_7(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: DDSRT_FOREACH_B_3_8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_8(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    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: DDSRT_FOREACH_B_3_9
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_9(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DDSRT_FOREACH_B_3_10
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_10(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: DDSRT_FOREACH_B_3_11
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_11(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DDSRT_FOREACH_B_3_12
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_12(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DDSRT_FOREACH_B_3_13
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_13(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DDSRT_FOREACH_B_3_14
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_14(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: DDSRT_FOREACH_B_3_15
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_15(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: DDSRT_FOREACH_B_3_16
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_16(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: DDSRT_FOREACH_B_3_17
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_17(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: DDSRT_FOREACH_B_3_18
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_18(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: DDSRT_FOREACH_B_3_19
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_19(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: DDSRT_FOREACH_B_3_20
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_3_20(f, sep, x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: DDSRT_FOREACH_B_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_2(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: DDSRT_FOREACH_B_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_1(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: DDSRT_FOREACH_B
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: DDSRT_FOREACH_B_WRAP
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_B_WRAP(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: DDSRT_COUNT_PAIRS_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_PAIRS_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: DDSRT_COUNT_PAIRS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_PAIRS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DDSRT_COUNT_PAIRS1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_PAIRS1(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 101
    argNames:
    - (
    - a
    - ','
    - a1
    - ','
    - b
    - ','
    - b1
    - ','
    - c
    - ','
    - c1
    - ','
    - d
    - ','
    - d1
    - ','
    - e
    - ','
    - e1
    - ','
    - f
    - ','
    - f1
    - ','
    - g
    - ','
    - g1
    - ','
    - h
    - ','
    - h1
    - ','
    - i
    - ','
    - i1
    - ','
    - j
    - ','
    - j1
    - ','
    - k
    - ','
    - k1
    - ','
    - l
    - ','
    - l1
    - ','
    - m
    - ','
    - m1
    - ','
    - n
    - ','
    - n1
    - ','
    - o
    - ','
    - o1
    - ','
    - p
    - ','
    - p1
    - ','
    - q
    - ','
    - q1
    - ','
    - r
    - ','
    - r1
    - ','
    - s
    - ','
    - s1
    - ','
    - t
    - ','
    - t1
    - ','
    - u
    - ','
    - u1
    - ','
    - v
    - ','
    - v1
    - ','
    - w
    - ','
    - w1
    - ','
    - x
    - ','
    - x1
    - ','
    - N
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DDSRT_COUNT_PAIRS_ARGN
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_COUNT_PAIRS_ARGN(a,a1,b,b1,c,c1,d,d1,e,e1,f,f1,g,g1,h,h1,i,i1,j,j1,
      k,k1,l,l1,m,m1,n,n1,o,o1,p,p1,q,q1,r,r1,s,s1,t,t1, u,u1,v,v1,w,w1,x,x1, N,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DDSRT_FOREACH_PAIR_3_MSVC_WORKAROUND
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_MSVC_WORKAROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DDSRT_FOREACH_PAIR_3_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_1(f, sep, x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: DDSRT_FOREACH_PAIR_3_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_2(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: DDSRT_FOREACH_PAIR_3_3
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_3(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: DDSRT_FOREACH_PAIR_3_4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_4(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: DDSRT_FOREACH_PAIR_3_5
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_5(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: DDSRT_FOREACH_PAIR_3_6
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_6(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DDSRT_FOREACH_PAIR_3_7
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_7(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: DDSRT_FOREACH_PAIR_3_8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_8(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DDSRT_FOREACH_PAIR_3_9
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_9(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DDSRT_FOREACH_PAIR_3_10
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_10(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: DDSRT_FOREACH_PAIR_3_11
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_11(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: DDSRT_FOREACH_PAIR_3_12
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_12(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DDSRT_FOREACH_PAIR_3_13
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_13(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DDSRT_FOREACH_PAIR_3_14
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_14(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DDSRT_FOREACH_PAIR_3_15
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_15(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: DDSRT_FOREACH_PAIR_3_16
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_16(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DDSRT_FOREACH_PAIR_3_17
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_17(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: DDSRT_FOREACH_PAIR_3_18
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_18(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: DDSRT_FOREACH_PAIR_3_19
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_19(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: DDSRT_FOREACH_PAIR_3_20
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_20(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: DDSRT_FOREACH_PAIR_3_21
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_21(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: DDSRT_FOREACH_PAIR_3_22
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_22(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: DDSRT_FOREACH_PAIR_3_23
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_23(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: DDSRT_FOREACH_PAIR_3_24
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_24(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - x
    - ','
    - y
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: DDSRT_FOREACH_PAIR_3_25
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_3_25(f, sep, x,y, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: DDSRT_FOREACH_PAIR_2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_2(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: DDSRT_FOREACH_PAIR_1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_1(n, f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: DDSRT_FOREACH_PAIR
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - sep
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: DDSRT_FOREACH_PAIR_WRAP
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FOREACH_PAIR_WRAP(f, sep, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - pred
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: DDSRT_STATIC_ASSERT2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT2(line, pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - pred
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: DDSRT_STATIC_ASSERT1
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT1(line, pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pred
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: DDSRT_STATIC_ASSERT
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT(pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pred
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: DDSRT_STATIC_ASSERT_CODE
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT_CODE(pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pred
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: DDSRT_STATIC_ASSERT_CODE
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT_CODE(pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: DDSRT_STATIC_ASSERT_IS_UNSIGNED
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT_IS_UNSIGNED(v_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DDSRT_STATIC_ASSERT_IS_UNSIGNED
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_STATIC_ASSERT_IS_UNSIGNED(v_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ_
    - ','
    - member_
    - ','
    - cle_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DDSRT_FROM_CIRCLIST
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/circlist.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FROM_CIRCLIST(typ_, member_, cle_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: DDS_SECS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_SECS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: DDS_MSECS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_MSECS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: DDS_USECS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_USECS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h:198,1
    - Dst: assert
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - abstime
    - reltime
    argTypes:
    - dds_time_t
    - dds_duration_t
    assertStmts:
    - condition: (abstime >= 0)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    - condition: (reltime >= 0)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: ddsrt_time_add_duration
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_time_add_duration(dds_time_t abstime, dds_duration_t
      reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_add_duration
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - abstime
    - reltime
    argTypes:
    - ddsrt_mtime_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: ddsrt_mtime_t::ddsrt_mtime_add_duration
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 2
    functionsReached:
    - ddsrt_time_add_duration
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_mtime_t ddsrt_mtime_add_duration(ddsrt_mtime_t
      abstime, dds_duration_t reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_add_duration
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - abstime
    - reltime
    argTypes:
    - ddsrt_wctime_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: ddsrt_wctime_t::ddsrt_wctime_add_duration
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 0
    functionsReached:
    - ddsrt_time_add_duration
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_wctime_t ddsrt_wctime_add_duration(ddsrt_wctime_t
      abstime, dds_duration_t reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_time_add_duration
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - abstime
    - reltime
    argTypes:
    - ddsrt_etime_t
    - dds_duration_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ddsrt_etime_t::ddsrt_etime_add_duration
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    functionUses: 0
    functionsReached:
    - ddsrt_time_add_duration
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_etime_t ddsrt_etime_add_duration(ddsrt_etime_t
      abstime, dds_duration_t reltime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: ddsrt_avl_treedef
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_avl_treedef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER(avlnodeoffset, keyoffset, comparekk_,
      augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY(avlnodeoffset, keyoffset, comparekk_,
      augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_ALLOWDUPS(avlnodeoffset, keyoffset, comparekk_,
      augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk_, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_R
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_R(avlnodeoffset, keyoffset, comparekk_,
      cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R(avlnodeoffset, keyoffset, comparekk_,
      cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_R_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_R_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk_, cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk_
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk_, cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 813
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER(avlnodeoffset, keyoffset, comparekk,
      augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 814
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY(avlnodeoffset, keyoffset, comparekk,
      augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_R
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_R(avlnodeoffset, keyoffset, comparekk,
      cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R(avlnodeoffset, keyoffset, comparekk,
      cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_R_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_R_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk, cmparg, augment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - avlnodeoffset
    - ','
    - keyoffset
    - ','
    - comparekk
    - ','
    - cmparg
    - ','
    - augment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 820
    functionName: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS(avlnodeoffset, keyoffset,
      comparekk, cmparg, augment)
  - 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: DDS_XRETCODE
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDS_XRETCODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ddsrt_bswap2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap2u (uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap2u
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: ddsrt_bswap2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 2
    functionsReached:
    - ddsrt_bswap2u
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap2 (int16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ddsrt_bswap4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap4u (uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ddsrt_bswap4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 3
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap4 (int32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h:89,1
    - Dst: ddsrt_bswap4u
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ddsrt_bswap8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 2
    functionsReached:
    - ddsrt_bswap4u
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap8u (uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_bswap8u
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ddsrt_bswap8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 2
    functionsReached:
    - ddsrt_bswap8u
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_bswap8 (int64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: ddsrt_toBE2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ddsrt_toBE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE2u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ddsrt_toBE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: ddsrt_toBE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: ddsrt_toBE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: ddsrt_toBE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: ddsrt_toLE2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: ddsrt_toLE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE2u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: ddsrt_toLE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: ddsrt_toLE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: ddsrt_toLE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: ddsrt_toLE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: ddsrt_toBO2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO2(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: ddsrt_toBO2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO2u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: ddsrt_toBO4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO4(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: ddsrt_toBO4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO4u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: ddsrt_toBO8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO8(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: ddsrt_toBO8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO8u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ddsrt_fromBE2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ddsrt_fromBE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE2u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: ddsrt_fromBE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: ddsrt_fromBE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: ddsrt_fromBE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: ddsrt_fromBE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: ddsrt_toBE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE2u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: ddsrt_toBE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: ddsrt_toBE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: ddsrt_toBE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: ddsrt_toBE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: ddsrt_toLE2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: ddsrt_toLE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE2u(x)
  - 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: ddsrt_toLE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE4(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: ddsrt_toLE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: ddsrt_toLE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE8(x)
  - 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: ddsrt_toLE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toLE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: ddsrt_toBO2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO2(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: ddsrt_toBO2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO2u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: ddsrt_toBO4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO4(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: ddsrt_toBO4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO4u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: ddsrt_toBO8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO8(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bo
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: ddsrt_toBO8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_toBO8u(bo, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: ddsrt_fromBE2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE2(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: ddsrt_fromBE2u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE2u(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: ddsrt_fromBE4
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: ddsrt_fromBE4u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE4u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: ddsrt_fromBE8
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: ddsrt_fromBE8u
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddsrt_fromBE8u(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offset
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: DDSRT_FIBHEAPDEF_INITIALIZER
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/fibheap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_FIBHEAPDEF_INITIALIZER(offset, cmp)
  - 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: IN_MULTICAST
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_MULTICAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: IN6_IS_ADDR_UNSPECIFIED
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_UNSPECIFIED(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: IN6_IS_ADDR_LOOPBACK
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LOOPBACK(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: IN6_IS_ADDR_LINKLOCAL
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LINKLOCAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: IN6_IS_ADDR_MULTICAST
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_MULTICAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ddsrt_atomic_ld32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_ld32 (const volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ddsrt_atomic_ldptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_ldptr (const volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_voidp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ddsrt_atomic_ldvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 55
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: void
    signature: void *ddsrt_atomic_ldvoidp (const volatile ddsrt_atomic_voidp_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ddsrt_atomic_st32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: ddsrt_atomic_stptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ddsrt_atomic_stvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 26
    functionsReached:
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stvoidp (volatile ddsrt_atomic_voidp_t *x, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: ddsrt_atomic_casptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_casptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      exp, uintptr_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: ddsrt_atomic_casvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_casvoidp (volatile ddsrt_atomic_voidp_t *x, void *exp,
      void *des)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: ddsrt_atomic_add32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_add32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: ddsrt_atomic_addptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_addptr_nv (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ddsrt_atomic_add32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 8
    functionsReached:
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_add32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: ddsrt_atomic_addptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_addptr_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_addptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: ddsrt_atomic_add32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_add32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: ddsrt_atomic_addptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_addptr_ov (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: ddsrt_atomic_sub32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_sub32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: ddsrt_atomic_subptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_subptr_nv (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: ddsrt_atomic_sub32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_add32_ov
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_sub32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: ddsrt_atomic_subptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr_ov
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_subptr_ov (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: ddsrt_atomic_sub32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_add32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_sub32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: ddsrt_atomic_subptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_subptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: ddsrt_atomic_inc32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_add32_ov
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_inc32_ov (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: ddsrt_atomic_incptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_addptr_ov
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_incptr_ov (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_add32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ddsrt_atomic_inc32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_add32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_inc32_nv (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_addptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: ddsrt_atomic_incptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_addptr_nv
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_incptr_nv (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_inc32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: ddsrt_atomic_inc32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 33
    functionsReached:
    - ddsrt_atomic_inc32_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_inc32 (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_incptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: ddsrt_atomic_incptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_incptr_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_incptr (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_sub32_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: ddsrt_atomic_dec32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 9
    functionsReached:
    - ddsrt_atomic_sub32_ov
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_dec32_ov (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_subptr_ov
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ddsrt_atomic_decptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_subptr_ov
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_decptr_ov (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_sub32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: ddsrt_atomic_dec32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_sub32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_dec32_nv (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_subptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: ddsrt_atomic_decptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_subptr_nv
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_decptr_nv (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_dec32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: ddsrt_atomic_dec32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 7
    functionsReached:
    - ddsrt_atomic_dec32_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_dec32 (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_decptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: ddsrt_atomic_decptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_decptr_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_decptr (volatile ddsrt_atomic_uintptr_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: ddsrt_atomic_and32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 6
    functionsReached:
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_and32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: ddsrt_atomic_andptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_andptr_ov (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: ddsrt_atomic_and32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_and32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: ddsrt_atomic_andptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_andptr_nv (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_and32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: ddsrt_atomic_and32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 6
    functionsReached:
    - ddsrt_atomic_and32_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_and32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_andptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: ddsrt_atomic_andptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_andptr_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_andptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: ddsrt_atomic_or32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_or32_ov (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: ddsrt_atomic_orptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_orptr_ov (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: ddsrt_atomic_or32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 2
    functionsReached:
    - ddsrt_atomic_cas32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_or32_nv (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: ddsrt_atomic_orptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_orptr_nv (volatile ddsrt_atomic_uintptr_t *x,
      uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_or32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: ddsrt_atomic_or32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 16
    functionsReached:
    - ddsrt_atomic_or32_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_or32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_orptr_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: ddsrt_atomic_orptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 1
    functionsReached:
    - ddsrt_atomic_orptr_nv
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_orptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: ddsrt_atomic_fence
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: ddsrt_atomic_fence_ldld
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_ldld (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: ddsrt_atomic_fence_stst
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_stst (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: ddsrt_atomic_fence_acq
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_acq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: ddsrt_atomic_fence_rel
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_rel (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ddsrt_atomic_ld32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_ld32(const volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ddsrt_atomic_ld64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_ld64(const volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ddsrt_atomic_ldptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_ldptr(const volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_voidp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ddsrt_atomic_ldvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 55
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: void
    signature: void *ddsrt_atomic_ldvoidp(const volatile ddsrt_atomic_voidp_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ddsrt_atomic_st32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st32(volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ddsrt_atomic_st64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st64(volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: ddsrt_atomic_stptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stptr(volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ddsrt_atomic_stvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 26
    functionsReached:
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stvoidp(volatile ddsrt_atomic_voidp_t *x, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: ddsrt_atomic_inc32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 33
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32(volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: ddsrt_atomic_inc64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64 (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: ddsrt_atomic_incptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr(volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: ddsrt_atomic_inc32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 7
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32_ov (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: ddsrt_atomic_inc64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64_ov (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: ddsrt_atomic_incptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr_ov (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: ddsrt_atomic_inc32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 8
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32_nv (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: ddsrt_atomic_inc64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64_nv (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: ddsrt_atomic_incptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr_nv (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: ddsrt_atomic_dec32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 7
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32 (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ddsrt_atomic_dec64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64 (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: ddsrt_atomic_decptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: ddsrt_atomic_dec32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 8
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32_nv (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: ddsrt_atomic_dec64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64_nv (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: ddsrt_atomic_decptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr_nv (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: ddsrt_atomic_dec32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 9
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32_ov (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ddsrt_atomic_dec64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64_ov (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: ddsrt_atomic_decptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr_ov (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: ddsrt_atomic_add32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 9
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: ddsrt_atomic_add64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 5
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: ddsrt_atomic_addptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: ddsrt_atomic_add32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 4
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: ddsrt_atomic_add64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: ddsrt_atomic_addptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: ddsrt_atomic_add32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 10
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: ddsrt_atomic_add64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: ddsrt_atomic_addptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 5
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: ddsrt_atomic_sub32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: ddsrt_atomic_sub64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: ddsrt_atomic_subptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: ddsrt_atomic_sub32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: ddsrt_atomic_sub64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_sub
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: ddsrt_atomic_subptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_sub
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: ddsrt_atomic_sub32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 6
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: ddsrt_atomic_sub64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: ddsrt_atomic_subptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: ddsrt_atomic_and32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 6
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: ddsrt_atomic_and64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: ddsrt_atomic_andptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: ddsrt_atomic_and32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 6
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: ddsrt_atomic_and64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_and
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: ddsrt_atomic_andptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_and
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_and_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: ddsrt_atomic_and32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_and_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_and_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: ddsrt_atomic_and64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_and_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_and_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: ddsrt_atomic_andptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_and_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: ddsrt_atomic_or32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 16
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: ddsrt_atomic_or64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 708
    functionName: ddsrt_atomic_orptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 1
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: ddsrt_atomic_or32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 5
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: ddsrt_atomic_or64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_or
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: ddsrt_atomic_orptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_or
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_or_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 758
    functionName: ddsrt_atomic_or32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_or_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_or_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: ddsrt_atomic_or64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_or_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_or_and_fetch
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: ddsrt_atomic_orptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 2
    functionsReached:
    - __sync_or_and_fetch
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_bool_compare_and_swap
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: ddsrt_atomic_cas32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 24
    functionsReached:
    - __sync_bool_compare_and_swap
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_cas32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t exp, uint32_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_bool_compare_and_swap
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: ddsrt_atomic_cas64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 4
    functionsReached:
    - __sync_bool_compare_and_swap
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_cas64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t exp, uint64_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_bool_compare_and_swap
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 833
    functionName: ddsrt_atomic_casptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 12
    functionsReached:
    - __sync_bool_compare_and_swap
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_casptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t exp, uintptr_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: ddsrt_atomic_casvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_casvoidp (volatile ddsrt_atomic_voidp_t
      *x, void *exp, void *des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_bool_compare_and_swap
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:922,1
    - Dst: __builtin_assume_aligned
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:922,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - x
    - a0
    - b0
    - a1
    - b1
    argTypes:
    - ddsrt_atomic_uintptr2_t*
    - uintptr_t
    - uintptr_t
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 926
    functionName: ddsrt_atomic_casvoidp2
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_bool_compare_and_swap
    - __builtin_assume_aligned
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_casvoidp2 (volatile ddsrt_atomic_uintptr2_t
      *x, uintptr_t a0, uintptr_t b0, uintptr_t a1, uintptr_t b1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionName: ddsrt_atomic_fence
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 10
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: ddsrt_atomic_fence_ldld
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 5
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_ldld (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: ddsrt_atomic_fence_stst
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 3
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_stst (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: ddsrt_atomic_fence_acq
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_acq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: ddsrt_atomic_fence_rel
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_rel (void)
  - 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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: DDSRT_ATOMIC_OP32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_OP32(name, ...)
  - 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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DDSRT_ATOMIC_OP64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_OP64(name, ...)
  - 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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: DDSRT_ATOMIC_PTROP
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_PTROP(name, ...)
  - 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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: DDSRT_ATOMIC_PTROP
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DDSRT_ATOMIC_PTROP(name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ddsrt_atomic_ld32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_ld32 (const volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ddsrt_atomic_ld64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_ld64 (const volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ddsrt_atomic_ldptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_ldptr (const volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_voidp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ddsrt_atomic_ldvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 55
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT *ddsrt_atomic_ldvoidp (const volatile ddsrt_atomic_voidp_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ddsrt_atomic_st32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_st32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ddsrt_atomic_st64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_st64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ddsrt_atomic_stptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_stptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ddsrt_atomic_stvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 26
    functionsReached:
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_stvoidp (volatile ddsrt_atomic_voidp_t
      *x, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: ddsrt_atomic_cas32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 24
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_cas32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t exp, uint32_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ddsrt_atomic_cas64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 4
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_cas64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t exp, uint64_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: ddsrt_atomic_casptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 13
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_casptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t exp, uintptr_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_casptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: ddsrt_atomic_casvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_casptr
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_casvoidp (volatile ddsrt_atomic_voidp_t
      *x, void *exp, void *des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: ddsrt_atomic_inc32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 33
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32 (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: ddsrt_atomic_inc64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64 (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: ddsrt_atomic_incptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: ddsrt_atomic_inc32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 7
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32_ov (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: ddsrt_atomic_inc64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64_ov (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: ddsrt_atomic_incptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr_ov (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: ddsrt_atomic_inc32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 8
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc32_nv (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: ddsrt_atomic_inc64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_inc64_nv (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: ddsrt_atomic_incptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_incptr_nv (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: ddsrt_atomic_dec32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 7
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32 (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: ddsrt_atomic_dec64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64 (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: ddsrt_atomic_decptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: ddsrt_atomic_dec32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 8
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32_nv (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: ddsrt_atomic_dec64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64_nv (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: ddsrt_atomic_decptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr_nv (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: ddsrt_atomic_dec32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 9
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec32_ov (volatile ddsrt_atomic_uint32_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ddsrt_atomic_dec64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_dec64_ov (volatile ddsrt_atomic_uint64_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: ddsrt_atomic_decptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_decptr_ov (volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: ddsrt_atomic_add32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 9
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ddsrt_atomic_add64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 5
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: ddsrt_atomic_addptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: ddsrt_atomic_add32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 4
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: ddsrt_atomic_add64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: ddsrt_atomic_addptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: ddsrt_atomic_add32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 10
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: ddsrt_atomic_add64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_add64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: ddsrt_atomic_addptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 5
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_addptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:500,1
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:501,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ddsrt_atomic_sub32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:514,1
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:515,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: ddsrt_atomic_sub64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:528,1
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:529,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 531
    functionName: ddsrt_atomic_subptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:543,1
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:544,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: ddsrt_atomic_sub32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:559,1
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:560,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: ddsrt_atomic_sub64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:575,1
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:576,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: ddsrt_atomic_subptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:590,1
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:591,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: ddsrt_atomic_sub32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 6
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:606,1
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:607,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: ddsrt_atomic_sub64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_sub64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:622,1
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:623,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: ddsrt_atomic_subptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_subptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: ddsrt_atomic_and32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 6
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: ddsrt_atomic_and64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: ddsrt_atomic_andptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: ddsrt_atomic_and32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 6
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 684
    functionName: ddsrt_atomic_and64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: ddsrt_atomic_andptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: ddsrt_atomic_and32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 722
    functionName: ddsrt_atomic_and64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_and64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: ddsrt_atomic_andptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_andptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: ddsrt_atomic_or32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 16
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32 (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 758
    functionName: ddsrt_atomic_or64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64 (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: ddsrt_atomic_orptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 1
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: ddsrt_atomic_or32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 5
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32_ov (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 794
    functionName: ddsrt_atomic_or64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64_ov (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: ddsrt_atomic_orptr_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr_ov (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: ddsrt_atomic_or32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - DDSRT_ATOMIC_OP32
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or32_nv (volatile ddsrt_atomic_uint32_t
      *x, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_OP64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: ddsrt_atomic_or64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_OP64
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_or64_nv (volatile ddsrt_atomic_uint64_t
      *x, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_ATOMIC_PTROP
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: ddsrt_atomic_orptr_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 2
    functionsReached:
    - DDSRT_ATOMIC_PTROP
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_orptr_nv (volatile ddsrt_atomic_uintptr_t
      *x, uintptr_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDSRT_WARNING_MSVC_OFF
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:856,1
    - Dst: InterlockedExchange
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:858,1
    - Dst: DDSRT_WARNING_MSVC_ON
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 860
    functionName: ddsrt_atomic_fence
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 12
    functionsReached:
    - DDSRT_WARNING_MSVC_OFF
    - DDSRT_WARNING_MSVC_ON
    - InterlockedExchange
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: ddsrt_atomic_fence_ldld
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_ldld (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: ddsrt_atomic_fence_stst
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 3
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_stst (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 885
    functionName: ddsrt_atomic_fence_acq
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 5
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_acq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_fence
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: ddsrt_atomic_fence_rel
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
    functionUses: 4
    functionsReached:
    - ddsrt_atomic_fence
    linkageType: ''
    returnType: DDS_INLINE_EXPORT
    signature: DDS_INLINE_EXPORT ddsrt_atomic_fence_rel (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ddsrt_atomic_ld32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_ld32 (const volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ddsrt_atomic_ld64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_ld64 (const volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ddsrt_atomic_ldptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ddsrt_atomic_ldptr (const volatile ddsrt_atomic_uintptr_t
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ldptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_voidp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ddsrt_atomic_ldvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 55
    functionsReached:
    - ddsrt_atomic_ldptr
    linkageType: ''
    returnType: void
    signature: void *ddsrt_atomic_ldvoidp (const volatile ddsrt_atomic_voidp_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ddsrt_atomic_st32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ddsrt_atomic_st64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_st64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: ddsrt_atomic_stptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_stptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ddsrt_atomic_stvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 26
    functionsReached:
    - ddsrt_atomic_stptr
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_stvoidp (volatile ddsrt_atomic_voidp_t *x, void *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_inc_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ddsrt_atomic_inc32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 33
    functionsReached:
    - atomic_inc_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_inc32 (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_inc_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: ddsrt_atomic_inc64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_inc_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_inc64 (volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ddsrt_atomic_inc32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 7
    functionsReached:
    - atomic_cas_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_inc32_ov (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_inc_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: ddsrt_atomic_inc32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 8
    functionsReached:
    - atomic_inc_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_inc32_nv (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_inc_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: ddsrt_atomic_inc64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 3
    functionsReached:
    - atomic_inc_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_inc64_nv (volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_dec_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: ddsrt_atomic_dec32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 7
    functionsReached:
    - atomic_dec_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_dec32 (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_dec_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: ddsrt_atomic_dec64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_dec_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_dec64 (volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_dec_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: ddsrt_atomic_dec32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 8
    functionsReached:
    - atomic_dec_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_dec32_nv (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_dec_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: ddsrt_atomic_dec64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_dec_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_dec64_nv (volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ddsrt_atomic_dec32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 9
    functionsReached:
    - atomic_cas_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_dec32_ov (volatile ddsrt_atomic_uint32_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - ddsrt_atomic_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: ddsrt_atomic_dec64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 1
    functionsReached:
    - atomic_cas_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_dec64_ov (volatile ddsrt_atomic_uint64_t *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: ddsrt_atomic_add32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 9
    functionsReached:
    - atomic_add_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_add32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: ddsrt_atomic_add64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 5
    functionsReached:
    - atomic_add_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_add64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: ddsrt_atomic_add32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 4
    functionsReached:
    - atomic_add_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_add32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ddsrt_atomic_add32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 10
    functionsReached:
    - atomic_add_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_add32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ddsrt_atomic_add64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_add_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_add64_nv (volatile ddsrt_atomic_uint64_t *x,
      uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: ddsrt_atomic_sub32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 3
    functionsReached:
    - atomic_add_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_sub32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: ddsrt_atomic_sub64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_add_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_sub64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: ddsrt_atomic_sub32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_add_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_sub32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: ddsrt_atomic_sub32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 6
    functionsReached:
    - atomic_add_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_sub32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: ddsrt_atomic_sub64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_add_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_sub64_nv (volatile ddsrt_atomic_uint64_t *x,
      uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_and_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: ddsrt_atomic_and32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 6
    functionsReached:
    - atomic_and_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_and32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_and_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: ddsrt_atomic_and64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_and_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_and64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: ddsrt_atomic_and32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 6
    functionsReached:
    - atomic_cas_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_and32_ov (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: ddsrt_atomic_and64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_cas_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_and64_ov (volatile ddsrt_atomic_uint64_t *x,
      uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_and_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: ddsrt_atomic_and32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 3
    functionsReached:
    - atomic_and_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_and32_nv (volatile ddsrt_atomic_uint32_t *x,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_and_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: ddsrt_atomic_and64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_and_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_and64_nv (volatile ddsrt_atomic_uint64_t *x,
      uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_or_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: ddsrt_atomic_or32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 16
    functionsReached:
    - atomic_or_32
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_or32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_or_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: ddsrt_atomic_or64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_or_64
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_or64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: ddsrt_atomic_or32_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 5
    functionsReached:
    - atomic_cas_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_or32_ov (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: ddsrt_atomic_or64_ov
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_cas_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_or64_ov (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_or_32_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: ddsrt_atomic_or32_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 3
    functionsReached:
    - atomic_or_32_nv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ddsrt_atomic_or32_nv (volatile ddsrt_atomic_uint32_t *x, uint32_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_or_64_nv
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - v
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: ddsrt_atomic_or64_nv
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 2
    functionsReached:
    - atomic_or_64_nv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ddsrt_atomic_or64_nv (volatile ddsrt_atomic_uint64_t *x, uint64_t
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_32
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: ddsrt_atomic_cas32
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 24
    functionsReached:
    - atomic_cas_32
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_cas32 (volatile ddsrt_atomic_uint32_t *x, uint32_t
      exp, uint32_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_64
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uint64_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: ddsrt_atomic_cas64
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 4
    functionsReached:
    - atomic_cas_64
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_cas64 (volatile ddsrt_atomic_uint64_t *x, uint64_t
      exp, uint64_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_ulong
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_uintptr_t*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: ddsrt_atomic_casptr
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 14
    functionsReached:
    - atomic_cas_ulong
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_casptr (volatile ddsrt_atomic_uintptr_t *x, uintptr_t
      exp, uintptr_t des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_cas_ptr
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - des
    argTypes:
    - ddsrt_atomic_voidp_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: ddsrt_atomic_casvoidp
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 4
    functionsReached:
    - atomic_cas_ptr
    linkageType: ''
    returnType: int
    signature: int ddsrt_atomic_casvoidp (volatile ddsrt_atomic_voidp_t *x, void *exp,
      void *des)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: membar_exit
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:552,1
    - Dst: membar_enter
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: ddsrt_atomic_fence
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 16
    functionsReached:
    - membar_exit
    - membar_enter
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: membar_consumer
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: ddsrt_atomic_fence_ldld
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 5
    functionsReached:
    - membar_consumer
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_ldld (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: membar_producer
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: ddsrt_atomic_fence_stst
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 3
    functionsReached:
    - membar_producer
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_stst (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: membar_enter
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: ddsrt_atomic_fence_acq
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 5
    functionsReached:
    - membar_enter
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_acq (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: membar_exit
      Src: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: ddsrt_atomic_fence_rel
    functionSourceFile: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
    functionUses: 4
    functionsReached:
    - membar_exit
    linkageType: ''
    returnType: void
    signature: void ddsrt_atomic_fence_rel (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: iox_psmx::sched::cpuset_t
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cpuset_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:193,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:194,1
    - Dst: vfprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:195,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:196,1
    - Dst: va_end
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: log_error
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void log_error (const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:205,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:212,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:212,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:213,1
    - Dst: ddsrt_atomic_fence_rel
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:214,1
    - Dst: iox2_notifier_notify_with_custom_event_id
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:218,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:227,1
    - Dst: iox2_notifier_notify_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:227,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:231,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:233,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:233,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:235,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - part_topic
    argTypes:
    - psmx_iox2_partition_topic_t*
    assertStmts:
    - condition: (part_topic->n_readers == 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - condition: (ddsrt_atomic_ld32 (&part_topic->listener_thread_state) != LISTENER_THREAD_NONE)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: stop_listener_thread
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - ddsrt_atomic_ld32
    - ddsrt_thread_join
    - assert
    - iox2_notifier_notify_error_string
    - ddsrt_atomic_fence_rel
    - ddsrt_atomic_st32
    - iox2_notifier_notify_with_custom_event_id
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void stop_listener_thread (psmx_iox2_partition_topic_t *part_topic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:246,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:247,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:255,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:256,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:259,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:261,1
    - Dst: stop_listener_thread
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:264,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - part_topic
    - ep
    argTypes:
    - psmx_iox2_partition_topic_t*
    - psmx_iox2_endpoint_t*
    assertStmts:
    - condition: (part_topic->n_readers > 0)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: remove_reader_from_part_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - assert
    - ddsrt_mutex_lock
    - stop_listener_thread
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t remove_reader_from_part_topic (psmx_iox2_partition_topic_t
      *part_topic, psmx_iox2_endpoint_t *ep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:278,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:283,1
    - Dst: psmx_iox2_take_locked
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:284,1
    - Dst: dds_reader_store_loaned_sample_wr_metadata
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:291,1
    - Dst: dds_reader_store_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:293,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:296,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:303,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - part_topic
    argTypes:
    - psmx_iox2_partition_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: on_event_try_take
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - dds_reader_store_loaned_sample_wr_metadata
    - ddsrt_mutex_lock
    - psmx_iox2_take_locked
    - dds_loaned_sample_unref
    - dds_reader_store_loaned_sample
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void on_event_try_take (psmx_iox2_partition_topic_t * const part_topic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:313,1
    - Dst: iox2_listener_try_wait_one
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:319,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:322,1
    - Dst: iox2_listener_wait_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:322,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:338,1
    - Dst: on_event_try_take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - part_topic
    - listener
    argTypes:
    - psmx_iox2_partition_topic_t*
    - iox2_listener_h_ref
    assertStmts:
    - condition: (event_id.value == data_event.value)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 341
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 341
    functionName: on_event_try
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - ddsrt_atomic_ld32
    - iox2_listener_wait_error_string
    - assert
    - on_event_try_take
    - iox2_listener_try_wait_one
    linkageType: ''
    returnType: iox2_callback_progression_e
    signature: iox2_callback_progression_e on_event_try (psmx_iox2_partition_topic_t
      * const part_topic, iox2_listener_h_ref listener)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:355,1
    - Dst: iox2_waitset_attachment_id_has_event_from
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:360,1
    - Dst: on_event_try
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:361,1
    - Dst: iox2_waitset_attachment_id_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:362,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - attachment_id
    - varg
    argTypes:
    - iox2_waitset_attachment_id_h
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 369
    functionName: on_event
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - iox2_waitset_attachment_id_drop
    - ddsrt_atomic_ld32
    - iox2_waitset_attachment_id_has_event_from
    - on_event_try
    linkageType: ''
    returnType: iox2_callback_progression_e
    signature: iox2_callback_progression_e on_event (iox2_waitset_attachment_id_h
      attachment_id, void *varg)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - iox2_waitset_run_result_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 387
    functionName: psmx_iox2_waitset_run_result_string
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *psmx_iox2_waitset_run_result_string (const iox2_waitset_run_result_e
      e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iox2_port_factory_event_listener_builder
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:400,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:403,1
    - Dst: iox2_port_factory_listener_builder_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:407,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:410,1
    - Dst: iox2_listener_create_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:410,1
    - Dst: iox2_waitset_builder_new
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:414,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:417,1
    - Dst: iox2_waitset_builder_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:421,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:424,1
    - Dst: iox2_waitset_create_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:424,1
    - Dst: iox2_waitset_attach_notification
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:428,1
    - Dst: iox2_listener_get_file_descriptor
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:428,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:431,1
    - Dst: iox2_waitset_attachment_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:431,1
    - Dst: ddsrt_atomic_cas32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:436,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:448,1
    - Dst: iox2_waitset_wait_and_process_once_with_timeout
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:452,1
    - Dst: on_event_try_take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:456,1
    - Dst: iox2_waitset_wait_and_process
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:459,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:462,1
    - Dst: iox2_waitset_run_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:462,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:464,1
    - Dst: psmx_iox2_waitset_run_result_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:464,1
    - Dst: iox2_waitset_guard_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:467,1
    - Dst: iox2_waitset_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:470,1
    - Dst: iox2_listener_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:472,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 391
    functionDepth: 6
    functionLinenumber: 391
    functionLinenumberEnd: 475
    functionName: thread_listener_func
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - iox2_waitset_builder_create
    - on_event_try_take
    - iox2_waitset_wait_and_process_once_with_timeout
    - iox2_listener_get_file_descriptor
    - ddsrt_atomic_ld32
    - iox2_port_factory_listener_builder_create
    - iox2_waitset_run_error_string
    - log_error
    - iox2_listener_create_error_string
    - iox2_waitset_builder_new
    - iox2_waitset_drop
    - iox2_waitset_create_error_string
    - iox2_port_factory_event_listener_builder
    - iox2_waitset_attachment_error_string
    - iox2_waitset_guard_drop
    - psmx_iox2_waitset_run_result_string
    - ddsrt_atomic_cas32
    - iox2_waitset_attach_notification
    - iox2_listener_drop
    - iox2_waitset_wait_and_process
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t thread_listener_func (void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:480,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:481,1
    - Dst: ddsrt_realloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:486,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:489,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:490,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:497,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:502,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:502,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:503,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:506,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:509,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:510,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - part_topic
    - ep
    argTypes:
    - psmx_iox2_partition_topic_t*
    - psmx_iox2_endpoint_t*
    assertStmts:
    - condition: (ddsrt_atomic_ld32 (&part_topic->listener_thread_state) == LISTENER_THREAD_NONE)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 516
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 516
    functionName: add_reader_to_part_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - snprintf
    - assert
    - ddsrt_mutex_lock
    - ddsrt_realloc
    - ddsrt_atomic_st32
    - ddsrt_threadattr_init
    - ddsrt_thread_create
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t add_reader_to_part_topic (psmx_iox2_partition_topic_t
      *part_topic, psmx_iox2_endpoint_t *ep)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:521,1
    - Dst: iox2_port_factory_pub_sub_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:524,1
    - Dst: iox2_port_factory_event_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:527,1
    - Dst: iox2_notifier_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:530,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:532,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - part_topic
    argTypes:
    - psmx_iox2_partition_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: free_part_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - iox2_port_factory_pub_sub_drop
    - iox2_notifier_drop
    - ddsrt_free
    - iox2_port_factory_event_drop
    linkageType: ''
    returnType: void
    signature: void free_part_topic (psmx_iox2_partition_topic_t *part_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: compare_iox2_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_iox2_topic (const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:547,1
    - Dst: ddsrt_avl_delete
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:550,1
    - Dst: free_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:551,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - part_topic
    argTypes:
    - psmx_iox2_partition_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 8
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: unref_part_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - ddsrt_avl_delete
    - free_part_topic
    linkageType: ''
    returnType: void
    signature: void unref_part_topic (psmx_iox2_partition_topic_t *part_topic)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - iox2_type_detail_error_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: psmx_iox2_type_detail_error_string
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *psmx_iox2_type_detail_error_string (const iox2_type_detail_error_e
      e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:574,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:575,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:578,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:585,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:590,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:590,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:593,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:593,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:595,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:598,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - topic_name
    - qos
    argTypes:
    - char*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 601
    functionName: create_iox2_topic_name
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - snprintf
    - dds_free
    - strlen
    - ddsrt_mh3
    - dds_qget_partition
    - ddsrt_malloc
    linkageType: ''
    returnType: char
    signature: char *create_iox2_topic_name (const char *topic_name, const dds_qos_t
      *qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_iox2_topic_name
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:608,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:612,1
    - Dst: iox2_semantic_string_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - topic
    - qos
    argTypes:
    - psmx_iox2_topic_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 632
    functionName: get_part_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - create_iox2_topic_name
    - ddsrt_mutex_lock
    - iox2_semantic_string_error_string
    linkageType: ''
    returnType: psmx_iox2_partition_topic_t
    signature: psmx_iox2_partition_topic_t *get_part_topic (psmx_iox2_topic_t *topic,
      const dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:761,1
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: is_wildcard_partition
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_wildcard_partition (const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:778,1
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:780,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:782,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:784,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:790,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:794,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:797,1
    - Dst: dds_qget_ignorelocal
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:800,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - dds_psmx_t*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 803
    functionName: psmx_iox2_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - dds_qget_durability
    - is_wildcard_partition
    - dds_free
    - dds_qget_ignorelocal
    - dds_qget_deadline
    - dds_qget_partition
    - dds_qget_liveliness
    linkageType: ''
    returnType: bool
    signature: bool psmx_iox2_type_qos_supported (dds_psmx_t *psmx, dds_psmx_endpoint_type_t
      forwhat, dds_data_type_properties_t data_type_props, const dds_qos_t *qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:808,1
    - Dst: ddsrt_avl_is_empty
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:808,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:809,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - dds_psmx_topic_t*
    assertStmts:
    - condition: (ddsrt_avl_is_empty (&iox2_topic->partitions))
      pos:
        line_end: 807
        line_start: 807
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 812
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 812
    functionName: psmx_iox2_delete_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_is_empty
    - assert
    - ddsrt_mutex_destroy
    - ddsrt_free
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_iox2_delete_topic (dds_psmx_topic_t *psmx_topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:820,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:823,1
    - Dst: ddsrt_avl_init
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    - type_definition
    - sizeof_type
    argTypes:
    - dds_psmx_t*
    - char*
    - char*
    - dds_data_type_properties_t
    - struct ddsi_type*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 832
    functionName: psmx_iox2_create_topic_w_type
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_avl_init
    - ddsrt_mutex_init
    - ddsrt_calloc
    linkageType: ''
    returnType: dds_psmx_topic_t
    signature: dds_psmx_topic_t *psmx_iox2_create_topic_w_type (dds_psmx_t *psmx,
      const char *topic_name, const char *type_name, dds_data_type_properties_t data_type_props,
      const struct ddsi_type *type_definition, uint32_t sizeof_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iox2_node_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:837,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: psmx_iox2_deinit_v2
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - iox2_node_drop
    - ddsrt_free
    linkageType: ''
    returnType: void
    signature: void psmx_iox2_deinit_v2 (dds_psmx_t *psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: psmx_iox2_get_node_id
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t psmx_iox2_get_node_id (const dds_psmx_t
      * psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - dds_psmx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: psmx_iox2_supported_features
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t psmx_iox2_supported_features (const dds_psmx_t
      * psmx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iox2_port_factory_pub_sub_subscriber_builder
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:859,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:861,1
    - Dst: iox2_port_factory_subscriber_builder_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:871,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:873,1
    - Dst: iox2_subscriber_create_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ep
    - qos
    argTypes:
    - psmx_iox2_endpoint_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 878
    functionName: psmx_iox2_init_reader
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - iox2_port_factory_subscriber_builder_create
    - iox2_subscriber_create_error_string
    - iox2_port_factory_pub_sub_subscriber_builder
    linkageType: ''
    returnType: bool
    signature: bool psmx_iox2_init_reader (psmx_iox2_endpoint_t *ep, const dds_qos_t
      *qos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iox2_port_factory_pub_sub_publisher_builder
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:882,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:884,1
    - Dst: iox2_port_factory_publisher_builder_set_allocation_strategy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:891,1
    - Dst: iox2_port_factory_publisher_builder_set_initial_max_slice_len
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:892,1
    - Dst: dds_qget_reliability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:895,1
    - Dst: iox2_port_factory_publisher_builder_unable_to_deliver_strategy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:896,1
    - Dst: iox2_port_factory_publisher_builder_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:898,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:900,1
    - Dst: iox2_publisher_create_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ep
    - iox2_topic
    - qos
    argTypes:
    - psmx_iox2_endpoint_t*
    - psmx_iox2_topic_t*
    - dds_qos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 904
    functionName: psmx_iox2_init_writer
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - iox2_port_factory_publisher_builder_set_initial_max_slice_len
    - iox2_publisher_create_error_string
    - dds_qget_reliability
    - iox2_port_factory_pub_sub_publisher_builder
    - iox2_port_factory_publisher_builder_set_allocation_strategy
    - iox2_port_factory_publisher_builder_unable_to_deliver_strategy
    - iox2_port_factory_publisher_builder_create
    linkageType: ''
    returnType: bool
    signature: bool psmx_iox2_init_writer (psmx_iox2_endpoint_t *ep, psmx_iox2_topic_t
      *iox2_topic, const dds_qos_t *qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psmx_iox2_init_reader
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:911,1
    - Dst: psmx_iox2_init_writer
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ep
    - iox2_topic
    - qos
    - endpoint_type
    argTypes:
    - psmx_iox2_endpoint_t*
    - psmx_iox2_topic_t*
    - dds_qos_t*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: psmx_iox2_init_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - psmx_iox2_init_reader
    - psmx_iox2_init_writer
    linkageType: ''
    returnType: bool
    signature: bool psmx_iox2_init_endpoint (psmx_iox2_endpoint_t *ep, psmx_iox2_topic_t
      *iox2_topic, const dds_qos_t *qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:923,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:926,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:931,1
    - Dst: psmx_iox2_init_endpoint
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:932,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:937,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:938,1
    - Dst: unref_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - dds_psmx_topic_t*
    - dds_qos_t*
    - dds_psmx_endpoint_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 920
    functionDepth: 9
    functionLinenumber: 920
    functionLinenumberEnd: 943
    functionName: psmx_iox2_create_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - get_part_topic
    - ddsrt_calloc
    - ddsrt_free
    - unref_part_topic
    - psmx_iox2_init_endpoint
    - ddsrt_mutex_destroy
    - ddsrt_mutex_init
    linkageType: ''
    returnType: dds_psmx_endpoint_t
    signature: dds_psmx_endpoint_t *psmx_iox2_create_endpoint (dds_psmx_topic_t *psmx_topic,
      const dds_qos_t *qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove_reader_from_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:952,1
    - Dst: iox2_take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:956,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:956,1
    - Dst: printf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:957,1
    - Dst: iox2_subscriber_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:959,1
    - Dst: iox2_publisher_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:962,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:965,1
    - Dst: ddsrt_mutex_destroy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:968,1
    - Dst: unref_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:969,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:970,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 945
    functionDepth: 9
    functionLinenumber: 945
    functionLinenumberEnd: 972
    functionName: psmx_iox2_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - iox2_subscriber_drop
    - ddsrt_free
    - iox2_take
    - unref_part_topic
    - printf
    - iox2_publisher_drop
    - remove_reader_from_part_topic
    - dds_loaned_sample_unref
    - ddsrt_mutex_destroy
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_iox2_delete_endpoint (dds_psmx_endpoint_t *psmx_endpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:977,1
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:979,1
    - Dst: iox2_publisher_loan_slice_uninit
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:985,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:987,1
    - Dst: iox2_loan_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:987,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:988,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:992,1
    - Dst: iox2_sample_mut_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:996,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:997,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1000,1
    - Dst: iox2_sample_mut_payload_mut
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1004,1
    - Dst: iox2_sample_mut_user_header_mut
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - psmx_endpoint
    - size_requested
    argTypes:
    - dds_psmx_endpoint_t*
    - uint32_t
    assertStmts:
    - condition: (iox2_endpoint->base.endpoint_type == DDS_PSMX_ENDPOINT_TYPE_WRITER)
      pos:
        line_end: 976
        line_start: 976
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 1007
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1007
    functionName: psmx_iox2_req_loan
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - iox2_sample_mut_user_header_mut
    - iox2_loan_error_string
    - ddsrt_calloc
    - ddsrt_mutex_lock
    - assert
    - iox2_publisher_loan_slice_uninit
    - iox2_sample_mut_drop
    - iox2_sample_mut_payload_mut
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *psmx_iox2_req_loan (dds_psmx_endpoint_t *psmx_endpoint,
      uint32_t size_requested)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1015,1
    - Dst: iox2_sample_mut_send
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1016,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1025,1
    - Dst: iox2_notifier_notify
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1032,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1034,1
    - Dst: iox2_notifier_notify_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - psmx_endpoint
    - data
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1037
    functionName: psmx_iox2_write
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - log_error
    - iox2_notifier_notify
    - ddsrt_mutex_lock
    - iox2_notifier_notify_error_string
    - iox2_sample_mut_send
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_iox2_write (dds_psmx_endpoint_t *psmx_endpoint, dds_loaned_sample_t
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iox2_subscriber_receive
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1045,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1047,1
    - Dst: iox2_receive_error_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1047,1
    - Dst: ddsrt_malloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1055,1
    - Dst: iox2_sample_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1057,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1063,1
    - Dst: iox2_sample_payload
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1065,1
    - Dst: iox2_sample_user_header
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - iox2_endpoint
    argTypes:
    - psmx_iox2_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1068
    functionName: psmx_iox2_take_locked
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 1
    functionsReached:
    - log_error
    - iox2_sample_user_header
    - iox2_subscriber_receive
    - iox2_receive_error_string
    - iox2_sample_payload
    - ddsrt_atomic_st32
    - ddsrt_malloc
    - iox2_sample_drop
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *psmx_iox2_take_locked (psmx_iox2_endpoint_t *iox2_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1073,1
    - Dst: psmx_iox2_take_locked
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1074,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - dds_psmx_endpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1077
    functionName: psmx_iox2_take
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_unlock
    - ddsrt_mutex_lock
    - psmx_iox2_take_locked
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t *psmx_iox2_take (dds_psmx_endpoint_t *psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_reader_to_part_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - dds_psmx_endpoint_t*
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1084
    functionName: psmx_iox2_on_data_available
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - add_reader_to_part_topic
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t psmx_iox2_on_data_available (dds_psmx_endpoint_t *psmx_endpoint,
      dds_entity_t reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1092,1
    - Dst: iox2_sample_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1093,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1096
    functionName: psmx_iox2_loaned_sample_const_free
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - ddsrt_mutex_unlock
    - iox2_sample_drop
    linkageType: ''
    returnType: void
    signature: void psmx_iox2_loaned_sample_const_free (dds_loaned_sample_t *loan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_mutex_lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1104,1
    - Dst: iox2_sample_mut_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1105,1
    - Dst: ddsrt_mutex_unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1108
    functionName: psmx_iox2_loaned_sample_mut_free
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_mutex_lock
    - iox2_sample_mut_drop
    - ddsrt_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void psmx_iox2_loaned_sample_mut_free (dds_loaned_sample_t *loan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1114,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1136,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1139,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1143,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - configstr
    - out
    argTypes:
    - char*
    - iox2_log_level_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1147
    functionName: get_loglevel_opt
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - ddsrt_strcasecmp
    - ddsrt_free
    - log_error
    linkageType: ''
    returnType: bool
    signature: bool get_loglevel_opt (const char *configstr, iox2_log_level_e *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1151,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - str
    - id
    argTypes:
    - char*
    - dds_psmx_node_identifier_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1164
    functionName: to_node_identifier
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - ddsrt_todigit
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool to_node_identifier (const char* str, dds_psmx_node_identifier_t
      *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1168,1
    - Dst: to_node_identifier
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1172,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1174,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1175,1
    - Dst: ddsrt_get_machineid
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1180,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1182,1
    - Dst: DDSRT_STATIC_ASSERT
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1183,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - configstr
    - node_id
    argTypes:
    - char*
    - dds_psmx_node_identifier_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1166
    functionDepth: 4
    functionLinenumber: 1166
    functionLinenumberEnd: 1187
    functionName: get_node_id_opt
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - log_error
    - ddsrt_free
    - memcpy
    - to_node_identifier
    - DDSRT_STATIC_ASSERT
    - ddsrt_get_machineid
    linkageType: ''
    returnType: bool
    signature: bool get_node_id_opt (const char *configstr, dds_psmx_node_identifier_t
      *node_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1191,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1199,1
    - Dst: ddsrt_strcasecmp
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1201,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1205,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1206,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - configstr
    - option
    - def
    - val
    argTypes:
    - char*
    - char*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1189
    functionDepth: 4
    functionLinenumber: 1189
    functionLinenumberEnd: 1212
    functionName: get_bool_opt
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - dds_psmx_get_config_option_value
    - ddsrt_strcasecmp
    - ddsrt_free
    - log_error
    linkageType: ''
    returnType: bool
    signature: bool get_bool_opt (const char *configstr, const char *option, bool
      def, bool *val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_loglevel_opt
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1227,1
    - Dst: get_node_id_opt
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1229,1
    - Dst: get_bool_opt
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1231,1
    - Dst: get_bool_opt
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1233,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1238,1
    - Dst: sched_info_setpriority
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1240,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1241,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1245,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1250,1
    - Dst: sched_info_setaffinity
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1252,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1253,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1257,1
    - Dst: iox2_set_log_level
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1263,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1264,1
    - Dst: iox2_config_global_config
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1269,1
    - Dst: iox2_config_from_ptr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1271,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1274,1
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1280,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1281,1
    - Dst: iox2_config_global_set_prefix
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1282,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1284,1
    - Dst: iox2_node_builder_new
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1288,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1291,1
    - Dst: iox2_node_builder_set_config
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1294,1
    - Dst: iox2_node_builder_set_signal_handling_mode
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1298,1
    - Dst: iox2_node_builder_create
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1301,1
    - Dst: log_error
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1303,1
    - Dst: iox2_node_creation_failure_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1303,1
    - Dst: iox2_config_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1306,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1307,1
    - Dst: iox2_config_drop
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1320,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1321,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c:1323,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - psmx
    - instance_id
    - configstr
    argTypes:
    - dds_psmx_t**
    - dds_psmx_instance_id_t
    - char*
    assertStmts:
    - condition: (instance_name)
      pos:
        line_end: 1280
        line_start: 1280
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    constantsTouched: []
    func_position:
      end: 1326
      start: 1219
    functionDepth: 5
    functionLinenumber: 1219
    functionLinenumberEnd: 1326
    functionName: iox2_create_psmx
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    functionUses: 0
    functionsReached:
    - sched_info_setaffinity
    - get_node_id_opt
    - iox2_node_creation_failure_string
    - iox2_node_builder_set_signal_handling_mode
    - iox2_node_builder_create
    - iox2_config_from_ptr
    - sched_info_setpriority
    - iox2_node_builder_set_config
    - iox2_set_log_level
    - get_config_option_val
    - iox2_config_global_set_prefix
    - log_error
    - iox2_config_drop
    - ddsrt_free
    - dds_free
    - assert
    - iox2_node_builder_new
    - iox2_config_global_config
    - dds_psmx_get_config_option_value
    - ddsrt_calloc
    - get_loglevel_opt
    - get_bool_opt
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox2_create_psmx (dds_psmx_t **psmx, dds_psmx_instance_id_t
      instance_id, const char *configstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:111,1
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: iox_psmx::is_wildcard_partition
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_wildcard_partition(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:133,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:133,1
    - Dst: iox::capro::IdString_t
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:142,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:142,1
    - Dst: iox::capro::IdString_t
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:144,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:144,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:149,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:149,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:151,1
    - Dst: iox::runtime::PoshRuntime::initRuntime
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:152,1
    - Dst: std::unique_ptr<iox::popo::Listener>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:153,1
    - Dst: iox::popo::Listener::Listener
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:153,1
    - Dst: dds_psmx_init_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - identifier
    - ' service_name'
    - ' node_id'
    - support_keyed_topics
    - allow_nondisc_wr
    - sched_info
    argTypes:
    - dds_psmx_instance_id_t
    - std::string
    - dds_psmx_node_identifier_t
    - bool
    - bool
    - sched::sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: iox_psmx::iox_psmx::iox_psmx
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - snprintf
    - std::unique_ptr<iox::popo::Listener>
    - dds_string_dup
    - dds_psmx_init_generic
    - iox::capro::IdString_t
    - iox::popo::Listener::Listener
    - c_str
    - iox::runtime::PoshRuntime::initRuntime
    linkageType: ''
    returnType: void
    signature: void iox_psmx::iox_psmx(dds_psmx_instance_id_t identifier, const std::string&
      service_name, const dds_psmx_node_identifier_t& node_id, bool support_keyed_topics,
      bool allow_nondisc_wr, sched::sched_info sched_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:161,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: iox_psmx::~iox_psmx()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - dds_psmx_cleanup_generic
    - assert
    linkageType: ''
    returnType: void
    signature: void iox_psmx::~iox_psmx()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_init_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:179,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:180,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' psmx'
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - iox_psmx
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: iox_psmx::iox_psmx_topic::iox_psmx_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_strlcpy
    - dds_psmx_topic_init_generic
    linkageType: ''
    returnType: void
    signature: void iox_psmx_topic::iox_psmx_topic(iox_psmx& psmx, const char * topic_name,
      const char * type_name, dds_data_type_properties_t data_type_props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_cleanup_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:186,1
    - Dst: static_cast<struct dds_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:186,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: iox_psmx_topic::~iox_psmx_topic()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<struct dds_psmx_topic *>
    - dds_psmx_topic_cleanup_generic
    linkageType: ''
    returnType: void
    signature: void iox_psmx_topic::~iox_psmx_topic()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:208,1
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:208,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:211,1
    - Dst: static_cast<char *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:218,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:218,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - partition
    - topic_name
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (partition)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (!is_wildcard_partition(partition))
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: iox_psmx::iox_psmx_endpoint::get_partition_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - is_wildcard_partition
    - assert
    - strlen
    - strcpy
    - static_cast<char *>
    - dds_alloc
    linkageType: ''
    returnType: char
    signature: char *iox_psmx_endpoint::get_partition_topic(const char * partition,
      const char * topic_name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:244,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:245,1
    - Dst: iox_psmx::iox_psmx_endpoint::get_partition_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:246,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:249,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:250,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:254,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:256,1
    - Dst: strncpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:260,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:261,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:261,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:262,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:264,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:280,1
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:281,1
    - Dst: iox::popo::UntypedSubscriber::UntypedSubscriber
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:292,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:298,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:302,1
    - Dst: iox::popo::UntypedPublisher::UntypedPublisher
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:307,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - iox_psmx_topic
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (n_partitions == 0 || n_partitions == 1)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (false)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: iox_psmx::iox_psmx_endpoint::iox_psmx_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - iox::popo::UntypedPublisher::UntypedPublisher
    - dds_qget_durability
    - dds_free
    - assert
    - iox_psmx::iox_psmx_endpoint::get_partition_topic
    - strlen
    - strcpy
    - ddsrt_mh3
    - dds_qget_durability_service
    - iox::popo::UntypedSubscriber::UntypedSubscriber
    - dds_qget_partition
    - strncpy
    - dds_qget_history
    linkageType: ''
    returnType: void
    signature: void iox_psmx_endpoint::iox_psmx_endpoint(iox_psmx_topic &psmx_topic,
      const struct dds_qos * qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:322,1
    - Dst: iox_psmx_endpoint::_parent::_parent::_listener::detachEvent
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:323,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:328,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: iox_psmx_endpoint::~iox_psmx_endpoint()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox::popo::UntypedPublisher *>
    - assert
    - static_cast<iox::popo::UntypedSubscriber *>
    - iox_psmx_endpoint::_parent::_parent::_listener::detachEvent
    linkageType: ''
    returnType: void
    signature: void iox_psmx_endpoint::~iox_psmx_endpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<dds_psmx_metadata_t *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: static_cast<const dds_psmx_metadata_t *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: iox::mepoo::ChunkHeader::fromUserPayload
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: const_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - origin
    - iox_payload
    argTypes:
    - struct dds_psmx_endpoint*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: iox_psmx::iox_loaned_sample::iox_loaned_sample
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const dds_psmx_metadata_t *>
    - const_cast<void *>
    - iox::mepoo::ChunkHeader::fromUserPayload
    - const_cast<dds_psmx_metadata_t *>
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample::iox_loaned_sample(struct dds_psmx_endpoint
      * origin, const void * iox_payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:355,1
    - Dst: static_cast<iox_psmx_endpoint*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:356,1
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:363,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:368,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_PSMX)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (false)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: iox_loaned_sample::~iox_loaned_sample()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox_psmx_endpoint*>
    - static_cast<iox::popo::UntypedPublisher *>
    - assert
    - static_cast<iox::popo::UntypedSubscriber *>
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample::~iox_loaned_sample()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:383,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:397,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:406,1
    - Dst: static_cast<int32_t>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:407,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:413,1
    - Dst: iox_psmx::is_wildcard_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:415,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:417,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:419,1
    - Dst: dds_qget_ignorelocal
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:425,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:428,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:431,1
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:440,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:443,1
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:446,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 41
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - struct dds_psmx*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 451
    functionName: iox_psmx::iox_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - dds_qget_durability
    - static_cast<int32_t>
    - static_cast<struct iox_psmx *>
    - iox_psmx::is_wildcard_partition
    - dds_free
    - dds_qget_ignorelocal
    - dds_qget_lifespan
    - dds_qget_durability_service
    - dds_qget_ownership
    - dds_qget_writer_data_lifecycle
    - dds_qget_deadline
    - dds_qget_partition
    - dds_qget_liveliness
    linkageType: ''
    returnType: bool
    signature: bool iox_type_qos_supported(struct dds_psmx * psmx, dds_psmx_endpoint_type_t
      forwhat, dds_data_type_properties_t data_type_props, const struct dds_qos *
      qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:455,1
    - Dst: static_cast<iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:456,1
    - Dst: iox_psmx_topic::iox_psmx_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - struct dds_psmx*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts:
    - condition: (psmx)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: iox_psmx::iox_create_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - iox_psmx_topic::iox_psmx_topic
    - static_cast<iox_psmx *>
    linkageType: ''
    returnType: struct dds_psmx_topic
    signature: struct dds_psmx_topic * iox_create_topic(struct dds_psmx * psmx, const
      char * topic_name, const char * type_name, dds_data_type_properties_t data_type_props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:462,1
    - Dst: static_cast<iox_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - struct dds_psmx_topic*
    assertStmts:
    - condition: (psmx_topic)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: iox_psmx::iox_delete_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_topic *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_delete_topic(struct dds_psmx_topic * psmx_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:469,1
    - Dst: static_cast<iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts:
    - condition: (psmx)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: iox_psmx::iox_psmx_deinit
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_psmx_deinit(struct dds_psmx * psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: iox_psmx::iox_psmx_get_node_id
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const iox_psmx *>
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t iox_psmx_get_node_id(const struct dds_psmx
      * psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: iox_psmx::iox_supported_features
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t iox_supported_features(const struct dds_psmx *
      psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:489,1
    - Dst: static_cast<iox_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:490,1
    - Dst: iox_psmx_endpoint::iox_psmx_endpoint
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (psmx_topic)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: iox_psmx::iox_create_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx_endpoint::iox_psmx_endpoint
    - assert
    - static_cast<iox_psmx_topic *>
    linkageType: ''
    returnType: struct dds_psmx_endpoint
    signature: struct dds_psmx_endpoint * iox_create_endpoint(struct dds_psmx_topic
      * psmx_topic, const struct dds_qos * qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:496,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: iox_psmx::iox_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_endpoint *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_delete_endpoint(struct dds_psmx_endpoint * psmx_endpoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:505,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:509,1
    - Dst: auto::loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:511,1
    - Dst: iox_loaned_sample::iox_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:513,1
    - Dst: iox::popo::asStringLiteral
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - psmx_endpoint
    - size_requested
    argTypes:
    - struct dds_psmx_endpoint*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: iox_psmx::iox_req_loan
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_loaned_sample::iox_loaned_sample
    - auto::loan
    - static_cast<iox::popo::UntypedPublisher *>
    - static_cast<iox_psmx_endpoint *>
    - iox::popo::asStringLiteral
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * iox_req_loan(struct dds_psmx_endpoint *psmx_endpoint,
      uint32_t size_requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:525,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:526,1
    - Dst: static_cast<iox::popo::UntypedPublisher*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:527,1
    - Dst: auto::publish
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - psmx_endpoint
    - data
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (psmx_endpoint->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_WRITER)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 540
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 540
    functionName: iox_psmx::iox_write
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_endpoint *>
    - auto::publish
    - static_cast<iox::popo::UntypedPublisher*>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_write(struct dds_psmx_endpoint * psmx_endpoint, dds_loaned_sample_t
      * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iox_loaned_sample::iox_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - psmx_endpoint
    - iox_payload
    argTypes:
    - iox_psmx_endpoint*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: iox_psmx::incoming_sample_to_loan
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_loaned_sample::iox_loaned_sample
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * incoming_sample_to_loan(iox_psmx_endpoint *psmx_endpoint,
      const void *iox_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:549,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:550,1
    - Dst: static_cast<iox::popo::UntypedSubscriber*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:551,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:552,1
    - Dst: auto::take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:555,1
    - Dst: iox_psmx::incoming_sample_to_loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_READER)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (subscriber)
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: iox_psmx::iox_take
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::incoming_sample_to_loan
    - auto::take
    - static_cast<iox::popo::UntypedSubscriber*>
    - assert
    - static_cast<iox_psmx_endpoint *>
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * iox_take(struct dds_psmx_endpoint * psmx_endpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:564,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:565,1
    - Dst: static_cast<struct iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:566,1
    - Dst: sched_info_apply
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:570,1
    - Dst: iox_psmx_endpoint*::lock::lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:574,1
    - Dst: iox::popo::UntypedSubscriber*::hasData
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:575,1
    - Dst: iox::popo::UntypedSubscriber*::take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:577,1
    - Dst: iox_psmx_endpoint*::lock::unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:578,1
    - Dst: iox_psmx::incoming_sample_to_loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:579,1
    - Dst: dds_reader_store_loaned_sample_wr_metadata
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:588,1
    - Dst: dds_reader_store_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:592,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:595,1
    - Dst: iox_psmx_endpoint*::lock::lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:596,1
    - Dst: iox_psmx_endpoint*::lock::unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - subscriber
    - psmx_endpoint
    argTypes:
    - iox::popo::UntypedSubscriber*
    - iox_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint->psmx_topic)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (psmx_endpoint->psmx_topic->psmx_instance)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 600
      start: 562
    functionDepth: 5
    functionLinenumber: 562
    functionLinenumberEnd: 600
    functionName: iox_psmx::on_incoming_data_callback
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::incoming_sample_to_loan
    - dds_reader_store_loaned_sample_wr_metadata
    - iox::popo::UntypedSubscriber*::hasData
    - static_cast<struct iox_psmx *>
    - iox_psmx_endpoint*::lock::lock
    - assert
    - iox::popo::UntypedSubscriber*::take
    - sched_info_apply
    - dds_loaned_sample_unref
    - iox_psmx_endpoint*::lock::unlock
    - dds_reader_store_loaned_sample
    linkageType: ''
    returnType: void
    signature: void on_incoming_data_callback(iox::popo::UntypedSubscriber * subscriber,
      iox_psmx_endpoint * psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:604,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:605,1
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:608,1
    - Dst: auto::_parent::_parent::_listener::attachEvent
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:612,1
    - Dst: iox::popo::createNotificationCallback
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_entity_t
    assertStmts:
    - condition: (cpp_ep_ptr && cpp_ep_ptr->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_READER)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 619
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 619
    functionName: iox_psmx::iox_on_data_available
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox::popo::createNotificationCallback
    - assert
    - static_cast<iox_psmx_endpoint *>
    - auto::_parent::_parent::_listener::attachEvent
    - static_cast<iox::popo::UntypedSubscriber *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_on_data_available(struct dds_psmx_endpoint * psmx_endpoint,
      dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:626,1
    - Dst: static_cast<iox_loaned_sample *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (loan)
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: iox_psmx::iox_loaned_sample_free
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox_loaned_sample *>
    - assert
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample_free(dds_loaned_sample_t *loan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:111,1
    - Dst: strchr
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: iox_psmx::is_wildcard_partition
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_wildcard_partition(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_string_dup
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:133,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:133,1
    - Dst: iox::capro::IdString_t
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:142,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:142,1
    - Dst: iox::capro::IdString_t
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:144,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:144,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:149,1
    - Dst: ddsrt_random
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:149,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:151,1
    - Dst: iox::runtime::PoshRuntime::initRuntime
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:152,1
    - Dst: std::unique_ptr<iox::popo::Listener>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:153,1
    - Dst: iox::popo::Listener::Listener
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:153,1
    - Dst: dds_psmx_init_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - identifier
    - ' service_name'
    - ' node_id'
    - support_keyed_topics
    - allow_nondisc_wr
    - sched_info
    argTypes:
    - dds_psmx_instance_id_t
    - std::string
    - dds_psmx_node_identifier_t
    - bool
    - bool
    - sched::sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: iox_psmx::iox_psmx::iox_psmx
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - ddsrt_random
    - snprintf
    - std::unique_ptr<iox::popo::Listener>
    - dds_string_dup
    - dds_psmx_init_generic
    - iox::capro::IdString_t
    - iox::popo::Listener::Listener
    - c_str
    - iox::runtime::PoshRuntime::initRuntime
    linkageType: ''
    returnType: void
    signature: void iox_psmx::iox_psmx(dds_psmx_instance_id_t identifier, const std::string&
      service_name, const dds_psmx_node_identifier_t& node_id, bool support_keyed_topics,
      bool allow_nondisc_wr, sched::sched_info sched_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_cleanup_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:161,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: iox_psmx::~iox_psmx()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - dds_psmx_cleanup_generic
    - assert
    linkageType: ''
    returnType: void
    signature: void iox_psmx::~iox_psmx()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_init_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:179,1
    - Dst: ddsrt_strlcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:180,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' psmx'
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - iox_psmx
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: iox_psmx::iox_psmx_topic::iox_psmx_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - ddsrt_strlcpy
    - dds_psmx_topic_init_generic
    linkageType: ''
    returnType: void
    signature: void iox_psmx_topic::iox_psmx_topic(iox_psmx& psmx, const char * topic_name,
      const char * type_name, dds_data_type_properties_t data_type_props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_topic_cleanup_generic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:186,1
    - Dst: static_cast<struct dds_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:186,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: iox_psmx_topic::~iox_psmx_topic()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<struct dds_psmx_topic *>
    - dds_psmx_topic_cleanup_generic
    linkageType: ''
    returnType: void
    signature: void iox_psmx_topic::~iox_psmx_topic()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:207,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:208,1
    - Dst: is_wildcard_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:208,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:211,1
    - Dst: static_cast<char *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:218,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:218,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - partition
    - topic_name
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (partition)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (!is_wildcard_partition(partition))
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: iox_psmx::iox_psmx_endpoint::get_partition_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 1
    functionsReached:
    - is_wildcard_partition
    - assert
    - strlen
    - strcpy
    - static_cast<char *>
    - dds_alloc
    linkageType: ''
    returnType: char
    signature: char *iox_psmx_endpoint::get_partition_topic(const char * partition,
      const char * topic_name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:244,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:245,1
    - Dst: iox_psmx::iox_psmx_endpoint::get_partition_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:246,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:249,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:250,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:254,1
    - Dst: strcpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:256,1
    - Dst: strncpy
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:260,1
    - Dst: ddsrt_mh3
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:261,1
    - Dst: strlen
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:261,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:262,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:264,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:280,1
    - Dst: dds_qget_history
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:281,1
    - Dst: iox::popo::UntypedSubscriber::UntypedSubscriber
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:292,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:298,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:302,1
    - Dst: iox::popo::UntypedPublisher::UntypedPublisher
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:307,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - iox_psmx_topic
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (n_partitions == 0 || n_partitions == 1)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (false)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: iox_psmx::iox_psmx_endpoint::iox_psmx_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - iox::popo::UntypedPublisher::UntypedPublisher
    - dds_qget_durability
    - dds_free
    - assert
    - iox_psmx::iox_psmx_endpoint::get_partition_topic
    - strlen
    - strcpy
    - ddsrt_mh3
    - dds_qget_durability_service
    - iox::popo::UntypedSubscriber::UntypedSubscriber
    - dds_qget_partition
    - strncpy
    - dds_qget_history
    linkageType: ''
    returnType: void
    signature: void iox_psmx_endpoint::iox_psmx_endpoint(iox_psmx_topic &psmx_topic,
      const struct dds_qos * qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:322,1
    - Dst: iox_psmx_endpoint::_parent::_parent::_listener::detachEvent
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:323,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:328,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: iox_psmx_endpoint::~iox_psmx_endpoint()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox::popo::UntypedPublisher *>
    - assert
    - static_cast<iox::popo::UntypedSubscriber *>
    - iox_psmx_endpoint::_parent::_parent::_listener::detachEvent
    linkageType: ''
    returnType: void
    signature: void iox_psmx_endpoint::~iox_psmx_endpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<dds_psmx_metadata_t *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: static_cast<const dds_psmx_metadata_t *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: iox::mepoo::ChunkHeader::fromUserPayload
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:346,1
    - Dst: const_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - origin
    - iox_payload
    argTypes:
    - struct dds_psmx_endpoint*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: iox_psmx::iox_loaned_sample::iox_loaned_sample
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const dds_psmx_metadata_t *>
    - const_cast<void *>
    - iox::mepoo::ChunkHeader::fromUserPayload
    - const_cast<dds_psmx_metadata_t *>
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample::iox_loaned_sample(struct dds_psmx_endpoint
      * origin, const void * iox_payload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:355,1
    - Dst: static_cast<iox_psmx_endpoint*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:356,1
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:363,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:368,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (loan_origin.origin_kind == DDS_LOAN_ORIGIN_KIND_PSMX)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (false)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: iox_loaned_sample::~iox_loaned_sample()
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox_psmx_endpoint*>
    - static_cast<iox::popo::UntypedPublisher *>
    - assert
    - static_cast<iox::popo::UntypedSubscriber *>
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample::~iox_loaned_sample()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:383,1
    - Dst: dds_qget_durability
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:397,1
    - Dst: dds_qget_durability_service
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:406,1
    - Dst: static_cast<int32_t>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:407,1
    - Dst: dds_qget_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:413,1
    - Dst: iox_psmx::is_wildcard_partition
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:415,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:417,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:419,1
    - Dst: dds_qget_ignorelocal
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:425,1
    - Dst: dds_qget_liveliness
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:428,1
    - Dst: dds_qget_deadline
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:431,1
    - Dst: dds_qget_ownership
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:440,1
    - Dst: dds_qget_writer_data_lifecycle
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:443,1
    - Dst: dds_qget_lifespan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:446,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 41
    argCount: 4
    argNames:
    - psmx
    - forwhat
    - data_type_props
    - qos
    argTypes:
    - struct dds_psmx*
    - dds_psmx_endpoint_type_t
    - dds_data_type_properties_t
    - struct dds_qos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 451
    functionName: iox_psmx::iox_type_qos_supported
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - dds_qget_durability
    - static_cast<int32_t>
    - static_cast<struct iox_psmx *>
    - iox_psmx::is_wildcard_partition
    - dds_free
    - dds_qget_ignorelocal
    - dds_qget_lifespan
    - dds_qget_durability_service
    - dds_qget_ownership
    - dds_qget_writer_data_lifecycle
    - dds_qget_deadline
    - dds_qget_partition
    - dds_qget_liveliness
    linkageType: ''
    returnType: bool
    signature: bool iox_type_qos_supported(struct dds_psmx * psmx, dds_psmx_endpoint_type_t
      forwhat, dds_data_type_properties_t data_type_props, const struct dds_qos *
      qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:455,1
    - Dst: static_cast<iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:456,1
    - Dst: iox_psmx_topic::iox_psmx_topic
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - psmx
    - topic_name
    - type_name
    - data_type_props
    argTypes:
    - struct dds_psmx*
    - char*
    - char*
    - dds_data_type_properties_t
    assertStmts:
    - condition: (psmx)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: iox_psmx::iox_create_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - iox_psmx_topic::iox_psmx_topic
    - static_cast<iox_psmx *>
    linkageType: ''
    returnType: struct dds_psmx_topic
    signature: struct dds_psmx_topic * iox_create_topic(struct dds_psmx * psmx, const
      char * topic_name, const char * type_name, dds_data_type_properties_t data_type_props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:462,1
    - Dst: static_cast<iox_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_topic
    argTypes:
    - struct dds_psmx_topic*
    assertStmts:
    - condition: (psmx_topic)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: iox_psmx::iox_delete_topic
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_topic *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_delete_topic(struct dds_psmx_topic * psmx_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:469,1
    - Dst: static_cast<iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts:
    - condition: (psmx)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: iox_psmx::iox_psmx_deinit
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_psmx_deinit(struct dds_psmx * psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: iox_psmx::iox_psmx_get_node_id
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const iox_psmx *>
    linkageType: ''
    returnType: dds_psmx_node_identifier_t
    signature: dds_psmx_node_identifier_t iox_psmx_get_node_id(const struct dds_psmx
      * psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psmx
    argTypes:
    - struct dds_psmx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: iox_psmx::iox_supported_features
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dds_psmx_features_t
    signature: dds_psmx_features_t iox_supported_features(const struct dds_psmx *
      psmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:489,1
    - Dst: static_cast<iox_psmx_topic *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:490,1
    - Dst: iox_psmx_endpoint::iox_psmx_endpoint
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - psmx_topic
    - qos
    - endpoint_type
    argTypes:
    - struct dds_psmx_topic*
    - struct dds_qos*
    - dds_psmx_endpoint_type_t
    assertStmts:
    - condition: (psmx_topic)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: iox_psmx::iox_create_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx_endpoint::iox_psmx_endpoint
    - assert
    - static_cast<iox_psmx_topic *>
    linkageType: ''
    returnType: struct dds_psmx_endpoint
    signature: struct dds_psmx_endpoint * iox_create_endpoint(struct dds_psmx_topic
      * psmx_topic, const struct dds_qos * qos, dds_psmx_endpoint_type_t endpoint_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:496,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: iox_psmx::iox_delete_endpoint
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_endpoint *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_delete_endpoint(struct dds_psmx_endpoint * psmx_endpoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:505,1
    - Dst: static_cast<iox::popo::UntypedPublisher *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:509,1
    - Dst: auto::loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:511,1
    - Dst: iox_loaned_sample::iox_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:513,1
    - Dst: iox::popo::asStringLiteral
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - psmx_endpoint
    - size_requested
    argTypes:
    - struct dds_psmx_endpoint*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: iox_psmx::iox_req_loan
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_loaned_sample::iox_loaned_sample
    - auto::loan
    - static_cast<iox::popo::UntypedPublisher *>
    - static_cast<iox_psmx_endpoint *>
    - iox::popo::asStringLiteral
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * iox_req_loan(struct dds_psmx_endpoint *psmx_endpoint,
      uint32_t size_requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:525,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:526,1
    - Dst: static_cast<iox::popo::UntypedPublisher*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:527,1
    - Dst: auto::publish
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - psmx_endpoint
    - data
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (psmx_endpoint->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_WRITER)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 540
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 540
    functionName: iox_psmx::iox_write
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<iox_psmx_endpoint *>
    - auto::publish
    - static_cast<iox::popo::UntypedPublisher*>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_write(struct dds_psmx_endpoint * psmx_endpoint, dds_loaned_sample_t
      * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iox_loaned_sample::iox_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - psmx_endpoint
    - iox_payload
    argTypes:
    - iox_psmx_endpoint*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: iox_psmx::incoming_sample_to_loan
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 2
    functionsReached:
    - iox_loaned_sample::iox_loaned_sample
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * incoming_sample_to_loan(iox_psmx_endpoint *psmx_endpoint,
      const void *iox_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:549,1
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:550,1
    - Dst: static_cast<iox::popo::UntypedSubscriber*>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:551,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:552,1
    - Dst: auto::take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:555,1
    - Dst: iox_psmx::incoming_sample_to_loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - psmx_endpoint
    argTypes:
    - struct dds_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_READER)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (subscriber)
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: iox_psmx::iox_take
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::incoming_sample_to_loan
    - auto::take
    - static_cast<iox::popo::UntypedSubscriber*>
    - assert
    - static_cast<iox_psmx_endpoint *>
    linkageType: ''
    returnType: dds_loaned_sample_t
    signature: dds_loaned_sample_t * iox_take(struct dds_psmx_endpoint * psmx_endpoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:564,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:565,1
    - Dst: static_cast<struct iox_psmx *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:566,1
    - Dst: sched_info_apply
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:570,1
    - Dst: iox_psmx_endpoint*::lock::lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:574,1
    - Dst: iox::popo::UntypedSubscriber*::hasData
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:575,1
    - Dst: iox::popo::UntypedSubscriber*::take
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:577,1
    - Dst: iox_psmx_endpoint*::lock::unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:578,1
    - Dst: iox_psmx::incoming_sample_to_loan
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:579,1
    - Dst: dds_reader_store_loaned_sample_wr_metadata
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:588,1
    - Dst: dds_reader_store_loaned_sample
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:592,1
    - Dst: dds_loaned_sample_unref
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:595,1
    - Dst: iox_psmx_endpoint*::lock::lock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:596,1
    - Dst: iox_psmx_endpoint*::lock::unlock
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - subscriber
    - psmx_endpoint
    argTypes:
    - iox::popo::UntypedSubscriber*
    - iox_psmx_endpoint*
    assertStmts:
    - condition: (psmx_endpoint->psmx_topic)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - condition: (psmx_endpoint->psmx_topic->psmx_instance)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 600
      start: 562
    functionDepth: 5
    functionLinenumber: 562
    functionLinenumberEnd: 600
    functionName: iox_psmx::on_incoming_data_callback
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::incoming_sample_to_loan
    - dds_reader_store_loaned_sample_wr_metadata
    - iox::popo::UntypedSubscriber*::hasData
    - static_cast<struct iox_psmx *>
    - iox_psmx_endpoint*::lock::lock
    - assert
    - iox::popo::UntypedSubscriber*::take
    - sched_info_apply
    - dds_loaned_sample_unref
    - iox_psmx_endpoint*::lock::unlock
    - dds_reader_store_loaned_sample
    linkageType: ''
    returnType: void
    signature: void on_incoming_data_callback(iox::popo::UntypedSubscriber * subscriber,
      iox_psmx_endpoint * psmx_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<iox_psmx_endpoint *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:604,1
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:605,1
    - Dst: static_cast<iox::popo::UntypedSubscriber *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:608,1
    - Dst: auto::_parent::_parent::_listener::attachEvent
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:612,1
    - Dst: iox::popo::createNotificationCallback
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - psmx_endpoint
    - reader
    argTypes:
    - struct dds_psmx_endpoint*
    - dds_entity_t
    assertStmts:
    - condition: (cpp_ep_ptr && cpp_ep_ptr->endpoint_type == DDS_PSMX_ENDPOINT_TYPE_READER)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 619
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 619
    functionName: iox_psmx::iox_on_data_available
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox::popo::createNotificationCallback
    - assert
    - static_cast<iox_psmx_endpoint *>
    - auto::_parent::_parent::_listener::attachEvent
    - static_cast<iox::popo::UntypedSubscriber *>
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_on_data_available(struct dds_psmx_endpoint * psmx_endpoint,
      dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:626,1
    - Dst: static_cast<iox_loaned_sample *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loan
    argTypes:
    - dds_loaned_sample_t*
    assertStmts:
    - condition: (loan)
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: iox_psmx::iox_loaned_sample_free
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<iox_loaned_sample *>
    - assert
    linkageType: ''
    returnType: void
    signature: void iox_loaned_sample_free(dds_loaned_sample_t *loan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_psmx_get_config_option_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:636,1
    - Dst: dds_free
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:641,1
    - Dst: transform
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:643,1
    - Dst: std::optional::begin
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:643,1
    - Dst: std::optional::end
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:643,1
    - Dst: std::optional::begin
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - option_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: get_config_option_val
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 1
    functionsReached:
    - dds_psmx_get_config_option_value
    - std::optional::begin
    - dds_free
    - transform
    - std::optional::end
    linkageType: ''
    returnType: std::optional<std::string>
    signature: std::optional<std::string> get_config_option_val(const char *conf,
      const char *option_name, bool tolower = false)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: to_loglevel
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<iox::log::LogLevel>
    signature: std::optional<iox::log::LogLevel> to_loglevel(const std::string& str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:677,1
    - Dst: ddsrt_todigit
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 690
    functionName: to_node_identifier
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 1
    functionsReached:
    - ddsrt_todigit
    - length
    linkageType: ''
    returnType: std::optional<dds_psmx_node_identifier_t>
    signature: std::optional<dds_psmx_node_identifier_t> to_node_identifier(const
      std::string& str)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:694,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:697,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:698,1
    - Dst: to_loglevel
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:699,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:699,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:700,1
    - Dst: dump_unget
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:703,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:703,1
    - Dst: iox::log::LogManager::GetLogManager
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:705,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:705,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:709,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:711,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:712,1
    - Dst: std::string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:715,1
    - Dst: std::to_string
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:715,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:718,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:720,1
    - Dst: to_node_identifier
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:721,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:721,1
    - Dst: ddsrt_get_machineid
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:724,1
    - Dst: reinterpret_cast<dds_psmx_node_identifier_t *>
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:729,1
    - Dst: std::optional::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:731,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:734,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:736,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:737,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:739,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:743,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:745,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:746,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:748,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:753,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:754,1
    - Dst: iox_psmx::sched::sched_info_setpriority
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:755,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:755,1
    - Dst: get_config_option_val
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:760,1
    - Dst: auto::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:761,1
    - Dst: iox_psmx::sched::sched_info_setaffinity
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:762,1
    - Dst: auto::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:762,1
    - Dst: std::optional::value
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:768,1
    - Dst: iox_psmx::iox_psmx::iox_psmx
      Src: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp:768,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - psmx
    - instance_id
    - config
    argTypes:
    - struct dds_psmx**
    - dds_psmx_instance_id_t
    - char*
    assertStmts:
    - condition: (psmx)
      pos:
        line_end: 693
        line_start: 693
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    constantsTouched: []
    func_position:
      end: 770
      start: 692
    functionDepth: 5
    functionLinenumber: 692
    functionLinenumberEnd: 770
    functionName: iox_create_psmx
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    functionUses: 0
    functionsReached:
    - iox::log::LogManager::GetLogManager
    - to_loglevel
    - std::string
    - auto::has_value
    - assert
    - to_node_identifier
    - reinterpret_cast<dds_psmx_node_identifier_t *>
    - std::optional::has_value
    - iox_psmx::iox_psmx::iox_psmx
    - std::to_string
    - dump_unget
    - auto::value
    - iox_psmx::sched::sched_info_setaffinity
    - std::optional::value
    - get_config_option_val
    - iox_psmx::sched::sched_info_setpriority
    - ddsrt_get_machineid
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t iox_create_psmx(struct dds_psmx **psmx, dds_psmx_instance_id_t
      instance_id, const char *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - sched_get_priority_min
    - sched_get_priority_max
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:55,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rbegin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rend
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: iox_psmx::sched::trim
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - std::string::erase
    - std::string::rbegin
    - std::string::end
    - std::isspace
    - std::string::begin
    - std::find_if
    - std::string::rend
    linkageType: ''
    returnType: void
    signature: void trim(std::string &s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:69,1
    - Dst: GetPriorityClass
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:84,1
    - Dst: iox_psmx::sched::trim
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:85,1
    - Dst: std::transform
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::toupper
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::stoi
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: iox_psmx::sched::valid_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: iox_psmx::sched::sched_info_setpriority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - GetPriorityClass
    - std::stoi
    - GetCurrentProcess
    - iox_psmx::sched::valid_priority
    - substr
    - std::string::begin
    - std::transform
    - iox_psmx::sched::trim
    - std::toupper
    - std::string::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setpriority(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:114,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:122,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' set'
    - id
    argTypes:
    - cpuset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: iox_psmx::sched::cpuset_set
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - CPU_SET
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool cpuset_set(cpuset_t& set, int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: std::unique_ptr::get
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:132,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:133,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:136,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:138,1
    - Dst: iox_psmx::sched::cpuset_set
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: iox_psmx::sched::sched_info_setaffinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - sscanf
    - std::unique_ptr::get
    - ddsrt_strdup
    - ddsrt_strsep
    - iox_psmx::sched::cpuset_set
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setaffinity(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: static_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: pthread_setschedparam
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: SetThreadPriority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - class_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: iox_psmx::sched::set_thread_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - SetThreadPriority
    - GetCurrentThread
    - static_cast<void *>
    - pthread_setschedparam
    - memset
    - static_cast<void>
    - pthread_self
    linkageType: ''
    returnType: bool
    signature: bool set_thread_priority(const class_prio& cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setaffinity_np
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: SetThreadAffinityMask
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' affinity'
    argTypes:
    - cpuset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: iox_psmx::sched::set_thread_affinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - GetCurrentThread
    - static_cast<void>
    - SetThreadAffinityMask
    - pthread_self
    - pthread_setaffinity_np
    linkageType: ''
    returnType: bool
    signature: bool set_thread_affinity(const cpuset_t& affinity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prio::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:188,1
    - Dst: iox_psmx::sched::set_thread_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: prio::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: affinity::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:192,1
    - Dst: iox_psmx::sched::set_thread_affinity
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    - Dst: affinity::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' si'
    argTypes:
    - sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: iox_psmx::sched::sched_info_apply
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::sched::set_thread_affinity
    - affinity::value
    - prio::value
    - iox_psmx::sched::set_thread_priority
    - affinity::has_value
    - prio::has_value
    linkageType: ''
    returnType: bool
    signature: bool sched_info_apply(const sched_info& si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - sched_get_priority_min
    - sched_get_priority_max
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:55,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rbegin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rend
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: iox_psmx::sched::trim
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - std::string::erase
    - std::string::rbegin
    - std::string::end
    - std::isspace
    - std::string::begin
    - std::find_if
    - std::string::rend
    linkageType: ''
    returnType: void
    signature: void trim(std::string &s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:69,1
    - Dst: GetPriorityClass
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:84,1
    - Dst: iox_psmx::sched::trim
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:85,1
    - Dst: std::transform
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::toupper
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::stoi
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: iox_psmx::sched::valid_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: iox_psmx::sched::sched_info_setpriority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - GetPriorityClass
    - std::stoi
    - GetCurrentProcess
    - iox_psmx::sched::valid_priority
    - substr
    - std::string::begin
    - std::transform
    - iox_psmx::sched::trim
    - std::toupper
    - std::string::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setpriority(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:114,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:122,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' set'
    - id
    argTypes:
    - cpuset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: iox_psmx::sched::cpuset_set
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - CPU_SET
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool cpuset_set(cpuset_t& set, int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: std::unique_ptr::get
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:132,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:133,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:136,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:138,1
    - Dst: iox_psmx::sched::cpuset_set
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: iox_psmx::sched::sched_info_setaffinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - sscanf
    - std::unique_ptr::get
    - ddsrt_strdup
    - ddsrt_strsep
    - iox_psmx::sched::cpuset_set
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setaffinity(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: static_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: pthread_setschedparam
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: SetThreadPriority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - class_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: iox_psmx::sched::set_thread_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - SetThreadPriority
    - GetCurrentThread
    - static_cast<void *>
    - pthread_setschedparam
    - memset
    - static_cast<void>
    - pthread_self
    linkageType: ''
    returnType: bool
    signature: bool set_thread_priority(const class_prio& cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setaffinity_np
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: SetThreadAffinityMask
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' affinity'
    argTypes:
    - cpuset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: iox_psmx::sched::set_thread_affinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - GetCurrentThread
    - static_cast<void>
    - SetThreadAffinityMask
    - pthread_self
    - pthread_setaffinity_np
    linkageType: ''
    returnType: bool
    signature: bool set_thread_affinity(const cpuset_t& affinity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prio::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:188,1
    - Dst: iox_psmx::sched::set_thread_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: prio::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: affinity::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:192,1
    - Dst: iox_psmx::sched::set_thread_affinity
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    - Dst: affinity::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' si'
    argTypes:
    - sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: iox_psmx::sched::sched_info_apply
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::sched::set_thread_affinity
    - affinity::value
    - prio::value
    - iox_psmx::sched::set_thread_priority
    - affinity::has_value
    - prio::has_value
    linkageType: ''
    returnType: bool
    signature: bool sched_info_apply(const sched_info& si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - sched_get_priority_min
    - sched_get_priority_max
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:55,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rbegin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rend
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: iox_psmx::sched::trim
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - std::string::erase
    - std::string::rbegin
    - std::string::end
    - std::isspace
    - std::string::begin
    - std::find_if
    - std::string::rend
    linkageType: ''
    returnType: void
    signature: void trim(std::string &s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:69,1
    - Dst: GetPriorityClass
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:84,1
    - Dst: iox_psmx::sched::trim
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:85,1
    - Dst: std::transform
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::toupper
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::stoi
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: iox_psmx::sched::valid_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: iox_psmx::sched::sched_info_setpriority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - GetPriorityClass
    - std::stoi
    - GetCurrentProcess
    - iox_psmx::sched::valid_priority
    - substr
    - std::string::begin
    - std::transform
    - iox_psmx::sched::trim
    - std::toupper
    - std::string::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setpriority(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:114,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:122,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' set'
    - id
    argTypes:
    - cpuset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: iox_psmx::sched::cpuset_set
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - CPU_SET
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool cpuset_set(cpuset_t& set, int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: std::unique_ptr::get
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:132,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:133,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:136,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:138,1
    - Dst: iox_psmx::sched::cpuset_set
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: iox_psmx::sched::sched_info_setaffinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - sscanf
    - std::unique_ptr::get
    - ddsrt_strdup
    - ddsrt_strsep
    - iox_psmx::sched::cpuset_set
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setaffinity(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: static_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: pthread_setschedparam
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: SetThreadPriority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - class_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: iox_psmx::sched::set_thread_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - SetThreadPriority
    - GetCurrentThread
    - static_cast<void *>
    - pthread_setschedparam
    - memset
    - static_cast<void>
    - pthread_self
    linkageType: ''
    returnType: bool
    signature: bool set_thread_priority(const class_prio& cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setaffinity_np
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: SetThreadAffinityMask
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' affinity'
    argTypes:
    - cpuset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: iox_psmx::sched::set_thread_affinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 2
    functionsReached:
    - GetCurrentThread
    - static_cast<void>
    - SetThreadAffinityMask
    - pthread_self
    - pthread_setaffinity_np
    linkageType: ''
    returnType: bool
    signature: bool set_thread_affinity(const cpuset_t& affinity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prio::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:188,1
    - Dst: iox_psmx::sched::set_thread_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: prio::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: affinity::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:192,1
    - Dst: iox_psmx::sched::set_thread_affinity
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    - Dst: affinity::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' si'
    argTypes:
    - sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: iox_psmx::sched::sched_info_apply
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::sched::set_thread_affinity
    - affinity::value
    - prio::value
    - iox_psmx::sched::set_thread_priority
    - affinity::has_value
    - prio::has_value
    linkageType: ''
    returnType: bool
    signature: bool sched_info_apply(const sched_info& si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sched_get_priority_min
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    - Dst: sched_get_priority_max
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - sched_get_priority_min
    - sched_get_priority_max
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:55,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cl
    - prio
    argTypes:
    - prioclass_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: iox_psmx::sched::valid_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool valid_priority(prioclass_t cl, int prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rbegin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::rend
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:63,1
    - Dst: std::string::erase
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::find_if
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    - Dst: std::isspace
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: iox_psmx::sched::trim
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - std::string::erase
    - std::string::rbegin
    - std::string::end
    - std::isspace
    - std::string::begin
    - std::find_if
    - std::string::rend
    linkageType: ''
    returnType: void
    signature: void trim(std::string &s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:69,1
    - Dst: GetPriorityClass
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: GetCurrentProcess
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:76,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:84,1
    - Dst: iox_psmx::sched::trim
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:85,1
    - Dst: std::transform
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::end
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::string::begin
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::toupper
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:86,1
    - Dst: std::stoi
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: substr
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:99,1
    - Dst: iox_psmx::sched::valid_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: iox_psmx::sched::sched_info_setpriority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - GetPriorityClass
    - std::stoi
    - GetCurrentProcess
    - iox_psmx::sched::valid_priority
    - substr
    - std::string::begin
    - std::transform
    - iox_psmx::sched::trim
    - std::toupper
    - std::string::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setpriority(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPU_SET
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:114,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:122,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' set'
    - id
    argTypes:
    - cpuset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: iox_psmx::sched::cpuset_set
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - CPU_SET
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: bool cpuset_set(cpuset_t& set, int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_strdup
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: c_str
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:131,1
    - Dst: std::unique_ptr::get
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:132,1
    - Dst: ddsrt_strsep
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:133,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:136,1
    - Dst: sscanf
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:138,1
    - Dst: iox_psmx::sched::cpuset_set
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ' si'
    - ' x'
    argTypes:
    - sched_info
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: iox_psmx::sched::sched_info_setaffinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 1
    functionsReached:
    - sscanf
    - std::unique_ptr::get
    - ddsrt_strdup
    - ddsrt_strsep
    - iox_psmx::sched::cpuset_set
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool sched_info_setaffinity(sched_info& si, const std::string& x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: static_cast<void *>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:159,1
    - Dst: pthread_setschedparam
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:161,1
    - Dst: SetThreadPriority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:164,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' cp'
    argTypes:
    - class_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: iox_psmx::sched::set_thread_priority
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - SetThreadPriority
    - GetCurrentThread
    - static_cast<void *>
    - pthread_setschedparam
    - memset
    - static_cast<void>
    - pthread_self
    linkageType: ''
    returnType: bool
    signature: bool set_thread_priority(const class_prio& cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setaffinity_np
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: pthread_self
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:175,1
    - Dst: SetThreadAffinityMask
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: GetCurrentThread
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:178,1
    - Dst: static_cast<void>
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' affinity'
    argTypes:
    - cpuset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: iox_psmx::sched::set_thread_affinity
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 3
    functionsReached:
    - GetCurrentThread
    - static_cast<void>
    - SetThreadAffinityMask
    - pthread_self
    - pthread_setaffinity_np
    linkageType: ''
    returnType: bool
    signature: bool set_thread_affinity(const cpuset_t& affinity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prio::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:188,1
    - Dst: iox_psmx::sched::set_thread_priority
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: prio::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:189,1
    - Dst: affinity::has_value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:192,1
    - Dst: iox_psmx::sched::set_thread_affinity
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    - Dst: affinity::value
      Src: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' si'
    argTypes:
    - sched_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: iox_psmx::sched::sched_info_apply
    functionSourceFile: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
    functionUses: 0
    functionsReached:
    - iox_psmx::sched::set_thread_affinity
    - affinity::value
    - prio::value
    - iox_psmx::sched::set_thread_priority
    - affinity::has_value
    - prio::has_value
    linkageType: ''
    returnType: bool
    signature: bool sched_info_apply(const sched_info& si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:23,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/forward.c:25,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - pstatep
    argTypes:
    - char*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/forward.c
    functionUses: 3
    functionsReached:
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(const char *str, idl_pstate_t **pstatep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/forward.c:52,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/forward.c:53,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:54,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:58,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:59,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/forward.c:60,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:60,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:62,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:63,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/forward.c:63,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:64,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/forward.c:64,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:65,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/forward.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_forward, struct_union_maybe_enum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/forward.c:88,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/forward.c:89,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:90,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:97,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:98,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/forward.c:98,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:100,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:101,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/forward.c:101,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:102,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:103,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/forward.c:103,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:104,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:105,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 109
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/forward.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - idl_is_typedef
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_forward, aliases)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/forward.c:128,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/forward.c:129,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:130,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:137,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/forward.c:137,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:139,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:139,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:140,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/forward.c:140,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/forward.c:142,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:143,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/forward.c:143,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:144,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:145,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/forward.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - idl_is_typedef
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_forward, backwards_aliases)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:172,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:173,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/forward.c:174,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/forward.c:178,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/forward.c:179,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/forward.c:180,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/forward.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/forward.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - printf
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_forward, incomplete_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_current_path
      Src: /src/cyclonedds/src/idl/tests/file.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - idl_current_path
    linkageType: ''
    returnType: void
    signature: void CU_Init(idl_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CU_Clean(idl_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/tests/file.c:134,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:135,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:136,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/idl/tests/file.c:137,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:139,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:141,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/tests/file.c:141,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:144,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/file.c:145,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 149
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - idl_untaint_path
    - CU_ASSERT_STREQ
    - strlen
    - CU_ASSERT_NEQ_FATAL
    - free
    - idl_strdup
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, untaint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/idl/tests/file.c:156,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:157,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:158,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/file.c:159,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:160,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/file.c:161,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (prefix)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/cyclonedds/src/idl/tests/file.c
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - CU_ASSERT_STREQ
    - assert
    - idl_normalize_path
    - free
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, normalize_empty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:170,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:171,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/idl/tests/file.c:172,1
    - Dst: CU_ASSERT_GEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:173,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:174,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:175,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/tests/file.c:177,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/idl/tests/file.c:178,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:181,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:184,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/file.c:185,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:186,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - CU_ASSERT_STREQ
    - idl_isseparator
    - strlen
    - idl_normalize_path
    - free
    - CU_ASSERT_GEQ_FATAL
    - CU_ASSERT_NEQ_FATAL
    - idl_asprintf
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, normalize_revert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:196,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/idl/tests/file.c:199,1
    - Dst: malloc
      Src: /src/cyclonedds/src/idl/tests/file.c:203,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:204,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/tests/file.c:206,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:209,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:212,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:213,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:215,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/idl/tests/file.c:218,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:219,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:220,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:221,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:222,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - idl_isseparator
    - memcpy
    - malloc
    - CU_ASSERT_EQ
    - idl_normalize_path
    - free
    - CU_ASSERT_NEQ_FATAL
    - idl_asprintf
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, normalize_revert_too_many)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:266,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:267,1
    - Dst: idl_relative_path
      Src: /src/cyclonedds/src/idl/tests/file.c:268,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:269,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:270,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:272,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - idl_relative_path
    - fprintf
    - CU_ASSERT_EQ_FATAL
    - free
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, relative_bad_params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:307,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:308,1
    - Dst: idl_relative_path
      Src: /src/cyclonedds/src/idl/tests/file.c:309,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:310,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/file.c:312,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/file.c:314,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/file.c:315,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:317,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - idl_relative_path
    - fprintf
    - CU_ASSERT_STREQ
    - CU_ASSERT_EQ
    - free
    - CU_ASSERT_NEQ_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, relative)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_generate_out_file
      Src: /src/cyclonedds/src/idl/tests/file.c:337,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/file.c:339,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/file.c:342,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/file.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - test
    argTypes:
    - out_file_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: test_out_file
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - free
    - CU_ASSERT_EQ
    - idl_generate_out_file
    - CU_ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void test_out_file(const out_file_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_out_file
      Src: /src/cyclonedds/src/idl/tests/file.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/file.c
    functionUses: 0
    functionsReached:
    - test_out_file
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_file, out_file_generation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:26,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:27,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:28,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:29,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:30,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, bogus_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:42,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:43,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:44,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:45,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:46,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:48,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:49,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:49,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:50,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:50,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:51,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/typedef.c:51,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:52,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:53,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/typedef.c:53,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:55,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:56,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/typedef.c:56,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:57,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/typedef.c:57,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:58,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:58,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:59,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/typedef.c:59,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:60,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:61,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_parent
    - CU_ASSERT_STREQ
    - idl_delete_pstate
    - idl_identifier
    - idl_is_declarator
    - idl_is_typedef
    - CU_ASSERT_EQ
    - idl_parse_string
    - idl_previous
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_type
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, simple_declarator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:73,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:74,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:75,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:76,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:77,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:79,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:80,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:80,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:81,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:82,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/typedef.c:82,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:84,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:85,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/typedef.c:85,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:86,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/typedef.c:86,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:87,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/typedef.c:87,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:88,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:88,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:89,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:89,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:90,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:91,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:92,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:93,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/typedef.c:93,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:94,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/typedef.c:94,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:95,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:95,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:96,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:96,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:97,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:98,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:99,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:100,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/typedef.c:100,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:101,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/typedef.c:101,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:102,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:102,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:103,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/typedef.c:103,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:104,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:105,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:105,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_parent
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_next
    - idl_delete_pstate
    - idl_identifier
    - idl_is_declarator
    - idl_is_typedef
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - idl_previous
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - idl_type
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, simple_declarators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:122,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:123,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:124,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:125,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:126,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:127,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:129,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:130,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:130,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:131,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:132,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:133,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/typedef.c:133,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:135,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:136,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/typedef.c:136,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:137,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_is_member
    - idl_delete_pstate
    - idl_is_typedef
    - idl_is_struct
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:165,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:166,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:167,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:168,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:169,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:170,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:172,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/typedef.c:172,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:174,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:174,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:175,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:176,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:177,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:177,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:178,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:179,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:180,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:181,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:181,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:182,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:183,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:184,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:185,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:185,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:186,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/tests/typedef.c:187,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:188,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/tests/typedef.c:188,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/typedef.c:189,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/tests/typedef.c:189,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:190,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:191,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:192,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/typedef.c:192,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:194,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/typedef.c:194,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:196,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/typedef.c:196,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:197,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:198,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:199,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/typedef.c:199,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:200,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/tests/typedef.c:200,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:201,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 203
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_is_member
    - CU_ASSERT
    - idl_delete_pstate
    - idl_is_typedef
    - idl_is_sequence
    - idl_is_alias
    - idl_is_struct
    - CU_ASSERT_EQ
    - idl_type_spec
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, typedef_of_typedef_sequence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:210,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:212,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - pstatep
    argTypes:
    - char*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 13
    functionsReached:
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(const char *str, idl_pstate_t **pstatep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/typedef.c:235,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:236,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:237,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:243,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/typedef.c:243,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:244,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:245,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:245,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:246,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:247,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/typedef.c:247,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:248,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:249,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 253
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - idl_is_typedef
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, forward_declaration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/typedef.c:269,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:270,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:271,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:277,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/typedef.c:277,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:278,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:279,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/tests/typedef.c:279,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:280,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:281,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:281,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:282,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:283,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 287
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_is_forward
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - idl_is_typedef
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, backwards_forward_declaration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/typedef.c:305,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:306,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:307,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:312,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/typedef.c:312,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/typedef.c:313,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:314,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/typedef.c:314,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/typedef.c:315,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 319
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_type
    - idl_delete_pstate
    - printf
    - idl_is_typedef
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, constructed_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/typedef.c:335,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/typedef.c:336,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/typedef.c:337,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/typedef.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/typedef.c
    functionUses: 0
    functionsReached:
    - idl_delete_pstate
    - parse_string
    - CU_ASSERT_EQ_FATAL
    - printf
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_typedef, scoped_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:25,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:26,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:27,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:28,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:29,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:30,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_enum, no_enumerator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:40,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:41,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:42,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:44,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:45,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_enum, duplicate_enumerators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:55,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:56,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:57,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:58,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:59,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:60,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_enum, enumerator_matches_enum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:71,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:72,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:73,1
    - Dst: idl_delete_tree
      Src: /src/cyclonedds/src/idl/tests/enum.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_parse_string
    - CU_ASSERT_EQ
    - idl_delete_tree
    linkageType: ''
    returnType: CU
    signature: CU Test(idl_enum, enumerator_used_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:86,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:87,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:88,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:89,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:90,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:92,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/enum.c:92,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:94,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/enum.c:94,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:95,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:95,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:96,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:96,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:97,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/enum.c:97,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_parent
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_is_enumerator
    - idl_delete_pstate
    - idl_is_enum
    - idl_identifier
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_enum, single_enumerator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:109,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:110,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:111,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/enum.c:112,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:113,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:115,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/enum.c:115,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:117,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/enum.c:117,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:118,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:118,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:119,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:119,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:120,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/enum.c:120,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/enum.c:121,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:122,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/enum.c:122,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/enum.c:123,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:123,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:124,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/enum.c:124,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/enum.c:125,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/enum.c:125,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/enum.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/enum.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_parent
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_is_enumerator
    - idl_delete_pstate
    - idl_is_enum
    - idl_identifier
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_enum, multiple_enumerators)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:30,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:31,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:32,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:33,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:34,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, no_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:45,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:46,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:47,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:48,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:49,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, name_clash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:61,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:62,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:63,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:64,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:65,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:67,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:68,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:68,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:69,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:69,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:71,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:71,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:72,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:72,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:73,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:73,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:74,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:74,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:75,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/union.c:75,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/union.c:76,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/union.c:76,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:77,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:78,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_parent
    - idl_is_union
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_next
    - idl_delete_pstate
    - idl_identifier
    - idl_is_case_label
    - idl_is_declarator
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_type
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, single_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:90,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:91,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:92,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:93,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:94,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:96,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:97,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:97,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:98,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:98,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:100,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:100,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:101,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:101,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:102,1
    - Dst: idl_is_default_case
      Src: /src/cyclonedds/src/idl/tests/union.c:102,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:103,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:103,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:104,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/union.c:104,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/union.c:105,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/union.c:105,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:106,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:107,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_parent
    - idl_is_union
    - CU_ASSERT_EQ_FATAL
    - idl_is_default_case
    - CU_ASSERT_STREQ
    - idl_next
    - idl_delete_pstate
    - idl_identifier
    - idl_is_declarator
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_type
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, single_default_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:138,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:139,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/union.c:140,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:141,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:142,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:144,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:145,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/union.c:145,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:147,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:147,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/union.c:148,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/union.c:148,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:149,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:150,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:150,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/union.c:151,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/union.c:151,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:152,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:153,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:153,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/union.c:154,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/union.c:154,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:155,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:156,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:156,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:158,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:158,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:159,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 161
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_is_union
    - idl_is_enumerator
    - idl_delete_pstate
    - idl_is_enum
    - idl_identifier
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, enumerator_switch_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - definitions
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, definitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 227
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: T
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 211
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: U
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:179,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:180,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:181,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/union.c:182,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/union.c:182,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:183,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:184,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:186,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/union.c:186,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:187,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:188,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:188,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:189,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:190,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:192,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:193,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:196,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/union.c:197,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/union.c:197,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/union.c:197,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:198,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:199,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:201,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/union.c:201,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:203,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/union.c:203,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:204,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:205,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:205,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:206,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:207,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:209,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:210,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:211,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/union.c:212,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/union.c:212,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/union.c:212,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/union.c:212,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:213,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:214,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:216,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/union.c:216,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:218,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/tests/union.c:218,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:219,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:220,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/union.c:220,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:222,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:222,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:223,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 225
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_is_union
    - M
    - CU_ASSERT
    - idl_delete_pstate
    - U
    - idl_is_typedef
    - CU_ASSERT_EQ
    - T
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, typedef_switch_types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:256,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:258,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - pstatep
    argTypes:
    - char*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 30
    functionsReached:
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(const char *str, idl_pstate_t **pstatep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/tests/union.c:297,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:298,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:299,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:306,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:308,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:308,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:310,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:310,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:312,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:312,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:313,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/union.c:313,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:315,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:315,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:318,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/union.c:319,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:320,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:320,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:321,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:321,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:321,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:324,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/union.c:325,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:326,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:326,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:327,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:327,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:330,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:331,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:332,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:332,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:333,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:333,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:336,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:337,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:337,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:338,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 342
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - CU_ASSERT_NEQ
    - idl_parent
    - CU_ASSERT_EQ_FATAL
    - idl_mask
    - idl_type
    - idl_next
    - idl_is_literal
    - idl_delete_pstate
    - idl_is_case_label
    - CU_ASSERT_NEQ_FATAL
    - idl_is_case
    - idl_is_union
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, default_discriminator_bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/tests/union.c:376,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:377,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:378,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:379,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:381,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:381,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:383,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:383,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:385,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:385,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:386,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/union.c:386,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:388,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:388,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:389,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:391,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:391,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:392,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:392,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:392,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:394,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:394,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:395,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:395,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:397,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/union.c:397,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:399,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:399,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:400,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 408
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - idl_parent
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_mask
    - idl_type
    - idl_is_literal
    - idl_delete_pstate
    - idl_is_case_label
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_is_union
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, default_discriminator_signed_int)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/tests/union.c:440,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:441,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:442,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:443,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:445,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:445,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:447,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:447,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:449,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:449,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:450,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/union.c:450,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:452,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:452,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:453,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:455,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:456,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:456,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:457,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:457,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:457,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:459,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:459,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:460,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:461,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/union.c:461,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:463,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:464,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/union.c:464,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:466,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/union.c:466,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:467,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 475
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - idl_parent
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_mask
    - idl_type
    - idl_is_literal
    - CU_ASSERT
    - idl_delete_pstate
    - idl_is_case_label
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_is_union
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, default_discriminator_unsigned_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:491,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:492,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:493,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:495,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/union.c:495,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:497,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:497,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:498,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:499,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:499,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:500,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:500,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:501,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:502,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:507,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:508,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:509,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:511,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/union.c:511,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:512,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:513,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:513,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:514,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:515,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:515,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:516,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:516,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:517,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:518,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:523,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:524,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:525,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:527,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/union.c:527,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:529,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:529,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:530,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:531,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:531,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:532,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:533,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:533,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:535,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:535,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/union.c:536,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:537,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:537,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/union.c:538,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:539,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:544,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:545,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:546,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:548,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/union.c:548,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:549,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:550,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/tests/union.c:550,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/union.c:551,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:552,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/union.c:552,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:554,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/tests/union.c:554,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:556,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/tests/union.c:556,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:557,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:558,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/union.c:558,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:559,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:560,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:565,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:566,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:567,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 569
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_mask
    - idl_is_enumerator
    - CU_ASSERT
    - idl_delete_pstate
    - idl_is_enum
    - idl_is_case_label
    - CU_ASSERT_EQ
    - idl_is_case
    - idl_is_union
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, default_discriminator_enum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:580,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:581,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/union.c:582,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/union.c:583,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/union.c:584,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/union.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/union.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_union, two_unions_one_enum)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:27,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:28,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:29,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:30,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:31,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/parser.c:34,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:36,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:39,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/parser.c:39,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/parser.c:40,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:42,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:45,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/parser.c:45,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:46,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:49,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/parser.c:49,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:50,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/parser.c:53,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:56,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:60,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - str
    - flags
    - retcode
    - mask
    argTypes:
    - char*
    - uint32_t
    - int32_t
    - idl_mask_t
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/idl/tests/parser.c
    constantsTouched: []
    func_position:
      end: 61
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 61
    functionName: test_base_type
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - idl_mask
    - CU_ASSERT_STREQ
    - assert
    - CU_ASSERT
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void test_base_type(const char *str, uint32_t flags, int32_t retcode,
      idl_mask_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: T
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 215
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - contents
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - contents
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 227
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(name, contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: LL
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: LD
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:118,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:118,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:118,1
    - Dst: LL
      Src: /src/cyclonedds/src/idl/tests/parser.c:118,1
    - Dst: LD
      Src: /src/cyclonedds/src/idl/tests/parser.c:118,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:120,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:121,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:122,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:123,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:124,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:126,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:127,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/parser.c:127,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:129,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:129,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:130,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/parser.c:130,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:131,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/parser.c:131,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:133,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:135,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:136,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/parser.c:136,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:137,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/parser.c:137,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:138,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:138,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:139,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/parser.c:139,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:140,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/parser.c:140,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:143,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:144,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/parser.c:144,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:145,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/parser.c:145,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:146,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:146,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:147,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/parser.c:147,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:148,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/parser.c:148,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:151,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:152,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/parser.c:152,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:153,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/parser.c:153,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:154,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:154,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:155,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/parser.c:155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:156,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/parser.c:156,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/parser.c:157,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/parser.c:157,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:158,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/parser.c:158,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:159,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/tests/parser.c:159,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:159,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:160,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:161,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/tests/parser.c:161,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:162,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:162,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:163,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/parser.c:163,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:164,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/parser.c:164,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/parser.c:165,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/tests/parser.c:165,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:166,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/parser.c:166,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 168
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - S
    - CU_ASSERT
    - LD
    - idl_parse_string
    - CU_ASSERT_EQ_FATAL
    - idl_is_struct
    - LL
    - idl_previous
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_create_pstate
    - idl_next
    - idl_delete_pstate
    - idl_is_declarator
    - idl_is_module
    - M
    - CU_ASSERT_STREQ
    - idl_is_member
    - idl_identifier
    - CU_ASSERT_EQ
    - idl_type
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, embedded_module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - contents
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - contents
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 228
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(name, contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: L
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 676
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: SD
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: T
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(name, alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:185,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:185,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:185,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:185,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:186,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:186,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:186,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:186,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:187,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:187,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:188,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:188,1
    - Dst: L
      Src: /src/cyclonedds/src/idl/tests/parser.c:188,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:189,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/parser.c:189,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:190,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:190,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:190,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:191,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:191,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:191,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:191,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:192,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:192,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:192,1
    - Dst: L
      Src: /src/cyclonedds/src/idl/tests/parser.c:192,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:193,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:193,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:193,1
    - Dst: SD
      Src: /src/cyclonedds/src/idl/tests/parser.c:193,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:194,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:194,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/parser.c:194,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/parser.c:194,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/parser.c:194,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:202,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:203,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:204,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:205,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:206,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - M
    - CU_ASSERT_EQ_FATAL
    - S
    - idl_delete_pstate
    - SD
    - T
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - L
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, name_collision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:224,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:225,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:226,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:227,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:228,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:230,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:231,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/parser.c:231,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:233,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:234,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/parser.c:234,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:235,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:236,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:237,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/parser.c:237,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:239,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_EQ
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, struct_in_struct_same_module)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:253,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:254,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:255,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:256,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:257,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:259,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/parser.c:259,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:261,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/parser.c:261,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:262,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/parser.c:263,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:264,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/parser.c:264,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:266,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/parser.c:266,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:268,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:269,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 271
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, struct_in_struct_other_module)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:295,1
    - Dst: idl_requires_xcdr2
      Src: /src/cyclonedds/src/idl/tests/parser.c:295,1
    - Dst: idl_requires_xcdr2
      Src: /src/cyclonedds/src/idl/tests/parser.c:296,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/parser.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: test_req_xcdr2
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_requires_xcdr2
    - CU_ASSERT_EQ
    - printf
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t test_req_xcdr2(const idl_pstate_t* pstate, const bool
      revisit, const idl_path_t* path, const void* node, void* user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:305,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:306,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:307,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:311,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:312,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/tests/parser.c:315,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/idl/tests/parser.c:319,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - test
    argTypes:
    - rep_req_xcdr2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: test_require_xcdr2
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_visit
    - idl_delete_pstate
    - memset
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void test_require_xcdr2(rep_req_xcdr2_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ext
    - ','
    - name
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 229
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(ext,name,mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ext
    - ','
    - name
    - ','
    - base
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: SB
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SB(ext,name,base,mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ext
    - ','
    - name
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: U
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(ext,name,mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ext
    - ','
    - name
    - ','
    - labels
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: E
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 438
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(ext,name,labels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ext
    - ','
    - name
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: BM
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BM(ext,name,bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:341,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:342,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:342,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:343,1
    - Dst: SB
      Src: /src/cyclonedds/src/idl/tests/parser.c:343,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:344,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:345,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:346,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:347,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:348,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:348,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:349,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:349,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:350,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:350,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:351,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:351,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:352,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:352,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:353,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:353,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:354,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:354,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:355,1
    - Dst: SB
      Src: /src/cyclonedds/src/idl/tests/parser.c:355,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/parser.c:356,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:356,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/parser.c:357,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:357,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:358,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:358,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:359,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:359,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:360,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:360,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/parser.c:361,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/parser.c:362,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/parser.c:363,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/parser.c:363,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/parser.c:367,1
    - Dst: test_require_xcdr2
      Src: /src/cyclonedds/src/idl/tests/parser.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 370
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - S
    - U
    - printf
    - E
    - test_require_xcdr2
    - SB
    - BM
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, require_xcdr2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:395,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:396,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/parser.c:397,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/parser.c:402,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:404,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/parser.c:406,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/parser.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - test
    argTypes:
    - simple_idl_validity_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: simple_idl_validity_test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void simple_idl_validity_test(simple_idl_validity_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_idl_validity_test
      Src: /src/cyclonedds/src/idl/tests/parser.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 438
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - simple_idl_validity_test
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, bit_bound_validation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_idl_validity_test
      Src: /src/cyclonedds/src/idl/tests/parser.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/parser.c
    functionUses: 0
    functionsReached:
    - simple_idl_validity_test
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_parser, array_dim)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/tests/scanner.c:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - idl_position_t*
    - idl_position_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: compare_position
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_position(idl_position_t *a, idl_position_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:42,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:43,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/scanner.c:44,1
    - Dst: compare_position
      Src: /src/cyclonedds/src/idl/tests/scanner.c:44,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:45,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:46,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/scanner.c:47,1
    - Dst: compare_position
      Src: /src/cyclonedds/src/idl/tests/scanner.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - idl_location_t*
    - idl_location_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: assert_location
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - compare_position
    - fprintf
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void assert_location(idl_location_t *a, idl_location_t *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:53,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/scanner.c:54,1
    - Dst: assert_location
      Src: /src/cyclonedds/src/idl/tests/scanner.c:55,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/scanner.c:64,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:66,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/tests/scanner.c:68,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/scanner.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - tok
    - xtok
    argTypes:
    - idl_token_t*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: assert_token
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - assert_location
    - fprintf
    - CU_ASSERT_NEQ
    - CU_ASSERT_STREQ
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void assert_token(idl_token_t *tok, idl_token_t *xtok)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idl_scan
      Src: /src/cyclonedds/src/idl/tests/scanner.c:85,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:87,1
    - Dst: assert_token
      Src: /src/cyclonedds/src/idl/tests/scanner.c:90,1
    - Dst: free
      Src: /src/cyclonedds/src/idl/tests/scanner.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pstate
    - tokvec
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: test_scanner
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - idl_scan
    - free
    - assert_token
    linkageType: ''
    returnType: void
    signature: void test_scanner(idl_pstate_t *pstate, idl_token_t *tokvec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/scanner.c:112,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:113,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/tests/scanner.c:117,1
    - Dst: test_scanner
      Src: /src/cyclonedds/src/idl/tests/scanner.c:122,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/scanner.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - str
    - tokvec
    argTypes:
    - char*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 59
    functionsReached:
    - CU_FAIL
    - idl_create_pstate
    - test_scanner
    - idl_delete_pstate
    - strlen
    linkageType: ''
    returnType: void
    signature: void test(const char *str, idl_token_t *tokvec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: C
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(c, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: T
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(c, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: T_STR
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_STR(c, s, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - n
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: T_ULLNG
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_ULLNG(c, n, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - n
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: T_LDBL
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_LDBL(c, n, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fl
    - ','
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: T0
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T0(fl, fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: TLC
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLC(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: TC
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TC(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: TCL
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCL(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    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: TSL
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSL(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: TSL_STR
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSL_STR(str, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ullng
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: TIL
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIL(ullng, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ldbl
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: TFL
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TFL(ldbl, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: TI
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TI(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: TI_STR
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TI_STR(str, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: TN_STR
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TN_STR(str, fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fl
    - ','
    - fc
    - ','
    - ll
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: TS
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS(fl, fc, ll, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: TOKVEC
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKVEC(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:164,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:164,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, blank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:167,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:167,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, blank_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:170,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:170,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, blank_wsp_cseq_wsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:173,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:173,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, blank_2x_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:177,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:177,1
    - Dst: TLC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:177,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TLC
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, line_comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:180,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:180,1
    - Dst: TLC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:180,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 5
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TLC
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, line_comment_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    - Dst: TLC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    - Dst: C
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TLC
    - C
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, line_comment_wrp_cseq_ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:187,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:187,1
    - Dst: TC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:187,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TC
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:190,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:190,1
    - Dst: TC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:190,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 5
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TC
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, comment_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:193,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:193,1
    - Dst: TC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:193,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TC
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, comment_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:196,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:196,1
    - Dst: TC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:196,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:196,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TI
    - test
    - T0
    - TC
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, comment_wrp_cseq_ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:200,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:200,1
    - Dst: TCL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:200,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TCL
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, char_literal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:203,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:203,1
    - Dst: TCL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:203,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TCL
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, char_literal_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:207,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:207,1
    - Dst: TSL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:207,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TSL
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, string_literal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:210,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:210,1
    - Dst: TSL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:210,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TSL
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, string_literal_wrp_seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:214,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:214,1
    - Dst: TIL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:214,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TIL
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, integer_literal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:217,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:217,1
    - Dst: TIL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:217,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/scanner.c:217,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TOKVEC
    - test
    - T
    - T0
    - TIL
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, integer_literal_hex_dot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:221,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:221,1
    - Dst: TFL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:221,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TFL
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, floating_pt_literal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:224,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:224,1
    - Dst: TFL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:224,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TFL
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, floating_pt_literal_dot_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:227,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:227,1
    - Dst: TFL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:227,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TFL
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, floating_pt_literal_int_dot_fraction_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:230,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:230,1
    - Dst: TFL
      Src: /src/cyclonedds/src/idl/tests/scanner.c:230,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:230,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TI_STR
    - test
    - TFL
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, floating_pt_literal_int_dot_fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:234,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:234,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:234,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TI
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:237,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:237,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:237,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TI
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, ident_tr_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:240,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:240,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:240,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - T0
    - TI
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, ident_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:244,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:244,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:244,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:247,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:247,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:247,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - T0
    - test
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:251,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:251,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:251,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:251,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:254,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:254,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:254,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:254,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_l_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:257,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:257,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:257,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:257,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_non_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:261,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:261,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:261,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:261,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:264,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:264,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:264,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:264,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_r_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:267,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:267,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:267,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:267,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_non_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:271,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:272,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:272,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:272,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:272,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:275,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:276,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:276,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:276,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:276,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_lr_wrp_cseq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:279,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:280,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:280,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:280,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:280,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_non_lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:283,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:284,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:284,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:284,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:284,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_non_lr_l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:287,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:288,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:288,1
    - Dst: TS
      Src: /src/cyclonedds/src/idl/tests/scanner.c:288,1
    - Dst: TI
      Src: /src/cyclonedds/src/idl/tests/scanner.c:288,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TS
    - TI
    - test
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, scope_non_lr_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:300,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:301,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/scanner.c:301,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:301,1
    - Dst: TN_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:301,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TI_STR
    - TN_STR
    - test
    - T
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, hash_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/cyclonedds/src/idl/tests/scanner.c:304,1
    - Dst: TOKVEC
      Src: /src/cyclonedds/src/idl/tests/scanner.c:305,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/scanner.c:305,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:306,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:307,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:308,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:309,1
    - Dst: TI_STR
      Src: /src/cyclonedds/src/idl/tests/scanner.c:310,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/scanner.c:311,1
    - Dst: T0
      Src: /src/cyclonedds/src/idl/tests/scanner.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/scanner.c
    functionUses: 0
    functionsReached:
    - TI_STR
    - test
    - T
    - T0
    - TOKVEC
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_scanner, hash_pragma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/module.c:37,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:38,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/module.c:39,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/module.c:40,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:41,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:44,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:45,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/module.c:45,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/module.c:46,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:49,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/module.c:49,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:50,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:51,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:54,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:55,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:56,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/module.c:56,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/module.c:57,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:61,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/module.c:62,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:63,1
    - Dst: idl_array_size
      Src: /src/cyclonedds/src/idl/tests/module.c:63,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:66,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:67,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/module.c:67,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/module.c:68,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:71,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:75,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/module.c:75,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:77,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:80,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:81,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:82,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/module.c:83,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/module.c:86,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:87,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/module.c:88,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/module.c:89,1
    - Dst: idl_array_size
      Src: /src/cyclonedds/src/idl/tests/module.c:89,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/module.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 92
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/module.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_mask
    - CU_ASSERT
    - idl_array_size
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_EQ
    - idl_parse_string
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_module, reopen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:24,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/pragma.c:26,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:27,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - str
    - pstatep
    argTypes:
    - char*
    - idl_pstate_t**
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/idl/tests/pragma.c
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 44
    functionsReached:
    - assert
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(const char *str, idl_pstate_t **pstatep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:40,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:41,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:42,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: test_bad_use
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - idl_delete_pstate
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_bad_use(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bad_use
      Src: /src/cyclonedds/src/idl/tests/pragma.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - test_bad_use
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist_bad_use)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:73,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:74,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:76,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:77,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/pragma.c:80,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/pragma.c:81,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/pragma.c:82,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:82,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:83,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:85,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - str
    - exp
    argTypes:
    - char*
    - idl_retcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: test_keylist
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT
    - idl_delete_pstate
    - idl_is_enum
    - idl_is_struct
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_keylist(const char *str, idl_retcode_t exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:97,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:98,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:99,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:100,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:101,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:102,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:103,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:104,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:105,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:107,1
    - Dst: TEST
      Src: /src/cyclonedds/src/idl/tests/pragma.c:109,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/idl/tests/pragma.c:117,1
    - Dst: test_keylist
      Src: /src/cyclonedds/src/idl/tests/pragma.c:118,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/idl/tests/pragma.c:122,1
    - Dst: test_keylist
      Src: /src/cyclonedds/src/idl/tests/pragma.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - TEST
    - snprintf
    - test_keylist
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: TEST
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:136,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:137,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:138,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/pragma.c:139,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:140,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:140,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:141,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/pragma.c:141,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - idl_mask
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist_nested_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/pragma.c:189,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:190,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:191,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/pragma.c:193,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 197
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - idl_delete_pstate
    - parse_string
    - CU_ASSERT_EQ_FATAL
    - printf
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist_conflicting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:208,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:209,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:210,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:212,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/pragma.c:212,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:214,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:214,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:215,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/pragma.c:215,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - idl_mask
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - idl_is_module
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist_scoped_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:230,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:231,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:232,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:234,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:234,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/pragma.c:235,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/pragma.c:235,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - idl_mask
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, keylist_outer_scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/pragma.c:247,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:248,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:249,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/pragma.c:251,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/pragma.c:251,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/pragma.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/pragma.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_pragma, unknown)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:25,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:27,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - flags
    - str
    - pstatep
    argTypes:
    - uint32_t
    - char*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/inheritance.c
    functionUses: 52
    functionsReached:
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(uint32_t flags, const char *str, idl_pstate_t
      **pstatep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:45,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:46,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:48,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:50,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:53,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:55,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:55,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:55,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:57,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:57,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:58,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:60,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:60,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:61,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:63,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - test
    argTypes:
    - inherit_spec_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: test_inheritance
    functionSourceFile: /src/cyclonedds/src/idl/tests/inheritance.c
    functionUses: 0
    functionsReached:
    - idl_next
    - CU_ASSERT_STREQ
    - CU_ASSERT
    - idl_delete_pstate
    - idl_identifier
    - idl_is_struct
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_inheritance(inherit_spec_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_inheritance
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/inheritance.c
    functionUses: 0
    functionsReached:
    - test_inheritance
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_inheritance, extensibility)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_inheritance
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/inheritance.c
    functionUses: 0
    functionsReached:
    - test_inheritance
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_inheritance, members)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:123,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:124,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:125,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:126,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:127,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:128,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:131,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:131,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:131,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:132,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:134,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:136,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:137,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:140,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:147,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:148,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/inheritance.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 151
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/inheritance.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - CU_ASSERT_NEQ
    - idl_next
    - strcmp
    - idl_delete_pstate
    - idl_identifier
    - idl_is_struct
    - CU_ASSERT_NEQ_FATAL
    - idl_parse_string
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_inheritance, empty_structs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: NODE
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - assignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: LITERAL
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LITERAL(type, assignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CHAR
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: BOOL
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOL(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: OCTET
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCTET(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SHORT
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHORT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: USHORT
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USHORT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: LONG
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONG(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: ULONG
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ULONG(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: LLONG
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLONG(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: ULLONG
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ULLONG(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: INT8
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT8(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: UINT8
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT8(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: INT16
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT16(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: UINT16
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT16(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: INT32
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT32(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: UINT32
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: INT64
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT64(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: UINT64
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64(value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/expression.c:76,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/expression.c:77,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/expression.c:78,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/expression.c:79,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/expression.c:81,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/expression.c:84,1
    - Dst: idl_is_const
      Src: /src/cyclonedds/src/idl/tests/expression.c:87,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/tests/expression.c:87,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/expression.c:87,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/expression.c:89,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/expression.c:91,1
    - Dst: idl_is_const
      Src: /src/cyclonedds/src/idl/tests/expression.c:91,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/expression.c:92,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/expression.c:94,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/tests/expression.c:94,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/expression.c:95,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/tests/expression.c:95,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/expression.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - str
    - ret
    - exp
    argTypes:
    - char*
    - idl_retcode_t
    - idl_literal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 97
    functionName: test_expr
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_compare
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_is_literal
    - strcmp
    - idl_delete_pstate
    - idl_identifier
    - CU_ASSERT_NEQ_FATAL
    - idl_is_const
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_expr(\n  const char *str,\n  const idl_retcode_t ret,\n
      \ const idl_literal_t *exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_expr
      Src: /src/cyclonedds/src/idl/tests/expression.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached:
    - test_expr
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_expression, character)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_expr
      Src: /src/cyclonedds/src/idl/tests/expression.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/expression.c
    functionUses: 0
    functionsReached:
    - test_expr
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_expression, octet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_hashid
      Src: /src/cyclonedds/src/idl/tests/annotation.c:21,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_hashid
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_hashid, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_hashid
      Src: /src/cyclonedds/src/idl/tests/annotation.c:27,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_hashid
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_hashid, shapesize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:37,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:40,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - flags
    - str
    - pstatep
    argTypes:
    - uint32_t
    - char*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: parse_string
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 56
    functionsReached:
    - idl_create_pstate
    - idl_parse_string
    - idl_delete_pstate
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_string(uint32_t flags, const char *str, idl_pstate_t
      **pstatep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:57,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:58,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:63,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:64,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:68,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:69,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:69,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:72,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:73,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:77,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - test
    argTypes:
    - optional_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: test_optional
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_EQ
    - IDL_FOREACH
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_optional(optional_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_optional
      Src: /src/cyclonedds/src/idl/tests/annotation.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_optional
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, optional)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:117,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:118,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:121,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:121,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:123,1
    - Dst: idl_default_value
      Src: /src/cyclonedds/src/idl/tests/annotation.c:124,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:126,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/annotation.c:126,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:129,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:132,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:135,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:138,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:141,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:144,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:150,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - test
    argTypes:
    - idl_default_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 155
    functionName: test_default
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_default_value
    - CU_ASSERT_EQ_FATAL
    - CU_ASSERT_STREQ
    - idl_type
    - idl_delete_pstate
    - idl_is_struct
    - IDL_FOREACH
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: "void test_default(\n  idl_default_test_t test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_default
      Src: /src/cyclonedds/src/idl/tests/annotation.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, idl_default)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:201,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:202,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:205,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/annotation.c:207,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/annotation.c:207,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/annotation.c:208,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/annotation.c:209,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:211,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:213,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:214,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/annotation.c:214,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:215,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:218,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:220,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/annotation.c:220,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:222,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/tests/annotation.c:222,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - test
    argTypes:
    - enum_default_test_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: test_enum_default
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ
    - CU_ASSERT
    - assert
    - idl_delete_pstate
    - idl_is_enum
    - CU_ASSERT_EQ
    - IDL_FOREACH
    - idl_mask
    - CU_ASSERT_NEQ_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_enum_default(enum_default_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_enum_default
      Src: /src/cyclonedds/src/idl/tests/annotation.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_enum_default
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, default_literal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:258,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:260,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:265,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:267,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/annotation.c:269,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:272,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:274,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:276,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:278,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:282,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/annotation.c:284,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:287,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:289,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:291,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:293,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - test
    argTypes:
    - key_test_t
    assertStmts:
    - condition: (s)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - condition: (u)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    constantsTouched: []
    func_position:
      end: 298
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 298
    functionName: test_key
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_FAIL
    - assert
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_EQ
    - IDL_FOREACH
    - idl_is_union
    - CU_ASSERT_NEQ_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_key(key_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_key
      Src: /src/cyclonedds/src/idl/tests/annotation.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 338
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_key
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:350,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:351,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:352,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:354,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:354,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:355,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:356,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/annotation.c:357,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:358,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:358,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:359,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:360,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/annotation.c:361,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:362,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:362,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:363,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:364,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/annotation.c:365,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:366,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:366,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:367,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:368,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 370
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_struct
    - CU_ASSERT_EQ
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, nested)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - definitions
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, definitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 243
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: DN
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DN(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: N
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: T
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - platform
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: P
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 171
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P(platform)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:390,1
    - Dst: N
      Src: /src/cyclonedds/src/idl/tests/annotation.c:391,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:391,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:392,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:392,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:393,1
    - Dst: N
      Src: /src/cyclonedds/src/idl/tests/annotation.c:393,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:393,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:394,1
    - Dst: P
      Src: /src/cyclonedds/src/idl/tests/annotation.c:394,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:394,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:395,1
    - Dst: P
      Src: /src/cyclonedds/src/idl/tests/annotation.c:395,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:395,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:396,1
    - Dst: P
      Src: /src/cyclonedds/src/idl/tests/annotation.c:396,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:396,1
    - Dst: T
      Src: /src/cyclonedds/src/idl/tests/annotation.c:397,1
    - Dst: P
      Src: /src/cyclonedds/src/idl/tests/annotation.c:397,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:397,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:408,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:409,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:413,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:413,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/tests/annotation.c:414,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:415,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:417,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:418,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STREQ
    - S
    - idl_delete_pstate
    - idl_identifier
    - idl_is_struct
    - P
    - T
    - N
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, topic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:432,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:432,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:432,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:432,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:432,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:433,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:434,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:435,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: N
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:436,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:437,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:437,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:437,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:437,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:437,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:438,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:439,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:440,1
    - Dst: DN
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: N
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:441,1
    - Dst: idl_create_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:453,1
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:457,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:460,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:463,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/annotation.c:463,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:464,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:465,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:467,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/annotation.c:467,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:468,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:469,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:471,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:471,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:472,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:473,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/annotation.c:474,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:475,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/annotation.c:475,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:476,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:477,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:479,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:479,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:480,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:481,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 486
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_create_pstate
    - idl_next
    - M
    - CU_ASSERT_EQ_FATAL
    - S
    - idl_delete_pstate
    - DN
    - idl_is_struct
    - N
    - idl_parse_string
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, default_nested)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:517,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:518,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/annotation.c:520,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 524
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT
    - idl_delete_pstate
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, redefinition)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:539,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:540,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/tests/annotation.c:546,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:548,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:549,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/annotation.c:551,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:556,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:557,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:559,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:564,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:565,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:566,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:568,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:570,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:572,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:576,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:578,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:582,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:583,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:585,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:587,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:589,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:593,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - test
    argTypes:
    - id_test_t
    assertStmts:
    - condition: (mod->definitions)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    constantsTouched: []
    func_position:
      end: 599
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 599
    functionName: test_id
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    - CU_ASSERT_NEQ
    - assert
    - idl_delete_pstate
    - idl_is_struct
    - IDL_FOREACH
    - idl_is_union
    - CU_ASSERT_LT_FATAL
    - CU_ASSERT_EQ
    - idl_is_module
    - parse_string
    linkageType: ''
    returnType: void
    signature: "void test_id(\n  id_test_t test)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:556,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:557,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:559,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:564,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:565,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:566,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:568,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:570,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:572,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:576,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:578,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:582,1
    - Dst: CU_ASSERT_LT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:583,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:585,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:587,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:589,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 595
    functionName: IDL_FOREACH
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 7
    functionsReached:
    - CU_FAIL_FATAL
    - CU_ASSERT_NEQ
    - idl_is_struct
    - IDL_FOREACH
    - idl_is_union
    - CU_ASSERT_LT_FATAL
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void IDL_FOREACH(node, node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 636
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 664
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, hashid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 683
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, autoid_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 718
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, autoid_union)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 755
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, autoid_inheritance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id
      Src: /src/cyclonedds/src/idl/tests/annotation.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 789
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_id
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, autoid_module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 794
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 245
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 795
    functionName: U
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: BM
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BM(ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 797
    functionName: E
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 439
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(ann)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:805,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:806,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:807,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:808,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:809,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:810,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:811,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:812,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:814,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:815,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:819,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:820,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:821,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:822,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/annotation.c:830,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:832,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:833,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:835,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:839,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:840,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:840,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:841,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:846,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:847,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:847,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:848,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:852,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 857
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    - CU_ASSERT_EQ_FATAL
    - S
    - idl_delete_pstate
    - U
    - printf
    - idl_is_struct
    - E
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - idl_is_union
    - CU_ASSERT_NEQ_FATAL
    - BM
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, extensibility)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:872,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:873,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:874,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:876,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:876,1
    - Dst: idl_delete_tree
      Src: /src/cyclonedds/src/idl/tests/annotation.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 878
    functionName: Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - CU_ASSERT_EQ_FATAL
    - idl_is_struct
    - idl_delete_tree
    - idl_parse_string
    - CU_ASSERT_FATAL
    linkageType: ''
    returnType: CU
    signature: CU Test(idl_annotation, foobar_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - definitions
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: E
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 440
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(name, definitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: C
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - definitions
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 884
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, definitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - definitions
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 885
    functionName: A
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A(name, definitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ann
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: TA
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TA(ann)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:906,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:907,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:908,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:909,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:910,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:912,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:913,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:914,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:915,1
    - Dst: TA
      Src: /src/cyclonedds/src/idl/tests/annotation.c:916,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:925,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:926,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:927,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 930
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - TA
    - CU_ASSERT_NEQ_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, parameter_scope)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:964,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:965,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:968,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 972
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_delete_pstate
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, identifier_clash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 975
    functionName: BM
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BM(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 976
    functionName: E
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 440
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:984,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:985,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:986,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:987,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:989,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:990,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:991,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:996,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:997,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:998,1
    - Dst: E
      Src: /src/cyclonedds/src/idl/tests/annotation.c:999,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1010,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1012,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1014,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1016,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1019,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1020,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1021,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1023,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1024,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1026,1
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1028,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1032
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - idl_is_enum
    - printf
    - idl_is_bitmask
    - E
    - CU_ASSERT_NEQ_FATAL
    - BM
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, bit_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p0
    - ','
    - p1
    - ','
    - p2
    - ','
    - p3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1038
    functionName: BM
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BM(p0, p1, p2, p3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1046,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1047,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1048,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1049,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1050,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1051,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1053,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1054,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1055,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1056,1
    - Dst: BM
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1057,1
    - Dst: printf
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1065,1
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1067,1
    - Dst: CU_ASSERT_EQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1069,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1071,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1074,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1075,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1076,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1076,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1079,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1080,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1081,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1085
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_next
    - CU_ASSERT_EQ_FATAL
    - idl_delete_pstate
    - printf
    - idl_is_bitmask
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - CU_ASSERT_NEQ_FATAL
    - BM
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, position)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1099,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1100,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1106,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1110,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1111,1
    - Dst: CU_ASSERT_NEQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1113,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1115,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - test
    argTypes:
    - mu_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1122
    functionName: test_must_understand
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NEQ
    - idl_delete_pstate
    - idl_is_struct
    - IDL_FOREACH
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_must_understand(mu_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_must_understand
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1142
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_must_understand
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, must_understand)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1155,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1156,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1161,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1163,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1164,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1165,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1167,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1168,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1170,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - test
    argTypes:
    - tc_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1174
    functionName: test_try_construct
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - idl_delete_pstate
    - idl_is_struct
    - idl_is_union
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_try_construct(tc_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - annotation
    - ','
    - field_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1177
    functionName: U
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(annotation, field_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - annotation
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1178
    functionName: U_L
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U_L(annotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - annotation
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1179
    functionName: U_D
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U_D(annotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - annotation
    - ','
    - type
    - ','
    - bound
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1180
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 246
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(annotation, type, bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - annotation
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1181
    functionName: S_L
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_L(annotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - annotation
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1182
    functionName: S_D
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_D(annotation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1188,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1190,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1192,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1194,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1196,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1198,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1200,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1202,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1204,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1206,1
    - Dst: test_try_construct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1213
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - S
    - test_try_construct
    - U_L
    - S_L
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, try_construct)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1226,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1228,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1269,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - lit
    - to_test
    argTypes:
    - idl_literal_t*
    - double
    assertStmts:
    - condition: (lit)
      pos:
        line_end: 1225
        line_start: 1225
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    constantsTouched: []
    func_position:
      end: 1272
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1272
    functionName: validate_limit
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - assert
    - CU_ASSERT_EQ
    - idl_type
    linkageType: ''
    returnType: void
    signature: void validate_limit(const idl_literal_t *lit, double to_test)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1277,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1278,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1283,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1285,1
    - Dst: validate_limit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1287,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1288,1
    - Dst: validate_limit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1290,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1291,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1293,1
    - Dst: validate_limit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1295,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1296,1
    - Dst: validate_limit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1298,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1300,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - test
    argTypes:
    - minmax_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1304
    functionName: test_min_max
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - validate_limit
    - CU_FAIL
    - idl_delete_pstate
    - idl_is_struct
    - idl_is_union
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_min_max(minmax_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1313,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1314,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1315,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1316,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1317,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1318,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1319,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1321,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1322,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1324,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1325,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1326,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1327,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1328,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1329,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1331,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1332,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1333,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1334,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1335,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1336,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1338,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1339,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1340,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1341,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1342,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1343,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1345,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1346,1
    - Dst: U_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1347,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1348,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1349,1
    - Dst: S_D
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1350,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1352,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1353,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1354,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1355,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1356,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1357,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1359,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1360,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1361,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1362,1
    - Dst: test_min_max
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1370
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - S
    - U
    - S_D
    - U_D
    - U_L
    - test_min_max
    - S_L
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, limits)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1381,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1382,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1387,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1389,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1391,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1393,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1395,1
    - Dst: CU_ASSERT_STREQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1397,1
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1400,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - test
    argTypes:
    - unit_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1404
    functionName: test_unit
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - CU_ASSERT_STREQ
    - idl_delete_pstate
    - idl_is_struct
    - idl_is_union
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_unit(unit_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1411,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1412,1
    - Dst: U_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1414,1
    - Dst: S_L
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1415,1
    - Dst: test_unit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1406
    functionDepth: 2
    functionLinenumber: 1406
    functionLinenumberEnd: 1421
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_unit
    - U_L
    - S_L
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, units)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1452,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1458
    functionName: test_rep
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_allowable_data_representations
    - CU_ASSERT_EQ
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t test_rep(\n  const idl_pstate_t* pstate,\n  const bool
      revisit,\n  const idl_path_t* path,\n  const void* node,\n  void* user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1463,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1464,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1470,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1475,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - test
    argTypes:
    - rep_test_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1478
    functionName: test_representation
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_visit
    - idl_delete_pstate
    - memset
    - CU_ASSERT_EQ
    - parse_string
    linkageType: ''
    returnType: void
    signature: void test_representation(rep_test_t test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: U
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1484
    functionName: S
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(name, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - val
    - ','
    - etc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1486
    functionName: M
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(name, val, etc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1498,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1499,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1500,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1500,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1500,1
    - Dst: M
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1501,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1501,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1501,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1503,1
    - Dst: S
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1504,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1506,1
    - Dst: U
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1507,1
    - Dst: test_representation
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1491
    functionDepth: 2
    functionLinenumber: 1491
    functionLinenumberEnd: 1521
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - test_representation
    - M
    - U
    - S
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, data_representation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1534,1
    - Dst: CU_ASSERT_EQ
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1535,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1541,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1541,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1544,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1544,1
    - Dst: CU_ASSERT_NEQ_FATAL
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1546,1
    - Dst: CU_ASSERT
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1547,1
    - Dst: idl_is_string
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1547,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/tests/annotation.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1550
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/idl/tests/annotation.c
    functionUses: 0
    functionsReached:
    - idl_is_member
    - CU_ASSERT
    - idl_delete_pstate
    - idl_is_string
    - idl_is_struct
    - CU_ASSERT_NEQ_FATAL
    - CU_ASSERT_EQ
    - CU_ASSERT_FATAL
    - parse_string
    linkageType: ''
    returnType: void
    signature: void CU_Test(idl_annotation, idl_is_string_fix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - chr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: idl_isseparator
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int idl_isseparator(int chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: isseparator
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isseparator(chr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts:
    - condition: (path)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: idl_isabsolute
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int idl_isabsolute(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: isabsolute
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isabsolute(chr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:68,1
    - Dst: _getcwd
      Src: /src/cyclonedds/src/idl/src/file.c:70,1
    - Dst: getcwd
      Src: /src/cyclonedds/src/idl/src/file.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - abspathp
    argTypes:
    - char**
    assertStmts:
    - condition: (abspathp)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: idl_current_path
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 2
    functionsReached:
    - getcwd
    - assert
    - _getcwd
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_current_path(char **abspathp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - chr
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: isdelimiter
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - isseparator
    linkageType: ''
    returnType: int
    signature: int isdelimiter(char chr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:90,1
    - Dst: isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:92,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:97,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/idl/src/file.c:99,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:103,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/idl/src/file.c:104,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/file.c:111,1
    - Dst: __pragma
      Src: /src/cyclonedds/src/idl/src/file.c:115,1
    - Dst: warning
      Src: /src/cyclonedds/src/idl/src/file.c:115,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:124,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts:
    - condition: (path)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 136
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 136
    functionName: idl_untaint_path
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 2
    functionsReached:
    - memmove
    - assert
    - isabsolute
    - isseparator
    - warning
    - isdelimiter
    - __pragma
    - strncmp
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t idl_untaint_path(char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:140,1
    - Dst: idl_current_path
      Src: /src/cyclonedds/src/idl/src/file.c:143,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:145,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:148,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/file.c:152,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/file.c:154,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/file.c:156,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:159,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/file.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: absolute_path
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - memcpy
    - isabsolute
    - strlen
    - idl_current_path
    - idl_malloc
    - idl_strdup
    - idl_free
    linkageType: ''
    returnType: char
    signature: char *absolute_path(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:171,1
    - Dst: FindFirstFile
      Src: /src/cyclonedds/src/idl/src/file.c:173,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:176,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/file.c:177,1
    - Dst: FindClose
      Src: /src/cyclonedds/src/idl/src/file.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - segment
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: normalize_segment
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - memcpy
    - FindFirstFile
    - strlen
    - FindClose
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t normalize_segment(const char *path, char *segment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/cyclonedds/src/idl/src/file.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - path
    - segment
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: normalize_segment
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - stat
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t normalize_segment(const char *path, char *segment)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absolute_path
      Src: /src/cyclonedds/src/idl/src/file.c:200,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/idl/src/file.c:202,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/file.c:204,1
    - Dst: idl_islower
      Src: /src/cyclonedds/src/idl/src/file.c:208,1
    - Dst: idl_toupper
      Src: /src/cyclonedds/src/idl/src/file.c:209,1
    - Dst: isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:218,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:219,1
    - Dst: idl_strtok_r
      Src: /src/cyclonedds/src/idl/src/file.c:220,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:221,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/file.c:224,1
    - Dst: idl_strtok_r
      Src: /src/cyclonedds/src/idl/src/file.c:229,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:230,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/file.c:233,1
    - Dst: normalize_segment
      Src: /src/cyclonedds/src/idl/src/file.c:235,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:239,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:242,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:246,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - path
    - normpathp
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (abs && abs <= (size_t)len)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/cyclonedds/src/idl/src/file.c
    - condition: (pos == (size_t)len)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 251
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 251
    functionName: idl_normalize_path
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 5
    functionsReached:
    - idl_toupper
    - absolute_path
    - memmove
    - assert
    - normalize_segment
    - isabsolute
    - strlen
    - idl_malloc
    - idl_islower
    - idl_strtok_r
    - idl_untaint_path
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_normalize_path(const char *path, char **normpathp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:256,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: isresolved
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - isdelimiter
    - isseparator
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isresolved(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: chrcasecmp
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chrcasecmp(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: chrcmp
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chrcmp(int a, int b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:302,1
    - Dst: isresolved
      Src: /src/cyclonedds/src/idl/src/file.c:302,1
    - Dst: isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:304,1
    - Dst: isresolved
      Src: /src/cyclonedds/src/idl/src/file.c:304,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:312,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:312,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/file.c:313,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:317,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:318,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/file.c:320,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:327,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:331,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:337,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:338,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:340,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:341,1
    - Dst: isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:349,1
    - Dst: isdelimiter
      Src: /src/cyclonedds/src/idl/src/file.c:349,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/file.c:351,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/file.c:353,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/src/file.c:359,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:361,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/idl/src/file.c:364,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 59
    argCount: 3
    argNames:
    - base
    - path
    - relpathp
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 367
    functionName: idl_relative_path
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 2
    functionsReached:
    - idl_untaint_path
    - isseparator
    - isabsolute
    - memset
    - idl_malloc
    - cmp
    - isdelimiter
    - isresolved
    - idl_asprintf
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_relative_path(const char *base, const char *path,
      char **relpathp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/cyclonedds/src/idl/src/file.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: idl_mkdir
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - _mkdir
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_mkdir(const char *pathname, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/cyclonedds/src/idl/src/file.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: idl_mkdir
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_mkdir(const char *pathname, mode_t mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:385,1
    - Dst: absolute_path
      Src: /src/cyclonedds/src/idl/src/file.c:386,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/idl/src/file.c:389,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:402,1
    - Dst: idl_mkdir
      Src: /src/cyclonedds/src/idl/src/file.c:405,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:415,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts:
    - condition: (path)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/cyclonedds/src/idl/src/file.c
    - condition: (ptr[-1] != '/' && ptr[-1] != sep)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 418
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 418
    functionName: idl_mkpath
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 0
    functionsReached:
    - absolute_path
    - assert
    - idl_mkdir
    - idl_untaint_path
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_mkpath(const char *path)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:452,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:461,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/idl/src/file.c:468,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:475,1
    - Dst: idl_strndup
      Src: /src/cyclonedds/src/idl/src/file.c:477,1
    - Dst: idl_strndup
      Src: /src/cyclonedds/src/idl/src/file.c:479,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:479,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/file.c:483,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/file.c:494,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/idl/src/file.c:495,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/file.c:499,1
    - Dst: idl_relative_path
      Src: /src/cyclonedds/src/idl/src/file.c:505,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/idl/src/file.c:509,1
    - Dst: strncmp
      Src: /src/cyclonedds/src/idl/src/file.c:511,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:520,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/file.c:522,1
    - Dst: idl_strndup
      Src: /src/cyclonedds/src/idl/src/file.c:525,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:529,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/src/file.c:534,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/file.c:538,1
    - Dst: idl_mkpath
      Src: /src/cyclonedds/src/idl/src/file.c:544,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/src/file.c:548,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:562,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:565,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:567,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:568,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/file.c:571,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 100
    argCount: 6
    argNames:
    - path
    - output_dir
    - base_dir
    - out_ext
    - out_ptr
    - skip_mkpath
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char**
    - int
    assertStmts:
    - condition: (dir != empty || *dir == '\0')
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/cyclonedds/src/idl/src/file.c
    - condition: (out_ptr)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/cyclonedds/src/idl/src/file.c
    constantsTouched: []
    func_position:
      end: 574
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 574
    functionName: idl_generate_out_file
    functionSourceFile: /src/cyclonedds/src/idl/src/file.c
    functionUses: 2
    functionsReached:
    - idl_relative_path
    - idl_mkpath
    - idl_isseparator
    - assert
    - strlen
    - idl_strndup
    - idl_normalize_path
    - idl_strdup
    - strncmp
    - idl_isabsolute
    - idl_asprintf
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_generate_out_file(const char *path, const char *output_dir,
      const char *base_dir, const char *out_ext, char ** out_ptr, int skip_mkpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: idl_location
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: idl_location_t
    signature: idl_location_t *idl_location(const void *symbol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:28,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - idl_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: idl_delete_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void idl_delete_name(idl_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pstate
    - location
    - identifier
    - is_annotation
    - namep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    - bool
    - idl_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: idl_create_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_name(\n  idl_pstate_t *pstate,\n  const idl_location_t
      *location,\n  char *identifier,\n  bool is_annotation,\n  idl_name_t **namep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:56,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/symbol.c:58,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:59,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - scoped_name
    argTypes:
    - idl_scoped_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: idl_delete_scoped_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void idl_delete_scoped_name(idl_scoped_name_t *scoped_name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:81,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:82,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:84,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:86,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:87,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:88,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:90,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:91,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:103,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - absolute
    - scoped_namep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - bool
    - idl_scoped_name_t**
    assertStmts:
    - condition: (name->identifier)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: idl_create_scoped_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - strlen
    - idl_calloc
    - idl_malloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_scoped_name(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  bool absolute,\n  idl_scoped_name_t
      **scoped_namep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:122,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:123,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:124,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:126,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:127,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:128,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:128,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:130,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:131,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:131,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:132,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:133,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:136,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:141,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - pstate
    - scoped_name
    - name
    argTypes:
    - idl_pstate_t*
    - idl_scoped_name_t*
    - idl_name_t*
    assertStmts:
    - condition: (scoped_name)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    - condition: (name)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    - condition: (scoped_name->length >= 1)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: idl_push_scoped_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    - memcpy
    - assert
    - strlen
    - idl_malloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_push_scoped_name(\n  idl_pstate_t *pstate,\n  idl_scoped_name_t
      *scoped_name,\n  idl_name_t *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:153,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/symbol.c:155,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:156,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - field_name
    argTypes:
    - idl_field_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: idl_delete_field_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void idl_delete_field_name(idl_field_name_t *field_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:173,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:174,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:175,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:177,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:179,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:180,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:182,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:193,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pstate
    - location
    - name
    - field_namep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_field_name_t**
    assertStmts:
    - condition: (name)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    - condition: (name->identifier)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: idl_create_field_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - strlen
    - idl_calloc
    - idl_malloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_field_name(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_field_name_t **field_namep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:212,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:213,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/symbol.c:214,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:216,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:217,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:218,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:218,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:220,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:221,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:221,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/symbol.c:222,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/symbol.c:223,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/symbol.c:226,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:231,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/symbol.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - pstate
    - field_name
    - name
    argTypes:
    - idl_pstate_t*
    - idl_field_name_t*
    - idl_name_t*
    assertStmts:
    - condition: (field_name)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    - condition: (field_name->length >= 1)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    - condition: (name)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/cyclonedds/src/idl/src/symbol.c
    constantsTouched: []
    func_position:
      end: 237
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 237
    functionName: idl_push_field_name
    functionSourceFile: /src/cyclonedds/src/idl/src/symbol.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    - memcpy
    - assert
    - strlen
    - idl_malloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_push_field_name(\n  idl_pstate_t *pstate,\n  idl_field_name_t
      *field_name,\n  idl_name_t *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_init
      Src: /src/cyclonedds/src/idl/src/keylist.c:46,1
    - Dst: failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - v
    - c
    argTypes:
    - idl_boxed_vector_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: boxed_vector_init_with_failure_action
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - failure_action
    - idl_boxed_vector_init
    linkageType: ''
    returnType: void
    signature: void *boxed_vector_init_with_failure_action (idl_boxed_vector_t *v,
      void (*failure_action) (void *c), void *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_append
      Src: /src/cyclonedds/src/idl/src/keylist.c:54,1
    - Dst: failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - x
    argTypes:
    - idl_boxed_vector_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: boxed_vector_append_with_failure_action
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_append
    - failure_action
    linkageType: ''
    returnType: void
    signature: void *boxed_vector_append_with_failure_action (idl_boxed_vector_t *v,
      void *x, void (*failure_action) (void *x))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/keylist.c:66,1
    - Dst: boxed_vector_init_with_failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_declarator
    argTypes:
    - idl_declarator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: key_field_new
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - boxed_vector_init_with_failure_action
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_field_new (const idl_declarator_t *key_declarator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_fini
      Src: /src/cyclonedds/src/idl/src/keylist.c:73,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kf
    argTypes:
    - struct key_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: key_field_free
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_fini
    - idl_free
    linkageType: ''
    returnType: void
    signature: void key_field_free (struct key_field *kf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_field_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vkf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: key_field_free_wrapper
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_field_free
    linkageType: ''
    returnType: void
    signature: void key_field_free_wrapper (void *vkf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_append
      Src: /src/cyclonedds/src/idl/src/keylist.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kf
    - parent_path
    argTypes:
    - struct key_field*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: key_field_append
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_append
    linkageType: ''
    returnType: bool
    signature: bool key_field_append (struct key_field *kf, char *parent_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/keylist.c:88,1
    - Dst: boxed_vector_init_with_failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: key_container_new
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - boxed_vector_init_with_failure_action
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_container_new (const idl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_fini
      Src: /src/cyclonedds/src/idl/src/keylist.c:95,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kc
    argTypes:
    - struct key_container*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: key_container_free
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_fini
    - idl_free
    linkageType: ''
    returnType: void
    signature: void key_container_free (struct key_container *kc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_container_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vkc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: key_container_free_wrapper
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_container_free
    linkageType: ''
    returnType: void
    signature: void key_container_free_wrapper (void *vkc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_field_new
      Src: /src/cyclonedds/src/idl/src/keylist.c:105,1
    - Dst: boxed_vector_append_with_failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kc
    - declarator
    argTypes:
    - struct key_container*
    - idl_declarator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: key_container_append
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - boxed_vector_append_with_failure_action
    - key_field_new
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_container_append (struct key_container *kc, const
      idl_declarator_t *declarator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kc
    - it
    argTypes:
    - struct key_container*
    - struct key_container_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: key_container_first_c
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_first_c
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_container_first_c (const struct key_container
      *kc, struct key_container_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct key_container_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: key_container_next_c
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_next_c
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_container_next_c (struct key_container_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kc
    - it
    argTypes:
    - struct key_container*
    - struct key_container_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: key_container_first
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_first
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_container_first (struct key_container *kc, struct
      key_container_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct key_container_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: key_container_next
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_next
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *key_container_next (struct key_container_iter *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/keylist.c:126,1
    - Dst: boxed_vector_init_with_failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: key_containers_new
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - boxed_vector_init_with_failure_action
    linkageType: ''
    returnType: struct key_containers
    signature: struct key_containers *key_containers_new (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_fini
      Src: /src/cyclonedds/src/idl/src/keylist.c:133,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kcs
    argTypes:
    - struct key_containers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: key_containers_free
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_fini
    - idl_free
    linkageType: ''
    returnType: void
    signature: void key_containers_free (struct key_containers *kcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_container_new
      Src: /src/cyclonedds/src/idl/src/keylist.c:140,1
    - Dst: boxed_vector_append_with_failure_action
      Src: /src/cyclonedds/src/idl/src/keylist.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kcs
    - key_type_node
    argTypes:
    - struct key_containers*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: key_containers_append
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_container_new
    - boxed_vector_append_with_failure_action
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_containers_append (struct key_containers
      *kcs, const idl_node_t *key_type_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kcs
    - it
    argTypes:
    - struct key_containers*
    - struct key_containers_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: key_containers_first_c
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_first_c
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_containers_first_c (const struct key_containers
      *kcs, struct key_containers_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct key_containers_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: key_containers_next_c
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_next_c
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_containers_next_c (struct key_containers_iter
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - kcs
    - it
    argTypes:
    - struct key_containers*
    - struct key_containers_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: key_containers_first
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_first
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_containers_first (struct key_containers *kcs,
      struct key_containers_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct key_containers_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: key_containers_next
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_boxed_vector_next
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *key_containers_next (struct key_containers_iter
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/keylist.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: cmp_parent_path
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_parent_path (const void **a, const void **b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_containers_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:168,1
    - Dst: key_containers_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:168,1
    - Dst: key_container_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:171,1
    - Dst: key_container_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:171,1
    - Dst: idl_boxed_vector_sort
      Src: /src/cyclonedds/src/idl/src/keylist.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_containers
    argTypes:
    - struct key_containers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: sort_parent_paths
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_containers_first
    - key_container_next
    - key_containers_next
    - key_container_first
    - idl_boxed_vector_sort
    linkageType: ''
    returnType: void
    signature: void sort_parent_paths (struct key_containers *key_containers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:178,1
    - Dst: sort_parent_paths
      Src: /src/cyclonedds/src/idl/src/keylist.c:179,1
    - Dst: key_containers_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:181,1
    - Dst: key_containers_next_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:181,1
    - Dst: key_container_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:196,1
    - Dst: key_container_next_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:196,1
    - Dst: key_container_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:199,1
    - Dst: key_container_next_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:199,1
    - Dst: idl_boxed_vector_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:202,1
    - Dst: idl_boxed_vector_first_c
      Src: /src/cyclonedds/src/idl/src/keylist.c:203,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/keylist.c:204,1
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:206,1
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - key_containers
    - node
    argTypes:
    - struct key_containers*
    - idl_node_t**
    assertStmts:
    - condition: (node)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: check_for_conflicting_keys
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - sort_parent_paths
    - idl_boxed_vector_first_c
    - key_containers_first_c
    - key_container_first_c
    - assert
    - strcmp
    - key_container_next_c
    - idl_boxed_vector_next
    - key_containers_next_c
    linkageType: ''
    returnType: bool
    signature: bool check_for_conflicting_keys(struct key_containers *key_containers,
      const idl_node_t **node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_containers_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:223,1
    - Dst: key_containers_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:223,1
    - Dst: key_containers_append
      Src: /src/cyclonedds/src/idl/src/keylist.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - key_type_node
    - key_containers
    argTypes:
    - idl_node_t*
    - struct key_containers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: get_key_container
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_containers_first
    - key_containers_append
    - key_containers_next
    linkageType: ''
    returnType: struct key_container
    signature: struct key_container *get_key_container (const idl_node_t *key_type_node,
      struct key_containers *key_containers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_container_first
      Src: /src/cyclonedds/src/idl/src/keylist.c:232,1
    - Dst: key_container_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:232,1
    - Dst: key_container_append
      Src: /src/cyclonedds/src/idl/src/keylist.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - declarator
    - key_container
    argTypes:
    - idl_declarator_t*
    - struct key_container*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: get_key_field
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - key_container_append
    - key_container_first
    - key_container_next
    linkageType: ''
    returnType: struct key_field
    signature: struct key_field *get_key_field (const idl_declarator_t *declarator,
      struct key_container *key_container)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:240,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/keylist.c:244,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/keylist.c:244,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:245,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/keylist.c:246,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/keylist.c:249,1
    - Dst: key_field_append
      Src: /src/cyclonedds/src/idl/src/keylist.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key_field
    - key
    argTypes:
    - struct key_field*
    - idl_field_name_t*
    assertStmts:
    - condition: (key->length)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (parent_path_len > 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: add_parent_path
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - strlen
    - idl_malloc
    - key_field_append
    linkageType: ''
    returnType: bool
    signature: bool add_parent_path (struct key_field *key_field, idl_field_name_t
      *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/keylist.c:260,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:264,1
    - Dst: idl_find_field_name
      Src: /src/cyclonedds/src/idl/src/keylist.c:267,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:268,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/keylist.c:275,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:276,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/keylist.c:277,1
    - Dst: get_key_container
      Src: /src/cyclonedds/src/idl/src/keylist.c:281,1
    - Dst: get_key_field
      Src: /src/cyclonedds/src/idl/src/keylist.c:283,1
    - Dst: add_parent_path
      Src: /src/cyclonedds/src/idl/src/keylist.c:285,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/keylist.c:290,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/keylist.c:290,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pstate
    - struct_node
    - key_node
    - key_containers
    argTypes:
    - idl_pstate_t*
    - idl_struct_t*
    - idl_key_t*
    - struct key_containers*
    assertStmts:
    - condition: (scope)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (declaration && declaration->node)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (key_parent)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    constantsTouched: []
    func_position:
      end: 296
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 296
    functionName: get_keylist_key_paths_struct_key
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - get_key_container
    - assert
    - strlen
    - get_key_field
    - idl_is_struct
    - add_parent_path
    - idl_strdup
    - idl_find_field_name
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_keylist_key_paths_struct_key(idl_pstate_t *pstate,
      idl_struct_t *struct_node, const idl_key_t *key_node, struct key_containers
      *key_containers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:301,1
    - Dst: get_keylist_key_paths_struct_key
      Src: /src/cyclonedds/src/idl/src/keylist.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pstate
    - struct_node
    - key_containers
    argTypes:
    - idl_pstate_t*
    - idl_struct_t*
    - struct key_containers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: get_keylist_key_paths_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - get_keylist_key_paths_struct_key
    - idl_next
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_keylist_key_paths_struct(idl_pstate_t *pstate, idl_struct_t
      *struct_node, struct key_containers *key_containers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:314,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/keylist.c:315,1
    - Dst: get_keylist_key_paths
      Src: /src/cyclonedds/src/idl/src/keylist.c:317,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/keylist.c:318,1
    - Dst: get_keylist_key_paths_struct
      Src: /src/cyclonedds/src/idl/src/keylist.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pstate
    - list
    - key_containers
    argTypes:
    - idl_pstate_t*
    - void*
    - struct key_containers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 7
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: get_keylist_key_paths
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 1
    functionsReached:
    - get_keylist_key_paths_struct
    - idl_mask
    - idl_next
    - get_keylist_key_paths
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_keylist_key_paths(idl_pstate_t *pstate, void *list,
      struct key_containers *key_containers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_containers_new
      Src: /src/cyclonedds/src/idl/src/keylist.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:333,1
    - Dst: get_keylist_key_paths
      Src: /src/cyclonedds/src/idl/src/keylist.c:334,1
    - Dst: check_for_conflicting_keys
      Src: /src/cyclonedds/src/idl/src/keylist.c:339,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/keylist.c:341,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/keylist.c:341,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/keylist.c:342,1
    - Dst: key_containers_free
      Src: /src/cyclonedds/src/idl/src/keylist.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    constantsTouched: []
    func_position:
      end: 349
      start: 326
    functionDepth: 8
    functionLinenumber: 326
    functionLinenumberEnd: 349
    functionName: idl_validate_keylists
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 0
    functionsReached:
    - idl_location
    - key_containers_new
    - key_containers_free
    - assert
    - idl_identifier
    - check_for_conflicting_keys
    - get_keylist_key_paths
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_validate_keylists(idl_pstate_t *pstate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:353,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:355,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/keylist.c:356,1
    - Dst: idl_set_keylist_key_flags
      Src: /src/cyclonedds/src/idl/src/keylist.c:358,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/keylist.c:359,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/keylist.c:363,1
    - Dst: idl_find_field_name
      Src: /src/cyclonedds/src/idl/src/keylist.c:370,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:371,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:373,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/keylist.c:374,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/keylist.c:375,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/keylist.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pstate
    - list
    argTypes:
    - idl_pstate_t*
    - void*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (declaration)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (declarator)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - condition: (idl_is_member(m))
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    constantsTouched: []
    func_position:
      end: 384
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 384
    functionName: idl_set_keylist_key_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/keylist.c
    functionUses: 1
    functionsReached:
    - idl_parent
    - idl_next
    - idl_is_member
    - assert
    - idl_set_keylist_key_flags
    - idl_mask
    - idl_find_field_name
    linkageType: ''
    returnType: void
    signature: void idl_set_keylist_key_flags(idl_pstate_t *pstate, void *list)
  - 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: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: YYPRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPRINT(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - first
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: LOC
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOC(first, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isalnum_l
      Src: /src/cyclonedds/src/idl/src/string.c:61,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: idl_isalnum
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - posix_locale
    - _isalnum_l
    linkageType: ''
    returnType: int
    signature: int idl_isalnum(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isalpha_l
      Src: /src/cyclonedds/src/idl/src/string.c:62,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: idl_isalpha
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - _isalpha_l
    linkageType: ''
    returnType: int
    signature: int idl_isalpha(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _iscntrl_l
      Src: /src/cyclonedds/src/idl/src/string.c:64,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: idl_iscntrl
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - _iscntrl_l
    linkageType: ''
    returnType: int
    signature: int idl_iscntrl(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isgraph_l
      Src: /src/cyclonedds/src/idl/src/string.c:65,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: idl_isgraph
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _isgraph_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isgraph(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _islower_l
      Src: /src/cyclonedds/src/idl/src/string.c:66,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: idl_islower
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 3
    functionsReached:
    - _islower_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_islower(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isprint_l
      Src: /src/cyclonedds/src/idl/src/string.c:67,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: idl_isprint
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _isprint_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isprint(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ispunct_l
      Src: /src/cyclonedds/src/idl/src/string.c:68,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: idl_ispunct
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - _ispunct_l
    linkageType: ''
    returnType: int
    signature: int idl_ispunct(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isspace_l
      Src: /src/cyclonedds/src/idl/src/string.c:69,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: idl_isspace
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - _isspace_l
    linkageType: ''
    returnType: int
    signature: int idl_isspace(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isupper_l
      Src: /src/cyclonedds/src/idl/src/string.c:70,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: idl_isupper
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _isupper_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _toupper_l
      Src: /src/cyclonedds/src/idl/src/string.c:71,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: idl_toupper
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 3
    functionsReached:
    - _toupper_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_toupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _tolower_l
      Src: /src/cyclonedds/src/idl/src/string.c:72,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: idl_tolower
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - posix_locale
    - _tolower_l
    linkageType: ''
    returnType: int
    signature: int idl_tolower(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum_l
      Src: /src/cyclonedds/src/idl/src/string.c:74,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: idl_isalnum
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - isalnum_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isalnum(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha_l
      Src: /src/cyclonedds/src/idl/src/string.c:75,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: idl_isalpha
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - isalpha_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isalpha(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isblank_l
      Src: /src/cyclonedds/src/idl/src/string.c:76,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: idl_isblank
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - isblank_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isblank(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iscntrl_l
      Src: /src/cyclonedds/src/idl/src/string.c:77,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: idl_iscntrl
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - iscntrl_l
    linkageType: ''
    returnType: int
    signature: int idl_iscntrl(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isgraph_l
      Src: /src/cyclonedds/src/idl/src/string.c:78,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: idl_isgraph
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - isgraph_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_isgraph(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: islower_l
      Src: /src/cyclonedds/src/idl/src/string.c:79,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: idl_islower
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 3
    functionsReached:
    - islower_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_islower(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isprint_l
      Src: /src/cyclonedds/src/idl/src/string.c:80,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: idl_isprint
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - isprint_l
    linkageType: ''
    returnType: int
    signature: int idl_isprint(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ispunct_l
      Src: /src/cyclonedds/src/idl/src/string.c:81,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: idl_ispunct
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - ispunct_l
    - posix_locale
    linkageType: ''
    returnType: int
    signature: int idl_ispunct(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace_l
      Src: /src/cyclonedds/src/idl/src/string.c:82,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: idl_isspace
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - isspace_l
    linkageType: ''
    returnType: int
    signature: int idl_isspace(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isupper_l
      Src: /src/cyclonedds/src/idl/src/string.c:83,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: idl_isupper
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - isupper_l
    linkageType: ''
    returnType: int
    signature: int idl_isupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toupper_l
      Src: /src/cyclonedds/src/idl/src/string.c:84,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: idl_toupper
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 3
    functionsReached:
    - posix_locale
    - toupper_l
    linkageType: ''
    returnType: int
    signature: int idl_toupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower_l
      Src: /src/cyclonedds/src/idl/src/string.c:85,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: idl_tolower
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - posix_locale
    - tolower_l
    linkageType: ''
    returnType: int
    signature: int idl_tolower(int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - chr
    - base
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (base > 0 && base < 36)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: idl_isdigit
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int idl_isdigit(int chr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:103,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:104,1
    - Dst: _stricmp_l
      Src: /src/cyclonedds/src/idl/src/string.c:106,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:106,1
    - Dst: strcasecmp_l
      Src: /src/cyclonedds/src/idl/src/string.c:108,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (s1)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (s2)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: idl_strcasecmp
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 3
    functionsReached:
    - strcasecmp_l
    - assert
    - posix_locale
    - _stricmp_l
    linkageType: ''
    returnType: int
    signature: int idl_strcasecmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:114,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:115,1
    - Dst: _strnicmp_l
      Src: /src/cyclonedds/src/idl/src/string.c:117,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:117,1
    - Dst: strncasecmp_l
      Src: /src/cyclonedds/src/idl/src/string.c:119,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (s1)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (s2)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: idl_strncasecmp
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _strnicmp_l
    - assert
    - posix_locale
    - strncasecmp_l
    linkageType: ''
    returnType: int
    signature: int idl_strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _strdup
      Src: /src/cyclonedds/src/idl/src/string.c:126,1
    - Dst: strdup
      Src: /src/cyclonedds/src/idl/src/string.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: idl_strdup
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 11
    functionsReached:
    - _strdup
    - strdup
    linkageType: ''
    returnType: char
    signature: char *idl_strdup(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:137,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/string.c:138,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/string.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (n <= len)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: idl_strndup
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - idl_malloc
    - assert
    - memmove
    linkageType: ''
    returnType: char
    signature: char *idl_strndup(const char *str, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:149,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:150,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/string.c:153,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/string.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (dest != NULL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (src != NULL)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: idl_strlcpy
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 6
    functionsReached:
    - memcpy
    - assert
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t idl_strlcpy(char *dest, const char *src, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __pragma
      Src: /src/cyclonedds/src/idl/src/string.c:171,1
    - Dst: warning
      Src: /src/cyclonedds/src/idl/src/string.c:171,1
    - Dst: va_copy
      Src: /src/cyclonedds/src/idl/src/string.c:176,1
    - Dst: _vsprintf_p_l
      Src: /src/cyclonedds/src/idl/src/string.c:177,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:177,1
    - Dst: _vscprintf_p_l
      Src: /src/cyclonedds/src/idl/src/string.c:178,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:178,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:179,1
    - Dst: vsnprintf_l
      Src: /src/cyclonedds/src/idl/src/string.c:185,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:185,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:188,1
    - Dst: uselocale
      Src: /src/cyclonedds/src/idl/src/string.c:189,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:190,1
    - Dst: uselocale
      Src: /src/cyclonedds/src/idl/src/string.c:191,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - str
    - size
    - fmt
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts:
    - condition: (loc == posixloc)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: idl_vsnprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - va_copy
    - vsnprintf_l
    - assert
    - warning
    - vsnprintf
    - _vsprintf_p_l
    - uselocale
    - _vscprintf_p_l
    - __pragma
    - va_end
    linkageType: ''
    returnType: int
    signature: int idl_vsnprintf(char *str, size_t size, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/string.c:202,1
    - Dst: idl_vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:203,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: idl_snprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 8
    functionsReached:
    - va_start
    - idl_vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int idl_snprintf(char *str, size_t size, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:216,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:217,1
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/string.c:219,1
    - Dst: va_copy
      Src: /src/cyclonedds/src/idl/src/string.c:220,1
    - Dst: idl_vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:222,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/string.c:224,1
    - Dst: idl_vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:226,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:227,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/string.c:230,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:234,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - strp
    - fmt
    argTypes:
    - char**
    - char*
    assertStmts:
    - condition: (strp != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (fmt != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (((unsigned int)ret) == len)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: idl_asprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 8
    functionsReached:
    - va_copy
    - assert
    - idl_vsnprintf
    - idl_malloc
    - va_start
    - va_end
    - idl_free
    linkageType: ''
    returnType: int
    signature: int idl_asprintf(char **strp, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:247,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:248,1
    - Dst: va_copy
      Src: /src/cyclonedds/src/idl/src/string.c:250,1
    - Dst: idl_vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:252,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/string.c:254,1
    - Dst: idl_vsnprintf
      Src: /src/cyclonedds/src/idl/src/string.c:256,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:257,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/string.c:260,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - strp
    - fmt
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts:
    - condition: (strp != NULL)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (fmt != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (((unsigned int)ret) == len)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 267
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 267
    functionName: idl_vasprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - va_copy
    - assert
    - idl_vsnprintf
    - idl_malloc
    - va_end
    - idl_free
    linkageType: ''
    returnType: int
    signature: int idl_vasprintf(char **strp, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:271,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:272,1
    - Dst: strtoull
      Src: /src/cyclonedds/src/idl/src/string.c:274,1
    - Dst: strtoull
      Src: /src/cyclonedds/src/idl/src/string.c:277,1
    - Dst: _strtoull_l
      Src: /src/cyclonedds/src/idl/src/string.c:279,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:279,1
    - Dst: strtoull_l
      Src: /src/cyclonedds/src/idl/src/string.c:282,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts:
    - condition: (str)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (base >= 0 && base <= 36)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: idl_strtoull
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - posix_locale
    - strtoull_l
    - assert
    - strtoull
    - _strtoull_l
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long idl_strtoull(const char *str, char **endptr, int
      base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:288,1
    - Dst: strtold
      Src: /src/cyclonedds/src/idl/src/string.c:291,1
    - Dst: _strtold_l
      Src: /src/cyclonedds/src/idl/src/string.c:293,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:293,1
    - Dst: strtold_l
      Src: /src/cyclonedds/src/idl/src/string.c:296,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (str)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: idl_strtold
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - strtold
    - posix_locale
    - _strtold_l
    - assert
    - strtold_l
    linkageType: ''
    returnType: long double
    signature: long double idl_strtold(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtok_s
      Src: /src/cyclonedds/src/idl/src/string.c:303,1
    - Dst: strtok_r
      Src: /src/cyclonedds/src/idl/src/string.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - delim
    - saveptr
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: idl_strtok_r
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - strtok_r
    - strtok_s
    linkageType: ''
    returnType: char
    signature: char *idl_strtok_r(char *str, const char *delim, char **saveptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:312,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:313,1
    - Dst: _vfprintf_p_l
      Src: /src/cyclonedds/src/idl/src/string.c:317,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:317,1
    - Dst: vfprintf_l
      Src: /src/cyclonedds/src/idl/src/string.c:319,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:319,1
    - Dst: posix_locale
      Src: /src/cyclonedds/src/idl/src/string.c:322,1
    - Dst: uselocale
      Src: /src/cyclonedds/src/idl/src/string.c:323,1
    - Dst: vfprintf
      Src: /src/cyclonedds/src/idl/src/string.c:324,1
    - Dst: uselocale
      Src: /src/cyclonedds/src/idl/src/string.c:325,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fp
    - fmt
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts:
    - condition: (fp)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (fmt)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (loc == posixloc)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: idl_vfprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _vfprintf_p_l
    - posix_locale
    - assert
    - vfprintf
    - uselocale
    - vfprintf_l
    linkageType: ''
    returnType: int
    signature: int idl_vfprintf(FILE *fp, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:336,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:337,1
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/string.c:339,1
    - Dst: idl_vfprintf
      Src: /src/cyclonedds/src/idl/src/string.c:340,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/string.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts:
    - condition: (fp)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (fmt)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: idl_fprintf
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 23
    functionsReached:
    - va_start
    - assert
    - va_end
    - idl_vfprintf
    linkageType: ''
    returnType: int
    signature: int idl_fprintf(FILE *fp, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen_s
      Src: /src/cyclonedds/src/idl/src/string.c:351,1
    - Dst: fopen
      Src: /src/cyclonedds/src/idl/src/string.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: idl_fopen
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 2
    functionsReached:
    - fopen
    - fopen_s
    linkageType: ''
    returnType: FILE
    signature: FILE *idl_fopen(const char *pathname, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/cyclonedds/src/idl/src/string.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: idl_fclose
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int idl_fclose(FILE *fp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/cyclonedds/src/idl/src/string.c:381,1
    - Dst: _create_locale
      Src: /src/cyclonedds/src/idl/src/string.c:383,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/idl/src/string.c:385,1
    - Dst: _free_locale
      Src: /src/cyclonedds/src/idl/src/string.c:387,1
    - Dst: TlsFree
      Src: /src/cyclonedds/src/idl/src/string.c:389,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/string.c:391,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:394,1
    - Dst: _create_locale
      Src: /src/cyclonedds/src/idl/src/string.c:395,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/string.c:396,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/idl/src/string.c:397,1
    - Dst: _free_locale
      Src: /src/cyclonedds/src/idl/src/string.c:399,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/string.c:400,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:403,1
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/idl/src/string.c:404,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/idl/src/string.c:405,1
    - Dst: _free_locale
      Src: /src/cyclonedds/src/idl/src/string.c:406,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/string.c:409,1
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/idl/src/string.c:410,1
    - Dst: _free_locale
      Src: /src/cyclonedds/src/idl/src/string.c:412,1
    - Dst: TlsSetValue
      Src: /src/cyclonedds/src/idl/src/string.c:413,1
    - Dst: TlsFree
      Src: /src/cyclonedds/src/idl/src/string.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - handle
    - reason
    - reserved
    argTypes:
    - PVOID
    - DWORD
    - PVOID
    assertStmts:
    - condition: (locale != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (locale != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/cyclonedds/src/idl/src/string.c
    - condition: (locale != TLS_OUT_OF_INDEXES)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/cyclonedds/src/idl/src/string.c
    constantsTouched: []
    func_position:
      end: 420
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 420
    functionName: idl_cdtor
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - _create_locale
    - assert
    - TlsAlloc
    - TlsSetValue
    - _free_locale
    - abort
    - TlsGetValue
    - TlsFree
    linkageType: ''
    returnType: void
    signature: void idl_cdtor(PVOID handle, DWORD reason, PVOID reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/cyclonedds/src/idl/src/string.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: posix_locale
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 29
    functionsReached:
    - TlsGetValue
    linkageType: ''
    returnType: locale_t
    signature: locale_t posix_locale(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freelocale
      Src: /src/cyclonedds/src/idl/src/string.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: free_locale
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 1
    functionsReached:
    - freelocale
    linkageType: ''
    returnType: void
    signature: void free_locale(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/cyclonedds/src/idl/src/string.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: make_key
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void make_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/cyclonedds/src/idl/src/string.c:462,1
    - Dst: pthread_getspecific
      Src: /src/cyclonedds/src/idl/src/string.c:463,1
    - Dst: newlocale
      Src: /src/cyclonedds/src/idl/src/string.c:466,1
    - Dst: newlocale
      Src: /src/cyclonedds/src/idl/src/string.c:468,1
    - Dst: pthread_setspecific
      Src: /src/cyclonedds/src/idl/src/string.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 472
    functionName: posix_locale
    functionSourceFile: /src/cyclonedds/src/idl/src/string.c
    functionUses: 29
    functionsReached:
    - pthread_once
    - newlocale
    - pthread_setspecific
    - pthread_getspecific
    linkageType: ''
    returnType: locale_t
    signature: locale_t posix_locale(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: NO_MEMORY
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NO_MEMORY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loc
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: SEMANTIC_ERROR
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEMANTIC_ERROR(loc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Cur
    - ','
    - Rhs
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: YYLLOC_DEFAULT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLLOC_DEFAULT(Cur, Rhs, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - action
    - ','
    - except
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: TRY_EXCEPT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_EXCEPT(action, except)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: TRY
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: YY_CAST
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: YY_CAST
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: YYSIZEOF
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSIZEOF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: YY_
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: YY_
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 510
    functionName: YY_USE
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_USE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: YY_ASSERT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ASSERT(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 637
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: YYCOPY
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: YYCOPY
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: YYTRANSLATE
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - State
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    functionName: YY_ACCESSING_SYMBOL
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ACCESSING_SYMBOL(State)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yysymbol
    argTypes:
    - yysymbol_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 807
    functionName: yysymbol_name
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yysymbol_name (yysymbol_kind_t yysymbol)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: yypact_value_is_default
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: yytable_value_is_error
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1117
    functionName: YYRECOVERING
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1134
    functionName: YYBACKUP
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Current
    - ','
    - Rhs
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1161
    functionName: YYLLOC_DEFAULT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLLOC_DEFAULT(Current, Rhs, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Rhs
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1164
    functionName: YYRHSLOC
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRHSLOC(Rhs, K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: YYDPRINTF
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1192
    functionName: YYLOCATION_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLOCATION_PRINT(File, Loc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1205,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1207,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1213,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1215,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - yyo
    - yylocp
    argTypes:
    - FILE*
    - YYLTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1221
    functionName: yy_location_print_
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: YY_ATTRIBUTE_UNUSED
    signature: YY_ATTRIBUTE_UNUSED yy_location_print_ (FILE *yyo, YYLTYPE const *
      const yylocp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1228
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1232
    functionName: YYLOCATION_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Kind
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1250
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Kind, Value, Location)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1261,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1262,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1263,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - yyo
    - yykind
    - yyvaluep
    - yylocationp
    - pstate
    - result
    argTypes:
    - FILE*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    - idl_pstate_t*
    - idl_retcode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1270
    functionName: yy_symbol_value_print
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YY_USE
    linkageType: ''
    returnType: void
    signature: "void yy_symbol_value_print (FILE *yyo,\n                       yysymbol_kind_t
      yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, idl_pstate_t
      *pstate, idl_retcode_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1281,1
    - Dst: yysymbol_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1282,1
    - Dst: YYLOCATION_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:1284,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1285,1
    - Dst: yy_symbol_value_print
      Src: /src/cyclonedds/src/idl/src/parser.c:1286,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - yyo
    - yykind
    - yyvaluep
    - yylocationp
    - pstate
    - result
    argTypes:
    - FILE*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    - idl_pstate_t*
    - idl_retcode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1288
    functionName: yy_symbol_print
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    - yy_symbol_value_print
    - yysymbol_name
    - YYLOCATION_PRINT
    linkageType: ''
    returnType: void
    signature: "void yy_symbol_print (FILE *yyo,\n                 yysymbol_kind_t
      yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, idl_pstate_t
      *pstate, idl_retcode_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1298,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1302,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yy_state_t*
    - yy_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: yy_stack_print
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1312
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1325,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1330,1
    - Dst: yy_symbol_print
      Src: /src/cyclonedds/src/idl/src/parser.c:1331,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/cyclonedds/src/idl/src/parser.c:1332,1
    - Dst: YYFPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - yyssp
    - yyvsp
    - yylsp
    - yyrule
    - pstate
    - result
    argTypes:
    - yy_state_t*
    - YYSTYPE*
    - YYLTYPE*
    - int
    - idl_pstate_t*
    - idl_retcode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1337
    functionName: yy_reduce_print
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    - yy_symbol_print
    - YY_ACCESSING_SYMBOL
    linkageType: ''
    returnType: void
    signature: "void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,\n
      \                int yyrule, idl_pstate_t *pstate, idl_retcode_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1344
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1350
    functionName: YYDPRINTF
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1419,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1420,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1421,1
    - Dst: YY_USE
      Src: /src/cyclonedds/src/idl/src/parser.c:1422,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:1425,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1432,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1438,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1444,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1450,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1456,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1462,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1468,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1474,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1480,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1486,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1492,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1498,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1504,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1510,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1516,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1522,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1528,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:1534,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1540,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1546,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1552,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1558,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1564,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1570,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1576,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1582,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1588,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1594,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1600,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1606,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1612,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1618,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1624,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1630,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1636,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1642,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1648,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1654,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1660,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1666,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1672,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1678,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1684,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1690,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1696,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1702,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1708,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1714,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1720,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1726,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1732,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1738,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1744,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1750,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1756,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1762,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1768,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1774,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1780,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1786,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1792,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1798,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1804,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1810,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1816,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1822,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1828,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1834,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1840,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1846,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1852,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1858,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1864,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1870,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1876,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1882,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1888,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1894,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 323
    argCount: 6
    argNames:
    - yymsg
    - yykind
    - yyvaluep
    - yylocationp
    - pstate
    - result
    argTypes:
    - char*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    - idl_pstate_t*
    - idl_retcode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1415
    functionDepth: 3
    functionLinenumber: 1415
    functionLinenumberEnd: 1902
    functionName: yydestruct
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - idl_unreference_node
    - idl_delete_name
    - YY_USE
    - YY_SYMBOL_PRINT
    - idl_delete_node
    - idl_delete_scoped_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: "void yydestruct (const char *yymsg,\n            yysymbol_kind_t yykind,
      YYSTYPE *yyvaluep, YYLTYPE *yylocationp, idl_pstate_t *pstate, idl_retcode_t
      *result)"
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1432,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1438,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1444,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1450,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1456,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1462,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1468,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1474,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1480,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1486,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1492,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1498,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1504,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1510,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1516,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1522,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1528,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:1534,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1540,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1546,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1552,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1558,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1564,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1570,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1576,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1582,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1588,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1594,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1600,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1606,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1612,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1618,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1624,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1630,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1636,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1642,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1648,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1654,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1660,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1666,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1672,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1678,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1684,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1690,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1696,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1702,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1708,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1714,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1720,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1726,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1732,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1738,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1744,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1750,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1756,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1762,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1768,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1774,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1780,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1786,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1792,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1798,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1804,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1810,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1816,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1822,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1828,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1834,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1840,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1846,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1852,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1858,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1864,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1870,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:1876,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1882,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1888,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:1894,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 315
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1427
    functionDepth: 3
    functionLinenumber: 1427
    functionLinenumberEnd: 1900
    functionName: switch
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - idl_unreference_node
    - idl_delete_name
    - idl_delete_node
    - idl_delete_scoped_name
    - idl_free
    linkageType: ''
    returnType: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    signature: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN switch (yykind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - yyps
    argTypes:
    - yypstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1938
    functionName: yypstate_clear
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yypstate_clear (yypstate *yyps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:1945,1
    - Dst: YYMALLOC
      Src: /src/cyclonedds/src/idl/src/parser.c:1945,1
    - Dst: yypstate_clear
      Src: /src/cyclonedds/src/idl/src/parser.c:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1954
    functionName: yypstate_new
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYMALLOC
    - yypstate_clear
    - YY_CAST
    linkageType: ''
    returnType: yypstate
    signature: 'yypstate *

      yypstate_new (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YYSTACK_FREE
      Src: /src/cyclonedds/src/idl/src/parser.c:1965,1
    - Dst: YYFREE
      Src: /src/cyclonedds/src/idl/src/parser.c:1967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - yyps
    argTypes:
    - yypstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1969
    functionName: yypstate_delete
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYFREE
    - YYSTACK_FREE
    linkageType: ''
    returnType: void
    signature: void yypstate_delete (yypstate *yyps)
  - BBCount: 243
    BranchProfiles: []
    Callsites:
    - Dst: yypstate_clear
      Src: /src/cyclonedds/src/idl/src/parser.c:2027,1
    - Dst: YYDPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:2034,1
    - Dst: YYDPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:2055,1
    - Dst: YY_ASSERT
      Src: /src/cyclonedds/src/idl/src/parser.c:2056,1
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:2058,1
    - Dst: yyoverflow
      Src: /src/cyclonedds/src/idl/src/parser.c:2083,1
    - Dst: YY_
      Src: /src/cyclonedds/src/idl/src/parser.c:2083,1
    - Dst: YYSIZEOF
      Src: /src/cyclonedds/src/idl/src/parser.c:2084,1
    - Dst: YYSIZEOF
      Src: /src/cyclonedds/src/idl/src/parser.c:2085,1
    - Dst: YYSIZEOF
      Src: /src/cyclonedds/src/idl/src/parser.c:2086,1
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:2103,1
    - Dst: YYSTACK_ALLOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2104,1
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:2104,1
    - Dst: YYSTACK_BYTES
      Src: /src/cyclonedds/src/idl/src/parser.c:2104,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/cyclonedds/src/idl/src/parser.c:2107,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/cyclonedds/src/idl/src/parser.c:2108,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/cyclonedds/src/idl/src/parser.c:2109,1
    - Dst: YYSTACK_FREE
      Src: /src/cyclonedds/src/idl/src/parser.c:2112,1
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:2122,1
    - Dst: yypact_value_is_default
      Src: /src/cyclonedds/src/idl/src/parser.c:2146,1
    - Dst: YYDPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:2156,1
    - Dst: YYDPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:2162,1
    - Dst: YYDPRINTF
      Src: /src/cyclonedds/src/idl/src/parser.c:2174,1
    - Dst: YYTRANSLATE
      Src: /src/cyclonedds/src/idl/src/parser.c:2189,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:2190,1
    - Dst: yytable_value_is_error
      Src: /src/cyclonedds/src/idl/src/parser.c:2201,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:2213,1
    - Dst: YYLLOC_DEFAULT
      Src: /src/cyclonedds/src/idl/src/parser.c:2253,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:2255,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2278,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2290,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:2290,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2298,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:2298,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2306,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:2306,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2314,1
    - Dst: idl_finalize_module
      Src: /src/cyclonedds/src/idl/src/parser.c:2314,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2314,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2322,1
    - Dst: idl_create_module
      Src: /src/cyclonedds/src/idl/src/parser.c:2322,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2322,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2328,1
    - Dst: idl_create_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2328,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2334,1
    - Dst: idl_create_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2334,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2334,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2340,1
    - Dst: idl_push_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2340,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2348,1
    - Dst: idl_create_const
      Src: /src/cyclonedds/src/idl/src/parser.c:2348,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2348,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2354,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2354,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2360,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2360,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2366,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2366,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2372,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2372,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2378,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2378,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2394,1
    - Dst: idl_resolve
      Src: /src/cyclonedds/src/idl/src/parser.c:2394,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/parser.c:2395,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/parser.c:2396,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:2397,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2398,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2399,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2414,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2414,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2423,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2423,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2432,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2432,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2441,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2441,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2462,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2462,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2489,1
    - Dst: idl_create_binary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2489,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2516,1
    - Dst: idl_create_unary_expr
      Src: /src/cyclonedds/src/idl/src/parser.c:2516,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2555,1
    - Dst: idl_resolve
      Src: /src/cyclonedds/src/idl/src/parser.c:2555,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/parser.c:2556,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:2557,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2558,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2560,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2597,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/parser.c:2597,1
    - Dst: _Pragma
      Src: /src/cyclonedds/src/idl/src/parser.c:2611,1
    - Dst: _Pragma
      Src: /src/cyclonedds/src/idl/src/parser.c:2612,1
    - Dst: isnan
      Src: /src/cyclonedds/src/idl/src/parser.c:2614,1
    - Dst: isinf
      Src: /src/cyclonedds/src/idl/src/parser.c:2614,1
    - Dst: _Pragma
      Src: /src/cyclonedds/src/idl/src/parser.c:2616,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2624,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/parser.c:2624,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2635,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/parser.c:2635,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2646,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/parser.c:2646,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2657,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/parser.c:2657,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/parser.c:2680,1
    - Dst: NO_MEMORY
      Src: /src/cyclonedds/src/idl/src/parser.c:2681,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/parser.c:2693,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/parser.c:2694,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/parser.c:2695,1
    - Dst: NO_MEMORY
      Src: /src/cyclonedds/src/idl/src/parser.c:2696,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/parser.c:2697,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2705,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/parser.c:2705,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2723,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:2723,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2732,1
    - Dst: idl_resolve
      Src: /src/cyclonedds/src/idl/src/parser.c:2732,1
    - Dst: idl_is_type_spec
      Src: /src/cyclonedds/src/idl/src/parser.c:2733,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:2734,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2735,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2736,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2887,1
    - Dst: idl_create_sequence
      Src: /src/cyclonedds/src/idl/src/parser.c:2887,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2887,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2893,1
    - Dst: idl_create_sequence
      Src: /src/cyclonedds/src/idl/src/parser.c:2893,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2893,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2899,1
    - Dst: idl_create_string
      Src: /src/cyclonedds/src/idl/src/parser.c:2899,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2899,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2905,1
    - Dst: idl_create_string
      Src: /src/cyclonedds/src/idl/src/parser.c:2905,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2905,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2911,1
    - Dst: idl_create_wstring
      Src: /src/cyclonedds/src/idl/src/parser.c:2911,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2911,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2917,1
    - Dst: idl_create_wstring
      Src: /src/cyclonedds/src/idl/src/parser.c:2917,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2917,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2935,1
    - Dst: idl_create_forward
      Src: /src/cyclonedds/src/idl/src/parser.c:2935,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2941,1
    - Dst: idl_finalize_struct
      Src: /src/cyclonedds/src/idl/src/parser.c:2941,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2941,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2949,1
    - Dst: idl_create_struct
      Src: /src/cyclonedds/src/idl/src/parser.c:2949,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:2949,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2965,1
    - Dst: idl_resolve
      Src: /src/cyclonedds/src/idl/src/parser.c:2965,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/parser.c:2966,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/parser.c:2967,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:2968,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:2969,1
    - Dst: idl_create_inherit_spec
      Src: /src/cyclonedds/src/idl/src/parser.c:2969,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2969,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:2970,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:2995,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3001,1
    - Dst: idl_create_member
      Src: /src/cyclonedds/src/idl/src/parser.c:3001,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3001,1
    - Dst: TRY_EXCEPT
      Src: /src/cyclonedds/src/idl/src/parser.c:3002,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:3002,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:3002,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3021,1
    - Dst: idl_finalize_union
      Src: /src/cyclonedds/src/idl/src/parser.c:3021,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3021,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3029,1
    - Dst: idl_create_forward
      Src: /src/cyclonedds/src/idl/src/parser.c:3029,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3035,1
    - Dst: idl_create_union
      Src: /src/cyclonedds/src/idl/src/parser.c:3035,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3035,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3045,1
    - Dst: idl_create_switch_type_spec
      Src: /src/cyclonedds/src/idl/src/parser.c:3045,1
    - Dst: TRY_EXCEPT
      Src: /src/cyclonedds/src/idl/src/parser.c:3046,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:3046,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3046,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3053,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3053,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3059,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3059,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3065,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3065,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3072,1
    - Dst: idl_resolve
      Src: /src/cyclonedds/src/idl/src/parser.c:3072,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3073,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3074,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3081,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3081,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3087,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3087,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3099,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3105,1
    - Dst: idl_finalize_case
      Src: /src/cyclonedds/src/idl/src/parser.c:3105,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3119,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3125,1
    - Dst: idl_create_case_label
      Src: /src/cyclonedds/src/idl/src/parser.c:3125,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3125,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3131,1
    - Dst: idl_create_case_label
      Src: /src/cyclonedds/src/idl/src/parser.c:3131,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3137,1
    - Dst: idl_create_case
      Src: /src/cyclonedds/src/idl/src/parser.c:3137,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3137,1
    - Dst: TRY_EXCEPT
      Src: /src/cyclonedds/src/idl/src/parser.c:3138,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:3138,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:3138,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3151,1
    - Dst: idl_create_enum
      Src: /src/cyclonedds/src/idl/src/parser.c:3151,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3151,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3163,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3169,1
    - Dst: idl_create_enumerator
      Src: /src/cyclonedds/src/idl/src/parser.c:3169,1
    - Dst: TRY_EXCEPT
      Src: /src/cyclonedds/src/idl/src/parser.c:3170,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:3170,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:3170,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3183,1
    - Dst: idl_create_bitmask
      Src: /src/cyclonedds/src/idl/src/parser.c:3183,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3183,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3195,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3201,1
    - Dst: idl_create_bit_value
      Src: /src/cyclonedds/src/idl/src/parser.c:3201,1
    - Dst: TRY_EXCEPT
      Src: /src/cyclonedds/src/idl/src/parser.c:3202,1
    - Dst: idl_annotate
      Src: /src/cyclonedds/src/idl/src/parser.c:3202,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/parser.c:3202,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3209,1
    - Dst: idl_create_declarator
      Src: /src/cyclonedds/src/idl/src/parser.c:3209,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3209,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3221,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3233,1
    - Dst: idl_create_declarator
      Src: /src/cyclonedds/src/idl/src/parser.c:3233,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3239,1
    - Dst: idl_create_typedef
      Src: /src/cyclonedds/src/idl/src/parser.c:3239,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3239,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/parser.c:3248,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/parser.c:3250,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3254,1
    - Dst: idl_create_typedef
      Src: /src/cyclonedds/src/idl/src/parser.c:3254,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3254,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3255,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3256,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3269,1
    - Dst: idl_iskeyword
      Src: /src/cyclonedds/src/idl/src/parser.c:3282,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:3283,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3287,1
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3287,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/parser.c:3287,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3299,1
    - Dst: idl_finalize_annotation
      Src: /src/cyclonedds/src/idl/src/parser.c:3299,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3299,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3314,1
    - Dst: idl_create_annotation
      Src: /src/cyclonedds/src/idl/src/parser.c:3314,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3314,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3326,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3332,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3338,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3344,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3350,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3356,1
    - Dst: idl_create_annotation_member
      Src: /src/cyclonedds/src/idl/src/parser.c:3356,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3356,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3386,1
    - Dst: idl_create_base_type
      Src: /src/cyclonedds/src/idl/src/parser.c:3386,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3410,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3417,1
    - Dst: idl_finalize_annotation_appl
      Src: /src/cyclonedds/src/idl/src/parser.c:3417,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3417,1
    - Dst: idl_find_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3435,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3441,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3442,1
    - Dst: idl_create_annotation_appl
      Src: /src/cyclonedds/src/idl/src/parser.c:3442,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3442,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/parser.c:3447,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/parser.c:3447,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/parser.c:3448,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3448,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3451,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3458,1
    - Dst: idl_create_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3458,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3464,1
    - Dst: idl_create_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3464,1
    - Dst: LOC
      Src: /src/cyclonedds/src/idl/src/parser.c:3464,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3470,1
    - Dst: idl_push_scoped_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3470,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3502,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/parser.c:3513,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/parser.c:3514,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/parser.c:3516,1
    - Dst: SEMANTIC_ERROR
      Src: /src/cyclonedds/src/idl/src/parser.c:3517,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/parser.c:3518,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/parser.c:3521,1
    - Dst: TRY
      Src: /src/cyclonedds/src/idl/src/parser.c:3530,1
    - Dst: idl_create_annotation_appl_param
      Src: /src/cyclonedds/src/idl/src/parser.c:3530,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3552,1
    - Dst: YY_CAST
      Src: /src/cyclonedds/src/idl/src/parser.c:3552,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3554,1
    - Dst: YYTRANSLATE
      Src: /src/cyclonedds/src/idl/src/parser.c:3580,1
    - Dst: yyerror
      Src: /src/cyclonedds/src/idl/src/parser.c:3585,1
    - Dst: YY_
      Src: /src/cyclonedds/src/idl/src/parser.c:3585,1
    - Dst: yydestruct
      Src: /src/cyclonedds/src/idl/src/parser.c:3602,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3625,1
    - Dst: YY_STACK_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3627,1
    - Dst: yypact_value_is_default
      Src: /src/cyclonedds/src/idl/src/parser.c:3642,1
    - Dst: yydestruct
      Src: /src/cyclonedds/src/idl/src/parser.c:3658,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/cyclonedds/src/idl/src/parser.c:3659,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3660,1
    - Dst: YY_STACK_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3662,1
    - Dst: YYLLOC_DEFAULT
      Src: /src/cyclonedds/src/idl/src/parser.c:3671,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3674,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/cyclonedds/src/idl/src/parser.c:3674,1
    - Dst: yyerror
      Src: /src/cyclonedds/src/idl/src/parser.c:3700,1
    - Dst: YY_
      Src: /src/cyclonedds/src/idl/src/parser.c:3700,1
    - Dst: YYTRANSLATE
      Src: /src/cyclonedds/src/idl/src/parser.c:3713,1
    - Dst: yydestruct
      Src: /src/cyclonedds/src/idl/src/parser.c:3714,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3719,1
    - Dst: YY_STACK_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3720,1
    - Dst: yydestruct
      Src: /src/cyclonedds/src/idl/src/parser.c:3723,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/cyclonedds/src/idl/src/parser.c:3724,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3725,1
    CyclomaticComplexity: 290
    EdgeCount: 290
    ICount: 1076
    argCount: 6
    argNames:
    - yyps
    - yypushed_char
    - yypushed_val
    - yypushed_loc
    - pstate
    - result
    argTypes:
    - yypstate*
    - int
    - YYSTYPE*
    - YYLTYPE*
    - idl_pstate_t*
    - idl_retcode_t*
    assertStmts:
    - condition: ((yyvsp[-1].node))
      pos:
        line_end: 3247
        line_start: 3247
        source_file: /src/cyclonedds/src/idl/src/parser.c
    constantsTouched: []
    func_position:
      end: 3737
      start: 1977
    functionDepth: 4
    functionLinenumber: 1977
    functionLinenumberEnd: 3737
    functionName: yypush_parse
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - idl_finalize_union
    - isinf
    - idl_annotate
    - idl_create_unary_expr
    - idl_unalias
    - idl_strdup
    - idl_create_forward
    - idl_delete_node
    - idl_create_wstring
    - memmove
    - yyoverflow
    - yydestruct
    - YY_REDUCE_PRINT
    - yyerror
    - idl_finalize_case
    - idl_delete_name
    - idl_finalize_annotation_appl
    - idl_create_enum
    - YY_ACCESSING_SYMBOL
    - yypact_value_is_default
    - YYSIZEOF
    - idl_create_base_type
    - idl_push_scoped_name
    - YYDPRINTF
    - idl_create_struct
    - YY_CAST
    - yypstate_clear
    - idl_create_declarator
    - YY_SYMBOL_PRINT
    - idl_create_union
    - idl_create_binary_expr
    - idl_iskeyword
    - idl_finalize_struct
    - YYSTACK_ALLOC
    - idl_create_module
    - LOC
    - strcmp
    - strlen
    - YYPOPSTACK
    - idl_resolve
    - idl_free
    - idl_realloc
    - idl_create_annotation_appl_param
    - idl_find_scoped_name
    - idl_create_name
    - YYSTACK_BYTES
    - idl_mask
    - idl_create_const
    - idl_create_annotation_appl
    - idl_create_switch_type_spec
    - idl_evaluate
    - TRY_EXCEPT
    - idl_push_node
    - idl_create_member
    - idl_create_typedef
    - idl_warning
    - _Pragma
    - idl_create_annotation
    - idl_is_struct
    - YYLLOC_DEFAULT
    - NO_MEMORY
    - idl_finalize_annotation
    - idl_create_literal
    - idl_finalize_module
    - idl_is_type_spec
    - idl_create_string
    - YYTRANSLATE
    - idl_create_case_label
    - idl_delete_scoped_name
    - YYSTACK_FREE
    - idl_create_scoped_name
    - isnan
    - idl_create_inherit_spec
    - YY_
    - YY_STACK_PRINT
    - YYSTACK_RELOCATE
    - idl_create_sequence
    - idl_reference_node
    - SEMANTIC_ERROR
    - idl_create_enumerator
    - idl_create_bitmask
    - assert
    - yytable_value_is_error
    - idl_create_annotation_member
    - idl_create_case
    - idl_find
    - idl_create_bit_value
    - YY_ASSERT
    - TRY
    linkageType: ''
    returnType: int
    signature: "int yypush_parse (yypstate *yyps,\n              int yypushed_char,
      YYSTYPE const *yypushed_val, YYLTYPE *yypushed_loc, idl_pstate_t *pstate, idl_retcode_t
      *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2015
    functionName: YYPOPSTACK
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_STACK_PRINT
      Src: /src/cyclonedds/src/idl/src/parser.c:3775,1
    - Dst: yydestruct
      Src: /src/cyclonedds/src/idl/src/parser.c:3778,1
    - Dst: YYPOPSTACK
      Src: /src/cyclonedds/src/idl/src/parser.c:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - yyps
    argTypes:
    - idl_yypstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3759
    functionDepth: 4
    functionLinenumber: 3759
    functionLinenumberEnd: 3783
    functionName: idl_yypstate_delete_stack
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 0
    functionsReached:
    - YYPOPSTACK
    - YY_STACK_PRINT
    - yydestruct
    linkageType: ''
    returnType: void
    signature: void idl_yypstate_delete_stack(idl_yypstate *yyps)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/parser.c:3790,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/parser.c:3794,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/parser.c:3797,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pstate
    - str
    - nc
    argTypes:
    - idl_pstate_t*
    - char*
    - int
    assertStmts:
    - condition: (str != NULL)
      pos:
        line_end: 3789
        line_start: 3789
        source_file: /src/cyclonedds/src/idl/src/parser.c
    constantsTouched: []
    func_position:
      end: 3833
      start: 3785
    functionDepth: 2
    functionLinenumber: 3785
    functionLinenumberEnd: 3833
    functionName: idl_iskeyword
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 1
    functionsReached:
    - assert
    - cmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int idl_iskeyword(idl_pstate_t *pstate, const char *str, int nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/parser.c:3838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - loc
    - pstate
    - result
    - str
    argTypes:
    - idl_location_t*
    - idl_pstate_t*
    - idl_retcode_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3835
    functionDepth: 1
    functionLinenumber: 3835
    functionLinenumberEnd: 3840
    functionName: yyerror
    functionSourceFile: /src/cyclonedds/src/idl/src/parser.c
    functionUses: 1
    functionsReached:
    - idl_error
    linkageType: ''
    returnType: void
    signature: void yyerror(idl_location_t *loc, idl_pstate_t *pstate, idl_retcode_t
      *result, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:60,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:62,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/directive.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pstate
    - inc
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: push_file
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idl_calloc
    - idl_strdup
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t push_file(idl_pstate_t *pstate, const char *inc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:78,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:80,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/directive.c:84,1
    - Dst: push_file
      Src: /src/cyclonedds/src/idl/src/directive.c:87,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - pstate
    - inc
    - abs
    - flags
    argTypes:
    - idl_pstate_t*
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 108
    functionName: push_source
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - push_file
    - strcmp
    - idl_calloc
    - idl_strdup
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t push_source(idl_pstate_t *pstate, const char *inc, const
      char *abs, uint32_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:113,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:115,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:117,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (dir)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: delete_line
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_line(void *ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/directive.c:129,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:132,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:135,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/directive.c:135,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/idl/src/directive.c:137,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:142,1
    - Dst: idl_isseparator
      Src: /src/cyclonedds/src/idl/src/directive.c:142,1
    - Dst: idl_asprintf
      Src: /src/cyclonedds/src/idl/src/directive.c:143,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:145,1
    - Dst: idl_normalize_path
      Src: /src/cyclonedds/src/idl/src/directive.c:150,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:151,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:154,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:156,1
    - Dst: idl_isabsolute
      Src: /src/cyclonedds/src/idl/src/directive.c:158,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:160,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/directive.c:161,1
    - Dst: idl_untaint_path
      Src: /src/cyclonedds/src/idl/src/directive.c:165,1
    - Dst: push_source
      Src: /src/cyclonedds/src/idl/src/directive.c:168,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:172,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:174,1
    - Dst: push_file
      Src: /src/cyclonedds/src/idl/src/directive.c:181,1
    - Dst: delete_line
      Src: /src/cyclonedds/src/idl/src/directive.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pstate
    - dir
    argTypes:
    - idl_pstate_t*
    - struct line*
    assertStmts:
    - condition: (!len || idl_isseparator(cwd[len]))
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (src)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (dir->file)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (idl_isabsolute(cwd))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 191
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 191
    functionName: push_line
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_isseparator
    - assert
    - strcmp
    - push_file
    - delete_line
    - idl_normalize_path
    - idl_error
    - idl_strdup
    - idl_isabsolute
    - push_source
    - idl_untaint_path
    - idl_asprintf
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t push_line(idl_pstate_t *pstate, struct line *dir)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:204,1
    - Dst: idl_strtoull
      Src: /src/cyclonedds/src/idl/src/directive.c:207,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:209,1
    - Dst: push_line
      Src: /src/cyclonedds/src/idl/src/directive.c:217,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:219,1
    - Dst: push_line
      Src: /src/cyclonedds/src/idl/src/directive.c:228,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:236,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:238,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:240,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/directive.c:252,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:267,1
    - Dst: push_line
      Src: /src/cyclonedds/src/idl/src/directive.c:273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - pstate
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 278
    functionName: parse_line
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 2
    functionsReached:
    - idl_warning
    - strcmp
    - push_line
    - idl_error
    - idl_strtoull
    linkageType: ''
    returnType: int32_t
    signature: int32_t parse_line(idl_pstate_t *pstate, idl_token_t *tok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:283,1
    - Dst: idl_delete_scoped_name
      Src: /src/cyclonedds/src/idl/src/directive.c:284,1
    - Dst: idl_delete_field_name
      Src: /src/cyclonedds/src/idl/src/directive.c:287,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:288,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (dir)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: delete_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_delete_field_name
    - idl_delete_scoped_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_keylist(void *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:303,1
    - Dst: idl_find_scoped_name
      Src: /src/cyclonedds/src/idl/src/directive.c:304,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:305,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:305,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/directive.c:310,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:312,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:312,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/directive.c:316,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:317,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:317,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:323,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:323,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:338,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:342,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:342,1
    - Dst: idl_create_keylist
      Src: /src/cyclonedds/src/idl/src/directive.c:349,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:349,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:355,1
    - Dst: idl_find_field_name
      Src: /src/cyclonedds/src/idl/src/directive.c:364,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:365,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:365,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:371,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/src/directive.c:371,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/directive.c:372,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/directive.c:375,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/directive.c:376,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/directive.c:378,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/directive.c:379,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:380,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:380,1
    - Dst: idl_create_key
      Src: /src/cyclonedds/src/idl/src/directive.c:386,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/directive.c:386,1
    - Dst: idl_push_node
      Src: /src/cyclonedds/src/idl/src/directive.c:390,1
    - Dst: delete_keylist
      Src: /src/cyclonedds/src/idl/src/directive.c:398,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 2
    argNames:
    - pstate
    - dir
    argTypes:
    - idl_pstate_t*
    - struct keylist*
    assertStmts:
    - condition: (declaration)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (dir)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (idl_is_declarator(declarator))
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 401
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 401
    functionName: push_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_create_keylist
    - idl_is_array
    - idl_create_key
    - idl_push_node
    - delete_keylist
    - assert
    - strcmp
    - idl_is_declarator
    - idl_strip
    - idl_is_struct
    - idl_find_scoped_name
    - idl_error
    - idl_type_spec
    - idl_mask
    - idl_find_field_name
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t push_keylist(idl_pstate_t *pstate, struct keylist *dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/directive.c:408,1
    - Dst: idl_push_scoped_name
      Src: /src/cyclonedds/src/idl/src/directive.c:410,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pstate
    - loc
    - str
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: stash_name
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_create_name
    - idl_push_scoped_name
    - idl_free
    linkageType: ''
    returnType: int
    signature: int stash_name(idl_pstate_t *pstate, idl_location_t *loc, char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/directive.c:424,1
    - Dst: idl_create_scoped_name
      Src: /src/cyclonedds/src/idl/src/directive.c:426,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pstate
    - loc
    - str
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: stash_data_type
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_create_name
    - idl_create_scoped_name
    - idl_free
    linkageType: ''
    returnType: int
    signature: int stash_data_type(idl_pstate_t *pstate, idl_location_t *loc, char
      *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:441,1
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/directive.c:442,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:444,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:446,1
    - Dst: idl_push_field_name
      Src: /src/cyclonedds/src/idl/src/directive.c:447,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pstate
    - loc
    - str
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    assertStmts:
    - condition: (dir->keys)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (dir->keys)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (n)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 454
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 454
    functionName: stash_field
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_create_name
    - assert
    - idl_push_field_name
    - idl_free
    linkageType: ''
    returnType: int
    signature: int stash_field(idl_pstate_t *pstate, idl_location_t *loc, char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/directive.c:464,1
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/directive.c:468,1
    - Dst: idl_create_field_name
      Src: /src/cyclonedds/src/idl/src/directive.c:470,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/directive.c:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pstate
    - loc
    - str
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: stash_key
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - idl_create_name
    - idl_realloc
    - idl_create_field_name
    - idl_free
    linkageType: ''
    returnType: int
    signature: int stash_key(idl_pstate_t *pstate, idl_location_t *loc, char *str)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:484,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:490,1
    - Dst: idl_iskeyword
      Src: /src/cyclonedds/src/idl/src/directive.c:493,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:494,1
    - Dst: stash_name
      Src: /src/cyclonedds/src/idl/src/directive.c:499,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:512,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:514,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:518,1
    - Dst: stash_data_type
      Src: /src/cyclonedds/src/idl/src/directive.c:523,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:529,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:531,1
    - Dst: idl_iskeyword
      Src: /src/cyclonedds/src/idl/src/directive.c:534,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:535,1
    - Dst: stash_field
      Src: /src/cyclonedds/src/idl/src/directive.c:540,1
    - Dst: push_keylist
      Src: /src/cyclonedds/src/idl/src/directive.c:564,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:569,1
    - Dst: idl_iskeyword
      Src: /src/cyclonedds/src/idl/src/directive.c:572,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:573,1
    - Dst: stash_key
      Src: /src/cyclonedds/src/idl/src/directive.c:578,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/directive.c:584,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - pstate
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (dir)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (!dir->data_type)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - condition: (dir->keys)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/cyclonedds/src/idl/src/directive.c
    constantsTouched: []
    func_position:
      end: 589
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 589
    functionName: parse_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - stash_field
    - idl_iskeyword
    - assert
    - stash_name
    - push_keylist
    - idl_error
    - stash_key
    - stash_data_type
    linkageType: ''
    returnType: int32_t
    signature: int32_t parse_keylist(idl_pstate_t *pstate, idl_token_t *tok)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: delete_line
      Src: /src/cyclonedds/src/idl/src/directive.c:596,1
    - Dst: delete_line
      Src: /src/cyclonedds/src/idl/src/directive.c:598,1
    - Dst: delete_keylist
      Src: /src/cyclonedds/src/idl/src/directive.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: idl_delete_directive
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - delete_keylist
    - delete_line
    linkageType: ''
    returnType: void
    signature: void idl_delete_directive(idl_pstate_t *pstate)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: parse_line
      Src: /src/cyclonedds/src/idl/src/directive.c:608,1
    - Dst: parse_keylist
      Src: /src/cyclonedds/src/idl/src/directive.c:610,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:618,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:620,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:635,1
    - Dst: parse_line
      Src: /src/cyclonedds/src/idl/src/directive.c:640,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:643,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/directive.c:645,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/directive.c:651,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/directive.c:668,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - pstate
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 604
    functionDepth: 5
    functionLinenumber: 604
    functionLinenumberEnd: 670
    functionName: idl_parse_directive
    functionSourceFile: /src/cyclonedds/src/idl/src/directive.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idl_calloc
    - parse_line
    - idl_error
    - parse_keylist
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_parse_directive(idl_pstate_t *pstate, idl_token_t
      *tok)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: have_newline
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_newline(idl_pstate_t *pstate, const char *cur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:50,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: have_skip
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    - have_newline
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_skip(idl_pstate_t *pstate, const char *cur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:61,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: have_space
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    - have_newline
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_space(idl_pstate_t *pstate, const char *cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: have_digit
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_digit(idl_pstate_t *pstate, const char *cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: have_alpha
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_alpha(idl_pstate_t *pstate, const char *cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: have_alnum
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t have_alnum(idl_pstate_t *pstate, const char *cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:111,1
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/scanner.c:121,1
    - Dst: idl_verror
      Src: /src/cyclonedds/src/idl/src/scanner.c:122,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/scanner.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pstate
    - cur
    - fmt
    argTypes:
    - idl_pstate_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 124
    functionName: error
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 175
    functionsReached:
    - va_start
    - idl_verror
    - have_newline
    - va_end
    linkageType: ''
    returnType: void
    signature: void error(idl_pstate_t *pstate, const char *cur, const char *fmt,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:132,1
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: next
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 186
    functionsReached:
    - have_skip
    - have_newline
    linkageType: ''
    returnType: char
    signature: 'char *

      next(idl_pstate_t *pstate, const char *cur)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:151,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (cur >= pstate->scanner.cursor && cur <= pstate->scanner.limit)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: move
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 89
    functionsReached:
    - assert
    - have_newline
    linkageType: ''
    returnType: char
    signature: 'char *

      move(idl_pstate_t *pstate, const char *cur)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: peek
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 6
    functionsReached:
    - have_skip
    linkageType: ''
    returnType: int32_t
    signature: int32_t peek(idl_pstate_t *pstate, const char *cur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scanner.c:185,1
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pstate
    - cur
    - str
    argTypes:
    - idl_pstate_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: have
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - have_skip
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t have(idl_pstate_t *pstate, const char *cur, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pstate
    - cur
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: need_refill
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - have_skip
    linkageType: ''
    returnType: int32_t
    signature: int32_t need_refill(idl_pstate_t *pstate, const char *cur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:207,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:208,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:209,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: scan_line_comment
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - have_newline
    - need_refill
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_line_comment(idl_pstate_t *pstate, const char *cur, const
      char **lim)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:224,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:225,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:245,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:252,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:255,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (cur < pstate->scanner.limit)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (state == slash && false)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 260
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 260
    functionName: scan_comment
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - assert
    - need_refill
    - error
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_comment(idl_pstate_t *pstate, const char *cur, const char
      **lim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:269,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:276,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:283,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:286,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (*cur == '\'')
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 293
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 293
    functionName: scan_char_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - assert
    - have_newline
    - error
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_char_literal(idl_pstate_t *pstate, const char *cur, const
      char **lim)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:300,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:307,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:311,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:314,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (*cur == '\"')
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 321
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 321
    functionName: scan_string_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - error
    - assert
    - have_newline
    - need_refill
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_string_literal(idl_pstate_t *pstate, const char *cur,
      const char **lim)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:327,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:333,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:334,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:335,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:336,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:340,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:341,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:342,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:352,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:353,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:355,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:356,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:360,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:365,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (chr >= '0' && chr <= '9')
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (chr == '.')
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (chr != '\0')
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (state != integer)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 369
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 369
    functionName: scan_floating_pt_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - peek
    - have_digit
    - assert
    - need_refill
    linkageType: ''
    returnType: int
    signature: "int scan_floating_pt_literal(\n  idl_pstate_t *pstate, const char
      *cur, const char **lim)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:378,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:383,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:384,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:384,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:386,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:393,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:394,1
    - Dst: scan_floating_pt_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:397,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:400,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:401,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:403,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:404,1
    - Dst: scan_floating_pt_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:406,1
    - Dst: strchr
      Src: /src/cyclonedds/src/idl/src/scanner.c:409,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:413,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (chr == '0')
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 417
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 417
    functionName: scan_integer_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - peek
    - scan_floating_pt_literal
    - have_digit
    - assert
    - strchr
    - need_refill
    linkageType: ''
    returnType: int
    signature: int scan_integer_literal(idl_pstate_t *pstate, const char *cur, const
      char **lim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:425,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:426,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:427,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 436
    functionName: scan_pp_number
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - next
    - peek
    - need_refill
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_pp_number(idl_pstate_t *pstate, const char *cur, const
      char **lim)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:446,1
    - Dst: have_alnum
      Src: /src/cyclonedds/src/idl/src/scanner.c:447,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:448,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:457,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:460,1
    - Dst: error
      Src: /src/cyclonedds/src/idl/src/scanner.c:463,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:474,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - pstate
    - cur
    - lim
    - allow_leading_underscores
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    - bool
    assertStmts:
    - condition: (cur - tok > 0)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 484
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 484
    functionName: scan_identifier
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - error
    - assert
    - have_skip
    - have
    - have_alnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_identifier(idl_pstate_t *pstate, const char *cur, const
      char **lim, bool allow_leading_underscores)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:510,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:511,1
    - Dst: have_alpha
      Src: /src/cyclonedds/src/idl/src/scanner.c:517,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (cnt > 0)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 531
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 531
    functionName: scan_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - have
    - have_alpha
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_scope(idl_pstate_t *pstate, const char *cur, const char
      **lim)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:538,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:539,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:542,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:549,1
    - Dst: have_alpha
      Src: /src/cyclonedds/src/idl/src/scanner.c:550,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pstate
    - cur
    - lim
    argTypes:
    - idl_pstate_t*
    - char*
    - char**
    assertStmts:
    - condition: (cnt > 0)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 564
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 564
    functionName: scan_at
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - have
    - have_alpha
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t scan_at(idl_pstate_t *pstate, const char *cur, const char **lim)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:574,1
    - Dst: move
      Src: /src/cyclonedds/src/idl/src/scanner.c:576,1
    - Dst: need_refill
      Src: /src/cyclonedds/src/idl/src/scanner.c:580,1
    - Dst: peek
      Src: /src/cyclonedds/src/idl/src/scanner.c:583,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:585,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:587,1
    - Dst: scan_comment
      Src: /src/cyclonedds/src/idl/src/scanner.c:588,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:589,1
    - Dst: scan_line_comment
      Src: /src/cyclonedds/src/idl/src/scanner.c:590,1
    - Dst: scan_char_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:592,1
    - Dst: scan_string_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:594,1
    - Dst: have_newline
      Src: /src/cyclonedds/src/idl/src/scanner.c:595,1
    - Dst: have_space
      Src: /src/cyclonedds/src/idl/src/scanner.c:600,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:607,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:607,1
    - Dst: scan_pp_number
      Src: /src/cyclonedds/src/idl/src/scanner.c:608,1
    - Dst: have_alpha
      Src: /src/cyclonedds/src/idl/src/scanner.c:609,1
    - Dst: scan_identifier
      Src: /src/cyclonedds/src/idl/src/scanner.c:610,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:611,1
    - Dst: scan_pp_number
      Src: /src/cyclonedds/src/idl/src/scanner.c:612,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:613,1
    - Dst: scan_scope
      Src: /src/cyclonedds/src/idl/src/scanner.c:614,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:623,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:623,1
    - Dst: scan_floating_pt_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:624,1
    - Dst: have_digit
      Src: /src/cyclonedds/src/idl/src/scanner.c:625,1
    - Dst: scan_integer_literal
      Src: /src/cyclonedds/src/idl/src/scanner.c:627,1
    - Dst: have_alpha
      Src: /src/cyclonedds/src/idl/src/scanner.c:628,1
    - Dst: scan_identifier
      Src: /src/cyclonedds/src/idl/src/scanner.c:629,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:630,1
    - Dst: scan_scope
      Src: /src/cyclonedds/src/idl/src/scanner.c:631,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:632,1
    - Dst: have
      Src: /src/cyclonedds/src/idl/src/scanner.c:635,1
    - Dst: scan_at
      Src: /src/cyclonedds/src/idl/src/scanner.c:639,1
    - Dst: next
      Src: /src/cyclonedds/src/idl/src/scanner.c:648,1
    - Dst: move
      Src: /src/cyclonedds/src/idl/src/scanner.c:656,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 2
    argNames:
    - pstate
    - lex
    argTypes:
    - idl_pstate_t*
    - idl_lexeme_t*
    assertStmts:
    - condition: (cur == pstate->scanner.limit)
      pos:
        line_end: 584
        line_start: 584
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 661
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 661
    functionName: scan
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 5
    functionsReached:
    - scan_floating_pt_literal
    - scan_comment
    - have_skip
    - scan_at
    - scan_scope
    - move
    - have_space
    - have_alpha
    - scan_integer_literal
    - have
    - have_newline
    - scan_pp_number
    - next
    - peek
    - assert
    - scan_line_comment
    - scan_identifier
    - scan_string_literal
    - have_digit
    - need_refill
    - scan_char_literal
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t scan(idl_pstate_t *pstate, idl_lexeme_t *lex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:686,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:688,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:689,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:694,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:695,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:696,1
    - Dst: idl_isdigit
      Src: /src/cyclonedds/src/idl/src/scanner.c:697,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scanner.c:700,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/scanner.c:711,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - pstate
    - lex
    - str
    - len
    argTypes:
    - idl_pstate_t*
    - idl_lexeme_t*
    - char*
    - size_t*
    assertStmts:
    - condition: (pos <= *len)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 726
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 726
    functionName: unescape
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 1
    functionsReached:
    - idl_warning
    - assert
    - idl_isdigit
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t unescape(\n  idl_pstate_t *pstate, idl_lexeme_t *lex,
      char *str, size_t *len)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/scanner.c:745,1
    - Dst: have_skip
      Src: /src/cyclonedds/src/idl/src/scanner.c:750,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:753,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:757,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:763,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/scanner.c:763,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:764,1
    - Dst: idl_iskeyword
      Src: /src/cyclonedds/src/idl/src/scanner.c:777,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:785,1
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/scanner.c:787,1
    - Dst: unescape
      Src: /src/cyclonedds/src/idl/src/scanner.c:789,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scanner.c:791,1
    - Dst: idl_strtoull
      Src: /src/cyclonedds/src/idl/src/scanner.c:797,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:798,1
    - Dst: idl_strtold
      Src: /src/cyclonedds/src/idl/src/scanner.c:802,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scanner.c:803,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/scanner.c:815,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scanner.c:821,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scanner.c:823,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scanner.c:830,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 95
    argCount: 4
    argNames:
    - pstate
    - lex
    - code
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_lexeme_t*
    - int32_t
    - idl_token_t*
    assertStmts:
    - condition: (strcmp(str, "annotation") == 0)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (pstate->scanner.state == IDL_SCAN_ANNOTATION_NAME)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: ((str[0] == '\'' || str[0] == '"'))
      pos:
        line_end: 784
        line_start: 784
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (end && *end == '\0')
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (pos <= len)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (end && *end == '\0')
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    - condition: (cnt == 0)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/cyclonedds/src/idl/src/scanner.c
    constantsTouched: []
    func_position:
      end: 837
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 837
    functionName: tokenize
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 0
    functionsReached:
    - idl_strtold
    - idl_iskeyword
    - memmove
    - assert
    - strcmp
    - have_skip
    - unescape
    - idl_malloc
    - idl_strdup
    - idl_error
    - idl_strtoull
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t tokenize(\n  idl_pstate_t *pstate, idl_lexeme_t *lex,
      int32_t code, idl_token_t *tok)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/cyclonedds/src/idl/src/scanner.c:845,1
    - Dst: tokenize
      Src: /src/cyclonedds/src/idl/src/scanner.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pstate
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 6
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: idl_scan
    functionSourceFile: /src/cyclonedds/src/idl/src/scanner.c
    functionUses: 1
    functionsReached:
    - tokenize
    - scan
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_scan(idl_pstate_t *pstate, idl_token_t *tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/vector.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct idl_boxed_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: idl_boxed_vector_init
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 1
    functionsReached:
    - idl_malloc
    linkageType: ''
    returnType: bool
    signature: bool idl_boxed_vector_init (struct idl_boxed_vector *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/vector.c:30,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/vector.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v
    - x
    argTypes:
    - struct idl_boxed_vector*
    - void*
    assertStmts:
    - condition: (v->cap <= SIZE_MAX / 2)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/idl/src/vector.c
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: idl_boxed_vector_append
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 2
    functionsReached:
    - assert
    - idl_realloc
    linkageType: ''
    returnType: bool
    signature: bool idl_boxed_vector_append (struct idl_boxed_vector *v, void *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/cyclonedds/src/idl/src/vector.c:45,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/vector.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct idl_boxed_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: idl_boxed_vector_fini
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 3
    functionsReached:
    - f
    - idl_free
    linkageType: ''
    returnType: void
    signature: void idl_boxed_vector_fini (struct idl_boxed_vector *c, void (*f) (void
      *x))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct idl_boxed_vector_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: idl_boxed_vector_next
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *idl_boxed_vector_next (struct idl_boxed_vector_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/vector.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - it
    argTypes:
    - struct idl_boxed_vector*
    - struct idl_boxed_vector_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: idl_boxed_vector_first
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 2
    functionsReached:
    - idl_boxed_vector_next
    linkageType: ''
    returnType: void
    signature: void *idl_boxed_vector_first (struct idl_boxed_vector *v, struct idl_boxed_vector_iter
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_next
      Src: /src/cyclonedds/src/idl/src/vector.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct idl_boxed_vector_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: idl_boxed_vector_next_c
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 2
    functionsReached:
    - idl_boxed_vector_next
    linkageType: ''
    returnType: void
    signature: void *idl_boxed_vector_next_c (struct idl_boxed_vector_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_boxed_vector_first
      Src: /src/cyclonedds/src/idl/src/vector.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - it
    argTypes:
    - struct idl_boxed_vector*
    - struct idl_boxed_vector_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: idl_boxed_vector_first_c
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 3
    functionsReached:
    - idl_boxed_vector_first
    linkageType: ''
    returnType: void
    signature: void *idl_boxed_vector_first_c (const struct idl_boxed_vector *v, struct
      idl_boxed_vector_iter *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/vector.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct idl_boxed_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: idl_boxed_vector_sort
    functionSourceFile: /src/cyclonedds/src/idl/src/vector.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void idl_boxed_vector_sort (struct idl_boxed_vector *v, int (*cmp)
      (const void **a, const void **b))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/src/idl/src/heap.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: idl_malloc
    functionSourceFile: /src/cyclonedds/src/idl/src/heap.c
    functionUses: 25
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * idl_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cyclonedds/src/idl/src/heap.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: idl_calloc
    functionSourceFile: /src/cyclonedds/src/idl/src/heap.c
    functionUses: 14
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * idl_calloc(size_t num, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cyclonedds/src/idl/src/heap.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - new_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: idl_realloc
    functionSourceFile: /src/cyclonedds/src/idl/src/heap.c
    functionUses: 9
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void * idl_realloc(void *ptr, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/idl/src/heap.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: idl_free
    functionSourceFile: /src/cyclonedds/src/idl/src/heap.c
    functionUses: 56
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void idl_free(void *pt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: idl_operator
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: idl_operator_t
    signature: idl_operator_t idl_operator(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: greatest
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned greatest(unsigned a, unsigned b)
  - 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: n
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1383
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n(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: s
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s(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: t
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 3709
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: u
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: u(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:83,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: negative
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - s
    - t
    linkageType: ''
    returnType: bool
    signature: bool negative(idl_intval_t *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:95,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:97,1
    - Dst: intmax
      Src: /src/cyclonedds/src/idl/src/expression.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - val
    - type
    argTypes:
    - idl_intval_t*
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: int_overflows
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - intmin
    - intmax
    - uintmax
    linkageType: ''
    returnType: bool
    signature: bool int_overflows(idl_intval_t *val, idl_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:103,1
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:103,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:103,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:103,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:104,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:104,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: int_or
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - greatest
    - u
    - t
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_or(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:111,1
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:111,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:111,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:111,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:112,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:112,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: int_xor
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - greatest
    - u
    - t
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_xor(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:119,1
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:119,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:119,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:119,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:120,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:120,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: int_and
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - greatest
    - u
    - t
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_and(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:127,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:127,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:127,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:128,1
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:128,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:130,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:131,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:132,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:132,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:132,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:134,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:134,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: int_lshift
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - s
    - t
    - n
    - uintmax
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_lshift(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:141,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:141,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:141,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:142,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:144,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:145,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:146,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:146,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:146,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:148,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:148,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: int_rshift
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - s
    - t
    - n
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_rshift(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:155,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:155,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:155,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:157,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:157,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:159,1
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:159,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:159,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:161,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:161,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:161,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:162,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:162,1
    - Dst: intmax
      Src: /src/cyclonedds/src/idl/src/expression.c:162,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:165,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:165,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:166,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:166,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:166,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:167,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:167,1
    - Dst: intmax
      Src: /src/cyclonedds/src/idl/src/expression.c:167,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:169,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:169,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:169,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:170,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:174,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:174,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:175,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:175,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:175,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:176,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:176,1
    - Dst: intmax
      Src: /src/cyclonedds/src/idl/src/expression.c:176,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:178,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:178,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:178,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:179,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:183,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:183,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:183,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:185,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:185,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:185,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 191
    functionName: int_add
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - intmax
    - s
    - t
    - n
    - uintmax
    - intmin
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_add(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:196,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:196,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:196,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:198,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:198,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:200,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:200,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:200,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:200,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:200,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:202,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:202,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:202,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:203,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:206,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:206,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:206,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:206,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:206,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:208,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:208,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:208,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:209,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:212,1
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:212,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:212,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:214,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:214,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:214,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:215,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:215,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:215,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:218,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:218,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:218,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 224
    functionName: int_subtract
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - s
    - t
    - n
    - intmin
    - uintmax
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_subtract(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:229,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:229,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:229,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:231,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:231,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:233,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:233,1
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:233,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:233,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:235,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:235,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:235,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:236,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:239,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:239,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:239,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:241,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:241,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:241,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:242,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:245,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:245,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:245,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:245,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:247,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:247,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:247,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:248,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:251,1
    - Dst: uintmax
      Src: /src/cyclonedds/src/idl/src/expression.c:251,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:251,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:253,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:253,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:253,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:254,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:254,1
    - Dst: intmax
      Src: /src/cyclonedds/src/idl/src/expression.c:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 259
    functionName: int_multiply
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - intmax
    - s
    - t
    - n
    - uintmax
    - intmin
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_multiply(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:264,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:264,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:264,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:266,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:269,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:269,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:271,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:271,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:271,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:272,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:275,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:275,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:275,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:276,1
    - Dst: intmin
      Src: /src/cyclonedds/src/idl/src/expression.c:279,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:279,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:279,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:281,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:281,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:281,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:282,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:285,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:285,1
    - Dst: s
      Src: /src/cyclonedds/src/idl/src/expression.c:285,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 291
    functionName: int_divide
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - s
    - t
    - n
    - intmin
    - greatest
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_divide(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: greatest
      Src: /src/cyclonedds/src/idl/src/expression.c:296,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:296,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:296,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:298,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:301,1
    - Dst: n
      Src: /src/cyclonedds/src/idl/src/expression.c:301,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:303,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:303,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:303,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:304,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:307,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:307,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:307,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:308,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:311,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:311,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:311,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:312,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:315,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:315,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:315,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 321
    functionName: int_modulo
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - greatest
    - u
    - n
    - t
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t int_modulo(idl_intval_t *a, idl_intval_t *b, idl_intval_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: is_arith_return_type
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_arith_return_type (idl_type_t t)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:340,1
    - Dst: is_arith_return_type
      Src: /src/cyclonedds/src/idl/src/expression.c:340,1
    - Dst: eval_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:342,1
    - Dst: eval_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:344,1
    - Dst: idl_operator
      Src: /src/cyclonedds/src/idl/src/expression.c:347,1
    - Dst: int_or
      Src: /src/cyclonedds/src/idl/src/expression.c:348,1
    - Dst: int_xor
      Src: /src/cyclonedds/src/idl/src/expression.c:349,1
    - Dst: int_and
      Src: /src/cyclonedds/src/idl/src/expression.c:350,1
    - Dst: int_lshift
      Src: /src/cyclonedds/src/idl/src/expression.c:351,1
    - Dst: int_rshift
      Src: /src/cyclonedds/src/idl/src/expression.c:352,1
    - Dst: int_add
      Src: /src/cyclonedds/src/idl/src/expression.c:353,1
    - Dst: int_subtract
      Src: /src/cyclonedds/src/idl/src/expression.c:354,1
    - Dst: int_multiply
      Src: /src/cyclonedds/src/idl/src/expression.c:355,1
    - Dst: int_divide
      Src: /src/cyclonedds/src/idl/src/expression.c:356,1
    - Dst: int_modulo
      Src: /src/cyclonedds/src/idl/src/expression.c:357,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:359,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:359,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:360,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:365,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:365,1
    - Dst: int_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:367,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:368,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:368,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_binary_expr_t*
    - idl_type_t
    - idl_intval_t*
    assertStmts:
    - condition: (is_arith_return_type (type))
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 374
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 374
    functionName: eval_binary_int_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - int_rshift
    - int_multiply
    - int_divide
    - idl_construct
    - is_arith_return_type
    - idl_operator
    - assert
    - int_and
    - int_modulo
    - int_subtract
    - int_xor
    - eval_int_expr
    - int_lshift
    - int_or
    - idl_error
    - int_overflows
    - int_add
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_binary_int_expr(\n  idl_pstate_t *pstate,\n  const
      idl_binary_expr_t *expr,\n  idl_type_t type,\n  idl_intval_t *valp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:378,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:378,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:379,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: int_minus
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - t
    linkageType: ''
    returnType: int
    signature: int int_minus(idl_intval_t *a, idl_intval_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: int_plus
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_plus(idl_intval_t *a, idl_intval_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:391,1
    - Dst: t
      Src: /src/cyclonedds/src/idl/src/expression.c:391,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:392,1
    - Dst: u
      Src: /src/cyclonedds/src/idl/src/expression.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - idl_intval_t*
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: int_not
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - u
    - t
    linkageType: ''
    returnType: int
    signature: int int_not(idl_intval_t *a, idl_intval_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:406,1
    - Dst: is_arith_return_type
      Src: /src/cyclonedds/src/idl/src/expression.c:406,1
    - Dst: eval_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:408,1
    - Dst: idl_operator
      Src: /src/cyclonedds/src/idl/src/expression.c:411,1
    - Dst: int_minus
      Src: /src/cyclonedds/src/idl/src/expression.c:412,1
    - Dst: int_plus
      Src: /src/cyclonedds/src/idl/src/expression.c:413,1
    - Dst: int_not
      Src: /src/cyclonedds/src/idl/src/expression.c:414,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:416,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:416,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:417,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:422,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:422,1
    - Dst: int_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:424,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:425,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_unary_expr_t*
    - idl_type_t
    - idl_intval_t*
    assertStmts:
    - condition: (is_arith_return_type (type))
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 431
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 431
    functionName: eval_unary_int_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - is_arith_return_type
    - idl_operator
    - int_minus
    - assert
    - int_plus
    - int_not
    - eval_int_expr
    - idl_error
    - int_overflows
    - idl_construct
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_unary_int_expr(\n  idl_pstate_t *pstate,\n  const
      idl_unary_expr_t *expr,\n  idl_type_t type,\n  idl_intval_t *valp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:435,1
    - Dst: idl_is_bit_value
      Src: /src/cyclonedds/src/idl/src/expression.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_is_bit_value(const_expr))
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: bitval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_is_bit_value
    - assert
    linkageType: ''
    returnType: idl_intval_t
    signature: idl_intval_t bitval(const idl_const_expr_t *const_expr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:455,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:458,1
    - Dst: eval_binary_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:460,1
    - Dst: eval_unary_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:462,1
    - Dst: intval
      Src: /src/cyclonedds/src/idl/src/expression.c:466,1
    - Dst: bitval
      Src: /src/cyclonedds/src/idl/src/expression.c:469,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:473,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:473,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pstate
    - const_expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - idl_intval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 476
    functionName: eval_int_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached:
    - idl_location
    - eval_unary_int_expr
    - bitval
    - intval
    - idl_error
    - idl_mask
    - idl_construct
    - eval_binary_int_expr
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_int_expr(\n  idl_pstate_t *pstate,\n  const idl_const_expr_t
      *const_expr,\n  idl_type_t type,\n  idl_intval_t *valp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/expression.c:490,1
    - Dst: eval_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:492,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:493,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 500
    functionName: eval_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_create_literal
    - eval_int_expr
    - memset
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_bitmask(\n  idl_pstate_t *pstate,\n  idl_const_expr_t
      *expr,\n  idl_type_t type,\n  void *nodep)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/expression.c:514,1
    - Dst: eval_int_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:518,1
    - Dst: int_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:522,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:525,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:525,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:551,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:551,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 553
    functionName: eval_int
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - memset
    - eval_int_expr
    - idl_create_literal
    - idl_error
    - int_overflows
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_int(\n  idl_pstate_t *pstate,\n  idl_const_expr_t
      *expr,\n  idl_type_t type,\n  void *nodep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/cyclonedds/src/idl/src/expression.c:570,1
    - Dst: isinf
      Src: /src/cyclonedds/src/idl/src/expression.c:570,1
    - Dst: isnan
      Src: /src/cyclonedds/src/idl/src/expression.c:572,1
    - Dst: isinf
      Src: /src/cyclonedds/src/idl/src/expression.c:572,1
    - Dst: isnan
      Src: /src/cyclonedds/src/idl/src/expression.c:574,1
    - Dst: isinf
      Src: /src/cyclonedds/src/idl/src/expression.c:574,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/expression.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ldbl
    - type
    argTypes:
    - long double
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: float_overflows
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - abort
    - isinf
    - isnan
    linkageType: ''
    returnType: bool
    signature: bool float_overflows(long double ldbl, idl_type_t type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eval_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:591,1
    - Dst: eval_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:593,1
    - Dst: idl_operator
      Src: /src/cyclonedds/src/idl/src/expression.c:596,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:602,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:602,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:609,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:609,1
    - Dst: float_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:614,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:615,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:615,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_binary_expr_t*
    - idl_type_t
    - idl_floatval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 622
    functionName: eval_binary_float_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_operator
    - float_overflows
    - idl_error
    - eval_float_expr
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_binary_float_expr(\n  idl_pstate_t *pstate,\n  const
      idl_binary_expr_t *expr,\n  idl_type_t type,\n  idl_floatval_t *valp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eval_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:634,1
    - Dst: idl_operator
      Src: /src/cyclonedds/src/idl/src/expression.c:637,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:641,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:641,1
    - Dst: float_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:646,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:647,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_unary_expr_t*
    - idl_type_t
    - idl_floatval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 654
    functionName: eval_unary_float_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_operator
    - float_overflows
    - idl_error
    - eval_float_expr
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_unary_float_expr(\n  idl_pstate_t *pstate,\n  const
      idl_unary_expr_t *expr,\n  idl_type_t type,\n  idl_floatval_t *valp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:663,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:666,1
    - Dst: eval_binary_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:667,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:668,1
    - Dst: eval_unary_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:669,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:670,1
    - Dst: floatval
      Src: /src/cyclonedds/src/idl/src/expression.c:671,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:675,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:675,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - valp
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - idl_floatval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 678
    functionName: eval_float_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached:
    - idl_location
    - eval_binary_float_expr
    - floatval
    - eval_unary_float_expr
    - idl_error
    - idl_mask
    - idl_construct
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_float_expr(\n  idl_pstate_t *pstate,\n  const idl_const_expr_t
      *expr,\n  idl_type_t type,\n  idl_floatval_t *valp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eval_float_expr
      Src: /src/cyclonedds/src/idl/src/expression.c:692,1
    - Dst: float_overflows
      Src: /src/cyclonedds/src/idl/src/expression.c:696,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:698,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:698,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:712,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:712,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pstate
    - expr
    - type
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 680
    functionDepth: 4
    functionLinenumber: 680
    functionLinenumberEnd: 715
    functionName: eval_float
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_location
    - float_overflows
    - idl_error
    - idl_create_literal
    - eval_float_expr
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t eval_float(\n  idl_pstate_t *pstate,\n  idl_const_expr_t
      *expr,\n  idl_type_t type,\n  void *nodep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:719,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:722,1
    - Dst: figure_type
      Src: /src/cyclonedds/src/idl/src/expression.c:723,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:724,1
    - Dst: figure_type
      Src: /src/cyclonedds/src/idl/src/expression.c:725,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 728
    functionName: figure_type
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1
    functionsReached:
    - idl_mask
    - figure_type
    - idl_type
    linkageType: ''
    returnType: idl_type_t
    signature: idl_type_t figure_type(idl_const_expr_t *const_expr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: figure_type
      Src: /src/cyclonedds/src/idl/src/expression.c:742,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:746,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/expression.c:747,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:748,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:748,1
    - Dst: eval_bitmask
      Src: /src/cyclonedds/src/idl/src/expression.c:754,1
    - Dst: eval_int
      Src: /src/cyclonedds/src/idl/src/expression.c:758,1
    - Dst: eval_float
      Src: /src/cyclonedds/src/idl/src/expression.c:762,1
    - Dst: idl_is_const
      Src: /src/cyclonedds/src/idl/src/expression.c:767,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:769,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:771,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/expression.c:773,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:775,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:778,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:779,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:779,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:783,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:786,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:787,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:787,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:791,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/expression.c:792,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/expression.c:795,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/expression.c:796,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:796,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:801,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/expression.c:801,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/expression.c:805,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - pstate
    - const_expr
    - type
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_const_expr_t*
    - idl_type_t
    - void*
    assertStmts:
    - condition: (literal)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 807
      start: 730
    functionDepth: 5
    functionLinenumber: 730
    functionLinenumberEnd: 807
    functionName: idl_evaluate
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_is_literal
    - assert
    - eval_int
    - eval_bitmask
    - idl_unreference_node
    - memset
    - idl_is_const
    - idl_error
    - idl_strdup
    - idl_create_literal
    - idl_mask
    - idl_construct
    - eval_float
    - figure_type
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_evaluate(\n  idl_pstate_t *pstate,\n  idl_const_expr_t
      *const_expr,\n  idl_type_t type,\n  void *nodep)"
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 832
    functionName: uintmax
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uintmax(idl_type_t type)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 857
    functionName: intmax
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t intmax(idl_type_t type)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - idl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: intmin
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t intmin(idl_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/expression.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: intval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached:
    - idl_intval
    linkageType: ''
    returnType: idl_intval_t
    signature: idl_intval_t intval(const idl_const_expr_t *const_expr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:891,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:897,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:897,1
    - Dst: bitval
      Src: /src/cyclonedds/src/idl/src/expression.c:900,1
    - Dst: SIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:901,1
    - Dst: UNSIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:903,1
    - Dst: SIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:905,1
    - Dst: UNSIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:907,1
    - Dst: SIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:909,1
    - Dst: UNSIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:911,1
    - Dst: SIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:913,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:917,1
    - Dst: UNSIGNED
      Src: /src/cyclonedds/src/idl/src/expression.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 896
        line_start: 896
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (type == IDL_ULLONG)
      pos:
        line_end: 916
        line_start: 916
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 923
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 923
    functionName: idl_intval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1
    functionsReached:
    - idl_is_literal
    - assert
    - bitval
    - UNSIGNED
    - SIGNED
    - idl_type
    linkageType: ''
    returnType: idl_intval_t
    signature: idl_intval_t idl_intval(const idl_const_expr_t *const_expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 895
    functionName: SIGNED
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNED(t,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: UNSIGNED
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSIGNED(t,v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: intval
      Src: /src/cyclonedds/src/idl/src/expression.c:928,1
    - Dst: intval
      Src: /src/cyclonedds/src/idl/src/expression.c:928,1
    - Dst: negative
      Src: /src/cyclonedds/src/idl/src/expression.c:930,1
    - Dst: negative
      Src: /src/cyclonedds/src/idl/src/expression.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 949
    functionName: compare_int
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - intval
    - negative
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_int(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floatval
      Src: /src/cyclonedds/src/idl/src/expression.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: idl_floatval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - floatval
    linkageType: ''
    returnType: idl_floatval_t
    signature: idl_floatval_t idl_floatval(const idl_const_expr_t *const_expr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:958,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:961,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:961,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (type == IDL_LDOUBLE)
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 960
        line_start: 960
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 996
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 996
    functionName: floatval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 2
    functionsReached:
    - idl_is_literal
    - assert
    - idl_type
    linkageType: ''
    returnType: idl_floatval_t
    signature: idl_floatval_t floatval(const idl_const_expr_t *const_expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floatval
      Src: /src/cyclonedds/src/idl/src/expression.c:1001,1
    - Dst: floatval
      Src: /src/cyclonedds/src/idl/src/expression.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: compare_float
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - floatval
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_float(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1007,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:1007,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1008,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_type(const_expr) == IDL_CHAR)
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: charval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_is_literal
    - assert
    - idl_type
    linkageType: ''
    returnType: char
    signature: char charval(const idl_const_expr_t *const_expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: charval
      Src: /src/cyclonedds/src/idl/src/expression.c:1015,1
    - Dst: charval
      Src: /src/cyclonedds/src/idl/src/expression.c:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: compare_char
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - charval
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_char(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1021,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:1021,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1022,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_type(const_expr) == IDL_BOOL)
      pos:
        line_end: 1020
        line_start: 1020
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 1021
        line_start: 1021
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: boolval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_is_literal
    - assert
    - idl_type
    linkageType: ''
    returnType: bool
    signature: bool boolval(const idl_const_expr_t *const_expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: boolval
      Src: /src/cyclonedds/src/idl/src/expression.c:1029,1
    - Dst: boolval
      Src: /src/cyclonedds/src/idl/src/expression.c:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1031
    functionName: compare_bool
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - boolval
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_bool(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1037,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/expression.c:1037,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1038,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/expression.c:1038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_is_enumerator(lval))
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (idl_is_enumerator(rval))
      pos:
        line_end: 1037
        line_start: 1037
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 1046
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1046
    functionName: compare_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_is_enumerator
    - assert
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_enum(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1050,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:1050,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/expression.c:1051,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/expression.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - const_expr
    argTypes:
    - idl_const_expr_t*
    assertStmts:
    - condition: (idl_type(const_expr) == IDL_STRING)
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/cyclonedds/src/idl/src/expression.c
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/cyclonedds/src/idl/src/expression.c
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: stringval
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - idl_is_literal
    - assert
    - idl_type
    linkageType: ''
    returnType: char
    signature: char *stringval(const idl_const_expr_t *const_expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringval
      Src: /src/cyclonedds/src/idl/src/expression.c:1059,1
    - Dst: stringval
      Src: /src/cyclonedds/src/idl/src/expression.c:1059,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/expression.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - idl_const_expr_t*
    - idl_const_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1064
    functionName: compare_string
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 0
    functionsReached:
    - stringval
    - strcmp
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t compare_string(const idl_const_expr_t *lhs, const idl_const_expr_t
      *rhs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:1075,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/expression.c:1076,1
    - Dst: compare_int
      Src: /src/cyclonedds/src/idl/src/expression.c:1080,1
    - Dst: compare_float
      Src: /src/cyclonedds/src/idl/src/expression.c:1083,1
    - Dst: compare_char
      Src: /src/cyclonedds/src/idl/src/expression.c:1089,1
    - Dst: compare_bool
      Src: /src/cyclonedds/src/idl/src/expression.c:1091,1
    - Dst: compare_enum
      Src: /src/cyclonedds/src/idl/src/expression.c:1093,1
    - Dst: compare_string
      Src: /src/cyclonedds/src/idl/src/expression.c:1095,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1098
    functionName: idl_compare
    functionSourceFile: /src/cyclonedds/src/idl/src/expression.c
    functionUses: 1
    functionsReached:
    - compare_enum
    - compare_char
    - compare_float
    - compare_bool
    - compare_string
    - compare_int
    - idl_type
    linkageType: ''
    returnType: idl_equality_t
    signature: idl_equality_t idl_compare(const void *lhs, const void *rhs)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/processor.c:57,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:62,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:63,1
    - Dst: idl_scan
      Src: /src/cyclonedds/src/idl/src/processor.c:66,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:77,1
    - Dst: parse_grammar
      Src: /src/cyclonedds/src/idl/src/processor.c:82,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:100,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/processor.c:112,1
    - Dst: memcmp
      Src: /src/cyclonedds/src/idl/src/processor.c:117,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:123,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:129,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - pstate
    - annotations
    argTypes:
    - idl_pstate_t*
    - idl_builtin_annotation_t*
    assertStmts:
    - condition: (token.code == IDL_TOKEN_IDENTIFIER)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/idl/src/processor.c
    constantsTouched: []
    func_position:
      end: 136
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 136
    functionName: parse_builtin_annotations
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - idl_find
    - memcmp
    - assert
    - memset
    - strlen
    - idl_error
    - parse_grammar
    - idl_scan
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t parse_builtin_annotations(\n  idl_pstate_t *pstate,\n
      \ const idl_builtin_annotation_t *annotations)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/processor.c:150,1
    - Dst: idl_yypstate_new
      Src: /src/cyclonedds/src/idl/src/processor.c:152,1
    - Dst: idl_create_scope
      Src: /src/cyclonedds/src/idl/src/processor.c:154,1
    - Dst: parse_builtin_annotations
      Src: /src/cyclonedds/src/idl/src/processor.c:164,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/src/processor.c:165,1
    - Dst: parse_builtin_annotations
      Src: /src/cyclonedds/src/idl/src/processor.c:168,1
    - Dst: idl_delete_pstate
      Src: /src/cyclonedds/src/idl/src/processor.c:169,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:178,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:179,1
    - Dst: idl_yypstate_delete
      Src: /src/cyclonedds/src/idl/src/processor.c:184,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - flags
    - annotations
    - pstatep
    argTypes:
    - uint32_t
    - idl_builtin_annotation_t*
    - idl_pstate_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 189
    functionName: idl_create_pstate
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 44
    functionsReached:
    - idl_delete_pstate
    - idl_calloc
    - memset
    - idl_yypstate_delete
    - idl_create_scope
    - parse_builtin_annotations
    - idl_yypstate_new
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_pstate(\n  uint32_t flags,\n  const idl_builtin_annotation_t
      *annotations,\n  idl_pstate_t **pstatep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_source
      Src: /src/cyclonedds/src/idl/src/processor.c:197,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - idl_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: delete_source
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - idl_free
    - delete_source
    linkageType: ''
    returnType: void
    signature: void delete_source(idl_source_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_yypstate_delete_stack
      Src: /src/cyclonedds/src/idl/src/processor.c:207,1
    - Dst: idl_yypstate_delete
      Src: /src/cyclonedds/src/idl/src/processor.c:208,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/processor.c:210,1
    - Dst: idl_delete_directive
      Src: /src/cyclonedds/src/idl/src/processor.c:213,1
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/processor.c:214,1
    - Dst: delete_source
      Src: /src/cyclonedds/src/idl/src/processor.c:216,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:221,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:222,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:228,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:229,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:233,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 236
    functionName: idl_delete_pstate
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 84
    functionsReached:
    - idl_yypstate_delete_stack
    - idl_delete_directive
    - idl_yypstate_delete
    - idl_delete_scope
    - delete_source
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void idl_delete_pstate(idl_pstate_t *pstate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/src/idl/src/processor.c:250,1
    - Dst: snprintf
      Src: /src/cyclonedds/src/idl/src/processor.c:253,1
    - Dst: vsnprintf
      Src: /src/cyclonedds/src/idl/src/processor.c:261,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/idl/src/processor.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pstate
    - prio
    - loc
    - fmt
    - ap
    argTypes:
    - idl_pstate_t*
    - uint32_t
    - idl_location_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: idl_log
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void idl_log(\n  const idl_pstate_t *pstate, uint32_t prio, const
      idl_location_t *loc, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_log
      Src: /src/cyclonedds/src/idl/src/processor.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pstate
    - loc
    - fmt
    - ap
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: idl_verror
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - idl_log
    linkageType: ''
    returnType: void
    signature: "void idl_verror(\n  const idl_pstate_t *pstate, const idl_location_t
      *loc, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/processor.c:285,1
    - Dst: idl_log
      Src: /src/cyclonedds/src/idl/src/processor.c:286,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/processor.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pstate
    - loc
    - fmt
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: idl_error
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 25
    functionsReached:
    - va_start
    - idl_log
    - va_end
    linkageType: ''
    returnType: void
    signature: "void idl_error(\n  const idl_pstate_t *pstate, const idl_location_t
      *loc, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_pstate_t*::track_warning
      Src: /src/cyclonedds/src/idl/src/processor.c:296,1
    - Dst: va_start
      Src: /src/cyclonedds/src/idl/src/processor.c:299,1
    - Dst: idl_log
      Src: /src/cyclonedds/src/idl/src/processor.c:300,1
    - Dst: va_end
      Src: /src/cyclonedds/src/idl/src/processor.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pstate
    - warning
    - loc
    - fmt
    argTypes:
    - idl_pstate_t*
    - idl_warning_t
    - idl_location_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: idl_warning
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 7
    functionsReached:
    - va_start
    - idl_log
    - idl_pstate_t*::track_warning
    - va_end
    linkageType: ''
    returnType: void
    signature: "void idl_warning(\n  const idl_pstate_t *pstate, idl_warning_t warning,
      const idl_location_t *loc, const char *fmt, ...)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:323,1
    - Dst: idl_yypush_parse
      Src: /src/cyclonedds/src/idl/src/processor.c:328,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - pstate
    - tok
    argTypes:
    - idl_pstate_t*
    - idl_token_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/cyclonedds/src/idl/src/processor.c
    constantsTouched: []
    func_position:
      end: 342
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 342
    functionName: parse_grammar
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_yypush_parse
    - memset
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t parse_grammar(idl_pstate_t *pstate, idl_token_t *tok)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/processor.c:346,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/processor.c:348,1
    - Dst: validate_forwards
      Src: /src/cyclonedds/src/idl/src/processor.c:350,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/processor.c:352,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:355,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:355,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/processor.c:356,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:366,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:366,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/processor.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pstate
    - root
    argTypes:
    - idl_pstate_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: validate_forwards
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_next
    - idl_identifier
    - idl_error
    - idl_mask
    - validate_forwards
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t validate_forwards(idl_pstate_t *pstate, void *root)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/processor.c:378,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/processor.c:380,1
    - Dst: validate_must_understand
      Src: /src/cyclonedds/src/idl/src/processor.c:382,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/processor.c:384,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/processor.c:386,1
    - Dst: idl_is_must_understand
      Src: /src/cyclonedds/src/idl/src/processor.c:395,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/processor.c:395,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:396,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pstate
    - root
    argTypes:
    - idl_pstate_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 404
    functionName: validate_must_understand
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - idl_location
    - validate_must_understand
    - idl_next
    - idl_is_extensible
    - idl_error
    - IDL_FOREACH
    - idl_is_must_understand
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t validate_must_understand(idl_pstate_t *pstate, void *root)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/processor.c:418,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/processor.c:421,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:423,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:423,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/processor.c:424,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/processor.c:428,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/src/idl/src/processor.c:431,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/processor.c:432,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:434,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:434,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/processor.c:435,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/cyclonedds/src/idl/src/processor.c
    constantsTouched: []
    func_position:
      end: 444
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 444
    functionName: check_bitbound
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_identifier
    - idl_is_enum
    - idl_error
    - IDL_FOREACH
    - UINT64_C
    - idl_is_bitmask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t check_bitbound(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:458,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/processor.c:458,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/processor.c:458,1
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/idl/src/processor.c:459,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/processor.c:460,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/processor.c:462,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/processor.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_struct(node) || idl_is_union(node))
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/cyclonedds/src/idl/src/processor.c
    constantsTouched: []
    func_position:
      end: 468
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 468
    functionName: validate_datarepresentation
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_allowable_data_representations
    - idl_is_struct
    - idl_error
    - idl_is_union
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t validate_datarepresentation(\n  const idl_pstate_t*
      pstate,\n  const bool revisit,\n  const idl_path_t* path,\n  const void* node,\n
      \ void* user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:473,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/idl/src/processor.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 479
    functionName: validate_bitbound
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - idl_visit
    - memset
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t validate_bitbound(idl_pstate_t *pstate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/processor.c:488,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/processor.c:495,1
    - Dst: set_nestedness
      Src: /src/cyclonedds/src/idl/src/processor.c:496,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/processor.c:498,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/processor.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pstate
    - node
    - current_fallback
    argTypes:
    - idl_pstate_t*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 504
    functionName: set_nestedness
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 1
    functionsReached:
    - set_nestedness
    - idl_is_struct
    - IDL_FOREACH
    - idl_is_union
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: "void set_nestedness(\n  const idl_pstate_t* pstate,\n  void* node,\n
      \ bool current_fallback)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/processor.c:488,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/processor.c:495,1
    - Dst: set_nestedness
      Src: /src/cyclonedds/src/idl/src/processor.c:496,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/processor.c:498,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/processor.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: IDL_FOREACH
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 12
    functionsReached:
    - set_nestedness
    - idl_is_struct
    - IDL_FOREACH
    - idl_is_union
    - idl_is_module
    linkageType: ''
    returnType: void
    signature: void IDL_FOREACH(node, node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_has_unset_extensibility_r
      Src: /src/cyclonedds/src/idl/src/processor.c:508,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/processor.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: set_type_extensibility
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 0
    functionsReached:
    - idl_has_unset_extensibility_r
    - idl_warning
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t set_type_extensibility(idl_pstate_t *pstate)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:523,1
    - Dst: idl_scan
      Src: /src/cyclonedds/src/idl/src/processor.c:526,1
    - Dst: idl_parse_directive
      Src: /src/cyclonedds/src/idl/src/processor.c:531,1
    - Dst: parse_grammar
      Src: /src/cyclonedds/src/idl/src/processor.c:537,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/processor.c:551,1
    - Dst: idl_set_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/processor.c:569,1
    - Dst: idl_set_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/processor.c:571,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/processor.c:575,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/idl/src/processor.c:580,1
    - Dst: set_type_extensibility
      Src: /src/cyclonedds/src/idl/src/processor.c:585,1
    - Dst: validate_forwards
      Src: /src/cyclonedds/src/idl/src/processor.c:587,1
    - Dst: validate_must_understand
      Src: /src/cyclonedds/src/idl/src/processor.c:589,1
    - Dst: validate_bitbound
      Src: /src/cyclonedds/src/idl/src/processor.c:591,1
    - Dst: idl_propagate_autoid
      Src: /src/cyclonedds/src/idl/src/processor.c:593,1
    - Dst: set_nestedness
      Src: /src/cyclonedds/src/idl/src/processor.c:596,1
    - Dst: idl_validate_keylists
      Src: /src/cyclonedds/src/idl/src/processor.c:599,1
    - Dst: idl_set_keylist_key_flags
      Src: /src/cyclonedds/src/idl/src/processor.c:601,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 83
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 519
    functionDepth: 9
    functionLinenumber: 519
    functionLinenumberEnd: 606
    functionName: idl_parse
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 2
    functionsReached:
    - validate_must_understand
    - set_nestedness
    - idl_visit
    - memset
    - idl_set_xcdr2_required
    - validate_bitbound
    - set_type_extensibility
    - idl_set_keylist_key_flags
    - idl_propagate_autoid
    - validate_forwards
    - parse_grammar
    - idl_validate_keylists
    - idl_scan
    - idl_set_xcdr2_is_default
    - idl_parse_directive
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_parse(idl_pstate_t *pstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:612,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/processor.c:615,1
    - Dst: idl_parse
      Src: /src/cyclonedds/src/idl/src/processor.c:623,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/processor.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - pstate
    - str
    argTypes:
    - idl_pstate_t*
    - char*
    assertStmts:
    - condition: (str)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/cyclonedds/src/idl/src/processor.c
    - condition: (pstate->root)
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/cyclonedds/src/idl/src/processor.c
    constantsTouched: []
    func_position:
      end: 634
      start: 608
    functionDepth: 10
    functionLinenumber: 608
    functionLinenumberEnd: 634
    functionName: idl_parse_string
    functionSourceFile: /src/cyclonedds/src/idl/src/processor.c
    functionUses: 39
    functionsReached:
    - assert
    - strlen
    - idl_parse
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_parse_string(idl_pstate_t *pstate, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (last != node)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: idl_push_node
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void *idl_push_node(void *list, void *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: idl_reference_node
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *idl_reference_node(void *node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:58,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:67,1
    - Dst: idl_node_t*::destructor
      Src: /src/cyclonedds/src/idl/src/tree.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->references >= 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: idl_unreference_node
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 3
    functionsReached:
    - idl_delete_node
    - assert
    - idl_node_t*::destructor
    linkageType: ''
    returnType: void
    signature: void *idl_unreference_node(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: idl_mask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: idl_mask_t
    signature: idl_mask_t idl_mask(const void *node)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:85,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:86,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:87,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 135
    functionName: idl_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 29
    functionsReached:
    - idl_mask
    - idl_parent
    linkageType: ''
    returnType: idl_type_t
    signature: idl_type_t idl_type(const void *node)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:139,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:141,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:143,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:145,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:147,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:149,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:151,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:153,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:155,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:157,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:159,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:161,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:163,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: idl_name
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: idl_name_t
    signature: idl_name_t *idl_name(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: describe
      Src: /src/cyclonedds/src/idl/src/tree.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: idl_construct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - describe
    linkageType: ''
    returnType: char
    signature: char *idl_construct(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: idl_identifier
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 19
    functionsReached:
    - idl_name
    linkageType: ''
    returnType: char
    signature: char *idl_identifier(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:183,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - node
    - identifier
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: idl_identifier_is
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idl_identifier
    linkageType: ''
    returnType: bool
    signature: bool idl_identifier_is(const void *node, const char *identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - node
    - levels
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: idl_ancestor
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *idl_ancestor(const void *node, size_t levels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_ancestor
      Src: /src/cyclonedds/src/idl/src/tree.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: idl_parent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 19
    functionsReached:
    - idl_ancestor
    linkageType: ''
    returnType: void
    signature: void *idl_parent(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: idl_degree
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t idl_degree(const void *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_masked
      Src: /src/cyclonedds/src/idl/src/tree.c:222,1
    - Dst: idl_is_masked
      Src: /src/cyclonedds/src/idl/src/tree.c:225,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/src/tree.c:225,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:227,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (!n->next)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!n->previous)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: idl_previous
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 3
    functionsReached:
    - assert
    - idl_is_masked
    - idl_is_declarator
    linkageType: ''
    returnType: void
    signature: void *idl_previous(const void *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_masked
      Src: /src/cyclonedds/src/idl/src/tree.c:240,1
    - Dst: idl_is_masked
      Src: /src/cyclonedds/src/idl/src/tree.c:243,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/src/tree.c:243,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:245,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (!n->next)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!n->previous)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: idl_next
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 45
    functionsReached:
    - assert
    - idl_is_masked
    - idl_is_declarator
    linkageType: ''
    returnType: void
    signature: void *idl_next(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:253,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:254,1
    - Dst: iterate
      Src: /src/cyclonedds/src/idl/src/tree.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node || ((const idl_node_t *)node)->parent == root)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: idl_iterate
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - iterate
    - assert
    linkageType: ''
    returnType: void
    signature: void *idl_iterate(const void *root, const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:264,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: idl_unalias
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_type_spec
    - idl_is_alias
    linkageType: ''
    returnType: void
    signature: void *idl_unalias(const void *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:276,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:277,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:278,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:278,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:279,1
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:280,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:280,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - node
    - flags
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: idl_strip
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 8
    functionsReached:
    - idl_type_spec
    - idl_is_forward
    - idl_is_alias
    - idl_is_array
    linkageType: ''
    returnType: void
    signature: void *idl_strip(const void *node, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:307,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/tree.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - pstate
    - size
    - mask
    - location
    - methods
    - nodep
    argTypes:
    - idl_pstate_t*
    - size_t
    - idl_mask_t
    - idl_location_t*
    - struct methods*
    - void*
    assertStmts:
    - condition: (size >= sizeof(*node))
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: create_node
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_calloc
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t create_node(\n  idl_pstate_t *pstate,\n  size_t size,\n
      \ idl_mask_t mask,\n  const idl_location_t *location,\n  const struct methods
      *methods,\n  void *nodep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:327,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:328,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:330,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - type_spec
    argTypes:
    - void*
    - idl_type_spec_t*
    assertStmts:
    - condition: (next == NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (next == type_spec)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: delete_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - assert
    - idl_unreference_node
    linkageType: ''
    returnType: void
    signature: void *delete_type_spec(void *node, idl_type_spec_t *type_spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:342,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:343,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:345,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - const_expr
    argTypes:
    - void*
    - idl_const_expr_t*
    assertStmts:
    - condition: (next == const_expr)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (next == NULL)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: delete_const_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - assert
    - idl_unreference_node
    linkageType: ''
    returnType: void
    signature: void *delete_const_expr(void *node, idl_const_expr_t *const_expr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:357,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:359,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:366,1
    - Dst: destructor
      Src: /src/cyclonedds/src/idl/src/tree.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->references >= 0)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: idl_delete_node
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 8
    functionsReached:
    - idl_delete_node
    - assert
    - destructor
    linkageType: ''
    returnType: void
    signature: void *idl_delete_node(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:378,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:380,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->declaration)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: idl_is_declaration
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_declaration(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:396,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:399,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:401,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:403,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->definitions || (idl_mask(node->definitions) & mask))
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->node.declaration)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: idl_is_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 11
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_module(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:410,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:411,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: delete_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_module(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:420,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:420,1
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: iterate_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_module(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: describe_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *describe_module(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_exit_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:441,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - state
    - location
    - node
    - definitions
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_module_t*
    - idl_definition_t*
    assertStmts:
    - condition: (!n->parent)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 449
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 449
    functionName: idl_finalize_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_exit_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_module(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_module_t *node,\n  idl_definition_t *definitions)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:468,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:477,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:478,1
    - Dst: idl_create_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:488,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:490,1
    - Dst: idl_enter_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:494,1
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:498,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - pstate
    - location
    - name
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 503
    functionName: idl_create_module
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_find
    - idl_declare
    - create_node
    - idl_create_scope
    - idl_free
    - idl_delete_scope
    - idl_mask
    - idl_enter_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_module(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:513,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:516,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:518,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:518,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:520,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:520,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:521,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node->type_spec) & mask)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->const_expr) & IDL_LITERAL)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->const_expr) & mask)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 523
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 523
    functionName: idl_is_const
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_const(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:528,1
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:529,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:530,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: delete_const
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - delete_const_expr
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_const(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:539,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 545
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 545
    functionName: iterate_const
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_const(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 547
    functionName: describe_const
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *describe_const(const void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:568,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:573,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:574,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:574,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:576,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/tree.c:579,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:579,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:582,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:584,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - pstate
    - location
    - type_spec
    - name
    - const_expr
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_name_t*
    - idl_const_expr_t*
    - void*
    assertStmts:
    - condition: (idl_mask(type_spec) & (IDL_BASE_TYPE|IDL_STRING|IDL_ENUM))
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 594
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 594
    functionName: idl_create_const
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - create_node
    - idl_evaluate
    - assert
    - idl_free
    - idl_scope
    - idl_unalias
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_const(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  idl_name_t *name,\n
      \ idl_const_expr_t *const_expr,\n  void *nodep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:600,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:602,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->value.str)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: idl_is_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 10
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_literal(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:610,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:610,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:611,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:612,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) & IDL_LITERAL)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: delete_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_literal(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:620,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:620,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:622,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_LITERAL)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (type == IDL_STRING)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 635
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 635
    functionName: describe_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: char
    signature: char *describe_literal(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pstate
    - location
    - mask
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_mask_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 655
    functionName: idl_create_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_literal(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_mask_t mask,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:660,1
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:661,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: delete_binary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - delete_const_expr
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_binary_expr(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:668,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_BINARY_OPERATOR)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 670
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 670
    functionName: describe_binary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_binary_expr(const void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:688,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:691,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - pstate
    - location
    - mask
    - left
    - right
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_mask_t
    - idl_primary_expr_t*
    - idl_primary_expr_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 698
    functionName: idl_create_binary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_scope
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_binary_expr(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_mask_t mask,\n  idl_primary_expr_t *left,\n
      \ idl_primary_expr_t *right,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:703,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: delete_unary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - delete_const_expr
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_unary_expr(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:710,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_UNARY_OPERATOR)
      pos:
        line_end: 709
        line_start: 709
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: describe_unary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_unary_expr(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:729,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pstate
    - location
    - mask
    - right
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_mask_t
    - idl_primary_expr_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 736
    functionName: idl_create_unary_expr
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_scope
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_unary_expr(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_mask_t mask,\n  idl_primary_expr_t *right,\n
      \ void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:741,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:742,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 744
    functionName: idl_is_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_mask
    - idl_parent
    linkageType: ''
    returnType: bool
    signature: bool idl_is_type_spec(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:748,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 751
    functionName: idl_is_base_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_base_type(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: idl_is_floating_pt_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_floating_pt_type(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: idl_is_integer_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_integer_type(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: delete_base_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_base_type(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:771,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_BASE_TYPE)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 773
    functionName: describe_base_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_base_type(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - location
    - mask
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_mask_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 787
    functionName: idl_create_base_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_base_type(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_mask_t mask,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: idl_is_templ_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_templ_type(const void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 804
    functionName: idl_is_bounded
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 6
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bounded(const void *node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 820
    functionName: idl_bound
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 8
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t idl_bound(const void *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:824,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/src/tree.c:826,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:827,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:828,1
    - Dst: idl_default_value
      Src: /src/cyclonedds/src/idl/src/tree.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 833
    functionName: idl_default_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_is_member
    - idl_default_value
    - idl_parent
    - idl_is_declarator
    linkageType: ''
    returnType: idl_literal_t
    signature: idl_literal_t *idl_default_value(const void *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/tree.c:837,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:839,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 845
    functionName: idl_has_data_representation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_is_struct
    - idl_is_union
    - idl_is_module
    linkageType: ''
    returnType: bool
    signature: bool idl_has_data_representation(const void *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/tree.c:849,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:851,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 857
    functionName: idl_data_representation_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_is_struct
    - idl_is_union
    - idl_is_module
    linkageType: ''
    returnType: allowable_data_representations_t
    signature: allowable_data_representations_t idl_data_representation_value(const
      void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:861,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 866
    functionName: idl_requires_xcdr2
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_struct
    - idl_is_union
    linkageType: ''
    returnType: bool
    signature: bool idl_requires_xcdr2(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:870,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:872,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:874,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (_union->xcdr2_is_default == IDL_XCDR2_IS_DEFAULT_TRUE || _union->xcdr2_is_default
        == IDL_XCDR2_IS_DEFAULT_FALSE)
      pos:
        line_end: 875
        line_start: 875
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_struct->xcdr2_is_default == IDL_XCDR2_IS_DEFAULT_TRUE || _struct->xcdr2_is_default
        == IDL_XCDR2_IS_DEFAULT_FALSE)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 880
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 880
    functionName: idl_xcdr2_is_default
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_is_struct
    - assert
    - idl_is_union
    linkageType: ''
    returnType: bool
    signature: bool idl_xcdr2_is_default(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:886,1
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/idl/src/tree.c:887,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:887,1
    - Dst: idl_has_data_representation
      Src: /src/cyclonedds/src/idl/src/tree.c:889,1
    - Dst: idl_data_representation_value
      Src: /src/cyclonedds/src/idl/src/tree.c:890,1
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/idl/src/tree.c:890,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: idl_allowable_data_representations
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 4
    functionsReached:
    - idl_parent
    - idl_allowable_data_representations
    - idl_data_representation_value
    - idl_is_alias
    - idl_unalias
    - idl_has_data_representation
    linkageType: ''
    returnType: allowable_data_representations_t
    signature: allowable_data_representations_t idl_allowable_data_representations(const
      void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:899,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:901,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:904,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:909,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:909,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:912,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.declaration)
      pos:
        line_end: 900
        line_start: 900
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(type_spec) & mask)
      pos:
        line_end: 908
        line_start: 908
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & mask))
      pos:
        line_end: 911
        line_start: 911
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 914
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 914
    functionName: idl_is_sequence
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 11
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_sequence(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:919,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 921
    functionName: delete_sequence
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_sequence(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:926,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) & IDL_SEQUENCE)
      pos:
        line_end: 925
        line_start: 925
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: describe_sequence
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_sequence(const void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:945,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:949,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:951,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:951,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pstate
    - location
    - type_spec
    - literal
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_literal_t*
    - void*
    assertStmts:
    - condition: (!literal || idl_type(literal) == IDL_ULONG)
      pos:
        line_end: 950
        line_start: 950
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 959
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 959
    functionName: idl_create_sequence
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    - assert
    - idl_scope
    - idl_delete_node
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_sequence(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  idl_literal_t *literal,\n
      \ void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:970,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:970,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:972,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:973,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.declaration)
      pos:
        line_end: 971
        line_start: 971
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & mask))
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 975
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 975
    functionName: idl_is_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_string(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_string
      Src: /src/cyclonedds/src/idl/src/tree.c:979,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/tree.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: idl_is_unbounded_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_bounded
    - idl_is_string
    linkageType: ''
    returnType: bool
    signature: bool idl_is_unbounded_string(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_string
      Src: /src/cyclonedds/src/idl/src/tree.c:984,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/tree.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: idl_is_bounded_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_bounded
    - idl_is_string
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bounded_string(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: delete_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_string(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:995,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) & IDL_STRING)
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: describe_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_string(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1012,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1014,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1014,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - state
    - location
    - literal
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_literal_t*
    - void*
    assertStmts:
    - condition: (!literal || idl_type(literal) == IDL_ULONG)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1022
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1022
    functionName: idl_create_string
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_unreference_node
    - create_node
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_string(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_literal_t *literal,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1033,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1033,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1035,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1036,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.declaration)
      pos:
        line_end: 1034
        line_start: 1034
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & mask))
      pos:
        line_end: 1035
        line_start: 1035
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1038
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1038
    functionName: idl_is_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_wstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_wstring
      Src: /src/cyclonedds/src/idl/src/tree.c:1042,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/tree.c:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    functionName: idl_is_unbounded_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_bounded
    - idl_is_wstring
    linkageType: ''
    returnType: bool
    signature: bool idl_is_unbounded_wstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_wstring
      Src: /src/cyclonedds/src/idl/src/tree.c:1047,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/tree.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    functionName: idl_is_bounded_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_bounded
    - idl_is_wstring
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bounded_wstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_string
      Src: /src/cyclonedds/src/idl/src/tree.c:1052,1
    - Dst: idl_is_wstring
      Src: /src/cyclonedds/src/idl/src/tree.c:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: idl_is_xstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - idl_is_wstring
    - idl_is_string
    linkageType: ''
    returnType: bool
    signature: bool idl_is_xstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_unbounded_string
      Src: /src/cyclonedds/src/idl/src/tree.c:1057,1
    - Dst: idl_is_unbounded_wstring
      Src: /src/cyclonedds/src/idl/src/tree.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: idl_is_unbounded_xstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_is_unbounded_string
    - idl_is_unbounded_wstring
    linkageType: ''
    returnType: bool
    signature: bool idl_is_unbounded_xstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_bounded_string
      Src: /src/cyclonedds/src/idl/src/tree.c:1062,1
    - Dst: idl_is_bounded_wstring
      Src: /src/cyclonedds/src/idl/src/tree.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: idl_is_bounded_xstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 3
    functionsReached:
    - idl_is_bounded_string
    - idl_is_bounded_wstring
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bounded_xstring(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: delete_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_wstring(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1073,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) & IDL_WSTRING)
      pos:
        line_end: 1072
        line_start: 1072
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: describe_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_wstring(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1090,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1092,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1092,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - state
    - location
    - literal
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_literal_t*
    - void*
    assertStmts:
    - condition: (!literal || idl_type(literal) == IDL_ULONG)
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1100
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1100
    functionName: idl_create_wstring
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_unreference_node
    - create_node
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_wstring(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_literal_t *literal,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: idl_is_constr_type
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_constr_type(const void *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:1111,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1113,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1116,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1122,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1124,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(members) & IDL_MEMBER)
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (members)
      pos:
        line_end: 1121
        line_start: 1121
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 1115
        line_start: 1115
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1127
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1127
    functionName: idl_is_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 45
    functionsReached:
    - assert
    - idl_is_forward
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_struct(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1132,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1133,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1134,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:1135,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1137
    functionName: delete_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_struct(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_inherit_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1146,1
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:1148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1160
    functionName: iterate_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_is_inherit_spec
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_struct(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1165,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_STRUCT)
      pos:
        line_end: 1164
        line_start: 1164
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1167
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1167
    functionName: describe_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_struct(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    functionName: compare_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_declarator(const void *lhs, const void *rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1187,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1193,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1194,1
    - Dst: idl_hashid
      Src: /src/cyclonedds/src/idl/src/tree.c:1197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - declarator
    - last
    - autoid
    argTypes:
    - idl_declarator_t*
    - idl_declarator_t*
    - idl_autoid_t
    assertStmts:
    - condition: (declarator)
      pos:
        line_end: 1186
        line_start: 1186
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (declarator->name->identifier)
      pos:
        line_end: 1193
        line_start: 1193
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (declarator->name)
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1202
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1202
    functionName: assign_id
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_hashid
    - assert
    linkageType: ''
    returnType: void
    signature: "void assign_id(\n  idl_declarator_t *declarator,\n  const idl_declarator_t
      *last,\n  idl_autoid_t autoid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1209,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1209,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1219,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1229,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - node
    - declarator
    argTypes:
    - void*
    - idl_declarator_t*
    assertStmts:
    - condition: (idl_type(node) == IDL_STRUCT)
      pos:
        line_end: 1208
        line_start: 1208
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (member)
      pos:
        line_end: 1218
        line_start: 1218
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (derived)
      pos:
        line_end: 1236
        line_start: 1236
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (derived)
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1242
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1242
    functionName: next_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_type
    linkageType: ''
    returnType: idl_declarator_t
    signature: 'idl_declarator_t *

      next_member(const void *node, const idl_declarator_t *declarator)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1251,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1251,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1254,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - declarator
    argTypes:
    - void*
    - idl_declarator_t*
    assertStmts:
    - condition: (idl_type(node) == IDL_UNION)
      pos:
        line_end: 1250
        line_start: 1250
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!declarator->node.next)
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (branch)
      pos:
        line_end: 1255
        line_start: 1255
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1262
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1262
    functionName: next_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_type
    linkageType: ''
    returnType: idl_declarator_t
    signature: 'idl_declarator_t *

      next_case(const void *node, const idl_declarator_t *declarator)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1274,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1280,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1280,1
    - Dst: iterate
      Src: /src/cyclonedds/src/idl/src/tree.c:1290,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1291,1
    - Dst: assign_id
      Src: /src/cyclonedds/src/idl/src/tree.c:1293,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/tree.c:1303,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1306,1
    - Dst: iterate
      Src: /src/cyclonedds/src/idl/src/tree.c:1307,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/tree.c:1309,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1313,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1313,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pstate
    - node
    argTypes:
    - idl_pstate_t*
    - void*
    assertStmts:
    - condition: (declarator->node.parent)
      pos:
        line_end: 1290
        line_start: 1290
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_type(node) == IDL_STRUCT)
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!declarator)
      pos:
        line_end: 1305
        line_start: 1305
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1322
      start: 1264
    functionDepth: 3
    functionLinenumber: 1264
    functionLinenumberEnd: 1322
    functionName: assign_field_ids
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - qsort
    - idl_location
    - iterate
    - assert
    - assign_id
    - idl_malloc
    - idl_free
    - idl_error
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t assign_field_ids(idl_pstate_t *pstate, void *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1329,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1330,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1332,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1333,1
    - Dst: idl_propagate_autoid
      Src: /src/cyclonedds/src/idl/src/tree.c:1337,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1338,1
    - Dst: assign_field_ids
      Src: /src/cyclonedds/src/idl/src/tree.c:1342,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1343,1
    - Dst: assign_field_ids
      Src: /src/cyclonedds/src/idl/src/tree.c:1347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pstate
    - list
    - autoid
    argTypes:
    - idl_pstate_t*
    - void*
    - idl_autoid_t
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 1328
        line_start: 1328
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (list)
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1352
      start: 1324
    functionDepth: 4
    functionLinenumber: 1324
    functionLinenumberEnd: 1352
    functionName: idl_propagate_autoid
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_next
    - assert
    - idl_propagate_autoid
    - idl_mask
    - assign_field_ids
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_propagate_autoid(idl_pstate_t *pstate, void *list,
      idl_autoid_t autoid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:1357,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1358,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:1358,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/src/tree.c:1359,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1360,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1360,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:1361,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1367,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1368,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1368,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1371,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1373,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:1374,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1375,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1375,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/idl/src/tree.c:1375,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:1385,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1391,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1392,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1393,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1393,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1396,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1397,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1397,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 2
    argNames:
    - node
    - in_xcdr1_delimited_scope
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1407
    functionName: set_node_xcdr2_required
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_array
    - idl_next
    - set_node_xcdr2_required
    - idl_is_sequence
    - idl_is_alias
    - idl_is_struct
    - idl_is_extensible
    - idl_unalias
    - idl_is_optional
    - IDL_FOREACH
    - idl_type_spec
    - idl_is_union
    linkageType: ''
    returnType: bool
    signature: bool set_node_xcdr2_required(void *node, bool in_xcdr1_delimited_scope)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1413,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1414,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1415,1
    - Dst: idl_set_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1417,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1418,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1421,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1422,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1423,1
    - Dst: set_node_xcdr2_required
      Src: /src/cyclonedds/src/idl/src/tree.c:1426,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 1412
        line_start: 1412
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_struct->requires_xcdr2 != IDL_REQUIRES_XCDR2_SETTING)
      pos:
        line_end: 1421
        line_start: 1421
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_union->requires_xcdr2 != IDL_REQUIRES_XCDR2_SETTING)
      pos:
        line_end: 1426
        line_start: 1426
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1431
      start: 1409
    functionDepth: 3
    functionLinenumber: 1409
    functionLinenumberEnd: 1431
    functionName: idl_set_xcdr2_required
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_next
    - assert
    - set_node_xcdr2_required
    - idl_set_xcdr2_required
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_set_xcdr2_required(void *node)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/tree.c:1436,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1437,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:1437,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/src/tree.c:1438,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1439,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1439,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:1440,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1442,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1451,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1452,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1453,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1453,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1456,1
    - Dst: idl_is_optional
      Src: /src/cyclonedds/src/idl/src/tree.c:1457,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1459,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1459,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:1465,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1467,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1476,1
    - Dst: idl_is_extensible
      Src: /src/cyclonedds/src/idl/src/tree.c:1477,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1478,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1478,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1481,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1482,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1482,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (_union->requires_xcdr2 == IDL_REQUIRES_XCDR2_FALSE || _union->requires_xcdr2
        == IDL_REQUIRES_XCDR2_TRUE)
      pos:
        line_end: 1466
        line_start: 1466
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_struct->requires_xcdr2 == IDL_REQUIRES_XCDR2_FALSE || _struct->requires_xcdr2
        == IDL_REQUIRES_XCDR2_TRUE)
      pos:
        line_end: 1441
        line_start: 1441
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1491
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1491
    functionName: set_node_xcdr2_is_default
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - set_node_xcdr2_is_default
    - assert
    - idl_is_sequence
    - idl_is_alias
    - idl_is_struct
    - idl_is_extensible
    - idl_unalias
    - idl_is_optional
    - IDL_FOREACH
    - idl_type_spec
    - idl_is_union
    linkageType: ''
    returnType: bool
    signature: bool set_node_xcdr2_is_default(void *node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1497,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1498,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1499,1
    - Dst: idl_set_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1501,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1502,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1505,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1506,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1507,1
    - Dst: set_node_xcdr2_is_default
      Src: /src/cyclonedds/src/idl/src/tree.c:1510,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 1496
        line_start: 1496
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_struct->xcdr2_is_default != IDL_XCDR2_IS_DEFAULT_SETTING)
      pos:
        line_end: 1505
        line_start: 1505
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (_union->xcdr2_is_default != IDL_XCDR2_IS_DEFAULT_SETTING)
      pos:
        line_end: 1510
        line_start: 1510
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1515
      start: 1493
    functionDepth: 3
    functionLinenumber: 1493
    functionLinenumberEnd: 1515
    functionName: idl_set_xcdr2_is_default
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_next
    - set_node_xcdr2_is_default
    - assert
    - idl_mask
    - idl_set_xcdr2_is_default
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t idl_set_xcdr2_is_default(void *node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1529,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:1529,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1534,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/tree.c:1538,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1538,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1547,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1547,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1551,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1552,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1553,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:1554,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1555,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1555,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1567,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:1568,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:1568,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:1569,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:1570,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    - Dst: idl_exit_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1578,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1583,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - state
    - location
    - node
    - members
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_struct_t*
    - idl_member_t*
    assertStmts:
    - condition: (node->extensibility.value == base->extensibility.value)
      pos:
        line_end: 1533
        line_start: 1533
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!n->parent)
      pos:
        line_end: 1582
        line_start: 1582
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_is_struct(base))
      pos:
        line_end: 1528
        line_start: 1528
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1588
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1588
    functionName: idl_finalize_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_warning
    - idl_location
    - idl_is_forward
    - idl_is_array
    - assert
    - strcmp
    - idl_exit_scope
    - idl_identifier
    - idl_is_struct
    - idl_strip
    - idl_error
    - IDL_FOREACH
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_struct(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_struct_t *node,\n  idl_member_t *members)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1547,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1547,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1551,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1552,1
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1553,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:1554,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1555,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1545
    functionDepth: 3
    functionLinenumber: 1545
    functionLinenumberEnd: 1562
    functionName: IDL_FOREACH
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 16
    functionsReached:
    - idl_location
    - strcmp
    - idl_error
    - IDL_FOREACH
    linkageType: ''
    returnType: void
    signature: void IDL_FOREACH(member, members)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/tree.c:1567,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:1568,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:1568,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:1569,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:1570,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:1572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1566
    functionDepth: 3
    functionLinenumber: 1566
    functionLinenumberEnd: 1576
    functionName: IDL_FOREACH
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 17
    functionsReached:
    - idl_is_array
    - idl_location
    - idl_is_forward
    - idl_identifier
    - idl_strip
    - idl_error
    - IDL_FOREACH
    linkageType: ''
    returnType: void
    signature: void IDL_FOREACH(member, members)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1608,1
    - Dst: idl_create_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1611,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:1613,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1619,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1620,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1620,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/tree.c:1621,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:1624,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:1624,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:1631,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1631,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:1631,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1632,1
    - Dst: idl_import
      Src: /src/cyclonedds/src/idl/src/tree.c:1633,1
    - Dst: idl_enter_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1643,1
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1647,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - inherit_spec
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_inherit_spec_t*
    - void*
    assertStmts:
    - condition: (declaration && declaration->scope)
      pos:
        line_end: 1631
        line_start: 1631
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1652
      start: 1590
    functionDepth: 3
    functionLinenumber: 1590
    functionLinenumberEnd: 1652
    functionName: idl_create_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - idl_location
    - idl_find
    - create_node
    - idl_name
    - assert
    - idl_import
    - idl_create_scope
    - idl_free
    - idl_scope
    - idl_delete_scope
    - idl_error
    - idl_mask
    - idl_construct
    - idl_enter_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_struct(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_inherit_spec_t *inherit_spec,\n
      \ void *nodep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:1656,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1662,1
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/idl/src/tree.c:1665,1
    - Dst: idl_is_empty
      Src: /src/cyclonedds/src/idl/src/tree.c:1670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1673
    functionName: idl_is_empty
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - idl_is_struct
    - idl_is_empty
    - idl_next
    linkageType: ''
    returnType: bool
    signature: bool idl_is_empty(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:1678,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1680
    functionName: delete_forward
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_forward(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1685,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1686,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/tree.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (mask & IDL_FORWARD)
      pos:
        line_end: 1685
        line_start: 1685
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1693
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1693
    functionName: describe_forward
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    - abort
    linkageType: ''
    returnType: char
    signature: char *describe_forward(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1711,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1713,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:1717,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - type
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_type_t
    - void*
    assertStmts:
    - condition: (type == IDL_STRUCT || type == IDL_UNION)
      pos:
        line_end: 1710
        line_start: 1710
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1725
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1725
    functionName: idl_create_forward
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - assert
    - create_node
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_forward(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_type_t type,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1731,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1734,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1736,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1736,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:1737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: "(!node->type_spec || idl_type(node->type_spec) == IDL_STRUCT\n                          ||
        idl_type(node->type_spec) == IDL_UNION)"
      pos:
        line_end: 1736
        line_start: 1735
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 1733
        line_start: 1733
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1739
      start: 1727
    functionDepth: 2
    functionLinenumber: 1727
    functionLinenumberEnd: 1739
    functionName: idl_is_forward
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 13
    functionsReached:
    - assert
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: bool
    signature: bool idl_is_forward(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1745,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1748,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1748,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1750,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_STRUCT))
      pos:
        line_end: 1749
        line_start: 1749
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->base) & IDL_STRUCT)
      pos:
        line_end: 1747
        line_start: 1747
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1752
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1752
    functionName: idl_is_inherit_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 3
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_inherit_spec(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1757,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1754
    functionDepth: 2
    functionLinenumber: 1754
    functionLinenumberEnd: 1759
    functionName: delete_inherit_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_unreference_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_inherit_spec(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1764,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_INHERIT_SPEC)
      pos:
        line_end: 1763
        line_start: 1763
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1766
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1766
    functionName: describe_inherit_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_inherit_spec(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pstate
    - location
    - base
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1787
    functionName: idl_create_inherit_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_inherit_spec(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  void *base,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_field_name
      Src: /src/cyclonedds/src/idl/src/tree.c:1792,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1789
    functionDepth: 3
    functionLinenumber: 1789
    functionLinenumberEnd: 1794
    functionName: delete_key
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_field_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_key(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1799,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_KEY)
      pos:
        line_end: 1798
        line_start: 1798
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1801
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1801
    functionName: describe_key
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_key(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pstate
    - location
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1818
    functionName: idl_create_key
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_key(\n  idl_pstate_t *pstate,\n  const idl_location_t
      *location,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1823,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 1825
    functionName: delete_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_keylist(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1830,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_KEYLIST)
      pos:
        line_end: 1829
        line_start: 1829
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1832
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1832
    functionName: describe_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_keylist(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pstate
    - location
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1834
    functionDepth: 2
    functionLinenumber: 1834
    functionLinenumberEnd: 1853
    functionName: idl_create_keylist
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_keylist(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1859,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1862,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1862,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1864,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1866,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_STRUCT))
      pos:
        line_end: 1861
        line_start: 1861
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->type_spec)
      pos:
        line_end: 1863
        line_start: 1863
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->declarators) & IDL_DECLARATOR)
      pos:
        line_end: 1865
        line_start: 1865
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1868
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1868
    functionName: idl_is_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 12
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_member(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1873,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1874,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1870
    functionDepth: 3
    functionLinenumber: 1870
    functionLinenumberEnd: 1876
    functionName: delete_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_member(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:1885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1892
    functionName: iterate_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_member(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1897,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_MEMBER)
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1899
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1899
    functionName: describe_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_member(const void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1918,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:1922,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:1925,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:1926,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:1926,1
    - Dst: idl_declaration
      Src: /src/cyclonedds/src/idl/src/tree.c:1927,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1928,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1930,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1936,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:1938,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1939,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1939,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1940,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:1943,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1950,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - pstate
    - location
    - type_spec
    - declarators
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_declarator_t*
    - void*
    assertStmts:
    - condition: (declaration)
      pos:
        line_end: 1927
        line_start: 1927
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (scope)
      pos:
        line_end: 1929
        line_start: 1929
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (declarators)
      pos:
        line_end: 1935
        line_start: 1935
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(d) & IDL_DECLARATOR)
      pos:
        line_end: 1938
        line_start: 1938
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!d->node.parent)
      pos:
        line_end: 1939
        line_start: 1939
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1953
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1953
    functionName: idl_create_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - idl_next
    - create_node
    - assert
    - idl_strip
    - idl_is_struct
    - idl_scope
    - idl_is_union
    - idl_mask
    - idl_declaration
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_member(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  idl_declarator_t
      *declarators,\n  void *nodep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:1959,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1961,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1964,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1964,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1966,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1968,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1968,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1970,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:1970,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_MODULE))
      pos:
        line_end: 1963
        line_start: 1963
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 1965
        line_start: 1965
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->switch_type_spec) & IDL_SWITCH_TYPE_SPEC)
      pos:
        line_end: 1967
        line_start: 1967
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->cases || (idl_mask(node->cases) & IDL_CASE))
      pos:
        line_end: 1969
        line_start: 1969
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->cases || node->default_case)
      pos:
        line_end: 1971
        line_start: 1971
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 1974
      start: 1955
    functionDepth: 3
    functionLinenumber: 1955
    functionLinenumberEnd: 1974
    functionName: idl_is_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 34
    functionsReached:
    - assert
    - idl_is_forward
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_union(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1979,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1980,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:1981,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:1982,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1976
    functionDepth: 2
    functionLinenumber: 1976
    functionLinenumberEnd: 1984
    functionName: delete_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_unreference_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_union(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1990,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:1992,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:1992,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:1995,1
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:1997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 1989
        line_start: 1989
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 1991
        line_start: 1991
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2004
      start: 1986
    functionDepth: 2
    functionLinenumber: 1986
    functionLinenumberEnd: 2004
    functionName: iterate_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    - idl_is_switch_type_spec
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_union(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2009,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_UNION)
      pos:
        line_end: 2008
        line_start: 2008
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2011
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2011
    functionName: describe_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_union(const void *ptr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2017,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2019,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2044,1
    - Dst: idl_degree
      Src: /src/cyclonedds/src/idl/src/tree.c:2045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - idl_type_spec_t*
    assertStmts:
    - condition: (type_spec)
      pos:
        line_end: 2016
        line_start: 2016
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (type == IDL_ENUM)
      pos:
        line_end: 2043
        line_start: 2043
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2047
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2047
    functionName: maximum_labels
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_degree
    - idl_type
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t maximum_labels(const idl_type_spec_t *type_spec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/tree.c:2051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 4
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: compare_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_compare
    linkageType: ''
    returnType: int
    signature: int compare_label(const void *lhs, const void *rhs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2065,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/tree.c:2104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - literal
    argTypes:
    - idl_literal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2106
    functionName: increment_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - abort
    - idl_type
    linkageType: ''
    returnType: void
    signature: void increment_literal(idl_literal_t *literal)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2122,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2123,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2124,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:2125,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2126,1
    - Dst: maximum_labels
      Src: /src/cyclonedds/src/idl/src/tree.c:2127,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2129,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2130,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2132,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2137,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2137,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/tree.c:2138,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/tree.c:2141,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2142,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/tree.c:2142,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2143,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2145,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2145,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2150,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2154,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2154,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2156,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2156,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:2165,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:2165,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:2166,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:2167,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2169,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2169,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:2169,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2178,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2178,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/tree.c:2187,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2191,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2192,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2195,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2200,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/tree.c:2201,1
    - Dst: compare_label
      Src: /src/cyclonedds/src/idl/src/tree.c:2208,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2210,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2210,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2212,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2228,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2235,1
    - Dst: idl_create_case_label
      Src: /src/cyclonedds/src/idl/src/tree.c:2237,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2252,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/tree.c:2253,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2257,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2259,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2260,1
    - Dst: idl_create_literal
      Src: /src/cyclonedds/src/idl/src/tree.c:2264,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/tree.c:2266,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2271,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/tree.c:2272,1
    - Dst: increment_literal
      Src: /src/cyclonedds/src/idl/src/tree.c:2276,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2278,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2284,1
    - Dst: idl_exit_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2286,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2288,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2292,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 127
    argCount: 4
    argNames:
    - pstate
    - location
    - node
    - cases
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_union_t*
    - idl_case_t*
    assertStmts:
    - condition: (cases)
      pos:
        line_end: 2123
        line_start: 2123
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->switch_type_spec)
      pos:
        line_end: 2122
        line_start: 2122
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node)
      pos:
        line_end: 2121
        line_start: 2121
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (c->labels)
      pos:
        line_end: 2129
        line_start: 2129
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (((const idl_node_t *)const_expr)->parent)
      pos:
        line_end: 2142
        line_start: 2142
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(cl) == IDL_DEFAULT_CASE_LABEL)
      pos:
        line_end: 2153
        line_start: 2153
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(cl) != IDL_DEFAULT_CASE_LABEL)
      pos:
        line_end: 2136
        line_start: 2136
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (count < used)
      pos:
        line_end: 2194
        line_start: 2194
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (count <= used)
      pos:
        line_end: 2277
        line_start: 2277
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_is_enum(type_spec))
      pos:
        line_end: 2141
        line_start: 2141
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!((const idl_node_t *)const_expr)->parent)
      pos:
        line_end: 2149
        line_start: 2149
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (count == used)
      pos:
        line_end: 2199
        line_start: 2199
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (const_expr)
      pos:
        line_end: 2258
        line_start: 2258
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (labels)
      pos:
        line_end: 2270
        line_start: 2270
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (labels)
      pos:
        line_end: 2251
        line_start: 2251
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2294
      start: 2108
    functionDepth: 6
    functionLinenumber: 2108
    functionLinenumberEnd: 2294
    functionName: idl_finalize_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_evaluate
    - maximum_labels
    - idl_unalias
    - idl_is_array
    - idl_exit_scope
    - idl_is_enum
    - idl_error
    - idl_reference_node
    - compare_label
    - qsort
    - idl_is_forward
    - idl_next
    - assert
    - idl_malloc
    - idl_create_literal
    - idl_free
    - idl_location
    - idl_compare
    - idl_is_enumerator
    - increment_literal
    - idl_identifier
    - idl_create_case_label
    - memset
    - idl_strip
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_union(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_union_t *node,\n  idl_case_t *cases)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:2313,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2316,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2316,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/tree.c:2316,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2320,1
    - Dst: idl_create_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2322,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:2324,1
    - Dst: idl_enter_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2331,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2335,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2335,1
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2339,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - switch_type_spec
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_switch_type_spec_t*
    - void*
    assertStmts:
    - condition: (!idl_scope(switch_type_spec))
      pos:
        line_end: 2334
        line_start: 2334
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2344
      start: 2296
    functionDepth: 3
    functionLinenumber: 2296
    functionLinenumberEnd: 2344
    functionName: idl_create_union
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_declare
    - idl_is_switch_type_spec
    - create_node
    - assert
    - idl_create_scope
    - idl_free
    - idl_scope
    - idl_delete_scope
    - idl_error
    - idl_construct
    - idl_enter_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_union(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_switch_type_spec_t *switch_type_spec,\n
      \ void *nodep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2352,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2355,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2355,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2358,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:2359,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2360,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2366,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2370,1
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (type_spec)
      pos:
        line_end: 2357
        line_start: 2357
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_UNION))
      pos:
        line_end: 2354
        line_start: 2354
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (pstate->config.flags & IDL_FLAG_EXTENDED_DATA_TYPES)
      pos:
        line_end: 2365
        line_start: 2365
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_is_base_type(type_spec))
      pos:
        line_end: 2369
        line_start: 2369
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2373
      start: 2346
    functionDepth: 2
    functionLinenumber: 2346
    functionLinenumberEnd: 2373
    functionName: idl_is_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - idl_is_base_type
    - assert
    - idl_unalias
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: bool
    signature: bool idl_is_switch_type_spec(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:2378,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2375
    functionDepth: 3
    functionLinenumber: 2375
    functionLinenumberEnd: 2380
    functionName: delete_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_switch_type_spec(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2386,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2388,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 2385
        line_start: 2385
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 2387
        line_start: 2387
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2394
      start: 2382
    functionDepth: 2
    functionLinenumber: 2382
    functionLinenumberEnd: 2394
    functionName: iterate_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_switch_type_spec(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2399,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) & IDL_SWITCH_TYPE_SPEC)
      pos:
        line_end: 2398
        line_start: 2398
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2401
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2401
    functionName: describe_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_switch_type_spec(const void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2420,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2421,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:2421,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2429,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2429,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/tree.c:2430,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2434,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pstate
    - location
    - type_spec
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - void*
    assertStmts:
    - condition: (type_spec)
      pos:
        line_end: 2419
        line_start: 2419
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2441
      start: 2403
    functionDepth: 3
    functionLinenumber: 2403
    functionLinenumberEnd: 2441
    functionName: idl_create_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - create_node
    - assert
    - idl_scope
    - idl_unalias
    - idl_error
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_switch_type_spec(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2446,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2449,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2449,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2451,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2451,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2453,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->labels || (idl_mask(node->labels) & IDL_CASE_LABEL))
      pos:
        line_end: 2450
        line_start: 2450
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_UNION))
      pos:
        line_end: 2448
        line_start: 2448
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_mask(node->declarator) & IDL_DECLARATOR)
      pos:
        line_end: 2452
        line_start: 2452
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2455
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2455
    functionName: idl_is_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 13
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_case(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2461,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2463,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2457
    functionDepth: 2
    functionLinenumber: 2457
    functionLinenumberEnd: 2467
    functionName: idl_is_default_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_mask
    - idl_next
    linkageType: ''
    returnType: bool
    signature: bool idl_is_default_case(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2473,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2475,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2479
    functionName: idl_is_implicit_default_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_mask
    - idl_next
    linkageType: ''
    returnType: bool
    signature: bool idl_is_implicit_default_case(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:2484,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2485,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2486,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2481
    functionDepth: 3
    functionLinenumber: 2481
    functionLinenumberEnd: 2488
    functionName: delete_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_case(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2494,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2496,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:2496,1
    - Dst: idl_is_case_label
      Src: /src/cyclonedds/src/idl/src/tree.c:2499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 2493
        line_start: 2493
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 2495
        line_start: 2495
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2504
      start: 2490
    functionDepth: 2
    functionLinenumber: 2490
    functionLinenumberEnd: 2504
    functionName: iterate_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    - idl_is_case_label
    linkageType: ''
    returnType: void
    signature: void *iterate_case(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2509,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_CASE)
      pos:
        line_end: 2508
        line_start: 2508
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2511
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2511
    functionName: describe_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_case(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - state
    - location
    - node
    - labels
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_case_t*
    - idl_case_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2513
    functionDepth: 2
    functionLinenumber: 2513
    functionLinenumberEnd: 2526
    functionName: idl_finalize_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_next
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_case(\n  idl_pstate_t *state,\n  const
      idl_location_t *location,\n  idl_case_t *node,\n  idl_case_label_t *labels)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2545,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2548,1
    - Dst: idl_unalias
      Src: /src/cyclonedds/src/idl/src/tree.c:2551,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:2552,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:2552,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:2555,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2556,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:2556,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2557,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2564,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2566,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:2567,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - pstate
    - location
    - type_spec
    - declarator
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_declarator_t*
    - void*
    assertStmts:
    - condition: (declaration)
      pos:
        line_end: 2556
        line_start: 2556
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!declarator->node.parent)
      pos:
        line_end: 2563
        line_start: 2563
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!declarator->node.next)
      pos:
        line_end: 2565
        line_start: 2565
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2576
      start: 2528
    functionDepth: 4
    functionLinenumber: 2528
    functionLinenumberEnd: 2576
    functionName: idl_create_case
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_find
    - idl_declare
    - create_node
    - idl_name
    - assert
    - idl_is_struct
    - idl_scope
    - idl_unalias
    - idl_is_union
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_case(\n  idl_pstate_t *pstate,\n  const idl_location_t
      *location,\n  idl_type_spec_t *type_spec,\n  idl_declarator_t *declarator,\n
      \ void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2585,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2588,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2588,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2590,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_CASE))
      pos:
        line_end: 2587
        line_start: 2587
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->const_expr || (idl_mask(node->const_expr) & mask))
      pos:
        line_end: 2589
        line_start: 2589
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2592
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2592
    functionName: idl_is_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 6
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_case_label(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2597,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - mask
    argTypes:
    - void*
    - idl_mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2594
    functionDepth: 1
    functionLinenumber: 2594
    functionLinenumberEnd: 2602
    functionName: idl_is_case_label_mask_impl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_case_label_mask_impl(const void *ptr, const idl_mask_t
      mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_case_label_mask_impl
      Src: /src/cyclonedds/src/idl/src/tree.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2604
    functionDepth: 2
    functionLinenumber: 2604
    functionLinenumberEnd: 2607
    functionName: idl_is_default_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_case_label_mask_impl
    linkageType: ''
    returnType: bool
    signature: bool idl_is_default_case_label(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_case_label_mask_impl
      Src: /src/cyclonedds/src/idl/src/tree.c:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2612
    functionName: idl_is_implicit_default_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_case_label_mask_impl
    linkageType: ''
    returnType: bool
    signature: bool idl_is_implicit_default_case_label(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:2617,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2619
    functionName: delete_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - delete_const_expr
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_case_label(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2624,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2624,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2625,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_CASE_LABEL)
      pos:
        line_end: 2623
        line_start: 2623
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2630
      start: 2621
    functionDepth: 1
    functionLinenumber: 2621
    functionLinenumberEnd: 2630
    functionName: describe_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_case_label(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2647,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:2650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pstate
    - location
    - const_expr
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_const_expr_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2632
    functionDepth: 2
    functionLinenumber: 2632
    functionLinenumberEnd: 2655
    functionName: idl_create_case_label
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_scope
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_case_label(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_const_expr_t *const_expr,\n  void *nodep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2660,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:2662,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/tree.c:2664,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2677,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (enumerator->value.value <= INT32_MAX)
      pos:
        line_end: 2676
        line_start: 2676
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (false)
      pos:
        line_end: 2679
        line_start: 2679
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2683
      start: 2657
    functionDepth: 3
    functionLinenumber: 2657
    functionLinenumberEnd: 2683
    functionName: idl_case_label_intvalue
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    - idl_intval
    - idl_type
    linkageType: ''
    returnType: int64_t
    signature: int64_t idl_case_label_intvalue(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2689,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2692,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2694,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2694,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2696,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->enumerators && (idl_mask(node->enumerators) & IDL_ENUMERATOR))
      pos:
        line_end: 2695
        line_start: 2695
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || idl_mask(node->node.parent) & (IDL_MODULE
        | IDL_ANNOTATION))
      pos:
        line_end: 2693
        line_start: 2693
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 2691
        line_start: 2691
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2698
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2698
    functionName: idl_is_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 15
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_enum(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2703,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2703,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) & IDL_ENUM)
      pos:
        line_end: 2702
        line_start: 2702
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2710
      start: 2700
    functionDepth: 2
    functionLinenumber: 2700
    functionLinenumberEnd: 2710
    functionName: idl_enum_max_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - assert
    - idl_next
    - idl_mask
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t idl_enum_max_value(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2715,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:2716,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2712
    functionDepth: 2
    functionLinenumber: 2712
    functionLinenumberEnd: 2718
    functionName: delete_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_enum(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2724,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2726,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:2726,1
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:2729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 2723
        line_start: 2723
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 2725
        line_start: 2725
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2736
      start: 2720
    functionDepth: 2
    functionLinenumber: 2720
    functionLinenumberEnd: 2736
    functionName: iterate_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_enum(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2741,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_ENUM)
      pos:
        line_end: 2740
        line_start: 2740
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2743
      start: 2738
    functionDepth: 1
    functionLinenumber: 2738
    functionLinenumberEnd: 2743
    functionName: describe_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_enum(const void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2762,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2768,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2770,1
    - Dst: idl_previous
      Src: /src/cyclonedds/src/idl/src/tree.c:2779,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2780,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2780,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2789,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2794,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2794,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2800,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2802,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2802,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:2819,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2828,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - enumerators
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_enumerator_t*
    - void*
    assertStmts:
    - condition: (enumerators)
      pos:
        line_end: 2767
        line_start: 2767
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2831
      start: 2745
    functionDepth: 3
    functionLinenumber: 2745
    functionLinenumberEnd: 2831
    functionName: idl_create_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_declare
    - idl_next
    - create_node
    - assert
    - idl_error
    - idl_mask
    - idl_previous
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_enum(\n  idl_pstate_t *pstate,\n  const idl_location_t
      *location,\n  idl_name_t *name,\n  idl_enumerator_t *enumerators,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2837,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2840,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_ENUM))
      pos:
        line_end: 2839
        line_start: 2839
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2842
      start: 2833
    functionDepth: 1
    functionLinenumber: 2833
    functionLinenumberEnd: 2842
    functionName: idl_is_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 7
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_enumerator(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:2847,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2844
    functionDepth: 2
    functionLinenumber: 2844
    functionLinenumberEnd: 2849
    functionName: delete_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_enumerator(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2855,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2856,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:2856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 2854
        line_start: 2854
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node || idl_parent(node) == root)
      pos:
        line_end: 2855
        line_start: 2855
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2860
      start: 2851
    functionDepth: 2
    functionLinenumber: 2851
    functionLinenumberEnd: 2860
    functionName: iterate_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_enumerator(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2865,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2865,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2866,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: "(idl_mask(ptr) == IDL_ENUMERATOR\n      || idl_mask(ptr) == IDL_DEFAULT_ENUMERATOR\n
        \     || idl_mask(ptr) == IDL_IMPLICIT_DEFAULT_ENUMERATOR)"
      pos:
        line_end: 2866
        line_start: 2864
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2869
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2869
    functionName: describe_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_enumerator(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2886,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:2889,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pstate
    - location
    - name
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2871
    functionDepth: 2
    functionLinenumber: 2871
    functionLinenumberEnd: 2898
    functionName: idl_create_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - create_node
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_enumerator(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2904,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2907,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2909,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2909,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2911,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_MODULE))
      pos:
        line_end: 2908
        line_start: 2908
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name && node->name->identifier)
      pos:
        line_end: 2906
        line_start: 2906
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->bit_values && (idl_mask(node->bit_values) & IDL_BIT_VALUE))
      pos:
        line_end: 2910
        line_start: 2910
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2913
      start: 2900
    functionDepth: 1
    functionLinenumber: 2900
    functionLinenumberEnd: 2913
    functionName: idl_is_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 7
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bitmask(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2918,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:2919,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2915
    functionDepth: 2
    functionLinenumber: 2915
    functionLinenumberEnd: 2921
    functionName: delete_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_bitmask(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2927,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2929,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:2929,1
    - Dst: idl_is_annotation_appl
      Src: /src/cyclonedds/src/idl/src/tree.c:2932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 2926
        line_start: 2926
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 2928
        line_start: 2928
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2939
      start: 2923
    functionDepth: 2
    functionLinenumber: 2923
    functionLinenumberEnd: 2939
    functionName: iterate_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    - idl_is_annotation_appl
    linkageType: ''
    returnType: void
    signature: void *iterate_bitmask(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2944,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:2944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_BITMASK)
      pos:
        line_end: 2943
        line_start: 2943
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 2946
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2946
    functionName: describe_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_bitmask(const void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:2965,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:2970,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2972,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:2978,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:2983,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:2983,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:2991,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:2998,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - bit_values
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_bit_value_t*
    - void*
    assertStmts:
    - condition: (bit_values)
      pos:
        line_end: 2969
        line_start: 2969
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3001
      start: 2948
    functionDepth: 3
    functionLinenumber: 2948
    functionLinenumberEnd: 3001
    functionName: idl_create_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_declare
    - idl_next
    - create_node
    - assert
    - idl_error
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_bitmask(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_bit_value_t *bit_values,\n
      \ void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3007,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3010,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_BITMASK))
      pos:
        line_end: 3009
        line_start: 3009
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3012
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3012
    functionName: idl_is_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_bit_value(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3017,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3014
    functionDepth: 2
    functionLinenumber: 3014
    functionLinenumberEnd: 3019
    functionName: delete_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_bit_value(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3025,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3026,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 3024
        line_start: 3024
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node || idl_parent(node) == root)
      pos:
        line_end: 3025
        line_start: 3025
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3030
      start: 3021
    functionDepth: 2
    functionLinenumber: 3021
    functionLinenumberEnd: 3030
    functionName: iterate_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_bit_value(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3035,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_BIT_VALUE)
      pos:
        line_end: 3034
        line_start: 3034
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3037
      start: 3032
    functionDepth: 1
    functionLinenumber: 3032
    functionLinenumberEnd: 3037
    functionName: describe_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_bit_value(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3054,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:3057,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pstate
    - location
    - name
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3039
    functionDepth: 2
    functionLinenumber: 3039
    functionLinenumberEnd: 3066
    functionName: idl_create_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - create_node
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_bit_value(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3072,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3068
    functionDepth: 1
    functionLinenumber: 3068
    functionLinenumberEnd: 3077
    functionName: idl_is_alias
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 9
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_alias(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3083,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3086,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3088,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3088,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3090,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node->declarators) & IDL_DECLARATOR)
      pos:
        line_end: 3089
        line_start: 3089
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & IDL_MODULE))
      pos:
        line_end: 3087
        line_start: 3087
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->type_spec)
      pos:
        line_end: 3085
        line_start: 3085
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3092
      start: 3079
    functionDepth: 1
    functionLinenumber: 3079
    functionLinenumberEnd: 3092
    functionName: idl_is_typedef
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 12
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_typedef(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:3097,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3098,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3094
    functionDepth: 3
    functionLinenumber: 3094
    functionLinenumberEnd: 3100
    functionName: delete_typedef
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_typedef(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3105,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_TYPEDEF)
      pos:
        line_end: 3104
        line_start: 3104
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3107
      start: 3102
    functionDepth: 1
    functionLinenumber: 3102
    functionLinenumberEnd: 3107
    functionName: describe_typedef
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_typedef(const void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3125,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3128,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3131,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/tree.c:3132,1
    - Dst: idl_is_forward
      Src: /src/cyclonedds/src/idl/src/tree.c:3133,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:3133,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/tree.c:3134,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3136,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3136,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3136,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3141,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:3145,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - pstate
    - location
    - type_spec
    - declarators
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_declarator_t*
    - void*
    assertStmts:
    - condition: (!d->node.parent)
      pos:
        line_end: 3140
        line_start: 3140
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3155
      start: 3109
    functionDepth: 3
    functionLinenumber: 3109
    functionLinenumberEnd: 3155
    functionName: idl_create_typedef
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_is_array
    - idl_location
    - idl_is_forward
    - idl_declare
    - idl_next
    - create_node
    - assert
    - idl_identifier
    - idl_strip
    - idl_scope
    - idl_error
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_typedef(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  idl_declarator_t
      *declarators,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3161,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3164,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3166,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3168,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (!node->const_expr || (idl_mask(node->const_expr) & IDL_LITERAL))
      pos:
        line_end: 3167
        line_start: 3167
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->name->identifier)
      pos:
        line_end: 3163
        line_start: 3163
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->node.parent)
      pos:
        line_end: 3165
        line_start: 3165
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3170
      start: 3157
    functionDepth: 1
    functionLinenumber: 3157
    functionLinenumberEnd: 3170
    functionName: idl_is_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 12
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_declarator(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3179
    functionName: idl_is_array
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 16
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_array(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3184,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3185,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3181
    functionDepth: 2
    functionLinenumber: 3181
    functionLinenumberEnd: 3187
    functionName: delete_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_declarator(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3192,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3192,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3193,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3195,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3197,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3199,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node) == IDL_DECLARATOR)
      pos:
        line_end: 3191
        line_start: 3191
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->parent)
      pos:
        line_end: 3200
        line_start: 3200
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3203
      start: 3189
    functionDepth: 1
    functionLinenumber: 3189
    functionLinenumberEnd: 3203
    functionName: describe_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_declarator(const void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3220,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3221,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3221,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3224,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3224,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3229,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3233,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - pstate
    - location
    - name
    - const_expr
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - idl_const_expr_t*
    - void*
    assertStmts:
    - condition: (idl_mask(ce) & IDL_LITERAL)
      pos:
        line_end: 3220
        line_start: 3220
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!((idl_node_t *)ce)->parent)
      pos:
        line_end: 3233
        line_start: 3233
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3239
      start: 3205
    functionDepth: 3
    functionLinenumber: 3205
    functionLinenumberEnd: 3239
    functionName: idl_create_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_next
    - create_node
    - assert
    - idl_error
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_declarator(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  idl_const_expr_t *const_expr,\n
      \ void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3244,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3246,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (node->type_spec)
      pos:
        line_end: 3245
        line_start: 3245
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->declarator)
      pos:
        line_end: 3246
        line_start: 3246
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3249
      start: 3241
    functionDepth: 1
    functionLinenumber: 3241
    functionLinenumberEnd: 3249
    functionName: idl_is_annotation_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_annotation_member(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:3254,1
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:3255,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3256,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3251
    functionDepth: 3
    functionLinenumber: 3251
    functionLinenumberEnd: 3258
    functionName: delete_annotation_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - delete_const_expr
    - idl_free
    - delete_type_spec
    linkageType: ''
    returnType: void
    signature: void delete_annotation_member(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3263,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_ANNOTATION_MEMBER)
      pos:
        line_end: 3262
        line_start: 3262
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3265
      start: 3260
    functionDepth: 1
    functionLinenumber: 3260
    functionLinenumberEnd: 3265
    functionName: describe_annotation_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_annotation_member(const void *ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3284,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:3286,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3289,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/tree.c:3293,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3294,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/tree.c:3296,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3297,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3297,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3298,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3298,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3302,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3302,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3303,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3303,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:3308,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3310,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3310,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/tree.c:3311,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3313,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - pstate
    - location
    - type_spec
    - declarator
    - const_expr
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_type_spec_t*
    - idl_declarator_t*
    - idl_const_expr_t*
    - void*
    assertStmts:
    - condition: (idl_mask(const_expr) & (IDL_CONST|IDL_LITERAL))
      pos:
        line_end: 3309
        line_start: 3309
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (((idl_node_t *)const_expr)->references > 1)
      pos:
        line_end: 3293
        line_start: 3293
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (literal)
      pos:
        line_end: 3312
        line_start: 3312
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3327
      start: 3267
    functionDepth: 6
    functionLinenumber: 3267
    functionLinenumberEnd: 3327
    functionName: idl_create_annotation_member
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_declare
    - idl_location
    - create_node
    - idl_evaluate
    - idl_is_enumerator
    - assert
    - idl_is_enum
    - idl_identifier
    - idl_free
    - idl_scope
    - idl_error
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_annotation_member(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  idl_type_spec_t *type_spec,\n  idl_declarator_t
      *declarator,\n  idl_const_expr_t *const_expr,\n  void *nodep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3339,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3340,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:3344,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:3344,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:3349,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/tree.c:3349,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/src/tree.c:3351,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3352,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/src/tree.c:3352,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3353,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3354,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3356,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3357,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:3359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - idl_type_spec_t*
    - idl_type_spec_t*
    assertStmts:
    - condition: (idl_is_typedef(rhs))
      pos:
        line_end: 3351
        line_start: 3351
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3360
      start: 3329
    functionDepth: 2
    functionLinenumber: 3329
    functionLinenumberEnd: 3360
    functionName: type_is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_name
    - strcmp
    - idl_is_typedef
    - idl_scope
    - idl_type
    linkageType: ''
    returnType: bool
    signature: "bool type_is_consistent(\n  idl_pstate_t *pstate,\n  const idl_type_spec_t
      *lhs,\n  const idl_type_spec_t *rhs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3372,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3373,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:3374,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3374,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3374,1
    - Dst: idl_degree
      Src: /src/cyclonedds/src/idl/src/tree.c:3380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - idl_enum_t*
    - idl_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3362
    functionDepth: 3
    functionLinenumber: 3362
    functionLinenumberEnd: 3381
    functionName: enum_is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_degree
    - strcmp
    - idl_next
    - idl_identifier
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t enum_is_consistent(\n  idl_pstate_t *pstate,\n  const
      idl_enum_t *lhs,\n  const idl_enum_t *rhs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:3389,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3389,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3389,1
    - Dst: type_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3391,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/tree.c:3393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - idl_const_t*
    - idl_const_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3383
    functionDepth: 4
    functionLinenumber: 3383
    functionLinenumberEnd: 3394
    functionName: const_is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_compare
    - strcmp
    - type_is_consistent
    - idl_identifier
    linkageType: ''
    returnType: bool
    signature: "bool const_is_consistent(\n  idl_pstate_t *pstate,\n  const idl_const_t
      *lhs,\n  const idl_const_t *rhs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3406,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3407,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:3408,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3408,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3408,1
    - Dst: idl_degree
      Src: /src/cyclonedds/src/idl/src/tree.c:3414,1
    - Dst: type_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - idl_typedef_t*
    - idl_typedef_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3396
    functionDepth: 3
    functionLinenumber: 3396
    functionLinenumberEnd: 3417
    functionName: typedef_is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_next
    - idl_degree
    - strcmp
    - type_is_consistent
    - idl_identifier
    linkageType: ''
    returnType: bool
    signature: "bool typedef_is_consistent(\n  idl_pstate_t *pstate,\n  const idl_typedef_t
      *lhs,\n  const idl_typedef_t *rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/tree.c:3425,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3425,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3425,1
    - Dst: type_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3427,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/tree.c:3433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - idl_annotation_member_t*
    - idl_annotation_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3419
    functionDepth: 4
    functionLinenumber: 3419
    functionLinenumberEnd: 3434
    functionName: member_is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_compare
    - strcmp
    - type_is_consistent
    - idl_identifier
    linkageType: ''
    returnType: bool
    signature: "bool member_is_consistent(\n  idl_pstate_t *pstate,\n  const idl_annotation_member_t
      *lhs,\n  const idl_annotation_member_t *rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3439,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3439,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3441,1
    - Dst: enum_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3442,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3443,1
    - Dst: const_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3444,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3445,1
    - Dst: typedef_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3446,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3447,1
    - Dst: idl_is_annotation_member
      Src: /src/cyclonedds/src/idl/src/tree.c:3447,1
    - Dst: member_is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_annotation_member(lhs))
      pos:
        line_end: 3446
        line_start: 3446
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3449
      start: 3436
    functionDepth: 5
    functionLinenumber: 3436
    functionLinenumberEnd: 3449
    functionName: is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 4
    functionsReached:
    - idl_is_annotation_member
    - assert
    - typedef_is_consistent
    - const_is_consistent
    - member_is_consistent
    - idl_mask
    - enum_is_consistent
    linkageType: ''
    returnType: bool
    signature: bool is_consistent(idl_pstate_t *pstate, const void *lhs, const void
      *rhs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_exit_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3463,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:3471,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3473,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3474,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3475,1
    - Dst: idl_degree
      Src: /src/cyclonedds/src/idl/src/tree.c:3476,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3477,1
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/src/tree.c:3478,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3479,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3481,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:3482,1
    - Dst: is_consistent
      Src: /src/cyclonedds/src/idl/src/tree.c:3483,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3483,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3496,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3500,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3500,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - pstate
    - location
    - node
    - definitions
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_annotation_t*
    - idl_definition_t*
    assertStmts:
    - condition: (decl->node && decl->node != (void *)node)
      pos:
        line_end: 3473
        line_start: 3473
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (decl)
      pos:
        line_end: 3472
        line_start: 3472
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (decl->scope && decl->scope == scope)
      pos:
        line_end: 3474
        line_start: 3474
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3503
      start: 3451
    functionDepth: 3
    functionLinenumber: 3451
    functionLinenumberEnd: 3503
    functionName: idl_finalize_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_find
    - idl_location
    - idl_parent
    - idl_next
    - idl_degree
    - assert
    - idl_exit_scope
    - idl_name
    - idl_unreference_node
    - idl_identifier
    - idl_is_typedef
    - is_consistent
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_annotation(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  idl_annotation_t *node,\n  idl_definition_t
      *definitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3508,1
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/tree.c:3509,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3505
    functionDepth: 2
    functionLinenumber: 3505
    functionLinenumberEnd: 3511
    functionName: delete_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_delete_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_annotation(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3517,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3519,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 3516
        line_start: 3516
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (idl_parent(node) == root)
      pos:
        line_end: 3518
        line_start: 3518
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3523
      start: 3513
    functionDepth: 2
    functionLinenumber: 3513
    functionLinenumberEnd: 3523
    functionName: iterate_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_annotation(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3528,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_ANNOTATION)
      pos:
        line_end: 3527
        line_start: 3527
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3530
      start: 3525
    functionDepth: 1
    functionLinenumber: 3525
    functionLinenumberEnd: 3530
    functionName: describe_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_annotation(const void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3549,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3550,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/tree.c:3552,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3558,1
    - Dst: idl_enter_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3560,1
    - Dst: idl_create_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3565,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/tree.c:3567,1
    - Dst: idl_enter_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3570,1
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3576,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - pstate
    - location
    - name
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_name_t*
    - void*
    assertStmts:
    - condition: (name->is_annotation)
      pos:
        line_end: 3548
        line_start: 3548
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (declaration->kind == IDL_ANNOTATION_DECLARATION)
      pos:
        line_end: 3557
        line_start: 3557
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3581
      start: 3532
    functionDepth: 2
    functionLinenumber: 3532
    functionLinenumberEnd: 3581
    functionName: idl_create_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_find
    - idl_declare
    - create_node
    - assert
    - idl_create_scope
    - idl_free
    - idl_delete_scope
    - idl_enter_scope
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_annotation(\n  idl_pstate_t *pstate,\n  const
      idl_location_t *location,\n  idl_name_t *name,\n  void *nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_const_expr
      Src: /src/cyclonedds/src/idl/src/tree.c:3586,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3587,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3583
    functionDepth: 3
    functionLinenumber: 3583
    functionLinenumberEnd: 3589
    functionName: delete_annotation_appl_param
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - delete_const_expr
    - idl_unreference_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_annotation_appl_param(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3594,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_ANNOTATION_APPL_PARAM)
      pos:
        line_end: 3593
        line_start: 3593
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3596
      start: 3591
    functionDepth: 1
    functionLinenumber: 3591
    functionLinenumberEnd: 3596
    functionName: describe_annotation_appl_param
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_annotation_appl_param(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3613,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3616,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3616,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3617,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3618,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - pstate
    - location
    - member
    - const_expr
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_annotation_member_t*
    - idl_const_expr_t*
    - void*
    assertStmts:
    - condition: "((idl_mask(const_expr) & IDL_EXPRESSION) ||\n         (idl_mask(const_expr)
        & IDL_CONST) ||\n         (idl_mask(const_expr) & IDL_ENUMERATOR) ||\n         (idl_mask(const_expr)
        & IDL_BIT_VALUE))"
      pos:
        line_end: 3618
        line_start: 3615
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3623
      start: 3598
    functionDepth: 2
    functionLinenumber: 3598
    functionLinenumberEnd: 3623
    functionName: idl_create_annotation_appl_param
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - assert
    - idl_mask
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_annotation_appl_param(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  idl_annotation_member_t *member,\n  idl_const_expr_t
      *const_expr,\n  void *nodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3636,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3639,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3639,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3641,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(node->annotation) & IDL_ANNOTATION)
      pos:
        line_end: 3640
        line_start: 3640
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node->node.parent || (idl_mask(node->node.parent) & mask))
      pos:
        line_end: 3638
        line_start: 3638
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3643
      start: 3625
    functionDepth: 1
    functionLinenumber: 3625
    functionLinenumberEnd: 3643
    functionName: idl_is_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 6
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_annotation_appl(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3648,1
    - Dst: idl_delete_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3649,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/tree.c:3650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3645
    functionDepth: 2
    functionLinenumber: 3645
    functionLinenumberEnd: 3651
    functionName: delete_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - idl_delete_node
    - idl_unreference_node
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_annotation_appl(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3657,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3658,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - cur
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root)
      pos:
        line_end: 3656
        line_start: 3656
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (!node || idl_parent(node) == root)
      pos:
        line_end: 3657
        line_start: 3657
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3662
      start: 3653
    functionDepth: 2
    functionLinenumber: 3653
    functionLinenumberEnd: 3662
    functionName: iterate_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_parent
    linkageType: ''
    returnType: void
    signature: void *iterate_annotation_appl(const void *ptr, const void *cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3667,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (idl_mask(ptr) == IDL_ANNOTATION_APPL)
      pos:
        line_end: 3666
        line_start: 3666
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3669
      start: 3664
    functionDepth: 1
    functionLinenumber: 3664
    functionLinenumberEnd: 3669
    functionName: describe_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: char
    signature: char *describe_annotation_appl(const void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3678,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3679,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3685,1
    - Dst: idl_is_annotation_member
      Src: /src/cyclonedds/src/idl/src/tree.c:3689,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3699,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3699,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3700,1
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3703,1
    - Dst: idl_reference_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3708,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/tree.c:3710,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3712,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3714,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/tree.c:3717,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/tree.c:3717,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/tree.c:3718,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - pstate
    - location
    - node
    - parameters
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_annotation_appl_t*
    - idl_annotation_appl_param_t*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 3677
        line_start: 3677
        source_file: /src/cyclonedds/src/idl/src/tree.c
    - condition: (node->annotation)
      pos:
        line_end: 3678
        line_start: 3678
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3723
      start: 3671
    functionDepth: 3
    functionLinenumber: 3671
    functionLinenumberEnd: 3723
    functionName: idl_finalize_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - idl_location
    - idl_next
    - create_node
    - idl_is_annotation_member
    - assert
    - idl_identifier
    - idl_scope
    - idl_error
    - idl_reference_node
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_finalize_annotation_appl(\n  idl_pstate_t *pstate,\n
      \ const idl_location_t *location,\n  idl_annotation_appl_t *node,\n  idl_annotation_appl_param_t
      *parameters)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/cyclonedds/src/idl/src/tree.c:3740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - state
    - location
    - annotation
    - nodep
    argTypes:
    - idl_pstate_t*
    - idl_location_t*
    - idl_annotation_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3725
    functionDepth: 2
    functionLinenumber: 3725
    functionLinenumberEnd: 3746
    functionName: idl_create_annotation_appl
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - create_node
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_annotation_appl(\n  idl_pstate_t *state,\n
      \ const idl_location_t *location,\n  const idl_annotation_t *annotation,\n  void
      *nodep)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3752,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3754,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3748
    functionDepth: 2
    functionLinenumber: 3748
    functionLinenumberEnd: 3773
    functionName: idl_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 17
    functionsReached:
    - idl_mask
    - idl_parent
    linkageType: ''
    returnType: idl_type_spec_t
    signature: idl_type_spec_t *idl_type_spec(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3779,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3775
    functionDepth: 2
    functionLinenumber: 3775
    functionLinenumberEnd: 3787
    functionName: idl_array_size
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_mask
    - idl_next
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t idl_array_size(const void *node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:3792,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:3797,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:3799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - node
    - keylist
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3789
    functionDepth: 4
    functionLinenumber: 3789
    functionLinenumberEnd: 3804
    functionName: idl_is_topic
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 3
    functionsReached:
    - idl_is_struct
    - idl_is_union
    linkageType: ''
    returnType: bool
    signature: bool idl_is_topic(const void *node, bool keylist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3809,1
    - Dst: no_specific_key
      Src: /src/cyclonedds/src/idl/src/tree.c:3813,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3818,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3806
    functionDepth: 2
    functionLinenumber: 3806
    functionLinenumberEnd: 3828
    functionName: no_specific_key
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 1
    functionsReached:
    - no_specific_key
    - idl_mask
    - idl_next
    linkageType: ''
    returnType: bool
    signature: bool no_specific_key(const void *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: no_specific_key
      Src: /src/cyclonedds/src/idl/src/tree.c:3833,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - node
    - keylist
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3830
    functionDepth: 3
    functionLinenumber: 3830
    functionLinenumberEnd: 3839
    functionName: idl_is_keyless
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 0
    functionsReached:
    - no_specific_key
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_keyless(const void *node, bool keylist)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_topic
      Src: /src/cyclonedds/src/idl/src/tree.c:3847,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3859,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:3862,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:3865,1
    - Dst: no_specific_key
      Src: /src/cyclonedds/src/idl/src/tree.c:3878,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3878,1
    - Dst: no_specific_key
      Src: /src/cyclonedds/src/idl/src/tree.c:3886,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3886,1
    - Dst: idl_is_declarator
      Src: /src/cyclonedds/src/idl/src/tree.c:3901,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/tree.c:3908,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:3911,1
    - Dst: no_specific_key
      Src: /src/cyclonedds/src/idl/src/tree.c:3917,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/tree.c:3917,1
    - Dst: idl_is_switch_type_spec
      Src: /src/cyclonedds/src/idl/src/tree.c:3924,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:3927,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3935,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3940,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 4
    argNames:
    - node
    - keylist
    - path
    - order
    argTypes:
    - void*
    - bool
    - idl_path_t*
    - uint32_t*
    assertStmts:
    - condition: (path->nodes[i])
      pos:
        line_end: 3858
        line_start: 3858
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3946
      start: 3841
    functionDepth: 5
    functionLinenumber: 3841
    functionLinenumberEnd: 3946
    functionName: idl_is_topic_key
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 4
    functionsReached:
    - no_specific_key
    - idl_parent
    - idl_is_union
    - idl_is_switch_type_spec
    - idl_is_member
    - assert
    - idl_is_declarator
    - idl_is_struct
    - idl_is_case
    - idl_is_topic
    - idl_mask
    linkageType: ''
    returnType: idl_keytype_t
    signature: idl_keytype_t idl_is_topic_key(const void *node, bool keylist, const
      idl_path_t *path, uint32_t *order)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/tree.c:3950,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/tree.c:3953,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/tree.c:3956,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/tree.c:3959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - node
    - extensibility
    argTypes:
    - idl_node_t*
    - idl_extensibility_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3948
    functionDepth: 4
    functionLinenumber: 3948
    functionLinenumberEnd: 3964
    functionName: idl_is_extensible
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 12
    functionsReached:
    - idl_is_struct
    - idl_is_union
    - idl_is_enum
    - idl_is_bitmask
    linkageType: ''
    returnType: bool
    signature: bool idl_is_extensible(const idl_node_t *node, idl_extensibility_t
      extensibility)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/tree.c:3969,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/tree.c:3970,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3971,1
    - Dst: idl_has_unset_extensibility_r
      Src: /src/cyclonedds/src/idl/src/tree.c:3973,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3974,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/tree.c:3985,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 3968
        line_start: 3968
        source_file: /src/cyclonedds/src/idl/src/tree.c
    constantsTouched: []
    func_position:
      end: 3992
      start: 3966
    functionDepth: 2
    functionLinenumber: 3966
    functionLinenumberEnd: 3992
    functionName: idl_has_unset_extensibility_r
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 2
    functionsReached:
    - idl_has_unset_extensibility_r
    - assert
    - idl_next
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: bool idl_has_unset_extensibility_r(idl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:3997,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/tree.c:3998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3995
    functionDepth: 2
    functionLinenumber: 3995
    functionLinenumberEnd: 3999
    functionName: idl_is_external
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 5
    functionsReached:
    - idl_is_member
    - idl_is_case
    linkageType: ''
    returnType: bool
    signature: bool idl_is_external(const idl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:4003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4001
    functionDepth: 2
    functionLinenumber: 4001
    functionLinenumberEnd: 4004
    functionName: idl_is_optional
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 6
    functionsReached:
    - idl_is_member
    linkageType: ''
    returnType: bool
    signature: bool idl_is_optional(const idl_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/tree.c:4008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4009
      start: 4006
    functionDepth: 2
    functionLinenumber: 4006
    functionLinenumberEnd: 4009
    functionName: idl_is_must_understand
    functionSourceFile: /src/cyclonedds/src/idl/src/tree.c
    functionUses: 4
    functionsReached:
    - idl_is_member
    linkageType: ''
    returnType: bool
    signature: bool idl_is_must_understand(const idl_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/scope.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - idl_name_t*
    - idl_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: namecmp
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int namecmp(const idl_name_t *n1, const idl_name_t *n2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/scope.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - idl_name_t*
    - idl_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: namecasecmp
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - idl_strcasecmp
    linkageType: ''
    returnType: int
    signature: int namecasecmp(const idl_name_t *n1, const idl_name_t *n2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/scope.c:47,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/scope.c:50,1
    - Dst: idl_create_name
      Src: /src/cyclonedds/src/idl/src/scope.c:52,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:52,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:57,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pstate
    - kind
    - name
    - declarationp
    argTypes:
    - idl_pstate_t*
    - enum idl_declaration_kind
    - idl_name_t*
    - idl_declaration_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: create_declaration
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_calloc
    - idl_strdup
    - idl_create_name
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t create_declaration(\n  idl_pstate_t *pstate,\n  enum
      idl_declaration_kind kind,\n  const idl_name_t *name,\n  idl_declaration_t **declarationp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_name
      Src: /src/cyclonedds/src/idl/src/scope.c:68,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:71,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:73,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:74,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - declaration
    argTypes:
    - idl_declaration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: delete_declaration
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - idl_delete_name
    - idl_free
    linkageType: ''
    returnType: void
    signature: void delete_declaration(idl_declaration_t *declaration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:91,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:92,1
    - Dst: create_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:94,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/scope.c:97,1
    - Dst: delete_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - pstate
    - kind
    - name
    - node
    - scopep
    argTypes:
    - idl_pstate_t*
    - enum idl_scope_kind
    - idl_name_t*
    - void*
    - idl_scope_t**
    assertStmts:
    - condition: (name)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (node || kind == IDL_GLOBAL_SCOPE)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: idl_create_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 5
    functionsReached:
    - create_declaration
    - assert
    - delete_declaration
    - idl_malloc
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_create_scope(\n  idl_pstate_t *pstate,\n  enum idl_scope_kind
      kind,\n  const idl_name_t *name,\n  void *node,\n  idl_scope_t **scopep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_delete_scope
      Src: /src/cyclonedds/src/idl/src/scope.c:119,1
    - Dst: delete_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:120,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:124,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - scope
    argTypes:
    - idl_scope_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: idl_delete_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 6
    functionsReached:
    - idl_free
    - idl_delete_scope
    - delete_declaration
    linkageType: ''
    returnType: void
    signature: void idl_delete_scope(idl_scope_t *scope)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/scope.c:145,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pstate
    - scope
    - imported_scope
    argTypes:
    - idl_pstate_t*
    - idl_scope_t*
    - idl_scope_t*
    assertStmts:
    - condition: (scope->imports.last)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 158
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 158
    functionName: idl_import
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 1
    functionsReached:
    - idl_malloc
    - assert
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_import(\n  idl_pstate_t *pstate,\n  idl_scope_t
      *scope,\n  const idl_scope_t *imported_scope)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:166,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/scope.c:167,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/scope.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pstate
    - lhs
    - rhs
    argTypes:
    - idl_pstate_t*
    - void*
    - void*
    assertStmts:
    - condition: (pstate->scope->kind == IDL_ANNOTATION_SCOPE)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: is_consistent
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 5
    functionsReached:
    - assert
    - idl_mask
    linkageType: ''
    returnType: bool
    signature: "bool is_consistent(\n  const idl_pstate_t *pstate, const void *lhs,
      const void *rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/scope.c:173,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/scope.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: is_same_type
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: bool
    signature: bool is_same_type(const void *lhs, const void *rhs)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:188,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/scope.c:195,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:220,1
    - Dst: is_same_type
      Src: /src/cyclonedds/src/idl/src/scope.c:225,1
    - Dst: is_same_type
      Src: /src/cyclonedds/src/idl/src/scope.c:227,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:229,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/scope.c:229,1
    - Dst: is_same_type
      Src: /src/cyclonedds/src/idl/src/scope.c:251,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:254,1
    - Dst: is_consistent
      Src: /src/cyclonedds/src/idl/src/scope.c:261,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scope.c:266,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:266,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:276,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scope.c:277,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:277,1
    - Dst: create_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:283,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:290,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:294,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:309,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:309,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:312,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:312,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/scope.c:315,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/scope.c:316,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/scope.c:317,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:320,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/scope.c:322,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:332,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:335,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:338,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:339,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/scope.c:340,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/scope.c:342,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:343,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/scope.c:344,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:347,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:361,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 138
    argCount: 6
    argNames:
    - pstate
    - kind
    - name
    - node
    - scope
    - declarationp
    argTypes:
    - idl_pstate_t*
    - enum idl_declaration_kind
    - idl_name_t*
    - void*
    - idl_scope_t*
    - idl_declaration_t**
    assertStmts:
    - condition: (pstate && pstate->scope)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (kind != IDL_INSTANCE_DECLARATION)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (forward->type_spec == NULL)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (pstate->scope->declarations.last)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (pstate->scope->kind == IDL_ANNOTATION_SCOPE)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (!pstate->scope->declarations.last)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (cnt)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (len - cnt >= off)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (idl_mask(entry->node) & IDL_FORWARD)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (!cnt)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (last)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (len - cnt >= off)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (off == len)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 365
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 365
    functionName: idl_declare
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 14
    functionsReached:
    - idl_location
    - create_declaration
    - memcpy
    - assert
    - strlen
    - is_same_type
    - idl_calloc
    - idl_malloc
    - cmp
    - is_consistent
    - idl_error
    - idl_mask
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_declare(\n  idl_pstate_t *pstate,\n  enum idl_declaration_kind
      kind,\n  const idl_name_t *name,\n  void *node,\n  idl_scope_t *scope,\n  idl_declaration_t
      **declarationp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - scope
    - declaration
    argTypes:
    - idl_scope_t*
    - idl_declaration_t*
    assertStmts:
    - condition: (scope->declarations.first == declaration)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: is_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_annotation(const idl_scope_t *scope, const idl_declaration_t
      *declaration)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:391,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:392,1
    - Dst: is_annotation
      Src: /src/cyclonedds/src/idl/src/scope.c:399,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/scope.c:402,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/scope.c:414,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pstate
    - scope
    - name
    - flags
    argTypes:
    - idl_pstate_t*
    - idl_scope_t*
    - idl_name_t*
    - uint32_t
    assertStmts:
    - condition: (name)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (name->identifier)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (!entry)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 421
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 421
    functionName: idl_find
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 8
    functionsReached:
    - idl_find
    - assert
    - cmp
    - is_annotation
    linkageType: ''
    returnType: idl_declaration_t
    signature: "idl_declaration_t *\nidl_find(\n  const idl_pstate_t *pstate,\n  const
      idl_scope_t *scope,\n  const idl_name_t *name,\n  uint32_t flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:441,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/scope.c:442,1
    - Dst: cmp
      Src: /src/cyclonedds/src/idl/src/scope.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pstate
    - scope
    - scoped_name
    - flags
    argTypes:
    - idl_pstate_t*
    - idl_scope_t*
    - idl_scoped_name_t*
    - uint32_t
    assertStmts:
    - condition: (name->is_annotation == ((i == scoped_name->length - 1) && flags
        & IDL_FIND_ANNOTATION))
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 461
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 461
    functionName: idl_find_scoped_name
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 2
    functionsReached:
    - idl_find
    - assert
    - cmp
    linkageType: ''
    returnType: idl_declaration_t
    signature: "idl_declaration_t *\nidl_find_scoped_name(\n  const idl_pstate_t *pstate,\n
      \ const idl_scope_t *scope,\n  const idl_scoped_name_t *scoped_name,\n  uint32_t
      flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:473,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:474,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:475,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/scope.c:480,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/scope.c:480,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/scope.c:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pstate
    - scope
    - field_name
    - flags
    argTypes:
    - idl_pstate_t*
    - idl_scope_t*
    - idl_field_name_t*
    - uint32_t
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (field_name)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (scope)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 496
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 496
    functionName: idl_find_field_name
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 3
    functionsReached:
    - idl_find
    - idl_is_struct
    - assert
    - idl_is_union
    linkageType: ''
    returnType: idl_declaration_t
    signature: "idl_declaration_t *\nidl_find_field_name(\n  const idl_pstate_t *pstate,\n
      \ const idl_scope_t *scope,\n  const idl_field_name_t *field_name,\n  uint32_t
      flags)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:522,1
    - Dst: idl_find
      Src: /src/cyclonedds/src/idl/src/scope.c:526,1
    - Dst: namecmp
      Src: /src/cyclonedds/src/idl/src/scope.c:530,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scope.c:531,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:531,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scope.c:542,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:542,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/scope.c:557,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/scope.c:557,1
    - Dst: idl_declare
      Src: /src/cyclonedds/src/idl/src/scope.c:568,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - pstate
    - kind
    - scoped_name
    - declarationp
    argTypes:
    - idl_pstate_t*
    - enum idl_declaration_kind
    - idl_scoped_name_t*
    - idl_declaration_t**
    assertStmts:
    - condition: (scope)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 575
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 575
    functionName: idl_resolve
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 1
    functionsReached:
    - idl_find
    - idl_location
    - idl_declare
    - assert
    - idl_error
    - namecmp
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_resolve(\n  idl_pstate_t *pstate,\n  enum idl_declaration_kind
      kind,\n  const idl_scoped_name_t *scoped_name,\n  const idl_declaration_t **declarationp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pstate
    - scope
    argTypes:
    - idl_pstate_t*
    - idl_scope_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: idl_enter_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void idl_enter_scope(\n  idl_pstate_t *pstate,\n  idl_scope_t *scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:589,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - idl_pstate_t*
    assertStmts:
    - condition: (pstate->scope)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (pstate->scope != pstate->global_scope)
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: idl_exit_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void idl_exit_scope(\n  idl_pstate_t *pstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 601
    functionName: idl_scope
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 16
    functionsReached:
    - idl_declaration
    linkageType: ''
    returnType: idl_scope_t
    signature: idl_scope_t *idl_scope(const void *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_declaration
      Src: /src/cyclonedds/src/idl/src/scope.c:605,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:606,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/scope.c:606,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/scope.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts:
    - condition: (((const idl_node_t *)node)->declaration || idl_mask(node) & IDL_BITMASK)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/cyclonedds/src/idl/src/scope.c
    - condition: (!((const idl_node_t *)node)->declaration)
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/cyclonedds/src/idl/src/scope.c
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: idl_declaration
    functionSourceFile: /src/cyclonedds/src/idl/src/scope.c
    functionUses: 2
    functionsReached:
    - assert
    - idl_mask
    - idl_is_declaration
    linkageType: ''
    returnType: idl_declaration_t
    signature: idl_declaration_t *idl_declaration(const void *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:44,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:45,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:46,1
    - Dst: print
      Src: /src/cyclonedds/src/idl/src/print.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - strp
    - print
    - object
    - user_data
    argTypes:
    - char**
    - idl_print_t
    - void*
    - void*
    assertStmts:
    - condition: (strp)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (object)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (print)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/idl/src/print.c
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: idl_printa_arguments__
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - assert
    - print
    linkageType: ''
    returnType: int
    signature: "int idl_printa_arguments__(\n  char **strp, idl_print_t print, const
      void *object, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!printa.str)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/cyclonedds/src/idl/src/print.c
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: idl_printa_size__
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t idl_printa_size__(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: idl_printa_strp__
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **idl_printa_strp__(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:76,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:77,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:78,1
    - Dst: print
      Src: /src/cyclonedds/src/idl/src/print.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (printa.size)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (printa.strp)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (printa.str)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/idl/src/print.c
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: idl_printa__
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - assert
    - print
    linkageType: ''
    returnType: int
    signature: int idl_printa__(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/cyclonedds/src/idl/src/print.c:99,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/print.c:101,1
    - Dst: print
      Src: /src/cyclonedds/src/idl/src/print.c:103,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/print.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - strp
    - print
    - object
    - user_data
    argTypes:
    - char**
    - idl_print_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: idl_print__
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - idl_malloc
    - print
    - idl_free
    linkageType: ''
    returnType: int
    signature: "int idl_print__(\n  char **strp, idl_print_t print, const void *object,
      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/cyclonedds/src/idl/src/print.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dest
    - 'off'
    - size
    - src
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: copy
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 71
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void copy(\n  char *dest, size_t off, size_t size, const char *src,
      size_t len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/print.c:129,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/print.c:154,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/src/print.c:157,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 4
    argNames:
    - str
    - size
    - node
    - user_data
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 158
    functionName: print_base_type
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - abort
    - idl_type
    linkageType: ''
    returnType: int
    signature: "int print_base_type(\n  char *str, size_t size, const void *node,
      void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:166,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:168,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:170,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:172,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/print.c:174,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:175,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:176,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:176,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:181,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:183,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/print.c:185,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/print.c:187,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:188,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:189,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:190,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:192,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:195,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 4
    argNames:
    - str
    - size
    - node
    - user_data
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    assertStmts:
    - condition: (sep)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (ident)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (ident)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/idl/src/print.c
    - condition: (cnt <= off)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/cyclonedds/src/idl/src/print.c
    constantsTouched: []
    func_position:
      end: 201
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 201
    functionName: print_decl_type
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - idl_identifier
    - copy
    - idl_mask
    linkageType: ''
    returnType: int
    signature: "int print_decl_type(\n  char *str, size_t size, const void *node,
      void *user_data)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/print.c:212,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/src/print.c:213,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/print.c:214,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/src/print.c:215,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/print.c:217,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/print.c:217,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/print.c:220,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/src/print.c:221,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/print.c:221,1
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/idl/src/print.c:224,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/idl/src/print.c:224,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/print.c:225,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/print.c:248,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/src/print.c:249,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/print.c:249,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/print.c:253,1
    - Dst: idl_snprintf
      Src: /src/cyclonedds/src/idl/src/print.c:254,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/print.c:254,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/print.c:258,1
    - Dst: IDL_PRINT
      Src: /src/cyclonedds/src/idl/src/print.c:261,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:267,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:268,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:271,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:273,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:274,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:275,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/print.c:277,1
    - Dst: copy
      Src: /src/cyclonedds/src/idl/src/print.c:278,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/print.c:282,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 112
    argCount: 4
    argNames:
    - str
    - size
    - node
    - user_data
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    assertStmts:
    - condition: (idl_type(node) == IDL_SEQUENCE)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/cyclonedds/src/idl/src/print.c
    constantsTouched: []
    func_position:
      end: 284
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 284
    functionName: print_templ_type
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - idl_snprintf
    - IDL_PRINT
    - idl_bound
    - idl_is_base_type
    - abort
    - assert
    - strlen
    - idl_is_sequence
    - idl_is_xstring
    - copy
    - idl_free
    - idl_type_spec
    - idl_is_bounded
    - idl_type
    linkageType: ''
    returnType: int
    signature: "int print_templ_type(\n  char *str, size_t size, const void *node,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/idl/src/print.c:288,1
    - Dst: print_base_type
      Src: /src/cyclonedds/src/idl/src/print.c:289,1
    - Dst: idl_is_templ_type
      Src: /src/cyclonedds/src/idl/src/print.c:290,1
    - Dst: print_templ_type
      Src: /src/cyclonedds/src/idl/src/print.c:291,1
    - Dst: print_decl_type
      Src: /src/cyclonedds/src/idl/src/print.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - size
    - ptr
    - user_data
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: print_type
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - idl_is_base_type
    - idl_is_templ_type
    - print_base_type
    - print_templ_type
    - print_decl_type
    linkageType: ''
    returnType: int
    signature: int print_type(char *str, size_t size, const void *ptr, void *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/idl/src/print.c:297,1
    - Dst: print_base_type
      Src: /src/cyclonedds/src/idl/src/print.c:298,1
    - Dst: idl_is_templ_type
      Src: /src/cyclonedds/src/idl/src/print.c:299,1
    - Dst: print_templ_type
      Src: /src/cyclonedds/src/idl/src/print.c:300,1
    - Dst: print_decl_type
      Src: /src/cyclonedds/src/idl/src/print.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - size
    - ptr
    - user_data
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: print_scoped_name
    functionSourceFile: /src/cyclonedds/src/idl/src/print.c
    functionUses: 0
    functionsReached:
    - idl_is_base_type
    - idl_is_templ_type
    - print_base_type
    - print_templ_type
    - print_decl_type
    linkageType: ''
    returnType: int
    signature: int print_scoped_name(char *str, size_t size, const void *ptr, void
      *user_data)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/visit.c:20,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: idl_accept
    functionSourceFile: /src/cyclonedds/src/idl/src/visit.c
    functionUses: 0
    functionsReached:
    - idl_mask
    linkageType: ''
    returnType: idl_accept_t
    signature: idl_accept_t idl_accept(const void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:77,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stack
    argTypes:
    - struct stack*
    assertStmts:
    - condition: (stack)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/idl/src/visit.c
    - condition: (stack->depth && stack->depth == stack->path.length)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/idl/src/visit.c
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: pop
    functionSourceFile: /src/cyclonedds/src/idl/src/visit.c
    functionUses: 25
    functionsReached:
    - assert
    linkageType: ''
    returnType: idl_node_t
    signature: idl_node_t *pop(struct stack *stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:89,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/visit.c:96,1
    - Dst: __pragma
      Src: /src/cyclonedds/src/idl/src/visit.c:101,1
    - Dst: warning
      Src: /src/cyclonedds/src/idl/src/visit.c:101,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/visit.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - stack
    - node
    argTypes:
    - struct stack*
    - idl_node_t*
    assertStmts:
    - condition: (stack->depth == stack->path.length)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/idl/src/visit.c
    constantsTouched: []
    func_position:
      end: 116
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 116
    functionName: push
    functionSourceFile: /src/cyclonedds/src/idl/src/visit.c
    functionUses: 17
    functionsReached:
    - __pragma
    - assert
    - idl_realloc
    - warning
    linkageType: ''
    returnType: idl_node_t
    signature: idl_node_t *push(struct stack *stack, const idl_node_t *node)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:155,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:156,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:157,1
    - Dst: push
      Src: /src/cyclonedds/src/idl/src/visit.c:163,1
    - Dst: idl_accept
      Src: /src/cyclonedds/src/idl/src/visit.c:169,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/visit.c:177,1
    - Dst: callback
      Src: /src/cyclonedds/src/idl/src/visit.c:180,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/visit.c:187,1
    - Dst: callback
      Src: /src/cyclonedds/src/idl/src/visit.c:189,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/visit.c:210,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/visit.c:212,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/visit.c:213,1
    - Dst: push
      Src: /src/cyclonedds/src/idl/src/visit.c:214,1
    - Dst: idl_iterate
      Src: /src/cyclonedds/src/idl/src/visit.c:219,1
    - Dst: push
      Src: /src/cyclonedds/src/idl/src/visit.c:221,1
    - Dst: callback
      Src: /src/cyclonedds/src/idl/src/visit.c:234,1
    - Dst: pop
      Src: /src/cyclonedds/src/idl/src/visit.c:238,1
    - Dst: pop
      Src: /src/cyclonedds/src/idl/src/visit.c:240,1
    - Dst: idl_iterate
      Src: /src/cyclonedds/src/idl/src/visit.c:242,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/visit.c:244,1
    - Dst: push
      Src: /src/cyclonedds/src/idl/src/visit.c:246,1
    - Dst: __pragma
      Src: /src/cyclonedds/src/idl/src/visit.c:257,1
    - Dst: warning
      Src: /src/cyclonedds/src/idl/src/visit.c:257,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/visit.c:259,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/visit.c:260,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/visit.c:266,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/visit.c:267,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 115
    argCount: 4
    argNames:
    - pstate
    - node
    - visitor
    - user_data
    argTypes:
    - idl_pstate_t*
    - void*
    - idl_visitor_t*
    - void*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/idl/src/visit.c
    - condition: (node)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/cyclonedds/src/idl/src/visit.c
    - condition: (visitor)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/idl/src/visit.c
    - condition: (node)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/cyclonedds/src/idl/src/visit.c
    constantsTouched: []
    func_position:
      end: 272
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 272
    functionName: idl_visit
    functionSourceFile: /src/cyclonedds/src/idl/src/visit.c
    functionUses: 7
    functionsReached:
    - __pragma
    - callback
    - idl_accept
    - idl_iterate
    - idl_next
    - pop
    - assert
    - strcmp
    - warning
    - idl_strip
    - idl_free
    - idl_type_spec
    - idl_mask
    - push
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_visit(\n  const idl_pstate_t *pstate,\n  const void
      *node,\n  const idl_visitor_t *visitor,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_md5_init
      Src: /src/cyclonedds/src/idl/src/hashid.c:26,1
    - Dst: idl_md5_append
      Src: /src/cyclonedds/src/idl/src/hashid.c:27,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/hashid.c:27,1
    - Dst: idl_md5_finish
      Src: /src/cyclonedds/src/idl/src/hashid.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: idl_hashid
    functionSourceFile: /src/cyclonedds/src/idl/src/hashid.c
    functionUses: 3
    functionsReached:
    - idl_md5_finish
    - strlen
    - idl_md5_init
    - idl_md5_append
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t idl_hashid(const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:50,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:54,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:55,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:56,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:57,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:59,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:60,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:61,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:62,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:63,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - dtm
    - node
    argTypes:
    - struct descriptor_type_meta*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: push_type
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 4
    functionsReached:
    - idl_calloc
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t push_type (struct descriptor_type_meta *dtm, const void
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dtm
    - node
    argTypes:
    - struct descriptor_type_meta*
    - void*
    assertStmts:
    - condition: (dtm->stack)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->node == node)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pop_type
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t pop_type (struct descriptor_type_meta *dtm, const void
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_write_sampleLE
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - desc
    - os
    argTypes:
    - void*
    - struct dds_cdrstream_desc*
    - dds_ostreamLE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: xcdr2_ser
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 7
    functionsReached:
    - dds_stream_write_sampleLE
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t xcdr2_ser (\n  const void *obj,\n  const struct dds_cdrstream_desc
      *desc,\n  dds_ostreamLE_t *os)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:112,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:113,1
    - Dst: idl_realloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:114,1
    - Dst: IDL_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:117,1
    - Dst: IDL_WARNING_GNUC_OFF
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:118,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:120,1
    - Dst: IDL_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:125,1
    - Dst: IDL_WARNING_GNUC_ON
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:126,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - seq
    - elem
    - elem_size
    argTypes:
    - dds_sequence_t*
    - void*
    - size_t
    assertStmts:
    - condition: (seq->_length < UINT32_MAX)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: ((seq->_length + 1) <= SIZE_MAX / elem_size)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: add_to_seq_generic
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_realloc
    - memcpy
    - assert
    - IDL_WARNING_GNUC_ON
    - IDL_WARNING_GNUC_OFF
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t add_to_seq_generic(dds_sequence_t *seq, const void *elem,
      size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - struct_
    - ','
    - seq_prefix_
    - ','
    - elem_type_
    - ','
    - seq_suffix_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: ADD_TO_SEQ_GENERIC
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TO_SEQ_GENERIC(struct_, seq_prefix_, elem_type_, seq_suffix_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:151,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:152,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - idl_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: has_non_plain_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idl_next
    linkageType: ''
    returnType: bool
    signature: bool has_non_plain_annotation (const idl_type_spec_t *type_spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:164,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:166,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:166,1
    - Dst: has_non_plain_annotation
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - type_spec
    - alias_related_type
    argTypes:
    - idl_type_spec_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: has_plain_collection_typeid_impl
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - idl_is_sequence
    - idl_is_alias
    - has_non_plain_annotation
    linkageType: ''
    returnType: bool
    signature: bool has_plain_collection_typeid_impl (const idl_type_spec_t *type_spec,
      bool alias_related_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_plain_collection_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - idl_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: has_plain_collection_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - has_plain_collection_typeid_impl
    linkageType: ''
    returnType: bool
    signature: bool has_plain_collection_typeid (const idl_type_spec_t *type_spec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_alias
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:180,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:182,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:184,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:187,1
    - Dst: has_non_plain_annotation
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:187,1
    - Dst: idl_is_sequence
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:190,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:191,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:192,1
    - Dst: has_non_plain_annotation
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:193,1
    - Dst: has_non_plain_annotation
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:194,1
    - Dst: idl_is_xstring
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:196,1
    - Dst: idl_is_base_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:196,1
    - Dst: has_non_plain_annotation
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - type_spec
    - array_type_spec
    - alias_related_type
    argTypes:
    - idl_type_spec_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: has_fully_descriptive_typeid_impl
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached:
    - idl_is_array
    - has_non_plain_annotation
    - idl_is_base_type
    - idl_is_sequence
    - idl_is_alias
    - idl_is_xstring
    - idl_type_spec
    - has_fully_descriptive_typeid_impl
    linkageType: ''
    returnType: bool
    signature: bool has_fully_descriptive_typeid_impl (const idl_type_spec_t *type_spec,
      bool array_type_spec, bool alias_related_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_spec
    argTypes:
    - idl_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: has_fully_descriptive_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - has_fully_descriptive_typeid_impl
    linkageType: ''
    returnType: bool
    signature: bool has_fully_descriptive_typeid (const idl_type_spec_t *type_spec)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:223,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:224,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:224,1
    - Dst: has_plain_collection_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:224,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:227,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:230,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:231,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:236,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:237,1
    - Dst: add_to_seq_DDS_XTypes_SBound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:239,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:242,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:243,1
    - Dst: get_array_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:245,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:246,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:252,1
    - Dst: get_array_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:253,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:254,1
    - Dst: add_to_seq_DDS_XTypes_LBound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:256,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:259,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:261,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:267,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:286,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:289,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:291,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:294,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:300,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:303,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:305,1
    - Dst: idl_bound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:308,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:315,1
    - Dst: get_sequence_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:318,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:319,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:320,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:320,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:322,1
    - Dst: get_sequence_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:329,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:330,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:331,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:331,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:333,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:341,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 146
    argCount: 6
    argNames:
    - pstate
    - dtm
    - type_spec
    - alias_related_type
    - ti
    - kind
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - idl_type_spec_t*
    - bool
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeKind
    assertStmts:
    - condition: (ti)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (has_fully_descriptive_typeid_impl (type_spec, false, alias_related_type)
        || has_plain_collection_typeid_impl (type_spec, alias_related_type))
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (array_exprs)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (literal->value.uint32 <= UINT8_MAX)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 345
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 345
    functionName: get_plain_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - get_typeid
    - idl_next
    - idl_bound
    - abort
    - has_fully_descriptive_typeid
    - assert
    - idl_is_bounded
    - get_array_element_flags
    - idl_calloc
    - add_to_seq_DDS_XTypes_LBound
    - idl_type_spec
    - has_fully_descriptive_typeid_impl
    - get_sequence_element_flags
    - has_plain_collection_typeid_impl
    - add_to_seq_DDS_XTypes_SBound
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_plain_typeid (const idl_pstate_t *pstate, struct
      descriptor_type_meta *dtm, const idl_type_spec_t *type_spec, bool alias_related_type,
      DDS_XTypes_TypeIdentifier *ti, DDS_XTypes_TypeKind kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:352,1
    - Dst: idl_md5_init
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:358,1
    - Dst: idl_md5_append
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:359,1
    - Dst: idl_md5_finish
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:360,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:361,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - to
    argTypes:
    - DDS_XTypes_EquivalenceHash
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 364
    functionName: get_type_hash
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached:
    - idl_md5_finish
    - memcpy
    - xcdr2_ser
    - dds_ostreamLE_fini
    - idl_md5_init
    - idl_md5_append
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_type_hash (DDS_XTypes_EquivalenceHash hash, const
      DDS_XTypes_TypeObject *to)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:371,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:372,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:372,1
    - Dst: has_plain_collection_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:372,1
    - Dst: idl_strip
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:374,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:380,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:380,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:380,1
    - Dst: get_type_hash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:385,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:388,1
    - Dst: get_type_hash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - pstate
    - dtm
    - type_spec
    - ti
    - kind
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - idl_type_spec_t*
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeKind
    assertStmts:
    - condition: (ti)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (!has_fully_descriptive_typeid (type_spec) && !has_plain_collection_typeid
        (type_spec))
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (kind == DDS_XTypes_EK_MINIMAL)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: get_hashed_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - has_plain_collection_typeid
    - idl_identifier
    - idl_strip
    - get_type_hash
    - idl_error
    - has_fully_descriptive_typeid
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t get_hashed_typeid (const idl_pstate_t *pstate, struct
      descriptor_type_meta *dtm, const idl_type_spec_t *type_spec, DDS_XTypes_TypeIdentifier
      *ti, DDS_XTypes_TypeKind kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idl_md5_init
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:402,1
    - Dst: idl_md5_append
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:403,1
    - Dst: strlen
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:403,1
    - Dst: idl_md5_finish
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:404,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name_hash
    - name
    argTypes:
    - DDS_XTypes_NameHash
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: get_namehash
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 5
    functionsReached:
    - idl_md5_finish
    - memcpy
    - strlen
    - idl_md5_init
    - idl_md5_append
    linkageType: ''
    returnType: void
    signature: void get_namehash (DDS_XTypes_NameHash name_hash, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - _struct
    argTypes:
    - idl_struct_t*
    assertStmts:
    - condition: (_struct->extensibility.value == IDL_FINAL)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 425
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 425
    functionName: get_struct_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_XTypes_StructTypeFlag
    signature: DDS_XTypes_StructTypeFlag get_struct_flags(const idl_struct_t *_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - member
    argTypes:
    - idl_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 461
    functionName: get_struct_member_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_StructMemberFlag
    signature: DDS_XTypes_StructMemberFlag get_struct_member_flags(const idl_member_t
      *member)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - _union
    argTypes:
    - idl_union_t*
    assertStmts:
    - condition: (_union->extensibility.value == IDL_FINAL)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 480
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 480
    functionName: get_union_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_XTypes_UnionTypeFlag
    signature: DDS_XTypes_UnionTypeFlag get_union_flags(const idl_union_t *_union)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - switch_type_spec
    argTypes:
    - idl_switch_type_spec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: get_union_discriminator_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_UnionDiscriminatorFlag
    signature: DDS_XTypes_UnionDiscriminatorFlag get_union_discriminator_flags(const
      idl_switch_type_spec_t *switch_type_spec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_default_case
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - _case
    argTypes:
    - idl_case_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 519
    functionName: get_union_case_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_is_default_case
    linkageType: ''
    returnType: DDS_XTypes_UnionMemberFlag
    signature: DDS_XTypes_UnionMemberFlag get_union_case_flags(const idl_case_t *_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seq
    argTypes:
    - idl_sequence_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: get_sequence_element_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_CollectionElementFlag
    signature: DDS_XTypes_CollectionElementFlag get_sequence_element_flags(const idl_sequence_t
      *seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: get_array_element_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_CollectionElementFlag
    signature: DDS_XTypes_CollectionElementFlag get_array_element_flags(const idl_node_t
      *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _bitmask
    argTypes:
    - idl_bitmask_t*
    assertStmts:
    - condition: (_bitmask->extensibility.value == IDL_FINAL)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 562
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 562
    functionName: get_bitmask_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_XTypes_BitmaskTypeFlag
    signature: DDS_XTypes_BitmaskTypeFlag get_bitmask_flags(const idl_bitmask_t *_bitmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _enum
    argTypes:
    - idl_enum_t*
    assertStmts:
    - condition: (_enum->extensibility.value == IDL_FINAL)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: get_enum_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: DDS_XTypes_EnumTypeFlag
    signature: DDS_XTypes_EnumTypeFlag get_enum_flags(const idl_enum_t *_enum)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _enum
    - _enumerator
    argTypes:
    - idl_enum_t*
    - idl_enumerator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: get_enum_literal_flags
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DDS_XTypes_EnumeratedLiteralFlag
    signature: DDS_XTypes_EnumeratedLiteralFlag get_enum_literal_flags(const idl_enum_t
      *_enum, const idl_enumerator_t *_enumerator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:599,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:600,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:602,1
    - Dst: has_plain_collection_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:602,1
    - Dst: get_plain_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:603,1
    - Dst: get_hashed_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 7
    argNames:
    - pstate
    - dtm
    - type_spec
    - alias_related_type
    - ti
    - kind
    - array_element
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - idl_type_spec_t*
    - bool
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeKind
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 586
    functionDepth: 6
    functionLinenumber: 586
    functionLinenumberEnd: 610
    functionName: get_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 11
    functionsReached:
    - idl_is_array
    - get_plain_typeid
    - get_hashed_typeid
    - idl_type_spec
    - has_fully_descriptive_typeid_impl
    - has_plain_collection_typeid_impl
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_typeid(\n  const idl_pstate_t *pstate,\n  struct
      descriptor_type_meta *dtm,\n  const idl_type_spec_t *type_spec,\n  bool alias_related_type,
      /* FIXME: refactor so that this parameter is not required */\n  DDS_XTypes_TypeIdentifier
      *ti,\n  DDS_XTypes_TypeKind kind,\n  bool array_element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:625,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:631,1
    - Dst: get_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:632,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:633,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:634,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:634,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - pstate
    - dtm
    - type_spec
    - alias_related_type
    - ti
    - kind
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - idl_type_spec_t*
    - bool
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeKind
    assertStmts:
    - condition: (ret == IDL_RETCODE_OK)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (!ddsi_typeid_compare ((struct ddsi_typeid *) ti, (struct ddsi_typeid
        *) &ti_tmp))
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 639
      start: 612
    functionDepth: 6
    functionLinenumber: 612
    functionLinenumberEnd: 639
    functionName: get_check_type_spec_typeid
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_typeid
    - assert
    - memset
    - dds_stream_free_sample
    - ddsi_typeid_compare
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_check_type_spec_typeid(\n  const idl_pstate_t *pstate,\n
      \ struct descriptor_type_meta *dtm,\n  const idl_type_spec_t *type_spec,\n  bool
      alias_related_type, /* FIXME: refactor so that this parameter is not required
      */\n  DDS_XTypes_TypeIdentifier *ti,\n  DDS_XTypes_TypeKind kind)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_check_type_spec_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:651,1
    - Dst: get_check_type_spec_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - pstate
    - dtm
    - type_spec
    - alias_related_type
    - ti_minimal
    - ti_complete
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - idl_type_spec_t*
    - bool
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 641
    functionDepth: 7
    functionLinenumber: 641
    functionLinenumberEnd: 656
    functionName: get_type_spec_typeids
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_check_type_spec_typeid
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_type_spec_typeids(\n  const idl_pstate_t *pstate,\n
      \ struct descriptor_type_meta *dtm,\n  const idl_type_spec_t *type_spec,\n  bool
      alias_related_type, /* FIXME: refactor so that this parameter is not required
      */\n  DDS_XTypes_TypeIdentifier *ti_minimal,\n  DDS_XTypes_TypeIdentifier *ti_complete)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:663,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 2
    argNames:
    - val
    - lit
    argTypes:
    - struct DDS_XTypes_AnnotationParameterValue*
    - idl_literal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 732
    functionName: set_xtypes_annotation_parameter_value
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t set_xtypes_annotation_parameter_value(\n  struct DDS_XTypes_AnnotationParameterValue
      *val,\n  const idl_literal_t *lit)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:742,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:748,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:748,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:751,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:752,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:753,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:755,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:756,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:758,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:758,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:759,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:759,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:760,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:762,1
    - Dst: idl_strdup
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:774,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:781,1
    - Dst: set_xtypes_annotation_parameter_value
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:785,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:790,1
    - Dst: set_xtypes_annotation_parameter_value
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:794,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:808,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:810,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:812,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:814,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:815,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 2
    argNames:
    - node
    - ann_builtin
    argTypes:
    - idl_node_t*
    - DDS_XTypes_AppliedBuiltinMemberAnnotations**
    assertStmts:
    - condition: (idl_type(a->parameters->const_expr) == IDL_STRING)
      pos:
        line_end: 757
        line_start: 757
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (idl_is_literal(a->parameters->const_expr))
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 818
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 818
    functionName: get_builtin_member_ann
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - set_xtypes_annotation_parameter_value
    - idl_next
    - idl_is_member
    - idl_is_literal
    - assert
    - strcmp
    - idl_calloc
    - idl_free
    - idl_strdup
    - idl_is_case
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_builtin_member_ann(\n  const idl_node_t *node,\n
      \ DDS_XTypes_AppliedBuiltinMemberAnnotations **ann_builtin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - ann_builtin
    argTypes:
    - idl_node_t*
    - DDS_XTypes_AppliedBuiltinTypeAnnotations**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: get_builtin_type_ann
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_builtin_type_ann(\n  const idl_node_t *node,\n  DDS_XTypes_AppliedBuiltinTypeAnnotations
      **ann_builtin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - ann_custom
    argTypes:
    - idl_node_t*
    - DDS_XTypes_AppliedAnnotationSeq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 838
    functionName: get_custom_ann
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_custom_ann(\n  const idl_node_t *node,\n  DDS_XTypes_AppliedAnnotationSeq
      **ann_custom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:846,1
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:848,1
    - Dst: get_builtin_type_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:850,1
    - Dst: get_custom_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - detail
    argTypes:
    - idl_node_t*
    - DDS_XTypes_CompleteTypeDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: get_complete_type_detail
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_strlcpy
    - get_builtin_type_ann
    - IDL_PRINTA
    - get_custom_ann
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_complete_type_detail(\n  const idl_node_t *node,\n
      \ DDS_XTypes_CompleteTypeDetail *detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_strlcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:861,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:861,1
    - Dst: get_builtin_member_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:862,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:862,1
    - Dst: get_custom_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - detail
    argTypes:
    - idl_node_t*
    - DDS_XTypes_CompleteMemberDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: get_complete_member_detail
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - idl_identifier
    - get_builtin_member_ann
    - idl_strlcpy
    - get_custom_ann
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_complete_member_detail(\n  const idl_node_t *node,\n
      \ DDS_XTypes_CompleteMemberDetail *detail)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:876,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:877,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:878,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:878,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:878,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:881,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:883,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:885,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:887,1
    - Dst: get_struct_member_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:890,1
    - Dst: get_namehash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:891,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:891,1
    - Dst: get_complete_member_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:892,1
    - Dst: add_to_seq_DDS_XTypes_MinimalStructMember
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:895,1
    - Dst: add_to_seq_DDS_XTypes_CompleteStructMember
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pstate
    - dtm
    - to_minimal
    - to_complete
    - node
    - type_spec
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - DDS_XTypes_TypeObject*
    - DDS_XTypes_TypeObject*
    - void*
    - idl_type_spec_t*
    assertStmts:
    - condition: (to_minimal->_u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 875
        line_start: 875
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (idl_is_member (idl_parent (node)))
      pos:
        line_end: 877
        line_start: 877
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (to_complete->_u.complete._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 901
      start: 871
    functionDepth: 8
    functionLinenumber: 871
    functionLinenumberEnd: 901
    functionName: add_struct_member
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached:
    - idl_parent
    - idl_is_member
    - get_complete_member_detail
    - assert
    - add_to_seq_DDS_XTypes_CompleteStructMember
    - memset
    - idl_identifier
    - get_namehash
    - get_struct_member_flags
    - get_type_spec_typeids
    - add_to_seq_DDS_XTypes_MinimalStructMember
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t add_struct_member (const idl_pstate_t *pstate, struct
      descriptor_type_meta *dtm, DDS_XTypes_TypeObject *to_minimal, DDS_XTypes_TypeObject
      *to_complete, const void *node, const idl_type_spec_t *type_spec)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:911,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:912,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:913,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:913,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:913,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:916,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:918,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:920,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:921,1
    - Dst: get_union_case_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:924,1
    - Dst: get_namehash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:925,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:925,1
    - Dst: get_complete_member_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:926,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:930,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:934,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:935,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:941,1
    - Dst: idl_calloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:942,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:943,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:944,1
    - Dst: idl_case_label_intvalue
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:945,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:949,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:949,1
    - Dst: add_to_seq_DDS_XTypes_MinimalUnionMember
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:959,1
    - Dst: add_to_seq_DDS_XTypes_CompleteUnionMember
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:961,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:967,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:969,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:971,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:973,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:976,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:981,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 6
    argNames:
    - pstate
    - dtm
    - to_minimal
    - to_complete
    - node
    - type_spec
    argTypes:
    - idl_pstate_t*
    - struct descriptor_type_meta*
    - DDS_XTypes_TypeObject*
    - DDS_XTypes_TypeObject*
    - void*
    - idl_type_spec_t*
    assertStmts:
    - condition: (to_minimal->_u.complete._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (to_complete->_u.complete._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 911
        line_start: 911
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (idl_is_case (idl_parent (node)))
      pos:
        line_end: 912
        line_start: 912
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 985
      start: 906
    functionDepth: 8
    functionLinenumber: 906
    functionLinenumberEnd: 985
    functionName: add_union_case
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_parent
    - idl_next
    - add_to_seq_DDS_XTypes_MinimalUnionMember
    - get_union_case_flags
    - get_complete_member_detail
    - assert
    - memset
    - idl_identifier
    - get_namehash
    - idl_calloc
    - idl_case_label_intvalue
    - add_to_seq_DDS_XTypes_CompleteUnionMember
    - idl_error
    - idl_is_case
    - get_type_spec_typeids
    - idl_mask
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t add_union_case(const idl_pstate_t *pstate, struct descriptor_type_meta
      *dtm, DDS_XTypes_TypeObject *to_minimal, DDS_XTypes_TypeObject *to_complete,
      const void *node, const idl_type_spec_t *type_spec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:995,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:995,1
    - Dst: has_plain_collection_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:995,1
    - Dst: get_type_hash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:998,1
    - Dst: get_type_hash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:999,1
    - Dst: pop_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1003,1
    - Dst: push_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - type_kind
    - node
    - revisit
    - dtm
    argTypes:
    - uint8_t
    - void*
    - bool
    - struct descriptor_type_meta*
    assertStmts:
    - condition: (!has_fully_descriptive_typeid (node) && !has_plain_collection_typeid
        (node))
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1018
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1018
    functionName: emit_hashed_type
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - push_type
    - assert
    - has_plain_collection_typeid
    - pop_type
    - get_type_hash
    - has_fully_descriptive_typeid
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_hashed_type(\n  uint8_t type_kind,\n  const void
      *node,\n  bool revisit,\n  struct descriptor_type_meta *dtm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1029,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1029,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1032,1
    - Dst: has_fully_descriptive_typeid_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1032,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1035,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1036,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1038,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1038,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1044,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1050,1
    - Dst: get_builtin_member_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1052,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pstate
    - revisit
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_ALIAS)
      pos:
        line_end: 1034
        line_start: 1034
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_ALIAS)
      pos:
        line_end: 1035
        line_start: 1035
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1058
      start: 1020
    functionDepth: 8
    functionLinenumber: 1020
    functionLinenumberEnd: 1058
    functionName: add_typedef
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - get_complete_type_detail
    - assert
    - get_builtin_member_ann
    - idl_type_spec
    - has_fully_descriptive_typeid_impl
    - get_type_spec_typeids
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t add_typedef (\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const void *node,\n  void *user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1069,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1072,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1073,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1074,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1080,1
    - Dst: get_sequence_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1087,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1089,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1095,1
    - Dst: add_to_seq_DDS_XTypes_LBound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1096,1
    - Dst: add_to_seq_DDS_XTypes_LBound
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1099,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pstate
    - revisit
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_ARRAY)
      pos:
        line_end: 1071
        line_start: 1071
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_ARRAY)
      pos:
        line_end: 1072
        line_start: 1072
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1106
      start: 1060
    functionDepth: 8
    functionLinenumber: 1060
    functionLinenumberEnd: 1106
    functionName: add_array
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_sequence_element_flags
    - idl_next
    - get_complete_type_detail
    - assert
    - add_to_seq_DDS_XTypes_LBound
    - idl_type_spec
    - get_type_spec_typeids
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t add_array (\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const void *node,\n  void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1123,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1124,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1126,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1129,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1137,1
    - Dst: get_struct_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 1122
        line_start: 1122
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 1123
        line_start: 1123
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1149
      start: 1108
    functionDepth: 8
    functionLinenumber: 1108
    functionLinenumberEnd: 1149
    functionName: emit_struct
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_complete_type_detail
    - get_struct_flags
    - assert
    - get_type_spec_typeids
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_struct(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1165,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1166,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1168,1
    - Dst: get_union_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1176,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 1164
        line_start: 1164
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1183
      start: 1151
    functionDepth: 6
    functionLinenumber: 1151
    functionLinenumberEnd: 1183
    functionName: emit_union
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_union_flags
    - assert
    - get_complete_type_detail
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_union(\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1200,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1201,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1201,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1201,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1202,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1203,1
    - Dst: get_union_discriminator_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1209,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1210,1
    - Dst: get_builtin_type_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1212,1
    - Dst: get_custom_ann
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1213,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (tm->to_complete->_u.complete._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (idl_is_union (idl_parent (node)))
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1221
      start: 1185
    functionDepth: 8
    functionLinenumber: 1185
    functionLinenumberEnd: 1221
    functionName: emit_switch_type_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - get_builtin_type_ann
    - get_union_discriminator_flags
    - assert
    - get_type_spec_typeids
    - get_custom_ann
    - idl_type_spec
    - idl_is_union
    - has_fully_descriptive_typeid
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_switch_type_spec(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1238
    functionName: emit_inherit_spec
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_inherit_spec(\n  const idl_pstate_t *pstate,\n
      \ bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idl_is_typedef
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1253,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1253,1
    - Dst: add_typedef
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1254,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1255,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1256,1
    - Dst: has_plain_collection_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1256,1
    - Dst: add_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1257,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1264,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1265,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1267,1
    - Dst: add_struct_member
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1268,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1268,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1268,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1271,1
    - Dst: add_union_case
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1272,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1272,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1272,1
    - Dst: abort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1275,1
    - Dst: idl_is_array
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1278,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1278,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (tm)
      pos:
        line_end: 1263
        line_start: 1263
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (tm->to_complete->_u.complete._d == DDS_XTypes_TK_UNION)
      pos:
        line_end: 1270
        line_start: 1270
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (tm->to_complete->_u.complete._d == DDS_XTypes_TK_STRUCTURE)
      pos:
        line_end: 1266
        line_start: 1266
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (!tm->finalized)
      pos:
        line_end: 1264
        line_start: 1264
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1286
      start: 1240
    functionDepth: 9
    functionLinenumber: 1240
    functionLinenumberEnd: 1286
    functionName: emit_declarator
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_is_array
    - add_array
    - idl_parent
    - abort
    - add_union_case
    - has_plain_collection_typeid
    - assert
    - add_struct_member
    - idl_is_typedef
    - idl_type_spec
    - add_typedef
    - has_fully_descriptive_typeid
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_declarator (\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1293
    functionName: enum_literal_minimal_compare
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enum_literal_minimal_compare (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1300
    functionName: enum_literal_complete_compare
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enum_literal_complete_compare (const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1317,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1318,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1324,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1325,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1327,1
    - Dst: get_enum_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1335,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 1316
        line_start: 1316
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 1317
        line_start: 1317
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1341
      start: 1302
    functionDepth: 6
    functionLinenumber: 1302
    functionLinenumberEnd: 1341
    functionName: emit_enum
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - qsort
    - get_complete_type_detail
    - assert
    - get_enum_flags
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_enum (\n  const idl_pstate_t *pstate,\n  bool revisit,\n
      \ const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1362,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1362,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1362,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1363,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1364,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1367,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1369,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1372,1
    - Dst: get_namehash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1374,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1374,1
    - Dst: get_enum_literal_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1375,1
    - Dst: get_complete_member_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1376,1
    - Dst: add_to_seq_DDS_XTypes_MinimalEnumeratedLiteral
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1379,1
    - Dst: add_to_seq_DDS_XTypes_CompleteEnumeratedLiteral
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (idl_is_enum (idl_parent (node)))
      pos:
        line_end: 1361
        line_start: 1361
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (tm->to_minimal->_u.minimal._d == DDS_XTypes_TK_ENUM && tm->to_complete->_u.complete._d
        == DDS_XTypes_TK_ENUM)
      pos:
        line_end: 1363
        line_start: 1363
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (enumerator->value.value <= INT32_MAX)
      pos:
        line_end: 1371
        line_start: 1371
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1385
      start: 1346
    functionDepth: 5
    functionLinenumber: 1346
    functionLinenumberEnd: 1385
    functionName: emit_enumerator
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - add_to_seq_DDS_XTypes_CompleteEnumeratedLiteral
    - idl_parent
    - get_enum_literal_flags
    - get_complete_member_detail
    - assert
    - memset
    - idl_is_enum
    - get_namehash
    - idl_identifier
    - add_to_seq_DDS_XTypes_MinimalEnumeratedLiteral
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_enumerator (\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1392
    functionName: bitflag_minimal_compare
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitflag_minimal_compare (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: bitflag_complete_compare
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitflag_complete_compare (const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1416,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1417,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1422,1
    - Dst: qsort
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1423,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1425,1
    - Dst: get_bitmask_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1433,1
    - Dst: get_complete_type_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 1415
        line_start: 1415
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 1416
        line_start: 1416
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1439
      start: 1401
    functionDepth: 6
    functionLinenumber: 1401
    functionLinenumberEnd: 1439
    functionName: emit_bitmask
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - qsort
    - get_complete_type_detail
    - assert
    - get_bitmask_flags
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_bitmask(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1460,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1461,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1461,1
    - Dst: idl_parent
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1461,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1462,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1465,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1467,1
    - Dst: get_namehash
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1471,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1471,1
    - Dst: get_complete_member_detail
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1472,1
    - Dst: add_to_seq_DDS_XTypes_MinimalBitflag
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1474,1
    - Dst: add_to_seq_DDS_XTypes_CompleteBitflag
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1476,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1483,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1484,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1488,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (tm->to_complete->_u.complete._d == DDS_XTypes_TK_BITMASK)
      pos:
        line_end: 1459
        line_start: 1459
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (idl_is_bitmask (idl_parent (node)))
      pos:
        line_end: 1460
        line_start: 1460
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (!dtm->stack->finalized)
      pos:
        line_end: 1461
        line_start: 1461
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1497
      start: 1444
    functionDepth: 5
    functionLinenumber: 1444
    functionLinenumberEnd: 1497
    functionName: emit_bit_value
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_parent
    - add_to_seq_DDS_XTypes_MinimalBitflag
    - get_complete_member_detail
    - assert
    - memset
    - idl_identifier
    - get_namehash
    - add_to_seq_DDS_XTypes_CompleteBitflag
    - idl_free
    - idl_is_bitmask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_bit_value (\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: has_plain_collection_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1515,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1520,1
    - Dst: has_fully_descriptive_typeid
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1520,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1523,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1524,1
    - Dst: get_type_spec_typeids
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1525,1
    - Dst: idl_type_spec
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1525,1
    - Dst: emit_hashed_type
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1533,1
    - Dst: get_sequence_element_flags
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts:
    - condition: (!has_fully_descriptive_typeid (node))
      pos:
        line_end: 1519
        line_start: 1519
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_complete->_u.complete._d == DDS_XTypes_TK_SEQUENCE)
      pos:
        line_end: 1523
        line_start: 1523
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (dtm->stack->to_minimal->_u.minimal._d == DDS_XTypes_TK_SEQUENCE)
      pos:
        line_end: 1522
        line_start: 1522
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1550
      start: 1499
    functionDepth: 8
    functionLinenumber: 1499
    functionLinenumberEnd: 1550
    functionName: emit_sequence
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - get_sequence_element_flags
    - assert
    - has_plain_collection_typeid
    - idl_type_spec
    - get_type_spec_typeids
    - has_fully_descriptive_typeid
    - emit_hashed_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_sequence(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pstate
    - revisit
    - path
    - node
    - user_data
    argTypes:
    - idl_pstate_t*
    - bool
    - idl_path_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1566
    functionName: emit_forward
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t emit_forward(\n  const idl_pstate_t *pstate,\n  bool
      revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1574,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1579,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - fp
    - kind
    - type
    - data
    - sz
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1568
    functionDepth: 3
    functionLinenumber: 1568
    functionLinenumberEnd: 1588
    functionName: print_ser_data
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t print_ser_data(FILE *fp, const char *kind, const char
      *type, unsigned char *data, uint32_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1597,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1598,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1599,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1601,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - typeid_with_size
    - ti
    - to
    argTypes:
    - DDS_XTypes_TypeIdentifierWithSize*
    - DDS_XTypes_TypeIdentifier*
    - DDS_XTypes_TypeObject*
    assertStmts:
    - condition: (ti)
      pos:
        line_end: 1596
        line_start: 1596
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    - condition: (to)
      pos:
        line_end: 1597
        line_start: 1597
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1606
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1606
    functionName: get_typeid_with_size
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - dds_ostreamLE_fini
    - xcdr2_ser
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t get_typeid_with_size (\n    DDS_XTypes_TypeIdentifierWithSize
      *typeid_with_size,\n    DDS_XTypes_TypeIdentifier *ti,\n    DDS_XTypes_TypeObject
      *to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ti
    argTypes:
    - DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1608
    functionDepth: 6
    functionLinenumber: 1608
    functionLinenumberEnd: 1612
    functionName: type_id_fini
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void type_id_fini (DDS_XTypes_TypeIdentifier *ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - to
    argTypes:
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1614
    functionDepth: 6
    functionLinenumber: 1614
    functionLinenumberEnd: 1618
    functionName: type_obj_fini
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - dds_stream_free_sample
    linkageType: ''
    returnType: void
    signature: void type_obj_fini (DDS_XTypes_TypeObject *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1627,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1627,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1632,1
    - Dst: ddsi_make_typeid_str
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - typeid_with_deps
    argTypes:
    - FILE*
    - struct DDS_XTypes_TypeIdentifierWithDependencies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1620
    functionDepth: 3
    functionLinenumber: 1620
    functionLinenumberEnd: 1636
    functionName: print_typeid_with_deps
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - ddsi_make_typeid_str
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t print_typeid_with_deps (\n  FILE *fp,\n  const struct
      DDS_XTypes_TypeIdentifierWithDependencies *typeid_with_deps)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1643,1
    - Dst: print_typeid_with_deps
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1646,1
    - Dst: print_typeid_with_deps
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1649,1
    - Dst: idl_fprintf
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - type_information
    argTypes:
    - FILE*
    - struct DDS_XTypes_TypeInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1638
    functionDepth: 4
    functionLinenumber: 1638
    functionLinenumberEnd: 1656
    functionName: print_typeinformation_comment
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - print_typeid_with_deps
    - idl_fprintf
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t print_typeinformation_comment (\n  FILE *fp,\n  const
      struct DDS_XTypes_TypeInformation *type_information)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1667,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1668,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1684,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1684,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1684,1
    - Dst: idl_visit
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pstate
    - node
    - dtm
    argTypes:
    - idl_pstate_t*
    - idl_node_t*
    - struct descriptor_type_meta*
    assertStmts:
    - condition: (idl_is_struct (node) || idl_is_union (node))
      pos:
        line_end: 1683
        line_start: 1683
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    constantsTouched: []
    func_position:
      end: 1690
      start: 1658
    functionDepth: 4
    functionLinenumber: 1658
    functionLinenumberEnd: 1690
    functionName: generate_descriptor_type_meta
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 3
    functionsReached:
    - idl_visit
    - assert
    - memset
    - idl_is_struct
    - idl_is_union
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_descriptor_type_meta (\n  const idl_pstate_t
      *pstate,\n  const idl_node_t *node,\n  struct descriptor_type_meta *dtm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_id_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1697,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1698,1
    - Dst: type_obj_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1699,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1700,1
    - Dst: type_id_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1702,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1703,1
    - Dst: type_obj_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1704,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1705,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dtm
    argTypes:
    - struct descriptor_type_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1692
    functionDepth: 7
    functionLinenumber: 1692
    functionLinenumberEnd: 1711
    functionName: descriptor_type_meta_fini
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 3
    functionsReached:
    - type_obj_fini
    - type_id_fini
    - idl_free
    linkageType: ''
    returnType: void
    signature: void descriptor_type_meta_fini (struct descriptor_type_meta *dtm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1717,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type_information
    argTypes:
    - struct DDS_XTypes_TypeInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1720
    functionName: xtypes_typeinfo_fini
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: void xtypes_typeinfo_fini (struct DDS_XTypes_TypeInformation *type_information)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1727,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1729,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mapping
    argTypes:
    - DDS_XTypes_TypeMapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1732
    functionName: generate_type_meta_ser_impl_free_mapping_buffers
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - idl_free
    linkageType: ''
    returnType: void
    signature: "void generate_type_meta_ser_impl_free_mapping_buffers (\n  DDS_XTypes_TypeMapping
      *mapping)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: generate_descriptor_type_meta
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1749,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1752,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1755,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1756,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1763,1
    - Dst: ddsi_typeid_compare
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1770,1
    - Dst: add_to_seq_DDS_XTypes_TypeIdentifierWithSize
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1773,1
    - Dst: get_typeid_with_size
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1778,1
    - Dst: add_to_seq_DDS_XTypes_TypeIdentifierWithSize
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1780,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1785,1
    - Dst: memset
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1790,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1795,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1796,1
    - Dst: add_to_seq_DDS_XTypes_TypeIdentifierTypeObjectPair
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1797,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1800,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1801,1
    - Dst: add_to_seq_DDS_XTypes_TypeIdentifierTypeObjectPair
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1802,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1805,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1806,1
    - Dst: add_to_seq_DDS_XTypes_TypeIdentifierPair
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1807,1
    - Dst: xcdr2_ser
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1811,1
    - Dst: generate_type_meta_ser_impl_free_mapping_buffers
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1814,1
    - Dst: descriptor_type_meta_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1815,1
    - Dst: generate_type_meta_ser_impl_free_mapping_buffers
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1820,1
    - Dst: xtypes_typeinfo_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1823,1
    - Dst: descriptor_type_meta_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1825,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 5
    argNames:
    - pstate
    - node
    - type_information
    - os_typeinfo
    - os_typemap
    argTypes:
    - idl_pstate_t*
    - idl_node_t*
    - struct DDS_XTypes_TypeInformation*
    - dds_ostreamLE_t*
    - dds_ostreamLE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1738
    functionDepth: 8
    functionLinenumber: 1738
    functionLinenumberEnd: 1827
    functionName: generate_type_meta_ser_impl
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - add_to_seq_DDS_XTypes_TypeIdentifierTypeObjectPair
    - generate_descriptor_type_meta
    - add_to_seq_DDS_XTypes_TypeIdentifierWithSize
    - descriptor_type_meta_fini
    - memcpy
    - xcdr2_ser
    - memset
    - generate_type_meta_ser_impl_free_mapping_buffers
    - xtypes_typeinfo_fini
    - ddsi_typeid_compare
    - add_to_seq_DDS_XTypes_TypeIdentifierPair
    - get_typeid_with_size
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_type_meta_ser_impl (\n  const idl_pstate_t
      *pstate,\n  const idl_node_t *node,\n  struct DDS_XTypes_TypeInformation *type_information,\n
      \ dds_ostreamLE_t *os_typeinfo,\n  dds_ostreamLE_t *os_typemap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IDL_PRINTA
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1841,1
    - Dst: generate_type_meta_ser_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1844,1
    - Dst: print_typeinformation_comment
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1847,1
    - Dst: print_ser_data
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1849,1
    - Dst: print_ser_data
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1850,1
    - Dst: xtypes_typeinfo_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1853,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1854,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - fp
    - state
    - node
    argTypes:
    - FILE*
    - idl_pstate_t*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1829
    functionDepth: 9
    functionLinenumber: 1829
    functionLinenumberEnd: 1857
    functionName: print_type_meta_ser
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 1
    functionsReached:
    - generate_type_meta_ser_impl
    - print_typeinformation_comment
    - print_ser_data
    - xtypes_typeinfo_fini
    - dds_ostreamLE_fini
    - IDL_PRINTA
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t print_type_meta_ser (\n  FILE *fp,\n  const idl_pstate_t
      *state,\n  const idl_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generate_type_meta_ser_impl
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1870,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1877,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1881,1
    - Dst: idl_malloc
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1882,1
    - Dst: idl_free
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1883,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1887,1
    - Dst: xtypes_typeinfo_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1890,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1891,1
    - Dst: dds_ostreamLE_fini
      Src: /src/cyclonedds/src/idl/src/descriptor_type_meta.c:1892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - state
    - node
    - result
    argTypes:
    - idl_pstate_t*
    - idl_node_t*
    - idl_typeinfo_typemap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1859
    functionDepth: 9
    functionLinenumber: 1859
    functionLinenumberEnd: 1894
    functionName: generate_type_meta_ser
    functionSourceFile: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
    functionUses: 0
    functionsReached:
    - memcpy
    - generate_type_meta_ser_impl
    - idl_malloc
    - xtypes_typeinfo_fini
    - dds_ostreamLE_fini
    - idl_free
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t generate_type_meta_ser (\n  const idl_pstate_t *state,\n
      \ const idl_node_t *node,\n  idl_typeinfo_typemap_t *result)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:35,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:36,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:38,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:38,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:40,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:42,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:45,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:45,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:46,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:50,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:52,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:53,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:53,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:57,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:57,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:61,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_ULONG)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (decl)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 70
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 70
    functionName: annotate_id
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_next
    - idl_is_member
    - assert
    - idl_error
    - idl_is_case
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_id(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:81,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:84,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:84,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:88,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:90,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:93,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:93,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:94,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:98,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:100,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:101,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:101,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:105,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:105,1
    - Dst: idl_hashid
      Src: /src/cyclonedds/src/idl/src/annotation.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_STRING)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (decl)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 117
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 117
    functionName: annotate_hashid
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_hashid
    - idl_next
    - idl_is_member
    - assert
    - idl_error
    - idl_is_case
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_hashid(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:128,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:130,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:131,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:134,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:134,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:139,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/annotation.c:143,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/annotation.c:147,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:152,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:152,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (strcmp(enumerator, "SEQUENTIAL") == 0)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 158
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 158
    functionName: annotate_autoid
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - strcmp
    - idl_identifier
    - idl_is_struct
    - idl_error
    - idl_is_union
    - idl_construct
    - idl_is_module
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_autoid(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:170,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:171,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:175,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:175,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:179,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:180,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:180,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:184,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:184,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:188,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(const_expr) == IDL_BOOL)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: annotate_optional
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_is_member
    - assert
    - idl_error
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_optional(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:209,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:210,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/annotation.c:213,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:214,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:214,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:215,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:219,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:221,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:224,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:224,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:226,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:229,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:229,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:231,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:237,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:237,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:239,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 246
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 246
    functionName: annotate_value
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_is_enumerator
    - assert
    - idl_intval
    - idl_error
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_value(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:258,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:259,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:260,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:261,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:262,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:263,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:264,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:265,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:268,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/annotation.c:271,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/annotation.c:274,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/annotation.c:277,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:282,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:285,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:285,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:289,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:289,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:294,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:296,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:299,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:299,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:303,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:308,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:308,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/annotation.c:315,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/annotation.c:315,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:317,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:317,1
    - Dst: idl_allowable_data_representations
      Src: /src/cyclonedds/src/idl/src/annotation.c:324,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:325,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:325,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters->const_expr)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (!annotationp == !extensibilityp)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_strcasecmp(annotation, "final") == 0)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 333
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 333
    functionName: annotate_extensibility
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_strcasecmp
    - assert
    - idl_identifier
    - idl_is_enum
    - idl_allowable_data_representations
    - idl_is_struct
    - idl_error
    - idl_is_union
    - idl_is_bitmask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_extensibility(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:343,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:344,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:348,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:348,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:352,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:356,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:356,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:360,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:360,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:367,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:371,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_BOOL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 377
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 377
    functionName: annotate_key
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_error
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_key(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:390,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:391,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:393,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/annotation.c:396,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:402,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:402,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:403,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:407,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:407,1
    - Dst: idl_identifier_is
      Src: /src/cyclonedds/src/idl/src/annotation.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - pstate
    - annotation_appl
    - node
    - nested
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    - bool
    assertStmts:
    - condition: (annotation)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 419
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 419
    functionName: set_nested
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 2
    functionsReached:
    - idl_location
    - assert
    - idl_identifier
    - idl_is_struct
    - idl_identifier_is
    - idl_error
    - idl_is_union
    - idl_construct
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t set_nested(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node,\n  bool nested)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:431,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:432,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:435,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:436,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:436,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:440,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:440,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:443,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:443,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:444,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:444,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:450,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:451,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/annotation.c:454,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (literal)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 466
      start: 421
    functionDepth: 6
    functionLinenumber: 421
    functionLinenumberEnd: 466
    functionName: annotate_default
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_evaluate
    - idl_is_member
    - assert
    - idl_error
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_default(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:474,1
    - Dst: idl_is_enumerator
      Src: /src/cyclonedds/src/idl/src/annotation.c:476,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:477,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 485
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 485
    functionName: annotate_default_literal
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_is_enumerator
    - assert
    - idl_location
    - idl_error
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_default_literal(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:496,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:497,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:501,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:501,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:505,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:506,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:506,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:510,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_BOOL)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 519
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 519
    functionName: annotate_must_understand
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_is_member
    - assert
    - idl_error
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_must_understand(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:522,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:523,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:528,1
    - Dst: idl_floatval
      Src: /src/cyclonedds/src/idl/src/annotation.c:529,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - lit
    argTypes:
    - idl_literal_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: idl_arithmetic_to_double
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_intval
    - idl_floatval
    - idl_type
    linkageType: ''
    returnType: idl_floatval_t
    signature: idl_floatval_t idl_arithmetic_to_double(const idl_literal_t *lit)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:547,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:550,1
    - Dst: idl_is_literal
      Src: /src/cyclonedds/src/idl/src/annotation.c:550,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:551,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:553,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:558,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:559,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:564,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:566,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:566,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:572,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:572,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:578,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:578,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:582,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:582,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:590,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:596,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:596,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:652,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:652,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:658,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:658,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:663,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:663,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:665,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:665,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:672,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:682,1
    - Dst: idl_is_integer_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:696,1
    - Dst: idl_is_integer_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:696,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:698,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:698,1
    - Dst: idl_is_integer_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:718,1
    - Dst: idl_is_integer_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:718,1
    - Dst: idl_is_integer_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:721,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:722,1
    - Dst: idl_intval
      Src: /src/cyclonedds/src/idl/src/annotation.c:724,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:729,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:729,1
    - Dst: idl_arithmetic_to_double
      Src: /src/cyclonedds/src/idl/src/annotation.c:735,1
    - Dst: idl_arithmetic_to_double
      Src: /src/cyclonedds/src/idl/src/annotation.c:735,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:739,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:739,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 144
    argCount: 5
    argNames:
    - pstate
    - parent
    - param
    - node
    - to_max
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_annotation_appl_param_t*
    - idl_node_t*
    - bool
    assertStmts:
    - condition: (param)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_is_literal(const_expr))
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 747
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 747
    functionName: check_and_attach_minmax
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_arithmetic_to_double
    - idl_is_member
    - idl_is_literal
    - assert
    - idl_intval
    - idl_error
    - idl_is_case
    - idl_is_integer_type
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t check_and_attach_minmax(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *parent,\n  idl_annotation_appl_param_t *param,\n  idl_node_t
      *node,\n  bool to_max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IDL_FOREACH
      Src: /src/cyclonedds/src/idl/src/annotation.c:758,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:762,1
    - Dst: check_and_attach_minmax
      Src: /src/cyclonedds/src/idl/src/annotation.c:763,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:764,1
    - Dst: check_and_attach_minmax
      Src: /src/cyclonedds/src/idl/src/annotation.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 771
    functionName: annotate_range
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_strcasecmp
    - check_and_attach_minmax
    - IDL_FOREACH
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_range(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_and_attach_minmax
      Src: /src/cyclonedds/src/idl/src/annotation.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 5
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: annotate_min
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - check_and_attach_minmax
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_min(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_and_attach_minmax
      Src: /src/cyclonedds/src/idl/src/annotation.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 5
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: annotate_max
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - check_and_attach_minmax
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_max(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:799,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:800,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:802,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:802,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:805,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:808,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:812,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 798
        line_start: 798
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_STRING)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 799
        line_start: 799
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 819
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 819
    functionName: annotate_unit
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_is_member
    - assert
    - idl_error
    - idl_is_case
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_unit(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:827,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:828,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:830,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:830,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:833,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:837,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:837,1
    - Dst: idl_name
      Src: /src/cyclonedds/src/idl/src/annotation.c:838,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/annotation.c:842,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:845,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/annotation.c:848,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:850,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:850,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:857,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (literal->value.uint64 <= UINT32_MAX)
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_BITMASK)
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 863
      start: 821
    functionDepth: 4
    functionLinenumber: 821
    functionLinenumberEnd: 863
    functionName: annotate_datarepresentation
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_name
    - idl_is_struct
    - idl_error
    - idl_is_union
    - idl_is_module
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_datarepresentation(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:875,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:875,1
    - Dst: set_nested
      Src: /src/cyclonedds/src/idl/src/annotation.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (idl_mask(literal) == (IDL_LITERAL|IDL_BOOL))
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 880
      start: 865
    functionDepth: 5
    functionLinenumber: 865
    functionLinenumberEnd: 880
    functionName: annotate_nested
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - assert
    - idl_mask
    - set_nested
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_nested(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:891,1
    - Dst: idl_identifier_is
      Src: /src/cyclonedds/src/idl/src/annotation.c:892,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:893,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:893,1
    - Dst: idl_identifier_is
      Src: /src/cyclonedds/src/idl/src/annotation.c:895,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/annotation.c:896,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:896,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:902,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:902,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/annotation.c:903,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:903,1
    - Dst: set_nested
      Src: /src/cyclonedds/src/idl/src/annotation.c:908,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (idl_mask(p->const_expr) == (IDL_LITERAL|IDL_STRING))
      pos:
        line_end: 892
        line_start: 892
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 909
      start: 882
    functionDepth: 5
    functionLinenumber: 882
    functionLinenumberEnd: 909
    functionName: annotate_topic
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_warning
    - idl_location
    - idl_next
    - assert
    - strcmp
    - set_nested
    - idl_identifier_is
    - idl_mask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_topic(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:916,1
    - Dst: idl_is_struct
      Src: /src/cyclonedds/src/idl/src/annotation.c:917,1
    - Dst: idl_is_union
      Src: /src/cyclonedds/src/idl/src/annotation.c:921,1
    - Dst: idl_is_module
      Src: /src/cyclonedds/src/idl/src/annotation.c:925,1
    - Dst: set_implicitly_nested
      Src: /src/cyclonedds/src/idl/src/annotation.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 936
    functionName: set_implicitly_nested
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 1
    functionsReached:
    - set_implicitly_nested
    - idl_next
    - idl_is_struct
    - idl_is_union
    - idl_is_module
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t set_implicitly_nested(void *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:948,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:948,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:952,1
    - Dst: set_implicitly_nested
      Src: /src/cyclonedds/src/idl/src/annotation.c:961,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:963,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:963,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:968,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:968,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (idl_type(literal) == IDL_BOOL)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 972
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 972
    functionName: annotate_default_nested
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - set_implicitly_nested
    - assert
    - idl_error
    - idl_mask
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_default_nested(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:983,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:984,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:986,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:986,1
    - Dst: idl_is_bitmask
      Src: /src/cyclonedds/src/idl/src/annotation.c:989,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:991,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:991,1
    - Dst: idl_is_enum
      Src: /src/cyclonedds/src/idl/src/annotation.c:998,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1000,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1000,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1008,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_USHORT)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1013
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 1013
    functionName: annotate_bit_bound
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_type
    - assert
    - idl_is_enum
    - idl_error
    - idl_is_bitmask
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_bit_bound(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1024,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:1024,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:1028,1
    - Dst: idl_mask
      Src: /src/cyclonedds/src/idl/src/annotation.c:1032,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1037,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (idl_type(literal) == IDL_BOOL)
      pos:
        line_end: 1023
        line_start: 1023
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1042
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1042
    functionName: annotate_external
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_error
    - idl_mask
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_external(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1052,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1053,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1055,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:1055,1
    - Dst: idl_is_bit_value
      Src: /src/cyclonedds/src/idl/src/annotation.c:1057,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1062,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1062,1
    - Dst: idl_construct
      Src: /src/cyclonedds/src/idl/src/annotation.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 1051
        line_start: 1051
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->parameters)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_USHORT)
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1068
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1068
    functionName: annotate_position
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - assert
    - idl_error
    - idl_is_bit_value
    - idl_construct
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_position(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1076,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1085,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:1085,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1086,1
    - Dst: idl_is_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:1089,1
    - Dst: idl_is_case
      Src: /src/cyclonedds/src/idl/src/annotation.c:1094,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1100,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1100,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1105,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1110,1
    - Dst: idl_strcasecmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1112,1
    - Dst: idl_is_bounded
      Src: /src/cyclonedds/src/idl/src/annotation.c:1114,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1115,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1115,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1121,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1121,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 1075
        line_start: 1075
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (idl_type(literal) == IDL_ENUM)
      pos:
        line_end: 1084
        line_start: 1084
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (0)
      pos:
        line_end: 1122
        line_start: 1122
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1129
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1129
    functionName: annotate_try_construct
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_strcasecmp
    - idl_is_member
    - assert
    - idl_identifier
    - idl_error
    - idl_is_case
    - idl_is_bounded
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t annotate_try_construct(\n  idl_pstate_t *pstate,\n  idl_annotation_appl_t
      *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1139,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1140,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1141,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1144,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1145,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1146,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1147,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1148,1
    - Dst: strcmp
      Src: /src/cyclonedds/src/idl/src/annotation.c:1149,1
    - Dst: idl_warning
      Src: /src/cyclonedds/src/idl/src/annotation.c:1150,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pstate
    - annotation_appl
    - node
    argTypes:
    - idl_pstate_t*
    - idl_annotation_appl_t*
    - idl_node_t*
    assertStmts:
    - condition: (annotation_appl)
      pos:
        line_end: 1138
        line_start: 1138
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->annotation->name)
      pos:
        line_end: 1140
        line_start: 1140
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (annotation_appl->annotation)
      pos:
        line_end: 1139
        line_start: 1139
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1155
      start: 1131
    functionDepth: 3
    functionLinenumber: 1131
    functionLinenumberEnd: 1155
    functionName: warn_unsupported_annotation
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_warning
    - assert
    - strcmp
    - idl_location
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t warn_unsupported_annotation(\n  idl_pstate_t *pstate,\n
      \ idl_annotation_appl_t *annotation_appl,\n  idl_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - annotation_appl
    - annotation_member
    argTypes:
    - idl_annotation_appl_t*
    - idl_annotation_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1356
    functionName: find
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 80
    functionsReached:
    - idl_next
    linkageType: ''
    returnType: idl_annotation_appl_param_t
    signature: "idl_annotation_appl_param_t *\nfind(\n  const idl_annotation_appl_t
      *annotation_appl,\n  const idl_annotation_member_t *annotation_member)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1364,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1365,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1367,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1370,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1371,1
    - Dst: idl_type
      Src: /src/cyclonedds/src/idl/src/annotation.c:1372,1
    - Dst: idl_evaluate
      Src: /src/cyclonedds/src/idl/src/annotation.c:1373,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1375,1
    - Dst: idl_scope
      Src: /src/cyclonedds/src/idl/src/annotation.c:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pstate
    - node
    - appls
    argTypes:
    - idl_pstate_t*
    - void*
    - idl_annotation_appl_t*
    assertStmts:
    - condition: (ap->member)
      pos:
        line_end: 1369
        line_start: 1369
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (ap->member->type_spec)
      pos:
        line_end: 1370
        line_start: 1370
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (a->annotation)
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (literal)
      pos:
        line_end: 1374
        line_start: 1374
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1383
      start: 1358
    functionDepth: 6
    functionLinenumber: 1358
    functionLinenumberEnd: 1383
    functionName: eval
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 3
    functionsReached:
    - idl_next
    - idl_evaluate
    - assert
    - idl_scope
    - idl_type
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t eval(idl_pstate_t *pstate, void *node, idl_annotation_appl_t
      *appls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1391,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1395,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1396,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1397,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1399,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1400,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/annotation.c:1403,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1404,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1404,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1406,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1407,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/annotation.c:1410,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1414,1
    - Dst: idl_is_annotation_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:1415,1
    - Dst: find
      Src: /src/cyclonedds/src/idl/src/annotation.c:1418,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1420,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1420,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1422,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1423,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1429,1
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1432,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1433,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1434,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1437,1
    - Dst: idl_is_annotation_member
      Src: /src/cyclonedds/src/idl/src/annotation.c:1439,1
    - Dst: find
      Src: /src/cyclonedds/src/idl/src/annotation.c:1444,1
    - Dst: find
      Src: /src/cyclonedds/src/idl/src/annotation.c:1446,1
    - Dst: idl_compare
      Src: /src/cyclonedds/src/idl/src/annotation.c:1448,1
    - Dst: idl_error
      Src: /src/cyclonedds/src/idl/src/annotation.c:1449,1
    - Dst: idl_location
      Src: /src/cyclonedds/src/idl/src/annotation.c:1449,1
    - Dst: idl_identifier
      Src: /src/cyclonedds/src/idl/src/annotation.c:1451,1
    - Dst: idl_unreference_node
      Src: /src/cyclonedds/src/idl/src/annotation.c:1455,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 3
    argNames:
    - pstate
    - node
    - appls
    argTypes:
    - idl_pstate_t*
    - void*
    - idl_annotation_appl_t*
    assertStmts:
    - condition: (ap->member)
      pos:
        line_end: 1396
        line_start: 1396
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (a->annotation)
      pos:
        line_end: 1431
        line_start: 1431
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    - condition: (a->annotation)
      pos:
        line_end: 1394
        line_start: 1394
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1460
      start: 1385
    functionDepth: 4
    functionLinenumber: 1385
    functionLinenumberEnd: 1460
    functionName: dedup
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 0
    functionsReached:
    - idl_location
    - idl_compare
    - idl_next
    - idl_is_annotation_member
    - assert
    - idl_unreference_node
    - idl_identifier
    - idl_error
    - find
    linkageType: ''
    returnType: idl_retcode_t
    signature: idl_retcode_t dedup(idl_pstate_t *pstate, void *node, idl_annotation_appl_t
      *appls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/idl/src/annotation.c:1470,1
    - Dst: eval
      Src: /src/cyclonedds/src/idl/src/annotation.c:1481,1
    - Dst: dedup
      Src: /src/cyclonedds/src/idl/src/annotation.c:1484,1
    - Dst: idl_next
      Src: /src/cyclonedds/src/idl/src/annotation.c:1487,1
    - Dst: callback
      Src: /src/cyclonedds/src/idl/src/annotation.c:1489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pstate
    - node
    - annotation_appls
    argTypes:
    - idl_pstate_t*
    - void*
    - idl_annotation_appl_t*
    assertStmts:
    - condition: (pstate)
      pos:
        line_end: 1469
        line_start: 1469
        source_file: /src/cyclonedds/src/idl/src/annotation.c
    constantsTouched: []
    func_position:
      end: 1495
      start: 1462
    functionDepth: 7
    functionLinenumber: 1462
    functionLinenumberEnd: 1495
    functionName: idl_annotate
    functionSourceFile: /src/cyclonedds/src/idl/src/annotation.c
    functionUses: 1
    functionsReached:
    - callback
    - idl_next
    - assert
    - dedup
    - eval
    linkageType: ''
    returnType: idl_retcode_t
    signature: "idl_retcode_t idl_annotate(\n  idl_pstate_t *pstate,\n  void *node,\n
      \ idl_annotation_appl_t *annotation_appls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - path
    - ','
    - output_dir
    - ','
    - base_dir
    - ','
    - out_ext
    - ','
    - out_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: IDL_GEN_OUTFILE
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/file.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_GEN_OUTFILE(path, output_dir, base_dir, out_ext, out_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: IDL_COMMA__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_COMMA__()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - shift_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: IDL_SHIFT__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_SHIFT__(shift_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - drop1_
    - ','
    - drop2_
    - ','
    - pick_
    - ','
    - '...'
    - )
    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: IDL_PICK__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_PICK__(drop1_, drop2_, pick_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eval_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: IDL_EVALUATE__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_EVALUATE__(eval_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: IDL_EXPAND__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_EXPAND__(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: IDL_EXPAND_AGAIN__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_EXPAND_AGAIN__(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: IDL_MAYBE__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_MAYBE__(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: IDL_ALLOCA__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_ALLOCA__(size_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: IDL_ALLOCA__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_ALLOCA__(size_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strp_
    - ','
    - print_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: IDL_PRINTA
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_PRINTA(strp_, print_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - strp_
    - ','
    - print_
    - ','
    - object_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: IDL_PRINTA__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_PRINTA__(strp_, print_, object_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - strp_
    - ','
    - print_
    - ','
    - object_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: IDL_PRINT__
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_PRINT__(strp_, print_, object_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strp_
    - ','
    - print_
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: IDL_PRINT
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/print.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_PRINT(strp_, print_, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: IDL_ANNOTATABLE
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_ANNOTATABLE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - node
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: IDL_FOREACH
    functionSourceFile: /src/cyclonedds/src/idl/include/idl/tree.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDL_FOREACH(node, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: fail_suite_init
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fail_suite_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: success_suite_init
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int success_suite_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: f_no_assert
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void f_no_assert (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_PASS
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: f_pass
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_PASS
    linkageType: ''
    returnType: void
    signature: void f_pass (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: f_fail
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    linkageType: ''
    returnType: void
    signature: void f_fail (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_FAIL_FATAL
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: f_fatal
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: void
    signature: void f_fatal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:43,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:44,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:45,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: test_fail_no_tests_at_all
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_get_number_of_failures
    - CU_basic_run_tests
    - CU_initialize_registry
    - CU_cleanup_registry
    linkageType: ''
    returnType: bool
    signature: bool test_fail_no_tests_at_all (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:53,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:54,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:55,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: test_fail_no_suite_no_test
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_get_number_of_failures
    - CU_basic_run_tests
    - CU_initialize_registry
    - CU_cleanup_registry
    linkageType: ''
    returnType: bool
    signature: bool test_fail_no_suite_no_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:63,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:64,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:65,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:66,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:67,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: test_fail_suite_no_test
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_cleanup_registry
    - CU_basic_run_tests
    linkageType: ''
    returnType: bool
    signature: bool test_fail_suite_no_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:75,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:76,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:77,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:78,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:79,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: test_fail_active_suite_no_test
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_cleanup_registry
    - CU_basic_run_tests
    linkageType: ''
    returnType: bool
    signature: bool test_fail_active_suite_no_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:87,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:88,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:89,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:90,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:91,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:92,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:93,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: test_fail_inactive_suite_test
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_inactive_suite_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:101,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:102,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:103,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:104,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:105,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:106,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:107,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: test_fail_active_suite_inactive_test
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_active_suite_inactive_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:115,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:116,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:117,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:118,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:119,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:120,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:121,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: test_pass
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_pass (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:129,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:130,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:131,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:132,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:133,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:134,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:135,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: test_fail_suite_init
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_suite_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:143,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:144,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:145,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:146,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:147,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:148,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:149,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:150,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:151,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:152,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:153,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: test_fail_suite_init2
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_suite_init2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:161,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:162,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:163,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:164,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:165,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:166,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:167,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: test_fail_no_assert
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_no_assert (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:175,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:176,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:177,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:178,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:179,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:180,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:181,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: test_pass_suite_init
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_pass_suite_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:189,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:190,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:191,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:192,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:193,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:194,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:195,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:196,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:197,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: test_pass_suite_init2
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_pass_suite_init2 (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:205,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:206,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:207,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:208,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:209,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:210,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:211,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: test_pass_test_fail
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_pass_test_fail (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:219,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:220,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:221,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:222,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:223,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:224,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:225,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: test_pass_test_fatal
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_pass_test_fatal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:233,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:234,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:235,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:236,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:237,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:238,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:239,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:240,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:241,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: test_fail_pass_after_fail
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_pass_after_fail (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:249,1
    - Dst: CU_add_suite
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:250,1
    - Dst: CU_set_suite_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:251,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:252,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:253,1
    - Dst: CU_add_test
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:254,1
    - Dst: CU_set_test_active
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:255,1
    - Dst: CU_basic_run_tests
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:256,1
    - Dst: CU_get_number_of_failures
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:257,1
    - Dst: CU_cleanup_registry
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: test_fail_pass_after_fatal
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 0
    functionsReached:
    - CU_add_suite
    - CU_initialize_registry
    - CU_get_number_of_failures
    - CU_set_suite_active
    - CU_add_test
    - CU_cleanup_registry
    - CU_basic_run_tests
    - CU_set_test_active
    linkageType: ''
    returnType: bool
    signature: bool test_fail_pass_after_fatal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: TEST
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:288,1
    - Dst: fflush
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:289,1
    - Dst: f
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:290,1
    - Dst: printf
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:291,1
    - Dst: printf
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:294,1
    - Dst: fflush
      Src: /src/cyclonedds/src/ucunit/tests/test_ucunit.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 300
    functionName: main
    functionSourceFile: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    functionUses: 77
    functionsReached:
    - f
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - CU_ErrorAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: CU_set_error_action
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CU_set_error_action (CU_ErrorAction action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:39,1
    - Dst: abort
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: CU_fatal
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - longjmp
    - abort
    linkageType: ''
    returnType: void
    signature: void CU_fatal (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:48,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:51,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:53,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:54,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:58,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:60,1
    - Dst: fflush
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - fp
    - msg
    - len
    argTypes:
    - FILE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: CU_hexdump
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void CU_hexdump (FILE *fp, const unsigned char *msg, const size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:68,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:73,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:76,1
    - Dst: abort
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:78,1
    - Dst: CU_fatal
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - value
    - line
    - expr
    - file
    - something
    - isfatal
    argTypes:
    - bool
    - int
    - char*
    - char*
    - char*
    - bool
    assertStmts:
    - condition: (cur_suite && cur_test)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/ucunit/src/ucunit.c
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: CU_assertImplementation
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - CU_fatal
    - malloc
    - abort
    linkageType: ''
    returnType: void
    signature: void CU_assertImplementation (bool value, int line, const char *expr,
      const char *file, const char *something, bool isfatal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: CU_initialize_registry
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: CU_ErrorCode
    signature: CU_ErrorCode CU_initialize_registry (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: CU_get_error_msg
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *CU_get_error_msg (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:117,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:118,1
    - Dst: abort
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:120,1
    - Dst: memcpy
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: ucunit_strdup
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - malloc
    - abort
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *ucunit_strdup (const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:128,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:132,1
    - Dst: abort
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:134,1
    - Dst: ucunit_strdup
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - strName
    - pInit
    - pClean
    argTypes:
    - char*
    - CU_InitializeFunc
    - CU_CleanupFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: CU_add_suite
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 14
    functionsReached:
    - abort
    - malloc
    - strcmp
    - ucunit_strdup
    linkageType: ''
    returnType: CU_pSuite
    signature: CU_pSuite CU_add_suite (const char *strName, CU_InitializeFunc pInit,
      CU_CleanupFunc pClean)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - strName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: CU_get_suite
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: CU_pSuite
    signature: CU_pSuite CU_get_suite (const char *strName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSuite
    - fNewActive
    argTypes:
    - CU_pSuite
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: CU_set_suite_active
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: CU_ErrorCode
    signature: CU_ErrorCode CU_set_suite_active (CU_pSuite pSuite, bool fNewActive)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:170,1
    - Dst: malloc
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:174,1
    - Dst: abort
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:176,1
    - Dst: ucunit_strdup
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pSuite
    - strName
    - pTestFunc
    argTypes:
    - CU_pSuite
    - char*
    - CU_TestFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: CU_add_test
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 12
    functionsReached:
    - abort
    - malloc
    - strcmp
    - ucunit_strdup
    linkageType: ''
    returnType: CU_pTest
    signature: CU_pTest CU_add_test (CU_pSuite pSuite, const char *strName, CU_TestFunc
      pTestFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTest
    - fNewActive
    argTypes:
    - CU_pTest
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: CU_set_test_active
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CU_set_test_active (CU_pTest pTest, bool fNewActive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: CU_get_error
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CU_ErrorCode
    signature: CU_ErrorCode CU_get_error (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:205,1
    - Dst: struct CU_Test*::testfunc
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct CU_Test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: runtest
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 0
    functionsReached:
    - struct CU_Test*::testfunc
    - setjmp
    linkageType: ''
    returnType: bool
    signature: bool runtest (struct CU_Test *test)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: struct CU_Suite*::init
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:225,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:227,1
    - Dst: runtest
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:238,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:245,1
    - Dst: struct CU_Suite*::cleanup
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:253,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:259,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:263,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:270,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:272,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:279,1
    - Dst: fprintf
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:282,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 289
    functionName: CU_basic_run_tests
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 16
    functionsReached:
    - struct CU_Suite*::cleanup
    - struct CU_Suite*::init
    - fprintf
    - runtest
    linkageType: ''
    returnType: CU_ErrorCode
    signature: CU_ErrorCode CU_basic_run_tests (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: CU_get_number_of_failures
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CU_get_number_of_failures (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:310,1
    - Dst: free
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:312,1
    - Dst: free
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:313,1
    - Dst: free
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:315,1
    - Dst: free
      Src: /src/cyclonedds/src/ucunit/src/ucunit.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: CU_cleanup_registry
    functionSourceFile: /src/cyclonedds/src/ucunit/src/ucunit.c
    functionUses: 16
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CU_cleanup_registry (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: CU_InitName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_InitName(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: CU_CleanName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_CleanName(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: CU_TestName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TestName(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: CU_TestProxyName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TestProxyName(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: CU_InitDecl
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_InitDecl(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: CU_Init
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Init(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: CU_CleanDecl
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_CleanDecl(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - suite
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: CU_Clean
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Clean(suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - suite
    - ','
    - test
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: CU_Test
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Test(suite, test, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: CU_TestDecl
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TestDecl(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: CU_Comma
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Comma()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - one
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CU_Reduce
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Reduce(one, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CU_Fixture__
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture__(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tuple
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CU_Fixture____
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture____(tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CU_Fixture__
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture__(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - throw
    - ','
    - away
    - ','
    - value
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: CU_Fixture___
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture___(throw, away, value, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: CU_Fixture
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - throwaway
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: CU_Fixture_
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Fixture_(throwaway, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: CU_TheoryDataPointsName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPointsName(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: CU_TheoryDataPointsTypeName
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPointsTypeName(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: CU_TheoryDataPointsSize
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPointsSize(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - suite
    - ','
    - test
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: CU_TheoryDataPointsSlice
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPointsSlice(suite, test, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: CU_TheoryDataPointsTypedef
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPointsTypedef(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: CU_TheoryDataPoints
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_TheoryDataPoints(suite, test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: CU_DataPoints
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_DataPoints(type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - signature
    - ','
    - suite
    - ','
    - test
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: CU_Theory
    functionSourceFile: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_Theory(signature, suite, test, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: CU_PASS
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_PASS(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: CU_FAIL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_FAIL(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: CU_FAIL_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_FAIL_FATAL(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: CU_ASSERT_PRINTF_FORMAT
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_PRINTF_FORMAT(T_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x_
    - ','
    - op_
    - ','
    - y_
    - ','
    - fatal_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: CU_ASSERT_OP_MAYBE_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_OP_MAYBE_FATAL(x_, op_, y_, fatal_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x_
    - ','
    - op_
    - ','
    - y_
    - ','
    - fatal_
    - )
    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: CU_ASSERT_OP_MAYBE_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_OP_MAYBE_FATAL(x_, op_, y_, fatal_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x_
    - ','
    - op_
    - ','
    - y_
    - ','
    - fatal_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: CU_ASSERT_STRING_OP_MAYBE_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_STRING_OP_MAYBE_FATAL(x_, op_, y_, fatal_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - x_
    - ','
    - xsz_
    - ','
    - y_
    - ','
    - ysz_
    - ','
    - fatal_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: CU_ASSERT_MEMEQ_MAYBE_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_MEMEQ_MAYBE_FATAL(x_, xsz_, y_, ysz_, fatal_)
  - 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: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: CU_ASSERT_EQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 199
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_EQ(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: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: CU_ASSERT_EQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 465
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_EQ_FATAL(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: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: CU_ASSERT_NEQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 97
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_NEQ(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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: CU_ASSERT_NEQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 299
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_NEQ_FATAL(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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: CU_ASSERT_GT
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_GT(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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: CU_ASSERT_GT_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_GT_FATAL(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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: CU_ASSERT_LT
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_LT(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: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: CU_ASSERT_LT_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_LT_FATAL(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: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: CU_ASSERT_GEQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_GEQ(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: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: CU_ASSERT_GEQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_GEQ_FATAL(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: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: CU_ASSERT_LEQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_LEQ(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: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: CU_ASSERT_LEQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_LEQ_FATAL(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: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: CU_ASSERT_STREQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_STREQ(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: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: CU_ASSERT_STREQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_STREQ_FATAL(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: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: CU_ASSERT_STRNEQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_STRNEQ(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: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: CU_ASSERT_STRNEQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_STRNEQ_FATAL(x_, y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x_
    - ','
    - xsz_
    - ','
    - y_
    - ','
    - ysz_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: CU_ASSERT_MEMEQ
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_MEMEQ(x_, xsz_, y_, ysz_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x_
    - ','
    - xsz_
    - ','
    - y_
    - ','
    - ysz_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: CU_ASSERT_MEMEQ_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_MEMEQ_FATAL(x_, xsz_, y_, ysz_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: CU_ASSERT
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT(x_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: CU_ASSERT_FATAL
    functionSourceFile: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CU_ASSERT_FATAL(x_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds::pub::DataWriter<HelloWorldData::Msg>::publication_matched_status
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:49,1
    - Dst: std::this_thread::sleep_for
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:50,1
    - Dst: std::chrono::milliseconds
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:50,1
    - Dst: dds::pub::DataWriter<HelloWorldData::Msg>::write
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:58,1
    - Dst: dds::pub::DataWriter<HelloWorldData::Msg>::publication_matched_status
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:67,1
    - Dst: std::this_thread::sleep_for
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:68,1
    - Dst: std::chrono::milliseconds
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:68,1
    - Dst: what
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp
    functionUses: 77
    functionsReached:
    - std::this_thread::sleep_for
    - what
    - dds::pub::DataWriter<HelloWorldData::Msg>::publication_matched_status
    - std::chrono::milliseconds
    - dds::pub::DataWriter<HelloWorldData::Msg>::write
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds::sub::DataReader<HelloWorldData::Msg>::take
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:56,1
    - Dst: dds::sub::LoanedSamples<HelloWorldData::Msg>::length
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:59,1
    - Dst: dds::sub::LoanedSamples<HelloWorldData::Msg>::begin
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:62,1
    - Dst: dds::sub::LoanedSamples<HelloWorldData::Msg>::end
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:63,1
    - Dst: dds::sub::LoanedSamples<HelloWorldData::Msg>::const_iterator::data
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:66,1
    - Dst: dds::sub::LoanedSamples<HelloWorldData::Msg>::const_iterator::info
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:67,1
    - Dst: valid
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:74,1
    - Dst: userID
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:76,1
    - Dst: message
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:77,1
    - Dst: std::this_thread::sleep_for
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:84,1
    - Dst: std::chrono::milliseconds
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:84,1
    - Dst: what
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:88,1
    - Dst: what
      Src: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp
    functionUses: 77
    functionsReached:
    - std::this_thread::sleep_for
    - what
    - message
    - valid
    - dds::sub::LoanedSamples<HelloWorldData::Msg>::const_iterator::data
    - userID
    - std::chrono::milliseconds
    - dds::sub::LoanedSamples<HelloWorldData::Msg>::begin
    - dds::sub::LoanedSamples<HelloWorldData::Msg>::end
    - dds::sub::LoanedSamples<HelloWorldData::Msg>::length
    - dds::sub::DataReader<HelloWorldData::Msg>::take
    - dds::sub::LoanedSamples<HelloWorldData::Msg>::const_iterator::info
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UINT32_C
    functionSourceFile: /src/cyclonedds/ports/solaris2.6/include/stdint.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: prvSetupHardware
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prvSetupHardware(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskENTER_CRITICAL
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:47,1
    - Dst: fprintf
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:49,1
    - Dst: taskEXIT_CRITICAL
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:51,1
    - Dst: abort
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ulLine
    - pcFileName
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vAssertCalled
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taskEXIT_CRITICAL
    - taskENTER_CRITICAL
    - abort
    linkageType: ''
    returnType: void
    signature: void vAssertCalled(unsigned long ulLine, const char * const pcFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vAssertCalled
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: vApplicationMallocFailedHook
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached:
    - vAssertCalled
    linkageType: ''
    returnType: void
    signature: void vApplicationMallocFailedHook(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: vApplicationIdleHook
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vApplicationIdleHook(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: vApplicationTickHook
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vApplicationTickHook( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: usage
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: help
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void help(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: real_main
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:97,1
    - Dst: vPortFree
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:98,1
    - Dst: vPortFree
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:99,1
    - Dst: vTaskDelete
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:100,1
    - Dst: _Exit
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: vMainTask
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 0
    functionsReached:
    - _Exit
    - vTaskDelete
    - real_main
    - vPortFree
    linkageType: ''
    returnType: void
    signature: void vMainTask(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:112,1
    - Dst: strrchr
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:113,1
    - Dst: pvPortMalloc
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:120,1
    - Dst: memset
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:124,1
    - Dst: getopt
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:127,1
    - Dst: help
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:130,1
    - Dst: exit
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:131,1
    - Dst: fprintf
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:133,1
    - Dst: usage
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:134,1
    - Dst: exit
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:135,1
    - Dst: fprintf
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:139,1
    - Dst: usage
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:140,1
    - Dst: exit
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:141,1
    - Dst: pvPortMalloc
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:147,1
    - Dst: prvSetupHardware
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:156,1
    - Dst: xTaskCreate
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:158,1
    - Dst: vTaskStartScheduler
      Src: /src/cyclonedds/ports/freertos-posix/src/loader.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc >= 0 && argv[0] != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
    constantsTouched: []
    func_position:
      end: 165
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/src/loader.c
    functionUses: 78
    functionsReached:
    - pvPortMalloc
    - strrchr
    - exit
    - fprintf
    - assert
    - memset
    - help
    - usage
    - vTaskStartScheduler
    - getopt
    - xTaskCreate
    - prvSetupHardware
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: configASSERT
    functionSourceFile: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: configASSERT( x )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/ports/zephyr/src/main.c:11,1
    - Dst: malloc
      Src: /src/cyclonedds/ports/zephyr/src/main.c:24,1
    - Dst: memset
      Src: /src/cyclonedds/ports/zephyr/src/main.c:25,1
    - Dst: strlen
      Src: /src/cyclonedds/ports/zephyr/src/main.c:36,1
    - Dst: malloc
      Src: /src/cyclonedds/ports/zephyr/src/main.c:37,1
    - Dst: strlen
      Src: /src/cyclonedds/ports/zephyr/src/main.c:43,1
    - Dst: malloc
      Src: /src/cyclonedds/ports/zephyr/src/main.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ddsi_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 50
    functionName: init_config
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - ddsi_config_init_default
    - malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void init_config(struct ddsi_config *cfg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_config
      Src: /src/cyclonedds/ports/zephyr/src/main.c:62,1
    - Dst: dds_create_domain_with_rawconfig
      Src: /src/cyclonedds/ports/zephyr/src/main.c:63,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/ports/zephyr/src/main.c:66,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:68,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:68,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/ports/zephyr/src/main.c:71,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:74,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:74,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/ports/zephyr/src/main.c:77,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:79,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:79,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:81,1
    - Dst: fflush
      Src: /src/cyclonedds/ports/zephyr/src/main.c:82,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/ports/zephyr/src/main.c:84,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:86,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:86,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/ports/zephyr/src/main.c:90,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:92,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:92,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/ports/zephyr/src/main.c:95,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/ports/zephyr/src/main.c:95,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:102,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:103,1
    - Dst: fflush
      Src: /src/cyclonedds/ports/zephyr/src/main.c:104,1
    - Dst: dds_write
      Src: /src/cyclonedds/ports/zephyr/src/main.c:106,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:108,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:108,1
    - Dst: dds_delete
      Src: /src/cyclonedds/ports/zephyr/src/main.c:111,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:113,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:113,1
    - Dst: dds_delete
      Src: /src/cyclonedds/ports/zephyr/src/main.c:115,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:117,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 118
    functionName: helloworld_publisher
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/main.c
    functionUses: 0
    functionsReached:
    - dds_create_topic
    - init_config
    - dds_create_domain_with_rawconfig
    - dds_create_participant
    - dds_get_status_changes
    - dds_write
    - dds_delete
    - dds_set_status_mask
    - dds_sleepfor
    - printf
    - DDS_FATAL
    - DDS_MSECS
    - dds_create_writer
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: void
    signature: void helloworld_publisher()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: init_config
      Src: /src/cyclonedds/ports/zephyr/src/main.c:134,1
    - Dst: dds_create_domain_with_rawconfig
      Src: /src/cyclonedds/ports/zephyr/src/main.c:135,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:137,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:137,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/ports/zephyr/src/main.c:140,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:142,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:142,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/ports/zephyr/src/main.c:145,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:148,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:148,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/ports/zephyr/src/main.c:151,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/ports/zephyr/src/main.c:152,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/ports/zephyr/src/main.c:152,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/ports/zephyr/src/main.c:154,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:156,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:156,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/ports/zephyr/src/main.c:157,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:159,1
    - Dst: fflush
      Src: /src/cyclonedds/ports/zephyr/src/main.c:160,1
    - Dst: HelloWorldData_Msg__alloc
      Src: /src/cyclonedds/ports/zephyr/src/main.c:164,1
    - Dst: dds_read
      Src: /src/cyclonedds/ports/zephyr/src/main.c:171,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:173,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:173,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:180,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:181,1
    - Dst: fflush
      Src: /src/cyclonedds/ports/zephyr/src/main.c:182,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/ports/zephyr/src/main.c:188,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/ports/zephyr/src/main.c:188,1
    - Dst: HelloWorldData_Msg_free
      Src: /src/cyclonedds/ports/zephyr/src/main.c:193,1
    - Dst: dds_delete
      Src: /src/cyclonedds/ports/zephyr/src/main.c:196,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:198,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:198,1
    - Dst: dds_delete
      Src: /src/cyclonedds/ports/zephyr/src/main.c:200,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/ports/zephyr/src/main.c:202,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/ports/zephyr/src/main.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 122
    functionDepth: 9
    functionLinenumber: 122
    functionLinenumberEnd: 203
    functionName: helloworld_subscriber
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/main.c
    functionUses: 0
    functionsReached:
    - DDS_SECS
    - dds_delete
    - dds_qset_reliability
    - dds_read
    - HelloWorldData_Msg_free
    - dds_create_qos
    - fflush
    - dds_create_topic
    - dds_create_domain_with_rawconfig
    - DDS_FATAL
    - dds_create_reader
    - DDS_MSECS
    - init_config
    - printf
    - dds_strretcode
    - dds_create_participant
    - dds_sleepfor
    - HelloWorldData_Msg__alloc
    - dds_delete_qos
    linkageType: ''
    returnType: void
    signature: void helloworld_subscriber()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:207,1
    - Dst: helloworld_publisher
      Src: /src/cyclonedds/ports/zephyr/src/main.c:209,1
    - Dst: helloworld_subscriber
      Src: /src/cyclonedds/ports/zephyr/src/main.c:211,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/main.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 10
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/main.c
    functionUses: 78
    functionsReached:
    - helloworld_publisher
    - helloworld_subscriber
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/throughput_main.c:20,1
    - Dst: throughput_pub
      Src: /src/cyclonedds/ports/zephyr/src/throughput_main.c:23,1
    - Dst: throughput_sub
      Src: /src/cyclonedds/ports/zephyr/src/throughput_main.c:26,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/throughput_main.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/throughput_main.c
    functionUses: 78
    functionsReached:
    - throughput_sub
    - throughput_pub
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/ddsperf_main.c:18,1
    - Dst: ddsperf_main
      Src: /src/cyclonedds/ports/zephyr/src/ddsperf_main.c:24,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/ddsperf_main.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/ddsperf_main.c
    functionUses: 79
    functionsReached:
    - ddsperf_main
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:20,1
    - Dst: roundtrip_ping
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:23,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:24,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:27,1
    - Dst: roundtrip_ping
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:29,1
    - Dst: roundtrip_pong
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:34,1
    - Dst: printf
      Src: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c
    functionUses: 79
    functionsReached:
    - roundtrip_pong
    - roundtrip_ping
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:8,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:10,1
    - Dst: DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:11,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:12,1
    - Dst: DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:13,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_alloc
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:17,1
    - Dst: DDS_Security_Exception_clean
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:19,1
    - Dst: DDS_Security_Deserializer_new
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:20,1
    - Dst: DDS_Security_Deserialize_ParticipantBuiltinTopicData
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:21,1
    - Dst: DDS_Security_Deserializer_free
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:22,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:23,1
    - Dst: DDS_Security_ParticipantBuiltinTopicData_free
      Src: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 5
    functionDepth: 8
    functionLinenumber: 5
    functionLinenumberEnd: 28
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c
    functionUses: 0
    functionsReached:
    - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
    - DDS_Security_Exception_clean
    - DDS_Security_ParticipantBuiltinTopicData_alloc
    - memset
    - DDS_Security_Deserialize_ParticipantBuiltinTopicData
    - DDS_Security_Exception_reset
    - DDS_Security_Deserializer_new
    - DDS_Security_ParticipantBuiltinTopicData_free
    - DDS_Security_Deserializer_free
    - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: print_idl_types_seed
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_idl_types_seed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:13,1
    - Dst: dds_cdrstream_desc_init
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - t
    argTypes:
    - struct dds_cdrstream_desc*
    - dds_topic_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 10
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: topic_to_descriptor
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c
    functionUses: 0
    functionsReached:
    - dds_cdrstream_desc_init
    - memset
    linkageType: ''
    returnType: void
    signature: void topic_to_descriptor(struct dds_cdrstream_desc *desc, const dds_topic_descriptor_t
      *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: topic_to_descriptor
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:24,1
    - Dst: ddsrt_memdup
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:25,1
    - Dst: dds_stream_normalize
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:26,1
    - Dst: ddsrt_calloc
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:27,1
    - Dst: dds_istream_init
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:29,1
    - Dst: dds_stream_read_sample
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:30,1
    - Dst: dds_stream_free_sample
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:31,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:32,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:34,1
    - Dst: dds_cdrstream_desc_fini
      Src: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 11
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c
    functionUses: 0
    functionsReached:
    - dds_istream_init
    - ddsrt_calloc
    - ddsrt_free
    - ddsrt_memdup
    - dds_stream_normalize
    - dds_stream_read_sample
    - dds_stream_free_sample
    - topic_to_descriptor
    - dds_cdrstream_desc_fini
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(void *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - varg
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: null_log_sink
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void null_log_sink(void *varg, const dds_log_data_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:61,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:62,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:67,1
    - Dst: assert
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:68,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:70,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:72,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:73,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:76,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:77,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:78,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:80,1
    - Dst: ddsi_vnet_init
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:82,1
    - Dst: ddsi_factory_find
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:83,1
    - Dst: ddsi_factory_create_conn
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:84,1
    - Dst: ddsi_rbufpool_new
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:86,1
    - Dst: ddsi_rbufpool_setowner
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:87,1
    - Dst: ddsrt_thread_self
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:87,1
    - Dst: ddsi_rmsg_new
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:91,1
    - Dst: DDSI_RMSG_PAYLOAD
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:92,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:93,1
    - Dst: ddsi_rmsg_setsize
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:94,1
    - Dst: ddsi_handle_rtps_message
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:95,1
    - Dst: ddsi_rmsg_commit
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:96,1
    - Dst: ddsi_fini
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:98,1
    - Dst: ddsi_rbufpool_free
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:99,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:100,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:105,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 13
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c
    functionUses: 0
    functionsReached:
    - ddsi_factory_find
    - ddsi_rmsg_new
    - ddsi_rmsg_commit
    - ddsrt_atomic_stvoidp
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_config_init_default
    - ddsi_rbufpool_new
    - ddsi_factory_create_conn
    - ddsi_iid_fini
    - dds_set_trace_sink
    - memcpy
    - ddsi_fini
    - ddsi_thread_states_fini
    - ddsrt_free
    - ddsrt_thread_self
    - assert
    - DDSI_RMSG_PAYLOAD
    - ddsi_rmsg_setsize
    - ddsi_lookup_thread_state
    - ddsi_handle_rtps_message
    - ddsi_config_prep
    - dds_set_log_sink
    - ddsi_rbufpool_free
    - memset
    - ddsi_vnet_init
    - ddsi_rbufpool_setowner
    linkageType: ''
    returnType: int
    signature: "int LLVMFuzzerTestOneInput(\n    const uint8_t *data,\n    size_t
      size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:91,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:92,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:93,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:94,1
    - Dst: BIO_free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:95,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:98,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:102,1
    - Dst: assert
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:103,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:106,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:107,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:108,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:110,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:111,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:113,1
    - Dst: dds_log_cfg_init
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:119,1
    - Dst: ddsrt_dlopen
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:125,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:126,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:127,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:128,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:129,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:130,1
    - Dst: ddsrt_dlsym
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:131,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:132,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:135,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:135,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:138,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:139,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:140,1
    - Dst: dds_apply_entity_naming
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:141,1
    - Dst: ddsi_xqos_mergein_missing
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:142,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:143,1
    - Dst: ddsi_generate_participant_guid
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:145,1
    - Dst: ddsi_new_participant
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:146,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:147,1
    - Dst: ddsi_entidx_lookup_participant_guid
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:148,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:149,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:151,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    constantsTouched: []
    func_position:
      end: 154
      start: 87
    functionDepth: 10
    functionLinenumber: 87
    functionLinenumberEnd: 154
    functionName: fuzz_handshake_init
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - ddsrt_atomic_stvoidp
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_new_participant
    - dds_create_qos
    - ddsi_config_init_default
    - abort
    - PEM_read_bio_PrivateKey
    - dds_apply_entity_naming
    - ddsi_generate_participant_guid
    - ddsi_thread_state_asleep
    - ddsi_xqos_mergein_missing
    - ddsi_thread_state_awake
    - assert
    - ddsrt_dlopen
    - ddsrt_dlsym
    - BIO_free
    - ddsi_lookup_thread_state
    - ddsi_config_init
    - ddsi_entidx_lookup_participant_guid
    - ddsi_plist_init_empty
    - ddsi_plist_fini
    - dds_log_cfg_init
    - memset
    - dds_delete_qos
    - ddsi_config_prep
    linkageType: ''
    returnType: bool
    signature: bool fuzz_handshake_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: hs_end_cb
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hs_end_cb(UNUSED_ARG(struct ddsi_handshake *handshake),\n                      UNUSED_ARG(struct
      ddsi_participant *pp),\n                      UNUSED_ARG(struct ddsi_proxy_participant
      *proxy_pp),\n                      UNUSED_ARG(enum ddsi_handshake_state state))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:170,1
    - Dst: ddsrt_atomic_inc32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - act
    - event_id
    argTypes:
    - DDS_SECURITY_FSM_DEBUG_ACT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: fsm_debug_func
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_inc32
    - ddsrt_atomic_st32
    linkageType: ''
    returnType: void
    signature: void fsm_debug_func(UNUSED_ARG(struct dds_security_fsm *fsm), DDS_SECURITY_FSM_DEBUG_ACT
      act, UNUSED_ARG(const dds_security_fsm_state *current), int event_id, UNUSED_ARG(void
      *arg))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:186,1
    - Dst: ddsrt_atomic_st32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:187,1
    - Dst: ddsi_plist_init_empty
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:191,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:194,1
    - Dst: ddsi_iid_gen
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:209,1
    - Dst: dds_time
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:224,1
    - Dst: ddsi_new_addrset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:231,1
    - Dst: ddsi_add_locator_to_addrset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:232,1
    - Dst: assert
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:233,1
    - Dst: ddsi_addrset_empty_uc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:233,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:235,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:235,1
    - Dst: ddsi_new_proxy_participant
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:236,1
    - Dst: ddsi_ref_addrset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:242,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:249,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:251,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:251,1
    - Dst: ddsi_plist_fini
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:252,1
    - Dst: ddsi_handshake_find
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:254,1
    - Dst: abort
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:255,1
    - Dst: dds_security_fsm_set_debug
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:259,1
    - Dst: ddsi_handshake_release
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - initiate_remote
    argTypes:
    - bool
    assertStmts:
    - condition: (!ddsi_addrset_empty_uc(as))
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    constantsTouched: []
    func_position:
      end: 262
      start: 185
    functionDepth: 7
    functionLinenumber: 185
    functionLinenumberEnd: 262
    functionName: fuzz_handshake_reset
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsi_iid_gen
    - ddsi_new_addrset
    - abort
    - ddsi_handshake_release
    - ddsi_handshake_find
    - ddsi_ref_addrset
    - ddsi_thread_state_asleep
    - strdup
    - ddsi_thread_state_awake
    - assert
    - ddsi_add_locator_to_addrset
    - dds_security_fsm_set_debug
    - ddsi_lookup_thread_state
    - ddsi_plist_init_empty
    - dds_time
    - ddsi_plist_fini
    - ddsi_addrset_empty_uc
    - ddsrt_atomic_st32
    - ddsi_new_proxy_participant
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_reset(bool initiate_remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: fuzz_handshake_handle_timeout
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - dds_security_fsm_dispatch
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_handle_timeout(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_dh_keys_ptr
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:271,1
    - Dst: dh_public_key_to_oct_ptr
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:274,1
    - Dst: EVP_PKEY_free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:276,1
    - Dst: DDS_Security_Exception_reset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - algo
    - data
    - len
    argTypes:
    - int
    - unsigned char**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: create_dh_key
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - dh_public_key_to_oct_ptr
    - generate_dh_keys_ptr
    - EVP_PKEY_free
    - DDS_Security_Exception_reset
    linkageType: ''
    returnType: DDS_Security_ValidationResult_t
    signature: DDS_Security_ValidationResult_t create_dh_key(int algo, unsigned char
      **data, uint32_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:291,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:292,1
    - Dst: strlen
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:293,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:294,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:297,1
    - Dst: create_dh_key
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:300,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:301,1
    - Dst: ddsi_handshake_handle_message
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - token
    argTypes:
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 308
    functionName: fuzz_handshake_handle_request
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_handle_message
    - create_dh_key
    - strcmp
    - strlen
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_handle_request(ddsi_dataholder_t *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:314,1
    - Dst: DDS_Security_Serialize_BinaryPropertyArray
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:315,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:316,1
    - Dst: create_validate_asymmetrical_signature_ptr
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:318,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:319,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - bprops
    - n_bprops
    - signature
    - signatureLen
    argTypes:
    - DDS_Security_BinaryProperty_t**
    - uint32_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 6
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: create_signature
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 2
    functionsReached:
    - DDS_Security_Serialize_BinaryPropertyArray
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - DDS_Security_Serializer_new
    - free
    - create_validate_asymmetrical_signature_ptr
    linkageType: ''
    returnType: void
    signature: void create_signature(const DDS_Security_BinaryProperty_t **bprops,
      uint32_t n_bprops, unsigned char **signature, size_t *signatureLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_BinaryPropertySeq_allocbuf
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:328,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:329,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:331,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:332,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:333,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:334,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:335,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:336,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:337,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:338,1
    - Dst: DDS_Security_BinaryProperty_copy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:339,1
    - Dst: DDS_Security_Serializer_new
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:341,1
    - Dst: DDS_Security_Serialize_BinaryPropertySeq
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:342,1
    - Dst: DDS_Security_Serializer_buffer
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:343,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:345,1
    - Dst: SHA256
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:346,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:347,1
    - Dst: DDS_Security_Serializer_free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:348,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:350,1
    - Dst: DDS_Security_BinaryPropertySeq_deinit
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - dh
    - bprop
    - name
    argTypes:
    - DDS_Security_DataHolder*
    - DDS_Security_BinaryProperty_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 6
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: create_hash
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - DDS_Security_BinaryPropertySeq_deinit
    - DDS_Security_BinaryPropertySeq_allocbuf
    - DDS_Security_Serializer_free
    - DDS_Security_Serializer_buffer
    - SHA256
    - malloc
    - DDS_Security_Serializer_new
    - free
    - DDS_Security_BinaryProperty_copy
    - DDS_Security_DataHolder_find_binary_property
    - DDS_Security_Serialize_BinaryPropertySeq
    - strdup
    linkageType: ''
    returnType: void
    signature: void create_hash(const DDS_Security_DataHolder *dh, DDS_Security_BinaryProperty_t
      *bprop, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:372,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:373,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:374,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:375,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:382,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:383,1
    - Dst: strlen
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:384,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:385,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:387,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:388,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:390,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:391,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:394,1
    - Dst: strncmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:396,1
    - Dst: create_dh_key
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:399,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:400,1
    - Dst: ddsi_omg_shallow_copyin_DataHolder
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:409,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:410,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:411,1
    - Dst: create_hash
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:413,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:418,1
    - Dst: create_signature
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:422,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:423,1
    - Dst: DDS_Security_BinaryProperty_deinit
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:428,1
    - Dst: ddsi_handshake_handle_message
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:429,1
    - Dst: ddsi_omg_shallow_free_DataHolder
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:430,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - token
    argTypes:
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 357
    functionDepth: 7
    functionLinenumber: 357
    functionLinenumberEnd: 431
    functionName: fuzz_handshake_handle_reply
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsi_omg_shallow_copyin_DataHolder
    - ddsi_handshake_handle_message
    - ddsi_omg_shallow_free_DataHolder
    - create_dh_key
    - memcpy
    - strcmp
    - strlen
    - malloc
    - DDS_Security_BinaryProperty_deinit
    - free
    - create_hash
    - DDS_Security_DataHolder_find_binary_property
    - strncmp
    - create_signature
    - strdup
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_handle_reply(ddsi_dataholder_t *token)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:449,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:450,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:451,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:452,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:453,1
    - Dst: DDS_Security_DataHolder_find_binary_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:454,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:460,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:461,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:463,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:464,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:466,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:467,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:469,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:470,1
    - Dst: strcmp
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:473,1
    - Dst: create_signature
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:477,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:478,1
    - Dst: ddsi_handshake_handle_message
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:484,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - token
    argTypes:
    - ddsi_dataholder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 485
    functionName: fuzz_handshake_handle_final
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsi_handshake_handle_message
    - memcpy
    - strcmp
    - malloc
    - free
    - DDS_Security_DataHolder_find_binary_property
    - create_signature
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_handle_final(ddsi_dataholder_t *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:488,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:488,1
    - Dst: ddsi_handshake_crypto_tokens_received
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:489,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:490,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 4
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: fuzz_handshake_handle_crypto_tokens
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsi_thread_state_asleep
    - ddsi_handshake_crypto_tokens_received
    - ddsi_lookup_thread_state
    - ddsi_thread_state_awake
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_handle_crypto_tokens(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:494,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: fuzz_handshake_wait_for_event
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - dds_security_fsm_dispatch
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_wait_for_event(uint32_t event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_security_fsm_dispatch
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:499,1
    - Dst: ddsrt_atomic_ld32
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:500,1
    - Dst: dds_time
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:501,1
    - Dst: ddsi_thread_state_awake
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:502,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:502,1
    - Dst: ddsi_delete_proxy_participant_by_guid
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:503,1
    - Dst: ddsi_thread_state_asleep
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:504,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:504,1
    - Dst: ddsi_gcreq_queue_step
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:515,1
    - Dst: ddsi_dqueue_step_deaf
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:517,1
    - Dst: ddsi_dqueue_step_deaf
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:519,1
    - Dst: ddsi_xeventq_step
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 498
    functionDepth: 12
    functionLinenumber: 498
    functionLinenumberEnd: 523
    functionName: fuzz_handshake_wait_for_completion
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_ld32
    - ddsi_thread_state_awake
    - ddsi_gcreq_queue_step
    - dds_time
    - ddsi_dqueue_step_deaf
    - dds_security_fsm_dispatch
    - ddsi_xeventq_step
    - ddsi_delete_proxy_participant_by_guid
    - ddsi_thread_state_asleep
    - ddsi_lookup_thread_state
    linkageType: ''
    returnType: void
    signature: void fuzz_handshake_wait_for_completion(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_handshake::Property::propagate
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:8,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:9,1
    - Dst: fuzz_handshake::Property::name
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:9,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:10,1
    - Dst: fuzz_handshake::Property::value
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - fuzz_handshake::Property
    - dds_property_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: to_property
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
    functionUses: 0
    functionsReached:
    - fuzz_handshake::Property::name
    - fuzz_handshake::Property::value
    - strdup
    - fuzz_handshake::Property::propagate
    linkageType: ''
    returnType: void
    signature: void to_property(const fuzz_handshake::Property &in, dds_property_t
      &out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_handshake::BinaryProperty::propagate
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:14,1
    - Dst: strdup
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:15,1
    - Dst: fuzz_handshake::BinaryProperty::name
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:15,1
    - Dst: fuzz_handshake::BinaryProperty::value
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:16,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:17,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:18,1
    - Dst: fuzz_handshake::BinaryProperty::value
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - fuzz_handshake::BinaryProperty
    - dds_binaryproperty_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: to_binaryproperty
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
    functionUses: 0
    functionsReached:
    - fuzz_handshake::BinaryProperty::value
    - memcpy
    - fuzz_handshake::BinaryProperty::propagate
    - malloc
    - fuzz_handshake::BinaryProperty::name
    - strdup
    linkageType: ''
    returnType: void
    signature: void to_binaryproperty(const fuzz_handshake::BinaryProperty &in, dds_binaryproperty_t
      &out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_handshake::DataHolder::properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:22,1
    - Dst: calloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:23,1
    - Dst: fuzz_handshake::DataHolder::properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:24,1
    - Dst: to_property
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:25,1
    - Dst: fuzz_handshake::DataHolder::properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:25,1
    - Dst: fuzz_handshake::DataHolder::binary_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:27,1
    - Dst: calloc
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:28,1
    - Dst: fuzz_handshake::DataHolder::binary_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:29,1
    - Dst: to_binaryproperty
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:30,1
    - Dst: fuzz_handshake::DataHolder::binary_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - fuzz_handshake::DataHolder
    - ddsi_dataholder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: to_dataholder
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
    functionUses: 0
    functionsReached:
    - to_property
    - fuzz_handshake::DataHolder::binary_properties
    - fuzz_handshake::DataHolder::properties
    - calloc
    - to_binaryproperty
    linkageType: ''
    returnType: void
    signature: void to_dataholder(const fuzz_handshake::DataHolder &in, ddsi_dataholder_t
      &out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:36,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:37,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:39,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:41,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:42,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dh
    argTypes:
    - ddsi_dataholder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: free_properties
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_properties(ddsi_dataholder_t &dh)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_handshake_init
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:49,1
    - Dst: fuzz_handshake_reset
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:50,1
    - Dst: initiate_remote
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:50,1
    - Dst: events
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:52,1
    - Dst: event_case
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:53,1
    - Dst: fuzz_handshake_handle_timeout
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:55,1
    - Dst: to_dataholder
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:60,1
    - Dst: request
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:60,1
    - Dst: fuzz_handshake_handle_request
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:61,1
    - Dst: free_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:62,1
    - Dst: to_dataholder
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:67,1
    - Dst: reply
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:67,1
    - Dst: fuzz_handshake_handle_reply
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:68,1
    - Dst: free_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:69,1
    - Dst: to_dataholder
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:74,1
    - Dst: final
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:74,1
    - Dst: fuzz_handshake_handle_final
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:75,1
    - Dst: free_properties
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:76,1
    - Dst: fuzz_handshake_handle_crypto_tokens
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:79,1
    - Dst: fuzz_handshake_wait_for_event
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:84,1
    - Dst: fuzz_handshake_wait_for_completion
      Src: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - fuzz_handshake::FuzzMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 48
    functionDepth: 13
    functionLinenumber: 48
    functionLinenumberEnd: 87
    functionName: DEFINE_PROTO_FUZZER
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
    functionUses: 0
    functionsReached:
    - to_dataholder
    - fuzz_handshake_init
    - events
    - free_properties
    - reply
    - initiate_remote
    - event_case
    - request
    - fuzz_handshake_handle_request
    - final
    - fuzz_handshake_handle_timeout
    - fuzz_handshake_handle_final
    - fuzz_handshake_wait_for_event
    - fuzz_handshake_wait_for_completion
    - fuzz_handshake_reset
    - fuzz_handshake_handle_reply
    - fuzz_handshake_handle_crypto_tokens
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const fuzz_handshake::FuzzMsg& message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:48,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:49,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:51,1
    - Dst: ddsrt_mutex_init
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:52,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:54,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:56,1
    - Dst: malloc
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:60,1
    - Dst: memcpy
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:63,1
    - Dst: ddsi_config_init
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:66,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:68,1
    - Dst: free
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:72,1
    - Dst: ddsi_config_fini
      Src: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 10
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c
    functionUses: 0
    functionsReached:
    - ddsi_config_fini
    - memcpy
    - memset
    - ddsi_iid_init
    - ddsi_thread_states_init
    - malloc
    - free
    - ddsi_config_init_default
    - ddsrt_mutex_init
    - ddsi_config_init
    linkageType: ''
    returnType: int
    signature: "int LLVMFuzzerTestOneInput(\n    const uint8_t *data,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - varg
    - msg
    argTypes:
    - void*
    - dds_log_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: null_log_sink
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void null_log_sink(void *varg, const dds_log_data_t *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_iid_init
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:44,1
    - Dst: ddsi_thread_states_init
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:45,1
    - Dst: ddsi_lookup_thread_state
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:50,1
    - Dst: assert
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:51,1
    - Dst: ddsrt_atomic_stvoidp
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:53,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:55,1
    - Dst: ddsi_config_init_default
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:56,1
    - Dst: ddsi_config_prep
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:59,1
    - Dst: dds_set_log_sink
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:60,1
    - Dst: dds_set_trace_sink
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:61,1
    - Dst: ddsi_init
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:63,1
    - Dst: ddsi_typemap_deser
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:65,1
    - Dst: ddsi_typeid_compare_impl
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:75,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:79,1
    - Dst: ddsi_typeid_is_none
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:79,1
    - Dst: memset
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:82,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:84,1
    - Dst: ddsi_typeid_copy_impl
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:85,1
    - Dst: ddsi_type_ref_proxy
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:88,1
    - Dst: assert
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:91,1
    - Dst: ddsi_type_add_typeobj
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:92,1
    - Dst: ddsi_type_unref
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:93,1
    - Dst: ddsi_typeinfo_fini
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:95,1
    - Dst: ddsi_typemap_fini
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:98,1
    - Dst: ddsrt_free
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:99,1
    - Dst: ddsi_fini
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:102,1
    - Dst: ddsi_thread_states_fini
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:107,1
    - Dst: ddsi_iid_fini
      Src: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (thrst->state == DDSI_THREAD_STATE_LAZILY_CREATED)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c
    - condition: (type != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c
    constantsTouched: []
    func_position:
      end: 110
      start: 40
    functionDepth: 10
    functionLinenumber: 40
    functionLinenumberEnd: 110
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c
    functionUses: 0
    functionsReached:
    - ddsrt_atomic_stvoidp
    - ddsi_typeid_compare_impl
    - ddsi_iid_init
    - ddsi_thread_states_init
    - ddsi_init
    - ddsi_config_init_default
    - ddsi_type_unref
    - ddsi_iid_fini
    - dds_set_trace_sink
    - ddsi_fini
    - ddsi_type_ref_proxy
    - ddsi_typeid_copy_impl
    - ddsi_thread_states_fini
    - ddsrt_free
    - assert
    - ddsi_typemap_fini
    - ddsi_lookup_thread_state
    - ddsi_typemap_deser
    - dds_set_log_sink
    - ddsi_typeid_is_none
    - ddsi_type_add_typeobj
    - memset
    - ddsi_typeinfo_fini
    - ddsi_config_prep
    linkageType: ''
    returnType: int
    signature: "int LLVMFuzzerTestOneInput(\n    const uint8_t *data,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/examples/roundtrip/ping.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ExampleTimeStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: exampleInitTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void exampleInitTimeStats (ExampleTimeStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cyclonedds/examples/roundtrip/ping.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ExampleTimeStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: exampleResetTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void exampleResetTimeStats (ExampleTimeStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/examples/roundtrip/ping.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ExampleTimeStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: exampleDeleteTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void exampleDeleteTimeStats (ExampleTimeStats *stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cyclonedds/examples/roundtrip/ping.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - stats
    - timing
    argTypes:
    - ExampleTimeStats*
    - dds_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: exampleAddTimingToTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void exampleAddTimingToTimeStats (ExampleTimeStats *stats, dds_time_t
      timing)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: exampleCompareul
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int exampleCompareul (const void* a, const void* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cyclonedds/examples/roundtrip/ping.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ExampleTimeStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: exampleGetMedianFromTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: double
    signature: double exampleGetMedianFromTimeStats (ExampleTimeStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/cyclonedds/examples/roundtrip/ping.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ExampleTimeStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: exampleGet99PercentileFromTimeStats
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: dds_time_t
    signature: dds_time_t exampleGet99PercentileFromTimeStats (ExampleTimeStats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/examples/roundtrip/ping.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: CtrlHandler
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - dds_waitset_set_trigger
    linkageType: ''
    returnType: bool
    signature: bool CtrlHandler (DWORD fdwCtrlType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/examples/roundtrip/ping.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: CtrlHandler
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 0
    functionsReached:
    - dds_waitset_set_trigger
    linkageType: ''
    returnType: void
    signature: void CtrlHandler (int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:158,1
    - Dst: dds_take
      Src: /src/cyclonedds/examples/roundtrip/ping.c:159,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:161,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:161,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:162,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:166,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:167,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:170,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:171,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:174,1
    - Dst: exampleAddTimingToTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:175,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:182,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:185,1
    - Dst: exampleGet99PercentileFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:187,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:190,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:193,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:195,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:197,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:198,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:199,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:200,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:205,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/examples/roundtrip/ping.c:206,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:208,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:208,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 210
    functionName: data_available
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 12
    functionsReached:
    - dds_take
    - exampleGet99PercentileFromTimeStats
    - dds_time
    - dds_write_ts
    - printf
    - DDS_FATAL
    - exampleGetMedianFromTimeStats
    - exampleAddTimingToTimeStats
    - dds_strretcode
    - exampleResetTimeStats
    - fflush
    linkageType: ''
    returnType: void
    signature: void data_available(dds_entity_t rd, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:214,1
    - Dst: exit
      Src: /src/cyclonedds/examples/roundtrip/ping.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: usage
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 13
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/ping.c:233,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/roundtrip/ping.c:242,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/examples/roundtrip/ping.c:250,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/cyclonedds/examples/roundtrip/ping.c:251,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/examples/roundtrip/ping.c:252,1
    - Dst: sigemptyset
      Src: /src/cyclonedds/examples/roundtrip/ping.c:256,1
    - Dst: sigaction
      Src: /src/cyclonedds/examples/roundtrip/ping.c:258,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:261,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:262,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:263,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:264,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:265,1
    - Dst: exampleInitTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:266,1
    - Dst: memset
      Src: /src/cyclonedds/examples/roundtrip/ping.c:268,1
    - Dst: memset
      Src: /src/cyclonedds/examples/roundtrip/ping.c:269,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/roundtrip/ping.c:276,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:278,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:278,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/examples/roundtrip/ping.c:282,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/examples/roundtrip/ping.c:283,1
    - Dst: prepare_dds
      Src: /src/cyclonedds/examples/roundtrip/ping.c:285,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/roundtrip/ping.c:287,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:289,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:290,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/roundtrip/ping.c:293,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/ping.c:293,1
    - Dst: dds_writedispose
      Src: /src/cyclonedds/examples/roundtrip/ping.c:298,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:300,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:300,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/roundtrip/ping.c:301,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/ping.c:301,1
    - Dst: atol
      Src: /src/cyclonedds/examples/roundtrip/ping.c:311,1
    - Dst: atol
      Src: /src/cyclonedds/examples/roundtrip/ping.c:320,1
    - Dst: atol
      Src: /src/cyclonedds/examples/roundtrip/ping.c:324,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/roundtrip/ping.c:326,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/roundtrip/ping.c:326,1
    - Dst: usage
      Src: /src/cyclonedds/examples/roundtrip/ping.c:327,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:328,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:329,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/examples/roundtrip/ping.c:332,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:340,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:341,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:342,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/examples/roundtrip/ping.c:344,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/ping.c:344,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/roundtrip/ping.c:346,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:348,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:348,1
    - Dst: dds_take
      Src: /src/cyclonedds/examples/roundtrip/ping.c:352,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:354,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:354,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:357,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/examples/roundtrip/ping.c:360,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:363,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:364,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:365,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:366,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:367,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:370,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:371,1
    - Dst: exampleResetTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:372,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:373,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:375,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/examples/roundtrip/ping.c:376,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:378,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:378,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/roundtrip/ping.c:379,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/examples/roundtrip/ping.c:380,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/roundtrip/ping.c:382,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:384,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:384,1
    - Dst: data_available
      Src: /src/cyclonedds/examples/roundtrip/ping.c:386,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/ping.c:392,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:397,1
    - Dst: exampleGet99PercentileFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:399,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:402,1
    - Dst: exampleGetMedianFromTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:405,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/ping.c:408,1
    - Dst: sigaction
      Src: /src/cyclonedds/examples/roundtrip/ping.c:416,1
    - Dst: finalize_dds
      Src: /src/cyclonedds/examples/roundtrip/ping.c:419,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:422,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:423,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:424,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:425,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:426,1
    - Dst: exampleDeleteTimeStats
      Src: /src/cyclonedds/examples/roundtrip/ping.c:427,1
    - Dst: RoundTripModule_DataType_free
      Src: /src/cyclonedds/examples/roundtrip/ping.c:431,1
    - Dst: RoundTripModule_DataType_free
      Src: /src/cyclonedds/examples/roundtrip/ping.c:433,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 131
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 436
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 79
    functionsReached:
    - dds_take
    - exampleInitTimeStats
    - DDS_SECS
    - prepare_dds
    - RoundTripModule_DataType_free
    - atol
    - dds_alloc
    - exampleResetTimeStats
    - fflush
    - dds_lset_data_available
    - sigemptyset
    - dds_writedispose
    - SetConsoleCtrlHandler
    - DDSRT_WARNING_GNUC_OFF
    - DDS_FATAL
    - dds_triggered
    - finalize_dds
    - exampleGet99PercentileFromTimeStats
    - DDSRT_WARNING_GNUC_ON
    - strcmp
    - dds_write_ts
    - printf
    - usage
    - dds_strretcode
    - dds_create_listener
    - sigaction
    - dds_create_participant
    - dds_time
    - dds_sleepfor
    - memset
    - exampleDeleteTimeStats
    - data_available
    - exampleGetMedianFromTimeStats
    - dds_waitset_wait
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:453,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/examples/roundtrip/ping.c:454,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/ping.c:454,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/roundtrip/ping.c:455,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:457,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:457,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:458,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:461,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/roundtrip/ping.c:462,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/examples/roundtrip/ping.c:464,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:466,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:466,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:467,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:470,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/examples/roundtrip/ping.c:471,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/roundtrip/ping.c:472,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:474,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:474,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:475,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:478,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/roundtrip/ping.c:480,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/examples/roundtrip/ping.c:482,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:484,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:484,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/ping.c:485,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/roundtrip/ping.c:487,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:489,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:489,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/roundtrip/ping.c:491,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/roundtrip/ping.c:493,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/roundtrip/ping.c:494,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:496,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:496,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/roundtrip/ping.c:500,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:502,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - wr
    - rd
    - rdcond
    - listener
    argTypes:
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 438
    functionDepth: 6
    functionLinenumber: 438
    functionLinenumberEnd: 505
    functionName: prepare_dds
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 1
    functionsReached:
    - dds_create_topic
    - dds_create_writer
    - dds_waitset_attach
    - DDS_SECS
    - dds_qset_writer_data_lifecycle
    - dds_create_subscriber
    - dds_create_publisher
    - dds_qset_reliability
    - DDS_FATAL
    - dds_delete_qos
    - dds_qset_partition
    - dds_create_reader
    - dds_create_waitset
    - dds_create_qos
    - dds_strretcode
    - dds_create_readcondition
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t prepare_dds(dds_entity_t *wr, dds_entity_t *rd, dds_entity_t
      *rdcond, dds_listener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/roundtrip/ping.c:510,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/ping.c:512,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/ping.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: finalize_dds
    functionSourceFile: /src/cyclonedds/examples/roundtrip/ping.c
    functionUses: 1
    functionsReached:
    - DDS_FATAL
    - dds_delete
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void finalize_dds(dds_entity_t ppant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/examples/roundtrip/pong.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: CtrlHandler
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 1
    functionsReached:
    - dds_waitset_set_trigger
    linkageType: ''
    returnType: bool
    signature: bool CtrlHandler (DWORD fdwCtrlType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/examples/roundtrip/pong.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: CtrlHandler
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 1
    functionsReached:
    - dds_waitset_set_trigger
    linkageType: ''
    returnType: void
    signature: void CtrlHandler (int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/examples/roundtrip/pong.c:46,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:48,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:48,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/examples/roundtrip/pong.c:49,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/pong.c:55,1
    - Dst: dds_waitset_set_trigger
      Src: /src/cyclonedds/examples/roundtrip/pong.c:56,1
    - Dst: dds_write_ts
      Src: /src/cyclonedds/examples/roundtrip/pong.c:63,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - rd
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: data_available
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 13
    functionsReached:
    - dds_take
    - dds_waitset_set_trigger
    - dds_write_ts
    - printf
    - DDS_FATAL
    - dds_triggered
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void data_available(dds_entity_t rd, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/examples/roundtrip/pong.c:82,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/examples/roundtrip/pong.c:91,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/cyclonedds/examples/roundtrip/pong.c:92,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/examples/roundtrip/pong.c:93,1
    - Dst: sigemptyset
      Src: /src/cyclonedds/examples/roundtrip/pong.c:97,1
    - Dst: sigaction
      Src: /src/cyclonedds/examples/roundtrip/pong.c:99,1
    - Dst: memset
      Src: /src/cyclonedds/examples/roundtrip/pong.c:103,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/roundtrip/pong.c:109,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:111,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:111,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/examples/roundtrip/pong.c:115,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/examples/roundtrip/pong.c:116,1
    - Dst: prepare_dds
      Src: /src/cyclonedds/examples/roundtrip/pong.c:119,1
    - Dst: dds_triggered
      Src: /src/cyclonedds/examples/roundtrip/pong.c:121,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/roundtrip/pong.c:125,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:127,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:127,1
    - Dst: data_available
      Src: /src/cyclonedds/examples/roundtrip/pong.c:131,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/cyclonedds/examples/roundtrip/pong.c:136,1
    - Dst: sigaction
      Src: /src/cyclonedds/examples/roundtrip/pong.c:138,1
    - Dst: finalize_dds
      Src: /src/cyclonedds/examples/roundtrip/pong.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 79
    functionsReached:
    - sigemptyset
    - dds_create_listener
    - SetConsoleCtrlHandler
    - finalize_dds
    - sigaction
    - dds_create_participant
    - DDSRT_WARNING_GNUC_ON
    - strcmp
    - DDSRT_WARNING_GNUC_OFF
    - memset
    - DDS_FATAL
    - prepare_dds
    - dds_waitset_wait
    - dds_triggered
    - data_available
    - dds_strretcode
    - dds_lset_data_available
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/roundtrip/pong.c:150,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:152,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:152,1
    - Dst: RoundTripModule_DataType_free
      Src: /src/cyclonedds/examples/roundtrip/pong.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - xs
    argTypes:
    - dds_entity_t
    - RoundTripModule_DataType[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: finalize_dds
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 2
    functionsReached:
    - DDS_FATAL
    - RoundTripModule_DataType_free
    - dds_delete
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void finalize_dds(dds_entity_t pp, RoundTripModule_DataType xs[MAX_SAMPLES])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:171,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/examples/roundtrip/pong.c:172,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/roundtrip/pong.c:172,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/roundtrip/pong.c:173,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:175,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:175,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:176,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:180,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/roundtrip/pong.c:181,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/examples/roundtrip/pong.c:183,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:185,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:185,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:186,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:190,1
    - Dst: dds_qset_writer_data_lifecycle
      Src: /src/cyclonedds/examples/roundtrip/pong.c:191,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/roundtrip/pong.c:192,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:194,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:194,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:195,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:199,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/roundtrip/pong.c:200,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/examples/roundtrip/pong.c:202,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:204,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:204,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/roundtrip/pong.c:205,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/roundtrip/pong.c:209,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:211,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:211,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/roundtrip/pong.c:213,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/roundtrip/pong.c:215,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/roundtrip/pong.c:216,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:218,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:218,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/roundtrip/pong.c:222,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/roundtrip/pong.c:224,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/roundtrip/pong.c:224,1
    - Dst: printf
      Src: /src/cyclonedds/examples/roundtrip/pong.c:226,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/roundtrip/pong.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - wr
    - rd
    - rdcond
    - rdlist
    argTypes:
    - dds_entity_t*
    - dds_entity_t*
    - dds_entity_t*
    - dds_listener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 230
    functionName: prepare_dds
    functionSourceFile: /src/cyclonedds/examples/roundtrip/pong.c
    functionUses: 2
    functionsReached:
    - dds_create_topic
    - dds_create_writer
    - dds_waitset_attach
    - DDS_SECS
    - dds_qset_writer_data_lifecycle
    - dds_create_subscriber
    - dds_create_publisher
    - dds_qset_reliability
    - DDS_FATAL
    - dds_delete_qos
    - dds_qset_partition
    - dds_create_reader
    - dds_create_waitset
    - printf
    - dds_create_qos
    - dds_strretcode
    - fflush
    - dds_create_readcondition
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t prepare_dds(dds_entity_t *wr, dds_entity_t *rd, dds_entity_t
      *rdcond, dds_listener_t *rdlist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:24,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:26,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:26,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:29,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:32,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:32,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:35,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:36,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:36,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:37,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:39,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:39,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:40,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:42,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:43,1
    - Dst: HelloWorldData_Msg__alloc
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:47,1
    - Dst: dds_read
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:54,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:56,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:56,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:63,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:64,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:65,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:71,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:71,1
    - Dst: HelloWorldData_Msg_free
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:76,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:79,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:81,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/subscriber.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/helloworld/subscriber.c
    functionUses: 79
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - DDS_SECS
    - HelloWorldData_Msg_free
    - dds_delete
    - dds_sleepfor
    - HelloWorldData_Msg__alloc
    - printf
    - DDS_FATAL
    - dds_qset_reliability
    - dds_create_reader
    - dds_delete_qos
    - dds_read
    - DDS_MSECS
    - dds_create_qos
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: int
    signature: int main (int argc, char ** argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/helloworld/publisher.c:18,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:20,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:20,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/helloworld/publisher.c:23,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:26,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:26,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/helloworld/publisher.c:29,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:31,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:31,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/publisher.c:33,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/helloworld/publisher.c:34,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/examples/helloworld/publisher.c:36,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:38,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:38,1
    - Dst: dds_get_status_changes
      Src: /src/cyclonedds/examples/helloworld/publisher.c:42,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:44,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:44,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/helloworld/publisher.c:47,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/helloworld/publisher.c:47,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/publisher.c:54,1
    - Dst: printf
      Src: /src/cyclonedds/examples/helloworld/publisher.c:55,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/helloworld/publisher.c:56,1
    - Dst: dds_write
      Src: /src/cyclonedds/examples/helloworld/publisher.c:58,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:60,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:60,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/helloworld/publisher.c:63,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/helloworld/publisher.c:65,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/helloworld/publisher.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 6
    functionDepth: 6
    functionLinenumber: 6
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/helloworld/publisher.c
    functionUses: 79
    functionsReached:
    - dds_create_topic
    - dds_create_participant
    - dds_get_status_changes
    - dds_write
    - dds_delete
    - dds_set_status_mask
    - dds_sleepfor
    - printf
    - DDS_FATAL
    - DDS_MSECS
    - dds_create_writer
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: int
    signature: int main (int argc, char ** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gs
    - g
    argTypes:
    - struct keystr*
    - dds_builtintopic_topic_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: keystr
    functionSourceFile: /src/cyclonedds/examples/listtopics/listtopics.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *keystr (struct keystr *gs, const dds_builtintopic_topic_key_t
      *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - dds_instance_state_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/examples/listtopics/listtopics.c
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: instance_state_str
    functionSourceFile: /src/cyclonedds/examples/listtopics/listtopics.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *instance_state_str (dds_instance_state_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:51,1
    - Dst: printf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:57,1
    - Dst: instance_state_str
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:57,1
    - Dst: keystr
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:57,1
    - Dst: printf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:60,1
    - Dst: strncmp
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:61,1
    - Dst: printf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:68,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - readcond
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: process_topic
    functionSourceFile: /src/cyclonedds/examples/listtopics/listtopics.c
    functionUses: 0
    functionsReached:
    - dds_take
    - instance_state_str
    - dds_return_loan
    - printf
    - keystr
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool process_topic (dds_entity_t readcond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:85,1
    - Dst: strncmp
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:89,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ep_readconds
    argTypes:
    - dds_entity_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: process_pubsub
    functionSourceFile: /src/cyclonedds/examples/listtopics/listtopics.c
    functionUses: 0
    functionsReached:
    - strncmp
    - dds_take
    - dds_return_loan
    linkageType: ''
    returnType: bool
    signature: bool process_pubsub (dds_entity_t ep_readconds[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:102,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:105,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:105,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:109,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:116,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:120,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:122,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:122,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:123,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:134,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:135,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:143,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:144,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:145,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:157,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:157,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:158,1
    - Dst: process_topic
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:160,1
    - Dst: process_pubsub
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:164,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:171,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:176,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/listtopics/listtopics.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 97
    functionDepth: 7
    functionLinenumber: 97
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/listtopics/listtopics.c
    functionUses: 79
    functionsReached:
    - process_pubsub
    - fprintf
    - dds_waitset_wait_until
    - dds_waitset_attach
    - dds_create_participant
    - DDS_SECS
    - dds_time
    - dds_delete
    - dds_create_waitset
    - dds_create_reader
    - process_topic
    - dds_strretcode
    - dds_create_readcondition
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vinfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: type_hashid_map_hash
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t type_hashid_map_hash (const void *vinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: type_hashid_map_equal
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool type_hashid_map_equal (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: type_hashid_map_init
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_new
    linkageType: ''
    returnType: void
    signature: void type_hashid_map_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - templ
    argTypes:
    - struct type_hashid_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: type_hashid_map_lookup
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct type_hashid_map
    signature: struct type_hashid_map * type_hashid_map_lookup (struct type_hashid_map
      *templ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct type_hashid_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: type_hashid_map_add
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_add
    linkageType: ''
    returnType: void
    signature: void type_hashid_map_add (struct type_hashid_map *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vinfo
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: free_type_hashid_map
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_type_hashid_map (void *vinfo, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:73,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: type_hashid_map_free
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_free
    - ddsrt_hh_enum
    linkageType: ''
    returnType: void
    signature: void type_hashid_map_free (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:84,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:84,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:86,1
    - Dst: UINT64_C
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vinfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: typecache_hash
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t typecache_hash (const void *vinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: typecache_equal
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool typecache_equal (const void *va, const void *vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_new
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:98,1
    - Dst: type_hashid_map_init
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: type_cache_init
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - type_hashid_map_init
    - ddsrt_hh_new
    linkageType: ''
    returnType: void
    signature: void type_cache_init (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_lookup
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - templ
    argTypes:
    - struct typeinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: type_cache_lookup
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_lookup
    linkageType: ''
    returnType: struct typeinfo
    signature: struct typeinfo *type_cache_lookup (struct typeinfo *templ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_add
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct typeinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: type_cache_add
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_add
    linkageType: ''
    returnType: void
    signature: void type_cache_add (struct typeinfo *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dds_free_typeobj
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:117,1
    - Dst: free
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vinfo
    - varg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: free_typeinfo
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 6
    functionsReached:
    - free
    - dds_free_typeobj
    linkageType: ''
    returnType: void
    signature: void free_typeinfo (void *vinfo, void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddsrt_hh_enum
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:123,1
    - Dst: ddsrt_hh_free
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:124,1
    - Dst: type_hashid_map_free
      Src: /src/cyclonedds/examples/dynsub/type_cache.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: type_cache_free
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached:
    - ddsrt_hh_free
    - type_hashid_map_free
    - ddsrt_hh_enum
    linkageType: ''
    returnType: void
    signature: void type_cache_free (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - disc
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: CASE
    functionSourceFile: /src/cyclonedds/examples/dynsub/type_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(disc, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ppc
    argTypes:
    - struct ppc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ppc_init
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ppc_init (struct ppc *ppc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppc
    argTypes:
    - struct ppc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ppc_lineno
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ppc_lineno (struct ppc *ppc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppc
    argTypes:
    - struct ppc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ppc_indent
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ppc_indent (struct ppc *ppc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppc
    argTypes:
    - struct ppc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ppc_outdent
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ppc_outdent (struct ppc *ppc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/cyclonedds/examples/dynsub/print_type.c:38,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_type.c:40,1
    - Dst: vprintf
      Src: /src/cyclonedds/examples/dynsub/print_type.c:41,1
    - Dst: va_end
      Src: /src/cyclonedds/examples/dynsub/print_type.c:42,1
    - Dst: strlen
      Src: /src/cyclonedds/examples/dynsub/print_type.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ppc
    - fmt
    argTypes:
    - struct ppc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: ppc_print
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - vprintf
    - strlen
    - printf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void ppc_print (struct ppc *ppc, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppc
    - id
    argTypes:
    - struct ppc*
    - DDS_XTypes_EquivalenceHash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: ppc_print_equivhash
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_equivhash (struct ppc *ppc, const DDS_XTypes_EquivalenceHash
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:60,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:68,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:69,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:70,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:71,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:72,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:73,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:74,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:76,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ppc
    - flag
    argTypes:
    - struct ppc*
    - DDS_XTypes_MemberFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: ppc_print_memberflags
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - PF
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_memberflags (struct ppc *ppc, DDS_XTypes_MemberFlag
      flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flagname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: PF
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PF(flagname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:83,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:91,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:92,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:93,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:94,1
    - Dst: PF
      Src: /src/cyclonedds/examples/dynsub/print_type.c:95,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:97,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ppc
    - flag
    argTypes:
    - struct ppc*
    - DDS_XTypes_TypeFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: ppc_print_typeflags
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - PF
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_typeflags (struct ppc *ppc, DDS_XTypes_TypeFlag flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flagname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: PF
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PF(flagname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:103,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:110,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:111,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:112,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:113,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:114,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:115,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:116,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:117,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:118,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:119,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:120,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:121,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:122,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:123,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:124,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - ppc
    - v
    argTypes:
    - struct ppc*
    - DDS_XTypes_AnnotationParameterValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: ppc_print_paramval
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print
    - CASE
    linkageType: ''
    returnType: void
    signature: void ppc_print_paramval (struct ppc *ppc, const DDS_XTypes_AnnotationParameterValue
      *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - disc
    - ','
    - fmt
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: CASE
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(disc, fmt, member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:137,1
    - Dst: ppc_print_paramval
      Src: /src/cyclonedds/examples/dynsub/print_type.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ppc
    - ps
    argTypes:
    - struct ppc*
    - DDS_XTypes_AppliedAnnotationParameterSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: ppc_print_paramseq
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_paramval
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_paramseq (struct ppc *ppc, const DDS_XTypes_AppliedAnnotationParameterSeq
      *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:148,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:149,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:153,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:154,1
    - Dst: ppc_print_paramseq
      Src: /src/cyclonedds/examples/dynsub/print_type.c:155,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:156,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:157,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:159,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ppc
    - as
    argTypes:
    - struct ppc*
    - DDS_XTypes_AppliedAnnotationSeq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: ppc_print_annots
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_outdent
    - ppc_print
    - ppc_print_paramseq
    - ppc_indent
    linkageType: ''
    returnType: void
    signature: void ppc_print_annots (struct ppc *ppc, const DDS_XTypes_AppliedAnnotationSeq
      *as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ppc
    - as
    argTypes:
    - struct ppc*
    - struct DDS_XTypes_AppliedBuiltinTypeAnnotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: ppc_print_builtin_type_annots
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_builtin_type_annots (struct ppc *ppc, const struct DDS_XTypes_AppliedBuiltinTypeAnnotations
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_builtin_type_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:176,1
    - Dst: ppc_print_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppc
    - detail
    argTypes:
    - struct ppc*
    - DDS_XTypes_CompleteTypeDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: ppc_print_typedetail_sans_name
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_annots
    - ppc_print_builtin_type_annots
    linkageType: ''
    returnType: void
    signature: void ppc_print_typedetail_sans_name (struct ppc *ppc, const DDS_XTypes_CompleteTypeDetail
      *detail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:184,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppc
    - detail
    argTypes:
    - struct ppc*
    - DDS_XTypes_CompleteTypeDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: ppc_print_typedetail
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_typedetail_sans_name
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_typedetail (struct ppc *ppc, const DDS_XTypes_CompleteTypeDetail
      *detail)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:193,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:196,1
    - Dst: ppc_print_paramval
      Src: /src/cyclonedds/examples/dynsub/print_type.c:197,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:198,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:201,1
    - Dst: ppc_print_paramval
      Src: /src/cyclonedds/examples/dynsub/print_type.c:202,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:203,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ppc
    - a
    argTypes:
    - struct ppc*
    - DDS_XTypes_AppliedBuiltinMemberAnnotations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 208
    functionName: ppc_print_builtin_member_annots
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_paramval
    - ppc_print
    linkageType: ''
    returnType: void
    signature: void ppc_print_builtin_member_annots (struct ppc *ppc, const DDS_XTypes_AppliedBuiltinMemberAnnotations
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_builtin_member_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:212,1
    - Dst: ppc_print_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppc
    - detail
    argTypes:
    - struct ppc*
    - DDS_XTypes_CompleteElementDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: ppc_print_elementdetail
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_annots
    - ppc_print_builtin_member_annots
    linkageType: ''
    returnType: void
    signature: void ppc_print_elementdetail (struct ppc *ppc, const DDS_XTypes_CompleteElementDetail
      *detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_builtin_member_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:218,1
    - Dst: ppc_print_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppc
    - detail
    argTypes:
    - struct ppc*
    - DDS_XTypes_CompleteMemberDetail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: ppc_print_memberdetail_sans_name
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - ppc_print_annots
    - ppc_print_builtin_member_annots
    linkageType: ''
    returnType: void
    signature: void ppc_print_memberdetail_sans_name (struct ppc *ppc, const DDS_XTypes_CompleteMemberDetail
      *detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:227,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:228,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:229,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:230,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:231,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:232,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:233,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:234,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:235,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:236,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:237,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:238,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:239,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:240,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:241,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:242,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:243,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_type.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ppc
    - disc
    argTypes:
    - struct ppc*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: ppc_print_simple
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 0
    functionsReached:
    - CASE
    linkageType: ''
    returnType: bool
    signature: bool ppc_print_simple (struct ppc *ppc, const uint8_t disc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - disc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: CASE
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(disc)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_simple
      Src: /src/cyclonedds/examples/dynsub/print_type.c:252,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:259,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:265,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:282,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:285,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:286,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:287,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:288,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:290,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:291,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:292,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:293,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:294,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:295,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:302,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:307,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:312,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:314,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:317,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:318,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:319,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:320,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:322,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:323,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:324,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:325,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:326,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:327,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:331,1
    - Dst: ppc_print_equivhash
      Src: /src/cyclonedds/examples/dynsub/print_type.c:332,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:333,1
    - Dst: lookup_hashid
      Src: /src/cyclonedds/examples/dynsub/print_type.c:334,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:336,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:339,1
    - Dst: ppc_lineno
      Src: /src/cyclonedds/examples/dynsub/print_type.c:340,1
    - Dst: ppc_print_to
      Src: /src/cyclonedds/examples/dynsub/print_type.c:341,1
    - Dst: get_complete_typeobj_for_hashid
      Src: /src/cyclonedds/examples/dynsub/print_type.c:341,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:343,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:347,1
    - Dst: ppc_print_equivhash
      Src: /src/cyclonedds/examples/dynsub/print_type.c:348,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:349,1
    - Dst: lookup_hashid
      Src: /src/cyclonedds/examples/dynsub/print_type.c:350,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:352,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:355,1
    - Dst: ppc_lineno
      Src: /src/cyclonedds/examples/dynsub/print_type.c:356,1
    - Dst: ppc_print_to_min
      Src: /src/cyclonedds/examples/dynsub/print_type.c:357,1
    - Dst: get_minimal_typeobj_for_hashid
      Src: /src/cyclonedds/examples/dynsub/print_type.c:357,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:359,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_type.c:363,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/print_type.c:364,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 114
    argCount: 2
    argNames:
    - ppc
    - typeid
    argTypes:
    - struct ppc*
    - DDS_XTypes_TypeIdentifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 367
    functionName: ppc_print_ti
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 1
    functionsReached:
    - ppc_print_ti
    - ppc_outdent
    - ppc_print_simple
    - ppc_print_to
    - ppc_indent
    - printf
    - ppc_print_to_min
    - lookup_hashid
    - ppc_print
    - ppc_lineno
    - ppc_print_equivhash
    - abort
    - ppc_print_memberflags
    - get_complete_typeobj_for_hashid
    - get_minimal_typeobj_for_hashid
    linkageType: ''
    returnType: void
    signature: void ppc_print_ti (struct ppc *ppc, const DDS_XTypes_TypeIdentifier
      *typeid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_simple
      Src: /src/cyclonedds/examples/dynsub/print_type.c:371,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:377,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:378,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:379,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:380,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:381,1
    - Dst: ppc_print_builtin_member_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:382,1
    - Dst: ppc_print_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:383,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:384,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:385,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:386,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:387,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:392,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:393,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:394,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:395,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:396,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:400,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:401,1
    - Dst: ppc_print_memberdetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:402,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:403,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:405,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:410,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:411,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:412,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:413,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:414,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:418,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:419,1
    - Dst: ppc_print_memberdetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:420,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:421,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:423,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:428,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:429,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:430,1
    - Dst: ppc_print_typedetail
      Src: /src/cyclonedds/examples/dynsub/print_type.c:431,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:432,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:433,1
    - Dst: ppc_print_elementdetail
      Src: /src/cyclonedds/examples/dynsub/print_type.c:434,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:435,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:436,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:441,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:442,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:443,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:444,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:445,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:448,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:449,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:450,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:451,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:456,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:457,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:458,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:459,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:460,1
    - Dst: ppc_print_memberdetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:461,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:462,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:463,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:465,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:470,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:471,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:472,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:473,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:474,1
    - Dst: ppc_print_typedetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:475,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:476,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:477,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:479,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:480,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:481,1
    - Dst: ppc_print_builtin_type_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:482,1
    - Dst: ppc_print_annots
      Src: /src/cyclonedds/examples/dynsub/print_type.c:483,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:484,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:489,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:491,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:492,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:493,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:494,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:495,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:496,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:497,1
    - Dst: ppc_print_memberdetail_sans_name
      Src: /src/cyclonedds/examples/dynsub/print_type.c:498,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:499,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:500,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:501,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:503,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_type.c:507,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/print_type.c:508,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 124
    argCount: 2
    argNames:
    - ppc
    - typeobj
    argTypes:
    - struct ppc*
    - DDS_XTypes_CompleteTypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 511
    functionName: ppc_print_to
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 1
    functionsReached:
    - ppc_print_typeflags
    - ppc_print_ti
    - ppc_print_elementdetail
    - ppc_outdent
    - ppc_print_simple
    - ppc_print_typedetail
    - ppc_print_memberdetail_sans_name
    - ppc_print_builtin_type_annots
    - ppc_indent
    - ppc_print_builtin_member_annots
    - ppc_print_annots
    - printf
    - ppc_print_typedetail_sans_name
    - ppc_print
    - abort
    - ppc_print_memberflags
    linkageType: ''
    returnType: void
    signature: void ppc_print_to (struct ppc *ppc, const DDS_XTypes_CompleteTypeObject
      *typeobj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ppc_print_simple
      Src: /src/cyclonedds/examples/dynsub/print_type.c:515,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:521,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:522,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:523,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:524,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:525,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:526,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:527,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:528,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:533,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:534,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:535,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:536,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:540,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:541,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:542,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:544,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:549,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:550,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:551,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:552,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:556,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:557,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:558,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:560,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:565,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:566,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:567,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:568,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:569,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:570,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:571,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:576,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:577,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:578,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:579,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:582,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:583,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:584,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:585,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:590,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:591,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:592,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:593,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:594,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:595,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:596,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:598,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:603,1
    - Dst: ppc_print_typeflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:604,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:605,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:606,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:607,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:608,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:610,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:611,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:612,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:613,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:618,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:620,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:621,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:622,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:623,1
    - Dst: ppc_print_memberflags
      Src: /src/cyclonedds/examples/dynsub/print_type.c:624,1
    - Dst: ppc_print
      Src: /src/cyclonedds/examples/dynsub/print_type.c:625,1
    - Dst: ppc_indent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:626,1
    - Dst: ppc_print_ti
      Src: /src/cyclonedds/examples/dynsub/print_type.c:627,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:628,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:629,1
    - Dst: ppc_outdent
      Src: /src/cyclonedds/examples/dynsub/print_type.c:631,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_type.c:635,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/print_type.c:636,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 108
    argCount: 2
    argNames:
    - ppc
    - typeobj
    argTypes:
    - struct ppc*
    - DDS_XTypes_MinimalTypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 639
    functionName: ppc_print_to_min
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_type.c
    functionUses: 1
    functionsReached:
    - ppc_print_typeflags
    - ppc_print_ti
    - ppc_outdent
    - ppc_print_simple
    - ppc_indent
    - printf
    - ppc_print
    - abort
    - ppc_print_memberflags
    linkageType: ''
    returnType: void
    signature: void ppc_print_to_min (struct ppc *ppc, const DDS_XTypes_MinimalTypeObject
      *typeobj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - base
    - c
    - align
    - size
    argTypes:
    - unsigned char*
    - struct context*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: align
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *align (const unsigned char *base, struct context *c, size_t align,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:67,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:67,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:68,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:68,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:69,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:69,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:70,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:70,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:71,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:71,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:72,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:72,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:73,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:73,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:74,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:74,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:75,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:76,1
    - Dst: CASEI
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:77,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:78,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:78,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:79,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:79,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:80,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:80,1
    - Dst: CASE
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:81,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 6
    argNames:
    - sample
    - disc
    - c
    - label
    - union_disc_value
    - is_opt
    argTypes:
    - unsigned char*
    - uint8_t
    - struct context*
    - char*
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: print_sample1_simple
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 0
    functionsReached:
    - CASE
    - CASEI
    - printf
    linkageType: ''
    returnType: bool
    signature: bool print_sample1_simple (const unsigned char *sample, const uint8_t
      disc, struct context *c, const char *label, int32_t *union_disc_value, bool
      is_opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - disc
    - ','
    - type
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: CASEI
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASEI(disc, type, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - disc
    - ','
    - type
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: CASE
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(disc, type, fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:97,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sample
    - typeid
    - c
    - is_opt
    argTypes:
    - unsigned char*
    - DDS_XTypes_TypeIdentifier*
    - struct context*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: get_string_pointer
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 0
    functionsReached:
    - align
    linkageType: ''
    returnType: char
    signature: char *get_string_pointer (const unsigned char *sample, const DDS_XTypes_TypeIdentifier
      *typeid, struct context *c, bool is_opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:120,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sample
    - typeid
    - c
    - is_opt
    argTypes:
    - unsigned char*
    - DDS_XTypes_TypeIdentifier*
    - struct context*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: get_wstring_pointer
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 0
    functionsReached:
    - align
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *get_wstring_pointer (const unsigned char *sample, const DDS_XTypes_TypeIdentifier
      *typeid, struct context *c, bool is_opt)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: print_sample1_simple
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:135,1
    - Dst: get_string_pointer
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:141,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:144,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:145,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:146,1
    - Dst: get_wstring_pointer
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:153,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:156,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:157,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:158,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:166,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:170,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:171,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:172,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:175,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:194,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:195,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:196,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:202,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:204,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:207,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:213,1
    - Dst: print_sample1_to
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:214,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 7
    argNames:
    - sample
    - typeid
    - rank
    - c
    - label
    - is_base_type
    - is_opt
    argTypes:
    - unsigned char*
    - DDS_XTypes_TypeIdentifier*
    - uint32_t
    - struct context*
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 218
    functionName: print_sample1_ti
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 1
    functionsReached:
    - print_sample1_ti
    - fputc
    - get_wstring_pointer
    - printf
    - print_sample1_simple
    - get_string_pointer
    - print_sample1_to
    - type_cache_lookup
    - align
    linkageType: ''
    returnType: void
    signature: void print_sample1_ti (const unsigned char *sample, const DDS_XTypes_TypeIdentifier
      *typeid, uint32_t rank, struct context *c, const char *label, bool is_base_type,
      bool is_opt)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: print_sample1_simple
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:222,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:227,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:232,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:234,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:235,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:236,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:239,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:243,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:248,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:250,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:251,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:252,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:253,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:256,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:262,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:264,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:268,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:275,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:282,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:284,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:285,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:286,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:290,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:296,1
    - Dst: align
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:298,1
    - Dst: fputc
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:299,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:300,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:301,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:306,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:309,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:310,1
    - Dst: print_sample1_to
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:313,1
    - Dst: print_sample1_simple
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:315,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:317,1
    - Dst: print_sample1_ti
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:325,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:328,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 6
    argNames:
    - sample
    - typeobj
    - c
    - label
    - is_base_type
    - is_opt
    argTypes:
    - unsigned char*
    - DDS_XTypes_CompleteTypeObject*
    - struct context*
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 332
    functionName: print_sample1_to
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 2
    functionsReached:
    - print_sample1_ti
    - fputc
    - printf
    - print_sample1_simple
    - abort
    - print_sample1_to
    - type_cache_lookup
    - align
    linkageType: ''
    returnType: void
    signature: void print_sample1_to (const unsigned char *sample, const DDS_XTypes_CompleteTypeObject
      *typeobj, struct context *c, const char *label, bool is_base_type, bool is_opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_sample1_to
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:337,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/print_sample.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - valid_data
    - sample
    - typeobj
    argTypes:
    - bool
    - void*
    - DDS_XTypes_CompleteTypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: print_sample
    functionSourceFile: /src/cyclonedds/examples/dynsub/print_sample.c
    functionUses: 5
    functionsReached:
    - printf
    - print_sample1_to
    linkageType: ''
    returnType: void
    signature: void print_sample (bool valid_data, const void *sample, const DDS_XTypes_CompleteTypeObject
      *typeobj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:52,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:53,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:54,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:55,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:56,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:57,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:58,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:59,1
    - Dst: ppc_init
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:63,1
    - Dst: dds_waitset_wait_until
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:65,1
    - Dst: dds_take
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:70,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:77,1
    - Dst: dds_builtintopic_get_endpoint_type_info
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:77,1
    - Dst: dds_find_topic
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:89,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:89,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:91,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:91,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:93,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:93,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:95,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:95,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:96,1
    - Dst: dds_qset_data_representation
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:99,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:100,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:102,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:102,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:103,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:104,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:107,1
    - Dst: load_type_with_deps
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:110,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:112,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:113,1
    - Dst: load_type_with_deps_min
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:116,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:118,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:119,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:123,1
    - Dst: build_typecache_to
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:129,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:130,1
    - Dst: type_cache_lookup
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:132,1
    - Dst: assert
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:134,1
    - Dst: malloc
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:140,1
    - Dst: assert
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:141,1
    - Dst: type_cache_add
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:143,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:147,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:148,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 4
    argNames:
    - topic_name
    - timeout
    - topic
    - xtypeobj
    argTypes:
    - char*
    - dds_duration_t
    - dds_entity_t*
    - DDS_XTypes_TypeObject**
    assertStmts:
    - condition: (info->release == NULL)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cyclonedds/examples/dynsub/dynsub.c
    - condition: (info)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/examples/dynsub/dynsub.c
    constantsTouched: []
    func_position:
      end: 151
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 151
    functionName: get_topic_and_typeobj
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - dds_take
    - fprintf
    - dds_waitset_wait_until
    - DDS_SECS
    - load_type_with_deps
    - dds_return_loan
    - dds_delete
    - dds_create_waitset
    - type_cache_add
    - fflush
    - dds_create_topic
    - dds_waitset_attach
    - dds_create_reader
    - dds_create_readcondition
    - assert
    - strcmp
    - build_typecache_to
    - ppc_init
    - dds_delete_topic_descriptor
    - load_type_with_deps_min
    - dds_find_topic
    - dds_strretcode
    - dds_time
    - dds_create_topic_descriptor
    - malloc
    - dds_builtintopic_get_endpoint_type_info
    - dds_qset_data_representation
    - type_cache_lookup
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t get_topic_and_typeobj (const char *topic_name, dds_duration_t
      timeout, dds_entity_t *topic, DDS_XTypes_TypeObject **xtypeobj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dds_take
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:158,1
    - Dst: print_sample
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:163,1
    - Dst: dds_return_loan
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - reader
    - xtypeobj
    argTypes:
    - dds_entity_t
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: print_sample_normal
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - dds_take
    - dds_return_loan
    - print_sample
    linkageType: ''
    returnType: bool
    signature: bool print_sample_normal (dds_entity_t reader, const DDS_XTypes_TypeObject
      *xtypeobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:174,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:177,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:179,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:180,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:184,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:186,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: hexdump
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void hexdump (const unsigned char *msg, const size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddsi_serdata_to_ser
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct ddsi_serdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: encodingstr
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - ddsi_serdata_to_ser
    linkageType: ''
    returnType: char
    signature: char *encodingstr (const struct ddsi_serdata *sd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dds_takecdr
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:225,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:229,1
    - Dst: encodingstr
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:229,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:231,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:232,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:233,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:234,1
    - Dst: ddsi_serdata_to_ser_ref
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:239,1
    - Dst: ddsi_serdata_size
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:239,1
    - Dst: hexdump
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:240,1
    - Dst: ddsi_serdata_to_ser_unref
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:241,1
    - Dst: calloc
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:244,1
    - Dst: abort
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:246,1
    - Dst: ddsi_serdata_to_sample
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:250,1
    - Dst: dds_get_entity_sertype
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:254,1
    - Dst: ddsi_serdata_untyped_to_sample
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:255,1
    - Dst: print_sample
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:258,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:260,1
    - Dst: ddsi_sertype_free_sample
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:261,1
    - Dst: free
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:262,1
    - Dst: ddsi_serdata_unref
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - reader
    - xtypeobj
    argTypes:
    - dds_entity_t
    - DDS_XTypes_TypeObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 217
    functionDepth: 7
    functionLinenumber: 217
    functionLinenumberEnd: 267
    functionName: print_sample_cdr
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - encodingstr
    - print_sample
    - ddsi_serdata_to_ser_ref
    - ddsi_serdata_unref
    - hexdump
    - dds_get_entity_sertype
    - printf
    - ddsi_serdata_size
    - ddsi_serdata_to_ser_unref
    - ddsi_serdata_untyped_to_sample
    - ddsi_sertype_free_sample
    - free
    - calloc
    - dds_takecdr
    - abort
    - ddsi_serdata_to_sample
    linkageType: ''
    returnType: bool
    signature: bool print_sample_cdr (dds_entity_t reader, const DDS_XTypes_TypeObject
      *xtypeobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dds_set_guardcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: signal_handler
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 2
    functionsReached:
    - dds_set_guardcondition
    linkageType: ''
    returnType: void
    signature: void signal_handler (int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigwait
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:282,1
    - Dst: signal_handler
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: sigthread
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 0
    functionsReached:
    - sigwait
    - signal_handler
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sigthread (void *varg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:296,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:303,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:310,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:314,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:317,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:317,1
    - Dst: type_cache_init
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:323,1
    - Dst: get_topic_and_typeobj
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:324,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:324,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:326,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:326,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:330,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:332,1
    - Dst: dds_create_readcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:333,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:334,1
    - Dst: dds_create_guardcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:336,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:337,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:340,1
    - Dst: sigemptyset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:344,1
    - Dst: DDSRT_WARNING_GNUC_OFF
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:346,1
    - Dst: sigaddset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:348,1
    - Dst: sigaddset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:349,1
    - Dst: sigaddset
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:350,1
    - Dst: DDSRT_WARNING_GNUC_ON
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:352,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:354,1
    - Dst: ddsrt_threadattr_init
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:357,1
    - Dst: ddsrt_thread_create
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:358,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:365,1
    - Dst: dds_read_guardcondition
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:366,1
    - Dst: print_sample_cdr
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:368,1
    - Dst: print_sample_normal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:368,1
    - Dst: signal_handler
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:374,1
    - Dst: kill
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:380,1
    - Dst: getpid
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:380,1
    - Dst: ddsrt_thread_join
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:381,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:382,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:383,1
    - Dst: sigprocmask
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:384,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:385,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:386,1
    - Dst: type_cache_free
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:391,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/dynsub.c:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 288
    functionDepth: 11
    functionLinenumber: 288
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/dynsub/dynsub.c
    functionUses: 79
    functionsReached:
    - fprintf
    - DDS_SECS
    - dds_delete
    - sigprocmask
    - print_sample_cdr
    - dds_create_waitset
    - signal
    - kill
    - sigemptyset
    - dds_waitset_attach
    - getpid
    - DDSRT_WARNING_GNUC_OFF
    - dds_create_reader
    - get_topic_and_typeobj
    - dds_create_readcondition
    - ddsrt_thread_join
    - DDSRT_WARNING_GNUC_ON
    - strcmp
    - print_sample_normal
    - sigaddset
    - ddsrt_threadattr_init
    - setlocale
    - dds_strretcode
    - ddsrt_thread_create
    - dds_read_guardcondition
    - type_cache_init
    - dds_create_participant
    - type_cache_free
    - dds_create_guardcondition
    - dds_waitset_wait
    - signal_handler
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:127,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:131,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:134,1
    - Dst: exit
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: usage
    functionSourceFile: /src/cyclonedds/examples/dynsub/variouspub.c
    functionUses: 14
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage (const char *argv0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: sigint
    functionSourceFile: /src/cyclonedds/examples/dynsub/variouspub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint (int sig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:149,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:152,1
    - Dst: usage
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:155,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:157,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:160,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:160,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:164,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:165,1
    - Dst: signal
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:168,1
    - Dst: dds_write
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:179,1
    - Dst: fprintf
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:181,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:181,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:182,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:189,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:189,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dynsub/variouspub.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/dynsub/variouspub.c
    functionUses: 79
    functionsReached:
    - fprintf
    - dds_create_topic
    - dds_create_participant
    - dds_write
    - DDS_SECS
    - strcmp
    - dds_delete
    - dds_sleepfor
    - usage
    - signal
    - dds_create_writer
    - dds_strretcode
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:22,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:24,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:24,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:26,1
    - Dst: dds_dynamic_type_set_extensibility
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:27,1
    - Dst: dds_dynamic_type_set_autoid
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:28,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:29,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:29,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:31,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:34,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:37,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:37,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:38,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER_ID_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:38,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:39,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:39,1
    - Dst: dds_dynamic_type_ref
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:39,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:40,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER_DEFAULT_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:40,1
    - Dst: dds_dynamic_type_dup
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:42,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:43,1
    - Dst: DDS_DYNAMIC_UNION_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:43,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:45,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:46,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:46,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:49,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:53,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:57,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:61,1
    - Dst: dds_dynamic_type_ref
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:61,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:66,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:70,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:76,1
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:77,1
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:78,1
    - Dst: dds_dynamic_type_add_enum_literal
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:79,1
    - Dst: DDS_DYNAMIC_ENUM_LITERAL_VALUE
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:79,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:82,1
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:83,1
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:84,1
    - Dst: dds_dynamic_type_add_bitmask_field
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:85,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:88,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:90,1
    - Dst: dds_dynamic_type_ref
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:90,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:95,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:96,1
    - Dst: dds_dynamic_type_create
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:102,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:103,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:103,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:104,1
    - Dst: DDS_DYNAMIC_MEMBER_ID_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:104,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:105,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:105,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:106,1
    - Dst: DDS_DYNAMIC_MEMBER_PRIM
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:106,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:107,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:107,1
    - Dst: dds_dynamic_type_ref
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:107,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:108,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:108,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:109,1
    - Dst: DDS_DYNAMIC_MEMBER_ID
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:109,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:110,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:110,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:111,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:111,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:112,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:112,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:113,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:113,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:114,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:114,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:115,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:115,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:116,1
    - Dst: DDS_DYNAMIC_MEMBER
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:116,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:119,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:120,1
    - Dst: dds_dynamic_type_add_member
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:125,1
    - Dst: DDS_DYNAMIC_TYPE_SPEC
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:126,1
    - Dst: dds_dynamic_type_register
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:134,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:136,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:136,1
    - Dst: dds_create_topic_descriptor
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:139,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:141,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:141,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:143,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:145,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:145,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:147,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:149,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:149,1
    - Dst: dds_free_typeinfo
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:152,1
    - Dst: dds_delete_topic_descriptor
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:153,1
    - Dst: dds_dynamic_type_unref
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:154,1
    - Dst: printf
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:156,1
    - Dst: getchar
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:157,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:160,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:162,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/dyntype/dyntype.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 16
    functionDepth: 6
    functionLinenumber: 16
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/dyntype/dyntype.c
    functionUses: 79
    functionsReached:
    - getchar
    - DDS_DYNAMIC_UNION_MEMBER
    - DDS_DYNAMIC_TYPE_SPEC_PRIM
    - dds_delete
    - dds_dynamic_type_register
    - dds_dynamic_type_dup
    - dds_create_topic
    - dds_dynamic_type_set_autoid
    - dds_dynamic_type_ref
    - DDS_DYNAMIC_TYPE_SPEC
    - dds_dynamic_type_add_member
    - DDS_DYNAMIC_ENUM_LITERAL_VALUE
    - DDS_FATAL
    - DDS_DYNAMIC_MEMBER_ID
    - dds_free_typeinfo
    - DDS_DYNAMIC_MEMBER_PRIM
    - dds_dynamic_type_set_extensibility
    - printf
    - dds_delete_topic_descriptor
    - dds_dynamic_type_add_enum_literal
    - dds_create_writer
    - DDS_DYNAMIC_MEMBER_ID_PRIM
    - dds_strretcode
    - DDS_DYNAMIC_MEMBER
    - dds_dynamic_type_add_bitmask_field
    - dds_create_participant
    - dds_dynamic_type_unref
    - dds_dynamic_type_create
    - DDS_DYNAMIC_UNION_MEMBER_ID_PRIM
    - dds_create_topic_descriptor
    - DDS_DYNAMIC_UNION_MEMBER_DEFAULT_PRIM
    - DDS_DYNAMIC_UNION_MEMBER_PRIM
    linkageType: ''
    returnType: int
    signature: int main (int argc, char ** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: sigint
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint (int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/cyclonedds/examples/throughput/subscriber.c:85,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:90,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/subscriber.c:91,1
    - Dst: prepare_dds
      Src: /src/cyclonedds/examples/throughput/subscriber.c:93,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:95,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/subscriber.c:96,1
    - Dst: signal
      Src: /src/cyclonedds/examples/throughput/subscriber.c:101,1
    - Dst: process_samples
      Src: /src/cyclonedds/examples/throughput/subscriber.c:103,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/examples/throughput/subscriber.c:105,1
    - Dst: HandleMap__free
      Src: /src/cyclonedds/examples/throughput/subscriber.c:106,1
    - Dst: finalize_dds
      Src: /src/cyclonedds/examples/throughput/subscriber.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 79
    functionsReached:
    - finalize_dds
    - HandleMap__free
    - parse_args
    - dds_set_status_mask
    - prepare_dds
    - printf
    - process_samples
    - signal
    - fflush
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/examples/throughput/subscriber.c:116,1
    - Dst: assert
      Src: /src/cyclonedds/examples/throughput/subscriber.c:117,1
    - Dst: memset
      Src: /src/cyclonedds/examples/throughput/subscriber.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (map)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: HandleMap__alloc
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - memset
    linkageType: ''
    returnType: HandleMap
    signature: HandleMap * HandleMap__alloc (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cyclonedds/examples/throughput/subscriber.c:130,1
    - Dst: free
      Src: /src/cyclonedds/examples/throughput/subscriber.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - map
    argTypes:
    - HandleMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: HandleMap__free
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void HandleMap__free (HandleMap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cyclonedds/examples/throughput/subscriber.c:137,1
    - Dst: assert
      Src: /src/cyclonedds/examples/throughput/subscriber.c:138,1
    - Dst: memset
      Src: /src/cyclonedds/examples/throughput/subscriber.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - HandleMap*
    - dds_instance_handle_t
    assertStmts:
    - condition: (entry)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: store_handle
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    - memset
    linkageType: ''
    returnType: HandleEntry
    signature: HandleEntry * store_handle (HandleMap *map, dds_instance_handle_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - HandleMap*
    - dds_instance_handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: retrieve_handle
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HandleEntry
    signature: HandleEntry * retrieve_handle (HandleMap *map, dds_instance_handle_t
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/subscriber.c:171,1
    - Dst: dds_take
      Src: /src/cyclonedds/examples/throughput/subscriber.c:176,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:179,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:179,1
    - Dst: retrieve_handle
      Src: /src/cyclonedds/examples/throughput/subscriber.c:187,1
    - Dst: store_handle
      Src: /src/cyclonedds/examples/throughput/subscriber.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - reader
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 210
    functionName: do_take
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached:
    - dds_take
    - retrieve_handle
    - store_handle
    - dds_time
    - DDS_FATAL
    - dds_strretcode
    linkageType: ''
    returnType: int
    signature: int do_take (dds_entity_t reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_take
      Src: /src/cyclonedds/examples/throughput/subscriber.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - arg
    argTypes:
    - dds_entity_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: data_available_handler
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 0
    functionsReached:
    - do_take
    linkageType: ''
    returnType: void
    signature: void data_available_handler (dds_entity_t reader, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/examples/throughput/subscriber.c:224,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/throughput/subscriber.c:224,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:226,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:227,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:228,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:229,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/subscriber.c:235,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/subscriber.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - argc
    - argv
    - maxCycles
    - partitionName
    argTypes:
    - int
    - char**
    - unsigned long long*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 246
    functionName: parse_args
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 1
    functionsReached:
    - atoi
    - strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int parse_args(int argc, char **argv, unsigned long long *maxCycles,
      char **partitionName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/throughput/subscriber.c:264,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/throughput/subscriber.c:264,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/throughput/subscriber.c:267,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/throughput/subscriber.c:267,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:269,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:269,1
    - Dst: do_take
      Src: /src/cyclonedds/examples/throughput/subscriber.c:274,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/subscriber.c:278,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:286,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/subscriber.c:291,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:308,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:309,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:310,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/subscriber.c:311,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/subscriber.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - reader
    - maxCycles
    argTypes:
    - dds_entity_t
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 248
    functionDepth: 7
    functionLinenumber: 248
    functionLinenumberEnd: 313
    functionName: process_samples
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 1
    functionsReached:
    - do_take
    - dds_time
    - dds_sleepfor
    - printf
    - DDS_FATAL
    - DDS_MSECS
    - dds_waitset_wait
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: void
    signature: void process_samples(dds_entity_t reader, unsigned long long maxCycles)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/throughput/subscriber.c:325,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/throughput/subscriber.c:326,1
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/throughput/subscriber.c:330,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:332,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:332,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/examples/throughput/subscriber.c:336,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/throughput/subscriber.c:336,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/examples/throughput/subscriber.c:337,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/examples/throughput/subscriber.c:338,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/throughput/subscriber.c:339,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:341,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:341,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/throughput/subscriber.c:346,1
    - Dst: dds_create_subscriber
      Src: /src/cyclonedds/examples/throughput/subscriber.c:347,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:349,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:349,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/throughput/subscriber.c:350,1
    - Dst: dds_create_listener
      Src: /src/cyclonedds/examples/throughput/subscriber.c:354,1
    - Dst: dds_lset_data_available
      Src: /src/cyclonedds/examples/throughput/subscriber.c:355,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/throughput/subscriber.c:359,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:361,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:361,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/throughput/subscriber.c:363,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:365,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:365,1
    - Dst: HandleMap__alloc
      Src: /src/cyclonedds/examples/throughput/subscriber.c:367,1
    - Dst: memset
      Src: /src/cyclonedds/examples/throughput/subscriber.c:369,1
    - Dst: dds_create_reader
      Src: /src/cyclonedds/examples/throughput/subscriber.c:377,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:379,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:379,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/throughput/subscriber.c:383,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:385,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:385,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/throughput/subscriber.c:388,1
    - Dst: dds_delete_listener
      Src: /src/cyclonedds/examples/throughput/subscriber.c:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - reader
    - partitionName
    argTypes:
    - dds_entity_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 392
    functionName: prepare_dds
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 3
    functionsReached:
    - DDS_SECS
    - dds_create_subscriber
    - dds_qset_reliability
    - dds_create_waitset
    - dds_qset_resource_limits
    - dds_create_qos
    - dds_lset_data_available
    - dds_qset_history
    - dds_create_topic
    - dds_waitset_attach
    - DDS_FATAL
    - dds_create_reader
    - dds_delete_listener
    - dds_qset_partition
    - dds_strretcode
    - dds_create_listener
    - dds_create_participant
    - HandleMap__alloc
    - memset
    - dds_delete_qos
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t prepare_dds(dds_entity_t *reader, const char *partitionName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ThroughputModule_DataType_free
      Src: /src/cyclonedds/examples/throughput/subscriber.c:400,1
    - Dst: dds_waitset_detach
      Src: /src/cyclonedds/examples/throughput/subscriber.c:403,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:405,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:405,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/throughput/subscriber.c:406,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:408,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:408,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/throughput/subscriber.c:409,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/subscriber.c:411,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/subscriber.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - participant
    argTypes:
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: finalize_dds
    functionSourceFile: /src/cyclonedds/examples/throughput/subscriber.c
    functionUses: 3
    functionsReached:
    - ThroughputModule_DataType_free
    - dds_delete
    - DDS_FATAL
    - dds_waitset_detach
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void finalize_dds(dds_entity_t participant)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: sigint
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint (int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_args
      Src: /src/cyclonedds/examples/throughput/publisher.c:52,1
    - Dst: prepare_dds
      Src: /src/cyclonedds/examples/throughput/publisher.c:56,1
    - Dst: wait_for_reader
      Src: /src/cyclonedds/examples/throughput/publisher.c:59,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:60,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/publisher.c:61,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/throughput/publisher.c:62,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:64,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:64,1
    - Dst: dds_alloc
      Src: /src/cyclonedds/examples/throughput/publisher.c:70,1
    - Dst: signal
      Src: /src/cyclonedds/examples/throughput/publisher.c:79,1
    - Dst: start_writing
      Src: /src/cyclonedds/examples/throughput/publisher.c:83,1
    - Dst: finalize_dds
      Src: /src/cyclonedds/examples/throughput/publisher.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 79
    functionsReached:
    - wait_for_reader
    - finalize_dds
    - parse_args
    - dds_delete
    - prepare_dds
    - printf
    - DDS_FATAL
    - signal
    - start_writing
    - dds_strretcode
    - dds_alloc
    - fflush
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cyclonedds/examples/throughput/publisher.c:104,1
    - Dst: strcmp
      Src: /src/cyclonedds/examples/throughput/publisher.c:104,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:106,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:107,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:108,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:109,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/publisher.c:114,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/publisher.c:118,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/publisher.c:122,1
    - Dst: atoi
      Src: /src/cyclonedds/examples/throughput/publisher.c:126,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:133,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/publisher.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 7
    argNames:
    - argc
    - argv
    - payloadSize
    - burstInterval
    - burstSize
    - timeOut
    - partitionName
    argTypes:
    - int
    - char**
    - uint32_t*
    - int*
    - uint32_t*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 138
    functionName: parse_args
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 2
    functionsReached:
    - atoi
    - strcmp
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: "int parse_args(\n    int argc,\n    char **argv,\n    uint32_t *payloadSize,\n
      \   int *burstInterval,\n    uint32_t *burstSize,\n    int *timeOut,\n    char
      **partitionName)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dds_create_participant
      Src: /src/cyclonedds/examples/throughput/publisher.c:151,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:153,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:153,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:156,1
    - Dst: dds_qset_reliability
      Src: /src/cyclonedds/examples/throughput/publisher.c:157,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/throughput/publisher.c:157,1
    - Dst: dds_qset_history
      Src: /src/cyclonedds/examples/throughput/publisher.c:158,1
    - Dst: dds_qset_resource_limits
      Src: /src/cyclonedds/examples/throughput/publisher.c:159,1
    - Dst: dds_create_topic
      Src: /src/cyclonedds/examples/throughput/publisher.c:160,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:162,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:162,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:163,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:166,1
    - Dst: dds_qset_partition
      Src: /src/cyclonedds/examples/throughput/publisher.c:168,1
    - Dst: dds_create_publisher
      Src: /src/cyclonedds/examples/throughput/publisher.c:169,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:171,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:171,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:172,1
    - Dst: dds_create_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:175,1
    - Dst: dds_qset_writer_batching
      Src: /src/cyclonedds/examples/throughput/publisher.c:176,1
    - Dst: dds_create_writer
      Src: /src/cyclonedds/examples/throughput/publisher.c:177,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:179,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:179,1
    - Dst: dds_delete_qos
      Src: /src/cyclonedds/examples/throughput/publisher.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - writer
    - partitionName
    argTypes:
    - dds_entity_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 183
    functionName: prepare_dds
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 4
    functionsReached:
    - dds_qset_history
    - dds_create_topic
    - dds_create_writer
    - dds_qset_writer_batching
    - dds_create_participant
    - DDS_SECS
    - dds_create_publisher
    - DDS_FATAL
    - dds_qset_reliability
    - dds_delete_qos
    - dds_qset_resource_limits
    - dds_qset_partition
    - dds_create_qos
    - dds_strretcode
    linkageType: ''
    returnType: dds_entity_t
    signature: dds_entity_t prepare_dds(dds_entity_t *writer, const char *partitionName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:187,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/publisher.c:188,1
    - Dst: dds_set_status_mask
      Src: /src/cyclonedds/examples/throughput/publisher.c:193,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:195,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:195,1
    - Dst: dds_create_waitset
      Src: /src/cyclonedds/examples/throughput/publisher.c:197,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:199,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:199,1
    - Dst: dds_waitset_attach
      Src: /src/cyclonedds/examples/throughput/publisher.c:201,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:203,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:203,1
    - Dst: dds_waitset_wait
      Src: /src/cyclonedds/examples/throughput/publisher.c:205,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/throughput/publisher.c:205,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:207,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - writer
    - participant
    argTypes:
    - dds_entity_t
    - dds_entity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: wait_for_reader
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 1
    functionsReached:
    - dds_waitset_attach
    - DDS_SECS
    - dds_set_status_mask
    - printf
    - DDS_FATAL
    - dds_create_waitset
    - dds_waitset_wait
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: dds_return_t
    signature: dds_return_t wait_for_reader(dds_entity_t writer, dds_entity_t participant)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/publisher.c:220,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:230,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/publisher.c:231,1
    - Dst: dds_write
      Src: /src/cyclonedds/examples/throughput/publisher.c:239,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:246,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:246,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/publisher.c:258,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/throughput/publisher.c:260,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/examples/throughput/publisher.c:262,1
    - Dst: dds_sleepfor
      Src: /src/cyclonedds/examples/throughput/publisher.c:263,1
    - Dst: DDS_MSECS
      Src: /src/cyclonedds/examples/throughput/publisher.c:263,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/publisher.c:265,1
    - Dst: dds_time
      Src: /src/cyclonedds/examples/throughput/publisher.c:275,1
    - Dst: DDS_SECS
      Src: /src/cyclonedds/examples/throughput/publisher.c:277,1
    - Dst: dds_write_flush
      Src: /src/cyclonedds/examples/throughput/publisher.c:283,1
    - Dst: printf
      Src: /src/cyclonedds/examples/throughput/publisher.c:285,1
    - Dst: fflush
      Src: /src/cyclonedds/examples/throughput/publisher.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - writer
    - sample
    - burstInterval
    - burstSize
    - timeOut
    argTypes:
    - dds_entity_t
    - ThroughputModule_DataType*
    - int
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 288
    functionName: start_writing
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 1
    functionsReached:
    - dds_write_flush
    - dds_write
    - dds_time
    - DDS_SECS
    - dds_sleepfor
    - printf
    - DDS_FATAL
    - DDS_MSECS
    - dds_strretcode
    - fflush
    linkageType: ''
    returnType: void
    signature: "void start_writing(\n    dds_entity_t writer,\n    ThroughputModule_DataType
      *sample,\n    int burstInterval,\n    uint32_t burstSize,\n    int timeOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dds_dispose
      Src: /src/cyclonedds/examples/throughput/publisher.c:292,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:294,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:294,1
    - Dst: dds_free
      Src: /src/cyclonedds/examples/throughput/publisher.c:296,1
    - Dst: dds_delete
      Src: /src/cyclonedds/examples/throughput/publisher.c:297,1
    - Dst: DDS_FATAL
      Src: /src/cyclonedds/examples/throughput/publisher.c:299,1
    - Dst: dds_strretcode
      Src: /src/cyclonedds/examples/throughput/publisher.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - participant
    - writer
    - sample
    argTypes:
    - dds_entity_t
    - dds_entity_t
    - ThroughputModule_DataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: finalize_dds
    functionSourceFile: /src/cyclonedds/examples/throughput/publisher.c
    functionUses: 4
    functionsReached:
    - dds_dispose
    - dds_free
    - dds_delete
    - DDS_FATAL
    - dds_strretcode
    linkageType: ''
    returnType: void
    signature: void finalize_dds(dds_entity_t participant, dds_entity_t writer, ThroughputModule_DataType
      sample)
Fuzzer filename: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- dds__types.h
- ws2tcpip.h
- ddsi__topic.h
- openssl/engine.h
- ddsi__deliver_locally.h
- ddsi__discovery_spdp.h
- ddsi__radmin.h
- stddef.h
- ddsi__eth.h
- ddsi__entity_index.h
- dds/ddsi/ddsi_iid.h
- dds/cdr/dds_cdrstream.h
- dds__read.h
- RhcTypes.h
- atomic.h
- access_control_objects.h
- annotation.h
- dds/ddsrt/filesystem.h
- dds/ddsrt/countargs.h
- FreeRTOS.h
- dds/features.h
- sys/event.h
- dds/ddsi/ddsi_transmit.h
- dl.h
- dds/version.h
- ddsi__proxy_endpoint.h
- ddsi__debmon.h
- dds/ddsi/ddsi_endpoint_match.h
- mach/mach_port.h
- ddsi__gc.h
- dds/ddsrt/log.h
- dds/security/dds_security_api.h
- dds/ddsi/ddsi_plist.h
- XSpaceMustUnderstand.h
- dds__domain.h
- ucunit/export.h
- net/bpf.h
- sys/ioctl.h
- dds/ddsi/ddsi_endpoint.h
- linux/if_ether.h
- psmx_iox_impl.hpp
- XSpaceTypeConsistencyEnforcement.h
- dds/ddsi/ddsi_rhc.h
- sys/resource.h
- test_util.h
- iostream
- basetsd.h
- idl/visit.h
- mach/task.h
- common/plugin_wrapper_msg_q.h
- XSpaceEnum.h
- strings.h
- libidlc_export.h
- ac_tokens.h
- net/if_var.h
- test_identity.h
- SerdataData.h
- Space.h
- dds/ddsrt/atomics/msvc.h
- zephyr/kernel.h
- mach/task_info.h
- dds/ddsrt/netstat.h
- mswsock.h
- dds__builtin.h
- dds/ddsi/ddsi_threadmon.h
- sys/sysctl.h
- dds/ddsrt/sync.h
- ddsi__dynamic_type.h
- dds/security/core/dds_security_utils.h
- dds/ddsi/ddsi_gc.h
- CUnit/Test.h
- ddsi__nwpart.h
- idl/file.h
- sys/procfs.h
- generator.h
- dds/ddsi/ddsi_participant.h
- dds/ddsrt/rusage.h
- ddsi__nwinterfaces.h
- crypto_utils.h
- dds/ddsrt/sched.h
- config_env.h
- idl/retcode.h
- ddsi__xqos.h
- CdrStreamWstring.h
- netdb.h
- sys/int_types.h
- dds/ddsrt/strtol.h
- dds__sysdef_model.h
- dds/ddsi/ddsi_addrset.h
- ddsi__serdata_cdr.h
- dds/ddsc/dds_public_dynamic_type.h
- dds__guid.h
- mach/vm_map.h
- ddsi__rhc.h
- dds__whc.h
- directive.h
- dds__serdata_default.h
- psmx_dummy_v0_public.h
- build_options.h
- dds_security_api_cryptography.h
- ddsi__vendor.h
- dds/ddsi/ddsi_radmin.h
- test_utils.h
- openssl/provider.h
- ddsi__acknack.h
- dbghelp.h
- mach/thread_act.h
- dds/ddsrt/atomics/gcc.h
- fuzz_handshake_harness.h
- crypto_helper.h
- CU_THEORY_INCLUDE_FILE
- dds/ddsrt/misc.h
- dds__get_status.h
- dds/dds.hpp
- functional
- InstanceHandleTypes.h
- dds__loaned_sample.h
- dds/ddsrt/filesystem/posix.h
- access_control_wrapper.h
- openssl/rand.h
- dds/ddsi/ddsi_log.h
- dds_cdrstream_keys.part.h
- ddsi__participant.h
- vxWorks.h
- dds/dds.h
- dds/security/dds_security_api_types.h
- dds__writer.h
- dds/ddsc/dds_data_type_properties.h
- idl/md5.h
- auth_utils.h
- XSpace.h
- ddsperf_types.h
- dds__qos.h
- dds/ddsc/dds_public_error.h
- netinet/if_ether.h
- cstring
- fuzz_handshake_expose.h
- common/test_identity.h
- Throughput.h
- mcpp.H
- ddsi__vnet.h
- internal.H
- common/cert_utils.h
- dds/ddsc/dds_public_qos.h
- process.h
- dds/ddsrt/machineid.h
- iox2/iceoryx2.h
- signal.h
- sys/thr.h
- security_config_test_utils.h
- CdrStreamSkipDefault.h
- dds/ddsrt/io.h
- dds/ddsi/ddsi_inverse_uint32_set.h
- iceoryx_versions.hpp
- common/src/handshake_helper.h
- dds/ddsi/ddsi_sockwaitset.h
- symbol.h
- cert_utils.h
- mem_ser.h
- idl/tree.h
- dds/ddsc/dds_psmx.h
- dds/ddsrt/fibheap.h
- common/security_config_test_utils.h
- unistd.h
- dds/security/openssl_support.h
- setjmp.h
- mcpp_export.h
- access_control_utils.h
- sysexits.h
- dds/ddsrt/attributes.h
- dds/ddsi/ddsi_portmapping.h
- ddsi__typelookup.h
- sys/isa_defs.h
- openssl/asn1.h
- dds/ddsi/ddsi_statistics.h
- openssl/hmac.h
- dds/ddsi/ddsi_xevent.h
- dds/ddsi/ddsi_thread.h
- ddsi__misc.h
- idl/scope.h
- dds/ddsrt/xmlparser.h
- dds/ddsrt/cdtors.h
- fcntl.h
- dds/ddsi/ddsi_xt_typelookup.h
- dds/security/core/dds_security_serialize.h
- dds/ddsc/dds_public_qosdefs.h
- wchar.h
- dds/ddsrt/arch.h
- selectLib.h
- cryptography_wrapper.h
- openssl/conf.h
- dds/ddsi/ddsi_protocol_version.h
- WinSock2.h
- math.h
- dds/ddsc/dds_public_alloc.h
- access_control.h
- loader.h
- dds/ddsrt/expand_vars.h
- sys/socket.h
- ddsi__endpoint_match.h
- dds/ddsc/dds_basic_types.h
- st_inttypes.h
- common/authentication_wrapper.h
- dynsub.h
- SertypeData.h
- dds/ddsrt/heap.h
- mcpp_out.h
- CdrStreamKeyFlags.h
- ddsi__xmsg.h
- dds/ddsrt/threads/windows.h
- lwip/netdb.h
- dds/ddsc/dds_public_impl.h
- optional
- ddsi__security_exchange.h
- dds/ddsrt/sync/solaris2.6.h
- dds__serdata_builtintopic.h
- ddsi__hbcontrol.h
- async_listener.h
- CdrStreamChecking.h
- dds/ddsrt/sockets/posix.h
- CdrStreamSerDes.h
- ddsi__cfgelems.h
- dir.h
- errnoLib.h
- sys/select.h
- crypto_objects.h
- dds/ddsi/ddsi_xt_typeinfo.h
- dds/ddsrt/strtod.h
- dds/security/export.h
- dds__psmx.h
- ddsi__discovery_topic.h
- openssl/x509_vfy.h
- idl/misc.h
- openssl/sha.h
- dds/ddsc/dds_public_qos_provider.h
- dds/ddsi/ddsi_topic.h
- common/access_control_wrapper.h
- memcheck.h
- handshake_helper.h
- psmx_iox2_impl.h
- dds/psmx_dummy/export.h
- dds__init.h
- lwip/sockets.h
- dds/ddsrt/hopscotch.h
- dds/ddsrt/types/posix.h
- iceoryx_posh/popo/untyped_publisher.hpp
- crypto_tokens.h
- dds/ddsrt/foreach.h
- psmx_iox_export.h
- thread
- dds/ddsi/ddsi_entity_index.h
- ddsi__tran.h
- cafe/inttypes.h
- HelloWorldData.h
- libintl.h
- chrono
- dds/ddsi/ddsi_locator.h
- deadline_update.h
- cfgunits.h
- common/config_env.h
- linux/if_packet.h
- pthread_np.h
- PsmxDataModels.h
- TargetConditionals.h
- iceoryx_hoofs/posix_wrapper/signal_watcher.hpp
- openssl/opensslconf.h
- ddsi__security_omg.h
- ddsi__pmd.h
- dds/ddsrt/process.h
- idl/descriptor_type_meta.h
- ddsi__discovery_endpoint.h
- dds/ddsi/ddsi_proxy_participant.h
- psmx_cdds_impl.h
- dds/ddsi/ddsi_serdata.h
- net/if_mib.h
- common/src/loader.h
- ddsi__endpoint.h
- openssl/ec.h
- dds/ddsc/dds_internal_api.h
- dds__entity.h
- stdint.h
- idl/attributes.h
- crypto_key_factory.h
- common/src/crypto_helper.h
- dds_security_api_authentication.h
- ctype.h
- dds/ddsi/ddsi_sertype.h
- dds/security/core/dds_security_shared_secret.h
- idl/stream.h
- lwip/inet.h
- dds/ddsi/ddsi_lat_estim.h
- ddsi__spdp_schedule.h
- dds/ddsi/ddsi_lease.h
- access_control_parser.h
- dds__whc_builtintopic.h
- dds__sysdef_validation.h
- dds/ddsrt/sockets.h
- dds/ddsrt/types.h
- psmx_cdds_data.h
- dds/ddsc/dds_opcodes.h
- _confgen.h
- limits.h
- alloca.h
- dds/ddsrt/iovec.h
- dds/security/authentication_wrapper_export.h
- net/ethernet.h
- CUnit/Theory.h
- file.h
- ddsi__xt_impl.h
- SecurityCoreTests.h
- sys/param.h
- ddsi__raweth.h
- ddsi__entity.h
- dds/ddsi/ddsi_dynamic_type.h
- libloaderapi.h
- cstdlib
- dds__readcond.h
- dds/security/dds_security_api_defs.h
- ddsi__xevent.h
- zephyr/net/igmp.h
- sys/fcntl.h
- dds/ddsc/dds_rhc.h
- dds/ddsrt/filesystem/windows.h
- ddsi__plist_generic.h
- ucunit/ucunit.h
- idl/processor.h
- stdio.h
- dds/ddsi/ddsi_security_omg.h
- dds/psmx_cdds/export.h
- inttypes.h
- dds/ddsi/ddsi_typewrap.h
- idl/vector.h
- openssl/opensslv.h
- tlhelp32.h
- algorithm
- dds/ddsrt/time.h
- dds/ddsi/ddsi_config.h
- ddsi__lease.h
- CdrStreamDataTypeInfo.h
- dds__sysdef_parser.h
- cputime.h
- ddsi__mcgroup.h
- idlc/generator.h
- dds/ddsi/ddsi_security_msg.h
- dds/ddsrt/ifaddrs.h
- WriteTypes.h
- dds/psmx_dummy_v0/export.h
- sys/sockio.h
- plugin_wrapper_msg_q.h
- dds/ddsrt/endian.h
- ddsi__log.h
- net/if_types.h
- ddsi__list_tmpl.h
- memory
- dds/ddsrt/threads/posix.h
- dds/ddsi/ddsi_nwinterfaces.h
- dds_security_api_types.h
- sys/stat.h
- scope.h
- dds/ddsi/ddsi_entity.h
- ddsi__inverse_uint32_set.h
- crypto_key_exchange.h
- ddsi__lat_estim.h
- mach/mach_init.h
- ddsi__thread.h
- dds/ddsrt/retcode.h
- idl/string.h
- locale.h
- ddsi__list_genptr.h
- idl/symbol.h
- tree.h
- dds/ddsi/ddsi_guid.h
- dds__guardcond.h
- ddsi__udp.h
- dds/ddsi/ddsi_tkmap.h
- ddsi__serdata_pserop.h
- sys/prctl.h
- dds/ddsc/dds_statistics.h
- dds__topic.h
- CreateWriter.h
- authentication.h
- idl/print.h
- lkst.h
- openssl/pkcs7.h
- processor.h
- ddsi__receive.h
- io.h
- dds__subscriber.h
- variouspub_types.h
- dds/ddsrt/md5.h
- scanner.h
- ddsi__addrset.h
- ddsi__transmit.h
- mach/mach_time.h
- dds__handles.h
- crypto_transform.h
- xlocale.h
- dds/ddsi/ddsi_xmsg.h
- ddsi__plist_context_kind.h
- XSpaceNoTypeInfo.h
- dds/ddsrt/bits.h
- winsock2.h
- dds/ddsrt/atomics/arm.h
- ddsi__sockwaitset.h
- dds/ddsrt/static_assert.h
- psmx_dummy_public.h
- dds/ddsi/ddsi_init.h
- libidlc__generator.h
- keylist.h
- dds/ddsrt/environ.h
- iphlpapi.h
- openssl/core_names.h
- dds/ddsi/ddsi_whc.h
- sys/time.h
- devctl.h
- libidlc__types.h
- mach/thread_info.h
- net/if_dl.h
- AvailabilityMacros.h
- libidlc/libidlc__descriptor.h
- threads_priv.h
- roundtrip_config.h
- dds/ddsi/ddsi_proxy_endpoint.h
- libidlc_generator.h
- malloc.h
- dds/ddsi/ddsi_qosmatch.h
- windows.h
- crypto_cipher.h
- linux/filter.h
- netinet/in.h
- idl/version.h
- dds/ddsrt/sync/freertos.h
- iceoryx_posh/popo/untyped_subscriber.hpp
- src/libfuzzer/libfuzzer_macro.h
- dds/security/core/dds_security_timed_cb.h
- dds/ddsrt/random.h
- dds/security/core/dds_security_types.h
- ddsi__serdata_plist.h
- execinfo.h
- array
- dds/security/access_control_wrapper_export.h
- DataRepresentationTypes.h
- dds/ddsi/ddsi_feature_check.h
- stdarg.h
- pipeDrv.h
- winerror.h
- ws2def.h
- crypto_defs.h
- stdbool.h
- iceoryx_posh/runtime/posh_runtime.hpp
- dds/ddsi/ddsi_domaingv.h
- dds/ddsrt/atomics.h
- psmx_dummy_v0_impl.h
- openssl/bio.h
- ddsi__bswap.h
- cryptography.h
- dds__participant.h
- TypesArrayKey.h
- fuzz_samples.h
- ../snippets/code/os_heap.c
- common/cryptography_wrapper.h
- sys/neutrino.h
- openssl/x509.h
- direct.h
- dds/ddsi/ddsi_typelib.h
- openssl/x509v3.h
- net/ifdrvcom.h
- psmx_iox2_export.h
- dds/ddsi/ddsi_lifespan.h
- iceoryx_posh/popo/listener.hpp
- sys/dcmd_io-net.h
- dds/ddsrt/sockets/windows.h
- sched.h
- dds/ddsrt/sync/posix.h
- dds/ddsrt/atomics/sun.h
- HelloWorldData.hpp
- ddsi__handshake.h
- dds/ddsrt/align.h
- ddsi__wraddrset.h
- RWData.h
- dds/ddsrt/circlist.h
- sys/syscall.h
- ddsi__typewrap.h
- dds/ddsi/ddsi_deliver_locally.h
- CUnit/CUnit.h
- openssl/pem.h
- ddsi__portmapping.h
- dds/ddsi/ddsi_keyhash.h
- openssl/ssl.h
- net/if.h
- dds__heap_loan.h
- dds/ddsrt/sync/windows.h
- dds/security/dds_security_api_authentication.h
- mcpp_lib.h
- config.h
- dirent.h
- dds/ddsc/dds_public_listener.h
- time.h
- string
- ddsi__time.h
- libidlc__descriptor.h
- dds/ddsi/ddsi_freelist.h
- ddsi__security_util.h
- dds/ddsc/dds_loaned_sample.h
- getopt.h
- stdlib.h
- system.H
- dds/security/cryptography_wrapper_export.h
- sys/uio.h
- arpa/inet.h
- dds__write.h
- ddsi__plist.h
- dds/security/core/dds_security_plugins.h
- xtypes_common.h
- CdrStreamKeyExt.h
- RoundTrip.h
- assert.h
- hostLib.h
- fieldid.h
- cctype
- cstdint
- dds/ddsi/ddsi_hbcontrol.h
- dds/ddsi/ddsi_builtin_topic_if.h
- options.h
- ddsi__whc.h
- dds/ddsc/dds_public_loan_api.h
- net/if_media.h
- string.h
- dds/ddsrt/bswap.h
- dds/ddsrt/types/vxworks.h
- dds/ddsrt/avl.h
- ifaddrs.h
- CdrStreamOptimize.h
- DynamicData.h
- lwip/netif.h
- ddsi__pcap.h
- dds__qos_provider.h
- netinet/tcp.h
- throughput_config.h
- dds/ddsi/ddsi_deadline.h
- InitSampleDelivData.h
- ntstatus.h
- openssl/err.h
- versionhelpers.h
- CdrStreamXcdr1Opt.h
- sys/syspage.h
- idl/heap.h
- ioLib.h
- dds/ddsi/ddsi_unused.h
- ddsi__sysdeps.h
- dds/ddsrt/mh3.h
- task.h
- pthread.h
- semphr.h
- openssl/evp.h
- ddsi__discovery.h
- dds_cdrstream_write.part.h
- dlfcn.h
- errno.h
- openssl/store.h
- parser.h
- sys/timeb.h
- dds/ddsi/ddsi_protocol.h
- sockets_priv.h
- scheduling.hpp
- dds__reader.h
- CdrStreamParamHeader.h
- fuzz_handshake.pb.h
- idl/export.h
- dds/ddsrt/string.h
- ddsi__protocol.h
- hashid.h
- dds/ddsrt/types/windows.h
- dds/ddsrt/threads.h
- dds__listener.h
- authentication_wrapper.h
- test_common.h
- ddsi__ssl.h
- dds__publisher.h
- CdrStreamKeySize.h
- ddsi__tcp.h
- dds/ddsi/ddsi_tran.h
- dds/ddsi/ddsi_xqos.h
- dds_security_api_access_control.h
- dds_security_api_err.h
- idl/expression.h
- netload.h
- dds/export.h
- float.h
- test_oneliner.h
- TypeBuilderTypes.h
- sockLib.h
- psmx_dummy_impl.h
- zephyr/net/net_if.h
- os/os.h
- DynamicTypeTypes.h
- ddsi__security_msg.h
- ddsperf_config.h
- dds/config.h
- sys/types.h
- dds/ddsi/ddsi_xt_typemap.h
- ddsi__typelib.h
- sys/epoll.h
- dds_security_api_defs.h
- MinXcdrVersion.h
- dds/ddsrt/dynlib.h
- dds/ddsi/ddsi_typebuilder.h
- psapi.h
- dds/ddsi/ddsi_psmx.h
- bcrypt.h
- dds__statistics.h
- dds/security/core/dds_security_fsm.h
- dds/ddsc/dds_public_status.h
- ddsi__bitset.h
- ddsi__ipaddr.h
- dds/ddsrt/threads/freertos.h
- expression.h
- ddsi__discovery_addrset.h
- dds/ddsi/ddsi_pmd.h
- common/test_utils.h
- auth_tokens.h
- ddsi__proxy_participant.h
- taskLib.h
- dds__rhc_default.h
- net/if_ether.h
- Array100.h
- ddsi__config_impl.h
report: name
sources:
- function_names: []
  source_file: /src/cyclonedds/compat/getopt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERR
  - getopt
  source_file: /src/cyclonedds/compat/getopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_assertImplementation
  source_file: /src/cyclonedds/etc/coverity-model.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/ddsperf/netload.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - async_listener_thread
  - async_listener_new
  - async_listener_start
  - async_listener_stop
  - async_listener_free
  - async_listener_enqueue
  - async_listener_enqueue_data_available
  - async_listener_enqueue_subscription_matched
  - async_listener_enqueue_publication_matched
  source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
  types:
    enum:
    - enumerators:
      - name: ALK_DATA_AVAILABLE
      - name: ALK_PUBLICATION_MATCHED
      - name: ALK_SUBSCRIPTION_MATCHED
      item_type: enum
      name: async_listener_kind
      pos:
        line_end: 12
        line_start: 8
        source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct async_listener_event
      - name: kind
        type: enum async_listener_kind
      - name: handle
        type: dds_entity_t
      - name: '*fn_arg'
        type: void
      - name: u
        type: "union {\n    struct {\n      dds_on_data_available_fn fn;\n    } da;\n
          \   struct {\n      dds_on_publication_matched_fn fn;\n      dds_publication_matched_status_t
          st;\n    } pm;\n    struct {\n      dds_on_subscription_matched_fn fn;\n
          \     dds_subscription_matched_status_t st;\n    } sm;\n  }"
      item_type: struct
      name: async_listener_event
      pos:
        line_end: 32
        line_start: 14
        source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      - name: tid
        type: ddsrt_thread_t
      - name: stop
        type: bool
      - name: '*oldest'
        type: struct async_listener_event
      - name: '*latest'
        type: struct async_listener_event
      item_type: struct
      name: async_listener
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.c
    typedefs: []
    union: []
- function_names:
  - record_netload
  - record_netload_new
  - record_netload_free
  - record_netload
  - record_netload_new
  - record_netload_free
  source_file: /src/cyclonedds/src/tools/ddsperf/netload.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctrl'
        type: struct ddsrt_netstat_control
      - name: '*name'
        type: char
      - name: bw
        type: double
      - name: errored
        type: bool
      - name: data_valid
        type: bool
      - name: tprev
        type: ddsrt_hrtime_t
      - name: ibytes
        type: uint64_t
      - name: obytes
        type: uint64_t
      item_type: struct
      name: record_netload_state
      pos:
        line_end: 35
        line_start: 26
        source_file: /src/cyclonedds/src/tools/ddsperf/netload.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/ddsperf/cputime.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/ddsperf/async_listener.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_one
  - print_cputime
  - update
  - above_threshold
  - record_cputime
  - record_cputime_read_rss
  - record_cputime_new
  - record_cputime_free
  - record_cputime
  - record_cputime_read_rss
  - record_cputime_new
  - record_cputime_free
  source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tid
        type: ddsrt_thread_list_id_t
      - name: name[32]
        type: char
      - name: ut
        type: double
      item_type: struct
      name: record_cputime_state_thr
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    - fields:
      - name: supported
        type: bool
      - name: tprev
        type: ddsrt_hrtime_t
      - name: vcswprev
        type: uint32_t
      - name: ivcswprev
        type: uint32_t
      - name: nthreads
        type: size_t
      - name: '*threads'
        type: struct record_cputime_state_thr
      - name: wr
        type: dds_entity_t
      - name: s
        type: struct CPUStats
      item_type: struct
      name: record_cputime_state
      pos:
        line_end: 89
        line_start: 80
        source_file: /src/cyclonedds/src/tools/ddsperf/cputime.c
    typedefs: []
    union: []
- function_names:
  - cmp_instance_handle
  - cmp_ppant_tdeadline
  - verrorx
  - error2
  - error3
  - ddsperf_malloc
  - ddsperf_free
  - ddsperf_calloc
  - memcpy
  - hist_print
  - make_baggage
  - getseqoff
  - getkeyvaloff
  - init_sample
  - pubthread
  - topic_payload_size
  - latencystat_init
  - latencystat_fini
  - latencystat_reset
  - cmp_int64
  - latencystat_print
  - latencystat_update
  - init_eseq_admin
  - fini_eseq_admin
  - get_pphandle_for_pubhandle
  - check_eseq
  - update_roundtrip
  - get_pong_writer_locked
  - get_pong_writer
  - process_data
  - process_ping
  - process_pong
  - maybe_send_new_ping
  - make_reader_waitset
  - subthread_waitset
  - subpingthread_waitset
  - subpongthread_waitset
  - subthread_polling
  - data_available_listener
  - ping_available_listener
  - pong_available_listener
  - create_pong_writer
  - delete_pong_writer
  - free_ppant
  - async_participant_data_listener
  - async_endpoint_matched_listener
  - match_mask1_to_string
  - match_mask_to_string
  - async_subscription_matched_listener
  - async_publication_matched_listener
  - participant_data_listener
  - subscription_matched_listener
  - publication_matched_listener
  - set_data_available_listener
  - subthread_arg_init
  - subthread_arg_fini
  - signal_handler
  - sigthread
  - sigxfsz_handler
  - usage
  - exact_string_int_map_lookup
  - string_int_map_lookup
  - lookup_multiplier
  - set_simple_uint32
  - set_mode_ping
  - set_mode_pong
  - set_mode_sub
  - set_mode_pub
  - set_mode
  - wait_for_initial_matches
  - main
  source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
  types:
    enum:
    - enumerators:
      - name: KS
      - name: UK16
      - name: OU
      - name: K256
      - name: K32
      - name: UK1k
      - name: UK64k
      - name: S16
      - name: S256
      - name: S4k
      - name: S32k
      item_type: enum
      name: topicsel
      pos:
        line_end: 65
        line_start: 53
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - enumerators:
      - name: SM_NONE
      - name: SM_WAITSET
      - name: SM_LISTENER
      - name: SM_POLLING
      item_type: enum
      name: submode
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    preproc_defs:
    - item_type: preproc_def
      name: UDATA_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: '"DDSPerf:"'
    - item_type: preproc_def
      name: UDATA_MAGIC_SIZE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: (sizeof (UDATA_MAGIC) - 1)
    - item_type: preproc_def
      name: PINGPONG_RAWSIZE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: MM_RD_DATA
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 1u
    - item_type: preproc_def
      name: MM_RD_PING
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 2u
    - item_type: preproc_def
      name: MM_RD_PONG
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 4u
    - item_type: preproc_def
      name: MM_WR_DATA
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 8u
    - item_type: preproc_def
      name: MM_WR_PING
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 16u
    - item_type: preproc_def
      name: MM_WR_PONG
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: 32u
    - item_type: preproc_def
      name: MM_ALL
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: (2 * MM_WR_PONG - 1)
    - item_type: preproc_def
      name: MAXS
      pos:
        line_end: 1768
        line_start: 1767
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
      type_or_value: '40 '
    structs:
    - fields:
      - name: nbins
        type: unsigned
      - name: binwidth
        type: uint64_t
      - name: bin0
        type: uint64_t
      - name: binN
        type: uint64_t
      - name: min
        type: uint64_t
      - name: under
        type: uint64_t
      - name: bins[]
        type: uint64_t
      item_type: struct
      name: hist
      pos:
        line_end: 214
        line_start: 206
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: min
        type: int64_t
      - name: sum
        type: int64_t
      - name: cnt
        type: uint32_t
      - name: totcnt
        type: uint64_t
      - name: '*raw'
        type: int64_t
      item_type: struct
      name: latencystat
      pos:
        line_end: 225
        line_start: 219
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: nrecv
        type: uint64_t
      - name: nlost
        type: uint64_t
      - name: nrecv_bytes
        type: uint64_t
      - name: last_size
        type: uint32_t
      - name: ref[10]
        type: "struct {\n    uint64_t nrecv;\n    uint64_t nlost;\n    uint64_t nrecv_bytes;\n
          \ }"
      - name: refidx
        type: unsigned
      - name: info
        type: struct latencystat
      item_type: struct
      name: eseq_stat
      pos:
        line_end: 247
        line_start: 229
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: nkeys
        type: unsigned
      - name: nph
        type: unsigned
      - name: '*ph'
        type: dds_instance_handle_t
      - name: '*pph'
        type: dds_instance_handle_t
      - name: '*stats'
        type: struct eseq_stat
      - name: '**eseq'
        type: uint32_t
      item_type: struct
      name: eseq_admin
      pos:
        line_end: 257
        line_start: 249
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: pubhandle
        type: dds_instance_handle_t
      - name: pphandle
        type: dds_instance_handle_t
      - name: wr_pong
        type: dds_entity_t
      item_type: struct
      name: subthread_arg_pongwr
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: pubhandle
        type: dds_instance_handle_t
      - name: pphandle
        type: dds_instance_handle_t
      - name: info
        type: struct latencystat
      item_type: struct
      name: subthread_arg_pongstat
      pos:
        line_end: 273
        line_start: 269
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: rd
        type: dds_entity_t
      - name: max_samples
        type: uint32_t
      - name: '*iseq'
        type: dds_sample_info_t
      - name: '**mseq'
        type: void
      item_type: struct
      name: subthread_arg
      pos:
        line_end: 312
        line_start: 307
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: str[36]
        type: char
      item_type: struct
      name: guidstr
      pos:
        line_end: 318
        line_start: 316
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: fhnode
        type: ddsrt_fibheap_node_t
      - name: handle
        type: dds_instance_handle_t
      - name: guid
        type: dds_guid_t
      - name: '*hostname'
        type: char
      - name: pid
        type: uint32_t
      - name: tdisc
        type: ddsrt_hrtime_t
      - name: tdeadline
        type: ddsrt_hrtime_t
      - name: unmatched
        type: uint32_t
      item_type: struct
      name: ppant
      pos:
        line_end: 341
        line_start: 331
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: seq
        type: uint32_t
      - name: keyval
        type: int32_t
      item_type: struct
      name: seq_keyval
      pos:
        line_end: 375
        line_start: 372
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: '*pubstat'
        type: struct dds_statistics
      - name: '*rexmit_bytes'
        type: struct dds_stat_keyvalue
      - name: '*time_throttle'
        type: struct dds_stat_keyvalue
      - name: '*time_rexmit'
        type: struct dds_stat_keyvalue
      - name: '*throttle_count'
        type: struct dds_stat_keyvalue
      - name: '*substat'
        type: struct dds_statistics
      - name: '*discarded_bytes'
        type: struct dds_stat_keyvalue
      item_type: struct
      name: dds_stats
      pos:
        line_end: 1667
        line_start: 1659
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: int
      item_type: struct
      name: string_int_map_elem
      pos:
        line_end: 1983
        line_start: 1980
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: '*suffix'
        type: char
      - name: mult
        type: int
      item_type: struct
      name: multiplier
      pos:
        line_end: 2036
        line_start: 2033
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    typedefs: []
    union:
    - fields:
      - name: seq
        type: uint32_t
      - name: seq_keyval
        type: struct seq_keyval
      - name: ks
        type: KeyedSeq
      - name: k32
        type: Keyed32
      - name: k256
        type: Keyed256
      - name: ou
        type: OneULong
      - name: uk16
        type: Unkeyed16
      - name: uk1k
        type: Unkeyed1k
      - name: uk64k
        type: Unkeyed64k
      - name: s16
        type: Struct16
      - name: s256
        type: Struct256
      - name: s4k
        type: Struct4k
      - name: s32k
        type: Struct32k
      item_type: union
      name: data
      pos:
        line_end: 391
        line_start: 377
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
    - fields:
      - name: hdr
        type: "struct {\n    uint32_t sz;\n  }"
      - name: u64
        type: uint64_t
      - name: dbl
        type: double
      - name: '*ptr'
        type: void
      item_type: union
      name: ddsperf_malloc_header
      pos:
        line_end: 421
        line_start: 414
        source_file: /src/cyclonedds/src/tools/ddsperf/ddsperf.c
- function_names:
  - init_support
  - mcpp_use_mem_buffers
  - MAX
  - append_to_buffer
  - mem_putc
  - mem_puts
  - mcpp_get_mem_buffer
  - DEST2FP
  - mcpp_lib_fprintf
  - mcpp_reset_def_out_func
  - mcpp_set_out_func
  - get_unexpandable
  - skip_nl
  - skip_ws
  - scan_token
  - scan_id
  - scan_quote
  - cat_line
  - scan_number
  - scan_number_prestd
  - scan_ucn
  - scan_op
  - id_operator
  - expanding
  - clear_exp_mac
  - get_ch
  - parse_line
  - read_a_comment
  - mcpp_fgets
  - get_line
  - cnv_trigraph
  - cnv_digraph
  - at_eof
  - unget_ch
  - unget_string
  - save_string
  - get_file
  - "*\n(xmalloc)(\n    size_t      size\n)"
  - "*  (xrealloc)(\n    char *      ptr,\n    size_t      size\n)"
  - get_src_location
  - put_line
  - do_msg
  - cfatal
  - cerror
  - cwarn
  - dump_string
  - dump_unget
  - dump_token
  source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXP_MAC_IND_MAX
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CAT_LINE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '256'
    - item_type: preproc_def
      name: BUF_INCR_SIZE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: (NWORK * 2)
    - item_type: preproc_def
      name: MBMASK
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '0xFF    '
    - item_type: preproc_def
      name: cr_warn_level
      pos:
        line_end: 1923
        line_start: 1922
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '1'
    - item_type: preproc_def
      name: cr_warn_level
      pos:
        line_end: 1925
        line_start: 1924
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TRIOFFSET
      pos:
        line_end: 2029
        line_start: 2028
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*    name'
        type: char
      - name: to_be_freed
        type: int
      item_type: struct
      name: expanding_macro[ EXP_MAC_IND_MAX]
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    - fields:
      - name: start_line
        type: size_t
      - name: last_line
        type: size_t
      - name: len[ MAX_CAT_LINE + 1]
        type: size_t
      item_type: struct
      name: catenated_line
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    - fields:
      - name: '*  buffer'
        type: char
      - name: '*  entry_pt'
        type: char
      - name: size
        type: size_t
      - name: bytes_avail
        type: size_t
      item_type: struct
      name: mem_buf
      pos:
        line_end: 150
        line_start: 145
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    - fields:
      - name: '*    name'
        type: char
      - name: op_num
        type: int
      item_type: struct
      name: id_op
      pos:
        line_end: 1436
        line_start: 1433
        source_file: /src/cyclonedds/src/tools/idlpp/src/support.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlpp/src/mcpp_lib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_binary
  - is_unary
  - init_eval
  - eval_if
  - eval_lex
  - chk_ops
  - do_sizeof
  - look_type
  - eval_num
  - eval_char
  - eval_one
  - eval_eval
  - dump_val
  - dump_stack
  source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OP_RPA_PREC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '0013'
    - item_type: preproc_def
      name: OP_QUE_PREC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '0024    '
    - item_type: preproc_def
      name: OP_UNOP_PREC
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '0154            '
    - item_type: preproc_def
      name: S_ANDOR
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '2'
    - item_type: preproc_def
      name: S_QUEST
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '1'
    - item_type: preproc_def
      name: T_CHAR
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '1'
    - item_type: preproc_def
      name: T_INT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '2'
    - item_type: preproc_def
      name: T_FLOAT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '4'
    - item_type: preproc_def
      name: T_DOUBLE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '8'
    - item_type: preproc_def
      name: T_LONGDOUBLE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '16'
    - item_type: preproc_def
      name: T_SHORT
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '32'
    - item_type: preproc_def
      name: T_LONG
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '64'
    - item_type: preproc_def
      name: T_LONGLONG
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '128'
    - item_type: preproc_def
      name: T_SIGNED
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '256'
    - item_type: preproc_def
      name: T_UNSIGNED
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '512'
    - item_type: preproc_def
      name: T_PTR
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '1024        '
    - item_type: preproc_def
      name: T_FPTR
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: '2048        '
    - item_type: preproc_def
      name: S_CHAR
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (char))
    - item_type: preproc_def
      name: S_SINT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (short int))
    - item_type: preproc_def
      name: S_INT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (int))
    - item_type: preproc_def
      name: S_LINT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long int))
    - item_type: preproc_def
      name: S_FLOAT
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (float))
    - item_type: preproc_def
      name: S_DOUBLE
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (double))
    - item_type: preproc_def
      name: S_PCHAR
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (char *))
    - item_type: preproc_def
      name: S_PSINT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (short int *))
    - item_type: preproc_def
      name: S_PINT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (int *))
    - item_type: preproc_def
      name: S_PLINT
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long int *))
    - item_type: preproc_def
      name: S_PFLOAT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (float *))
    - item_type: preproc_def
      name: S_PDOUBLE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (double *))
    - item_type: preproc_def
      name: S_PFPTR
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (int (*)(void)))
    - item_type: preproc_def
      name: S_LLINT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (__int64))
    - item_type: preproc_def
      name: S_PLLINT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (__int64 *))
    - item_type: preproc_def
      name: S_LLINT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long long int))
    - item_type: preproc_def
      name: S_PLLINT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long long int *))
    - item_type: preproc_def
      name: S_LDOUBLE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long double))
    - item_type: preproc_def
      name: S_PLDOUBLE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (sizeof (long double *))
    - item_type: preproc_def
      name: ANYSIGN
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (T_SIGNED | T_UNSIGNED)
    - item_type: preproc_def
      name: ANYFLOAT
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (T_FLOAT | T_DOUBLE | T_LONGDOUBLE)
    - item_type: preproc_def
      name: ANYINT
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (T_CHAR | T_SHORT | T_INT | T_LONG | T_LONGLONG)
    - item_type: preproc_def
      name: ANYINT
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
      type_or_value: (T_CHAR | T_SHORT | T_INT | T_LONG)
    structs:
    - fields:
      - name: op
        type: int
      - name: prec
        type: int
      - name: skip
        type: int
      item_type: struct
      name: optab
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
    - fields:
      - name: bits
        type: int
      - name: size
        type: int
      - name: psize
        type: int
      item_type: struct
      name: sizes
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
    - fields:
      - name: type
        type: int
      - name: excluded
        type: int
      - name: '*      token_name'
        type: char
      item_type: struct
      name: types
      pos:
        line_end: 214
        line_start: 210
        source_file: /src/cyclonedds/src/tools/idlpp/src/eval.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlpp/src/mcpp_out.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getcwd
  - S_ISREG
  - S_ISDIR
  - stat
  - str_case_eq
  - stricmp
  - str_case_eq
  - str_case_eq
  - init_system
  - version
  - usage
  - set_opt_list
  - parse_warn_level
  - def_a_macro
  - chk_opts
  - init_cpu_macro
  - init_predefines
  - init_std_defines
  - set_limit
  - set_pragma_op
  - init_sys_macro
  - at_start
  - put_info
  - set_files
  - set_env_dirs
  - parse_env
  - set_sys_dirs
  - set_a_dir
  - norm_dir
  - norm_path
  - deref_syml
  - init_gcc_macro
  - chk_env
  - init_msc_macro
  - def_macros
  - undef_macros
  - put_depend
  - md_init
  - md_quote
  - do_include
  - open_include
  - has_directory
  - search_dir
  - add_file
  - set_fname
  - search_header_map
  - hmap_hash
  - init_framework
  - search_framework
  - search_subdir
  - chk_dirp
  - sharp
  - cur_file
  - bsl2sl
  - is_junk
  - do_once
  - included
  - push_or_pop
  - do_asm
  - do_old
  - do_prestd_directive
  - do_preprocessed
  - do_debug
  - put_asm
  - dump_path
  - OPTERR
  - mcpp_getopt
  - stpcpy
  - strlcpy
  - strlcat
  - print_heap
  - at_end
  - clear_filelist
  - clean_system
  source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S_IFREG
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: _S_IFREG
    - item_type: preproc_def
      name: S_IFDIR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: _S_IFDIR
    - item_type: preproc_def
      name: PATH_DELIM
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: SPECIAL_PATH_DELIM
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: SPECIAL_PATH_DELIM
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: 'TRUE    '
    - item_type: preproc_def
      name: OBJEXT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '"o"'
    - item_type: preproc_def
      name: OBJEXT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '"obj"'
    - item_type: preproc_def
      name: INIT_NUM_INCLUDE
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '32          '
    - item_type: preproc_def
      name: INIT_NUM_FNAMELIST
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '256         '
    - item_type: preproc_def
      name: INIT_NUM_ONCE
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '64          '
    - item_type: preproc_def
      name: MAX_DEF
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_UNDEF
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: (MAX_DEF/4)
    - item_type: preproc_def
      name: MD_MKDEP
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: MD_SYSHEADER
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: MD_FILE
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: MD_PHONY
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: MD_QUOTE
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: MAX_ARCH_LEN
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '16'
    - item_type: preproc_def
      name: N_QUOTE_DIR
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NPREINCLUDE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_FRAMEWORK
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NO_DIR
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: OPTLISTLEN
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '80'
    - item_type: preproc_def
      name: NSYSDIR
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LINE90LIMIT
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: LINE_CPLUS_LIMIT
      pos:
        line_end: 2060
        line_start: 2059
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: HMAP_SAME_ENDIANNESS_MAGIC
      pos:
        line_end: 2415
        line_start: 2413
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: (((((('h' << 8) | 'm') << 8) | 'a') << 8) | 'p')
    - item_type: preproc_def
      name: MAX_OUT_LEN
      pos:
        line_end: 2982
        line_start: 2981
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '76      '
    - item_type: preproc_def
      name: MKDEP_INITLEN
      pos:
        line_end: 2983
        line_start: 2982
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: (MKDEP_INIT * 0x100)
    - item_type: preproc_def
      name: MKDEP_MAX
      pos:
        line_end: 2984
        line_start: 2983
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: (MKDEP_INIT * 0x10)
    - item_type: preproc_def
      name: MKDEP_MAXLEN
      pos:
        line_end: 2985
        line_start: 2984
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: (MKDEP_INITLEN * 0x10)
    - item_type: preproc_def
      name: PUSH
      pos:
        line_end: 4122
        line_start: 4121
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '1'
    - item_type: preproc_def
      name: POP
      pos:
        line_end: 4123
        line_start: 4122
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: __SETLOCALE
      pos:
        line_end: 4125
        line_start: 4124
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: SETLOCALE
      pos:
        line_end: 4126
        line_start: 4125
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type_or_value: '2       '
    structs:
    - fields:
      - name: '*        name'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: inc_list
      pos:
        line_end: 257
        line_start: 254
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    - fields:
      - name: key
        type: uint32
      - name: value
        type: "struct {\n        uint32  prefix;     /* Offset (into strings) of value
          prefix    */\n        uint32  suffix;     /* Offset (into strings) of value
          suffix    */\n    }"
      item_type: struct
      name: hmap_bucket
      pos:
        line_end: 2426
        line_start: 2419
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    - fields:
      - name: magic
        type: uint32
      - name: version
        type: uint16
      - name: _reserved
        type: uint16
      - name: strings_offset
        type: uint32
      - name: count
        type: uint32
      - name: capacity
        type: uint32
      - name: max_value_length
        type: uint32
      - name: buckets[1]
        type: struct hmap_bucket
      item_type: struct
      name: hmap_header_map
      pos:
        line_end: 2441
        line_start: 2428
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    - fields:
      - name: '*    arg_name'
        type: char
      - name: arg_num
        type: int
      item_type: struct
      name: Debug_arg
      pos:
        line_end: 4771
        line_start: 4768
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
    typedefs:
    - item_type: typedef
      name: uint16
      pos:
        line_end: 2416
        line_start: 2416
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type: unsigned short
    - item_type: typedef
      name: uint32
      pos:
        line_end: 2417
        line_start: 2417
        source_file: /src/cyclonedds/src/tools/idlpp/src/system.c
      type: unsigned int
    union: []
- function_names:
  - init_main
  - main
  - init_defines
  - un_predefine
  - mcpp_main
  - do_pragma_op
  - put_seq
  - de_stringize
  - putout
  - devide_line
  - put_a_line
  - post_preproc
  - conv_a_digraph
  - esc_mbchar
  source_file: /src/cyclonedds/src/tools/idlpp/src/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBCHAR_IS_ESCAPE_FREE
      pos:
        line_end: 267
        line_start: 265
        source_file: /src/cyclonedds/src/tools/idlpp/src/main.c
      type_or_value: "(SJIS_IS_ESCAPE_FREE && \\\n            BIGFIVE_IS_ESCAPE_FREE
        && ISO2022_JP_IS_ESCAPE_FREE)"
    structs:
    - fields:
      - name: '*    name'
        type: char
      - name: '*    val'
        type: char
      item_type: struct
      name: pre_set
      pos:
        line_end: 470
        line_start: 467
        source_file: /src/cyclonedds/src/tools/idlpp/src/main.c
    typedefs: []
    union: []
- function_names:
  - do_if
  - sync_linenum
  - do_line
  - do_define
  - get_parm
  - get_repl
  - is_formal
  - def_stringization
  - mgtoken_save
  - str_parm_scan
  - do_undef
  - init_directive
  - look_id
  - look_prev
  - look_and_install
  - install_macro
  - undefine
  - dump_repl
  - dump_a_def
  - dump_def
  - clear_symtable
  source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: L_if
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ (EOS << 1))
    - item_type: preproc_def
      name: L_ifdef
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ ('d' << 1))
    - item_type: preproc_def
      name: L_ifndef
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ ('n' << 1))
    - item_type: preproc_def
      name: L_elif
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('e' ^ ('i' << 1))
    - item_type: preproc_def
      name: L_else
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('e' ^ ('s' << 1))
    - item_type: preproc_def
      name: L_endif
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('e' ^ ('d' << 1))
    - item_type: preproc_def
      name: L_define
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('d' ^ ('f' << 1))
    - item_type: preproc_def
      name: L_undef
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('u' ^ ('d' << 1))
    - item_type: preproc_def
      name: L_line
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('l' ^ ('n' << 1))
    - item_type: preproc_def
      name: L_include
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ ('c' << 1))
    - item_type: preproc_def
      name: L_include_next
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ ('c' << 1) ^ ('_' << 1))
    - item_type: preproc_def
      name: L_import
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('i' ^ ('p' << 1))
    - item_type: preproc_def
      name: L_error
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('e' ^ ('r' << 1))
    - item_type: preproc_def
      name: L_pragma
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: ('p' ^ ('a' << 1))
    - item_type: preproc_def
      name: CAN_REDEF
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: DEF_NOARGS
    - item_type: preproc_def
      name: CAN_REDEF
      pos:
        line_end: 1570
        line_start: 1569
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
      type_or_value: DEF_NOARGS_PREDEF
    structs:
    - fields:
      - name: '*  name'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: PARM
      pos:
        line_end: 638
        line_start: 635
        source_file: /src/cyclonedds/src/tools/idlpp/src/directive.c
    typedefs: []
    union: []
- function_names:
  - set_encoding
  - search_encoding
  - strip_bar
  - conv_case
  - mb_init
  - mb_read_2byte
  - mb_read_iso2022_jp
  - mb_read_utf8
  - mb_eval
  - last_is_mbchar
  source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NA
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x4000  '
    - item_type: preproc_def
      name: HSPA
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (SPA | HSP)
    - item_type: preproc_def
      name: EJ1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x100   '
    - item_type: preproc_def
      name: EJ2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x200   '
    - item_type: preproc_def
      name: GB1
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x400   '
    - item_type: preproc_def
      name: GB2
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x800   '
    - item_type: preproc_def
      name: KS1
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x1000  '
    - item_type: preproc_def
      name: KS2
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x2000  '
    - item_type: preproc_def
      name: EJ12
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '(EJ1 | EJ2)     '
    - item_type: preproc_def
      name: GB12
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (GB1 | GB2)
    - item_type: preproc_def
      name: KS12
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (KS1 | KS2)
    - item_type: preproc_def
      name: EJ1N
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | EJ1)
    - item_type: preproc_def
      name: EU12N
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | EJ12 | GB12 | KS12)
    - item_type: preproc_def
      name: IS1
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x100   '
    - item_type: preproc_def
      name: IS2
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x200   '
    - item_type: preproc_def
      name: IS3
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x400   '
    - item_type: preproc_def
      name: IS4
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x800   '
    - item_type: preproc_def
      name: IJP
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x1000  '
    - item_type: preproc_def
      name: PIJP
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (PUNC | IJP)
    - item_type: preproc_def
      name: QIJP
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (QUO | IJP)
    - item_type: preproc_def
      name: DTJP
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (DOT | IJP)
    - item_type: preproc_def
      name: DGJP
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (DIG | IJP)
    - item_type: preproc_def
      name: LIJP
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (LET | IJP)
    - item_type: preproc_def
      name: JPS2
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (IJP | IS2)
    - item_type: preproc_def
      name: PJPS23
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (PIJP | IS2 | IS3)
    - item_type: preproc_def
      name: LJPS3
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (LIJP | IS3)
    - item_type: preproc_def
      name: LJPS4
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (LIJP | IS4)
    - item_type: preproc_def
      name: U2_1
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x100       '
    - item_type: preproc_def
      name: U3_1
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x200       '
    - item_type: preproc_def
      name: U4_1
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x400       '
    - item_type: preproc_def
      name: UCONT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0x800   '
    - item_type: preproc_def
      name: U2_1N
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | U2_1)
    - item_type: preproc_def
      name: U3_1N
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | U3_1)
    - item_type: preproc_def
      name: U4_1N
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | U4_1)
    - item_type: preproc_def
      name: UCONTN
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: (NA | UCONT)
    - item_type: preproc_def
      name: SETLOCALE
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '2       '
    - item_type: preproc_def
      name: NUM_ENCODING
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NUM_ALIAS
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NAMLEN
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '20'
    - item_type: preproc_def
      name: UPPER
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '1               '
    - item_type: preproc_def
      name: LOWER
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/cyclonedds/src/tools/idlpp/src/mbchar.c
      type_or_value: '0               '
    structs: []
    typedefs: []
    union: []
- function_names:
  - expand_init
  - is_macro
  - is_macro_call
  - expand_std
  - print_macro_inf
  - print_macro_arg
  - chk_magic_balance
  - replace
  - close_macro_inf
  - def_special
  - prescan
  - catenate
  - remove_magics
  - chk_symmetry
  - stringize
  - rescan
  - disable_repl
  - enable_repl
  - is_able_repl
  - insert_to_bptr
  - expand_prestd
  - rescan_pre
  - replace_pre
  - substitute_pre
  - collect_args
  - get_an_arg
  - squeeze_ws
  - skip_macro
  - diag_macro
  - dump_args
  source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARG_ERROR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: (-255)
    - item_type: preproc_def
      name: CERROR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CWARN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DEBUG_MACRO_ANN
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '0               '
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '1               '
    - item_type: preproc_def
      name: READ_OVER
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAC_S_LEN
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ARG_S_LEN
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAC_E_LEN
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: ARG_E_LEN
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: 'MAC_E_LEN   '
    - item_type: preproc_def
      name: MAC_E_LEN_V
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: ARG_E_LEN_V
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: IN_SRC_LEN
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '3   '
    - item_type: preproc_def
      name: INIT_MAC_INF
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '0x100   '
    - item_type: preproc_def
      name: MAX_MAC_INF
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '0x1000  '
    - item_type: preproc_def
      name: INIT_IN_SRC_NUM
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '0x100   '
    - item_type: preproc_def
      name: MAX_IN_SRC_NUM
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '0x1000  '
    - item_type: preproc_def
      name: MAX_NEST_MAGICS
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '255'
    - item_type: preproc_def
      name: INIT_MAGICS
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
      type_or_value: '128'
    structs:
    - fields:
      - name: start_line
        type: size_t
      - name: start_col
        type: size_t
      - name: end_line
        type: size_t
      - name: end_col
        type: size_t
      item_type: struct
      name: location
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - fields:
      - name: '*          magic_start'
        type: char
      - name: '*          magic_end'
        type: char
      - name: space
        type: int
      item_type: struct
      name: magic_seq
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - fields:
      - name: '*  defp'
        type: DEFBUF
      - name: '*          args'
        type: char
      - name: num_args
        type: int
      - name: recur
        type: int
      - name: locs
        type: LOCATION
      - name: '*      loc_args'
        type: LOCATION
      item_type: struct
      name: macro_inf
      pos:
        line_end: 226
        line_start: 219
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - fields:
      - name: '*  def'
        type: DEFBUF
      - name: read_over
        type: int
      item_type: struct
      name: replacing[ RESCAN_LIMIT]
      pos:
        line_end: 239
        line_start: 235
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    - fields:
      - name: n_par
        type: int
      - name: n_in_src
        type: unsigned int
      item_type: struct
      name: n_paren[ 16]
      pos:
        line_end: 2664
        line_start: 2661
        source_file: /src/cyclonedds/src/tools/idlpp/src/expand.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - S
  - U
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_MAX_KEYS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TEST_MAX_KEY_OFFS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TEST_MAX_KEYS
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*idl'
        type: char
      - name: n_keys
        type: uint32_t
      - name: n_key_offs
        type: uint32_t
      - name: keylist
        type: bool
      - name: key_order[TEST_MAX_KEYS][TEST_MAX_KEY_OFFS]
        type: uint32_t
      - name: '*key_name[TEST_MAX_KEYS]'
        type: char
      - name: key_index[TEST_MAX_KEYS]
        type: uint32_t
      item_type: struct
      name: "tests[] = {\n    { \"struct test { @key @id(2) long a; short b; }; \",\n
        \     1, 2, false, { { 2 } }, { \"a\" }, { 0 } },\n    { \"struct test { @key
        long a; @key short b; }; \",\n      2, 4, false, { { 0 }, { 1 } }, { \"a\",
        \"b\" }, { 0, 1 } },\n    { \"@nested struct inner { @id(3) long i1; @id(1)
        short i2; }; struct outer { @key inner o1; }; \",\n      2, 6, false, { {
        0, 1 }, { 0, 3 } }, { \"o1.i2\", \"o1.i1\" }, { 1, 0 } },\n    { \"@nested
        struct inner { long i1; @key short i2; }; struct outer { @key inner o1; };
        \",\n      1, 3, false, { { 0, 1 } }, { \"o1.i2\" }, { 0 } },\n    { \"@nested
        struct inner { @key @id(5) short i1; }; struct outer { @key @id(0) inner o1;
        @key @id(10) inner o2; }; \",\n      2, 6, false, { { 0, 5 }, { 10, 5 } },
        { \"o1.i1\", \"o2.i1\" }, { 0, 1 } },\n    { \"@nested struct inner { @key
        short i1; }; @nested struct mid { @key @id(3) char m1; @key @id(2) inner m2;
        @id(1) long m3; }; struct outer { @key @id(0) mid o1; @key @id(1) inner o2;
        }; \",\n      3, 10, false, { { 0, 2, 0 }, { 0, 3 }, { 1, 0 } }, { \"o1.m2.i1\",
        \"o1.m1\", \"o2.i1\" }, { 1, 0, 2 } },\n    { \"@nested struct inner { char
        i1; @key char i2; }; struct outer { @key @id(3) inner o1; @key @id(2) short
        o2; }; \",\n      2, 5, false, { { 2 }, { 3, 1 } }, { \"o2\", \"o1.i2\" },
        { 1, 0 } },\n\n    { \"struct test { long a; short b; }; \\n#pragma keylist
        test a\",\n      1, 2, true, { { 0 } }, { \"a\" }, { 0 } },\n    { \"struct
        test { long a; short b; }; \\n#pragma keylist test a b\",\n      2, 4, true,
        { { 0 }, { 1 } }, { \"a\", \"b\" }, { 0, 1 } },\n    { \"struct inner { long
        i1; short i2; }; struct outer { inner o1; inner o2; }; \\n#pragma keylist
        outer o1.i1\",\n      1, 3, true, { { 0, 0 } }, { \"o1.i1\" }, { 0 } },\n
        \   { \"struct inner { long i1; short i2; }; struct outer { inner o1; inner
        o2; }; \\n#pragma keylist outer o1.i1 o2.i1\",\n      2, 6, true, { { 0, 0
        }, { 1, 0 } }, { \"o1.i1\", \"o2.i1\" }, { 0, 1 } },\n    { \"struct inner
        { long i1; long i2; }; struct mid { inner m1; }; struct outer { inner o1,
        o2; inner o3[3]; mid o4; double o5; }; \\n#pragma keylist outer o4.m1.i2\",\n
        \     1, 4, true, { { 3, 0, 1 } }, { \"o4.m1.i2\" }, { 0 } },\n\n    // type
        'outer' should not get keys of other types using the same type 'inner' */\n
        \   { \"struct inner { long i1; short i2; }; struct outer { inner o1; inner
        o2; }; \\n\"\n      \"#pragma keylist outer o1.i1 \\n \"\n      \"struct p
        { inner p1; }; \\n\"\n      \"#pragma keylist p p1.i1 \\n\",\n      1, 3,
        true, { { 0, 0 } }, { \"o1.i1\" }, { 0 } },\n    { \"struct inner { long i1;
        short i2; }; struct outer { inner o1; inner o2; }; \\n\"\n      \"#pragma
        keylist outer \\n\"\n      \"struct p { inner p1; }; \\n\"\n      \"#pragma
        keylist p p1.i1 \\n\",\n      0, 0, true, { { 0 } }, { \"\" }, { 0 } },\n\n
        \   // key fields ordered by member id, not by order used in keylist\n    {
        \"struct inner { long long i1; }; struct outer { inner o1; inner o2; }; \\n#pragma
        keylist outer o2.i1 o1.i1\",\n      2, 6, true, { { 0, 0 }, { 1, 0 } }, {
        \"o1.i1\", \"o2.i1\" }, { 0, 1 } },\n    { \"struct inner { char i1; }; struct
        mid { short m1; inner m2; long m3; }; struct outer { mid o1; inner o2; };
        \\n#pragma keylist outer o1.m1 o2.i1 o1.m2.i1\",\n      3, 10, true, { { 0,
        0 }, { 0, 1, 0 }, { 1, 0 } }, { \"o1.m1\", \"o1.m2.i1\", \"o2.i1\" }, { 0,
        1, 2 } },\n  }"
      pos:
        line_end: 35
        line_start: 27
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    - fields:
      - name: '*idl'
        type: char
      - name: default_ext
        type: idl_extensibility_t
      - name: exp_ext
        type: idl_extensibility_t
      item_type: struct
      name: "tests[] = {\n    { S(\"\"), IDL_FINAL, IDL_FINAL },\n    { S(\"\"), IDL_APPENDABLE,
        IDL_APPENDABLE },\n    { S(\"\"), IDL_MUTABLE, IDL_MUTABLE },\n    { U(\"\"),
        IDL_FINAL, IDL_FINAL },\n    { U(\"\"), IDL_APPENDABLE, IDL_APPENDABLE },\n
        \   { S(\"@appendable\"), IDL_MUTABLE, IDL_APPENDABLE },\n    { S(\"@extensibility(MUTABLE)\"),
        IDL_APPENDABLE, IDL_MUTABLE },\n    { U(\"@appendable\"), IDL_FINAL, IDL_APPENDABLE
        },\n    { U(\"@extensibility(APPENDABLE)\"), IDL_MUTABLE, IDL_APPENDABLE },\n
        \ }"
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    - fields:
      - name: valid
        type: bool
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { true, \"@topic struct test { @key boolean a; @key
        boolean b[3]; }; \" },\n    { true, \"@topic struct test { @key char a; @key
        octet b; @key char c[3]; }; \" },\n    { true, \"@topic struct test { @key
        short a; @key unsigned short b; @key short c[3]; }; \" },\n    { true, \"@topic
        struct test { @key long a; @key unsigned long b; @key long c[3]; }; \" },\n
        \   { true, \"@topic struct test { @key long long a; @key unsigned long long
        b; @key long long c[3]; }; \" },\n    { true, \"@topic struct test { @key
        float a; @key double b; @key float c[3]; }; \" },\n    { true, \"enum e {
        E1, E2 }; @topic struct test { @key e a; @key e b[3]; }; \" },\n    { true,
        \"bitmask bm { BM1, BM2 }; @topic struct test { @key bm a; @key bm b[3]; };
        \" },\n    { true, \"@topic struct test { @key string a; @key string<5> b;
        @key string c[3]; }; \" },\n    { true, \"@topic struct test { @key string<5>
        a[2]; }; \" },\n    { true, \"@topic struct test { @key sequence<long> a;
        }; \" },\n    { true, \"@topic struct test { @key sequence<long> a[2]; };
        \" },\n    { true, \"@nested struct sub { long a; long b; }; @topic struct
        test { @key sub a; }; \" },\n    { true, \"@nested struct sub { long a; };
        @topic struct test { @key sub a[2]; }; \" },\n    { true, \"@nested struct
        sub { @key long a; long b; }; @topic struct test { @key sub a; }; \" },\n
        \   { true, \"@nested struct sub { long a; sequence<long> b; }; @topic struct
        test { @key sub a; }; \" },\n    { true, \"typedef sequence<long> seqlong;
        @nested struct sub { seqlong a; sequence<long> b; }; @topic struct test {
        @key sequence<sub> a; }; \" },\n    { true, \"typedef sequence<long> seqlong;
        @nested @final struct sub { sequence<seqlong, 8> a[4]; sequence<float> b[5];
        }; @topic @final struct test { @key sub a[2][3]; };\" },\n    { true, \"typedef
        long arrlong[5][6]; @nested @final struct sub { sequence<arrlong, 8> a[4];
        arrlong b[5]; }; @topic @final struct test { @key sub a[2][3]; };\" },\n    {
        false, \"@nested union u switch(long) { case 1: long a; }; @topic struct test
        { @key u a; }; \" },\n    { false, \"@nested union u switch(long) { case 1:
        long a; }; @topic struct test { @key sequence<u> a; }; \" },\n    { false,
        \"@nested union u switch(long) { case 1: long a; }; @topic struct test { @key
        u a[2]; }; \" }\n  }"
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    - fields:
      - name: '*idl'
        type: char
      - name: n_keys
        type: uint32_t
      - name: '*key_name[TEST_MAX_KEYS]'
        type: char
      item_type: struct
      name: "tests[] = {\n    /* no keys */\n    { \"@nested struct test_base { long
        a; }; @topic struct test : test_base { long c; };\",\n      0, { \"\" } },\n
        \   /* single inheritance, one key field */\n    { \"@nested struct test_base
        { @key long a; short b; }; @topic struct test : test_base { };\",\n      1,
        { \"parent.a\" } },\n    /* two levels of inheritance */\n    { \"@nested
        struct test_base2 { @key long a2; }; @nested struct test_base1 : test_base2
        { long a1; }; @topic struct test : test_base1 { long a; };\",\n      1, {
        \"parent.parent.a2\" } },\n    /* base type has (all members of) struct type
        test_base2 as key */\n    { \"@nested struct test_base2 { long a2; long b2;
        }; @nested struct test_base1 { @key long a1; @key test_base2 b1; }; @topic
        struct test : test_base1 { long c; };\",\n      3, { \"parent.a1\", \"parent.b1.a2\",
        \"parent.b1.b2\" } },\n    /* single inheritance, key fields reversed by @id
        */\n    { \"@nested struct test_base { @key @id(1) long a; @key @id(0) short
        b; }; @topic struct test : test_base { @id(2) long c; };\",\n      2, { \"parent.b\",
        \"parent.a\" } },\n    /* single inheritance appendable struct, one key field
        */\n    { \"@nested @appendable struct test_base { @key long a; short b; };
        @topic @appendable struct test : test_base { long c; };\",\n      1, { \"parent.a\"
        } },\n    /* single inheritance mutable struct, one key field */\n    { \"@nested
        @mutable struct test_base { @key long a; short b; }; @topic @mutable struct
        test : test_base { long c; };\",\n      1, { \"a\" } },\n    /* two levels
        of inheritance, mutable struct */\n    { \"@nested @mutable struct test_base2
        { @key long a2; @key long b2; }; @nested @mutable struct test_base1 : test_base2
        { long a1; }; @topic @mutable struct test : test_base1 { long a; };\",\n      2,
        { \"a2\", \"b2\" } },\n    /* base type has (all members of) struct type test_base2
        as key, mutable struct */\n    { \"@nested @appendable struct test_base2 {
        long a2; long b2; }; @nested @mutable struct test_base1 { @key long a1; @key
        test_base2 b1; }; @topic @mutable struct test : test_base1 { long c; };\",\n
        \     3, { \"a1\", \"b1.a2\", \"b1.b2\" } },\n    /* single inheritance, mutable
        types, key fields reversed by @id */\n    { \"@nested @mutable struct test_base
        { @key @id(1) long a; @key @id(0) short b; }; @topic @mutable struct test
        : test_base { @id(2) long c; };\",\n      2, { \"b\", \"a\" } },\n  }"
      pos:
        line_end: 239
        line_start: 235
        source_file: /src/cyclonedds/src/tools/idlc/tests/descriptor.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/tests/test_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_topic_node
  - generate_test_descriptor
  source_file: /src/cyclonedds/src/tools/idlc/tests/test_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - calloc_no_fail
  - CU_Test
  - xcdr2_ser
  - xcdr2_deser
  - get_typeobj_struct_member_seq
  - get_typeobj_union_member_seq
  - get_typeobj_struct
  - get_typeobj_union
  - get_typeobj1
  - get_typeobj2
  - get_typeobj3
  - get_typeid
  - get_typeobj4
  - get_typeobj5
  - get_typeobj6
  - get_typeobj7
  - get_typeobj8
  - get_typeobj9
  - get_typeobj10
  - get_typeobj11
  - get_typeobj12
  - get_typeobj13
  - get_typeobj14
  - get_typeobj15
  - CU_Test
  - test_annotation_meta_info
  - CU_Test
  source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type_info
        type: bool
      - name: '*switch_type'
        type: char
      - name: label_value
        type: int64_t
      - name: result_parse
        type: idl_retcode_t
      - name: result_meta
        type: idl_retcode_t
      item_type: struct
      name: "tests[] = {\n    { true, \"int32\",  INT32_MAX,               IDL_RETCODE_OK,
        \           IDL_RETCODE_OK },\n    { true, \"int32\",  INT32_MIN,               IDL_RETCODE_OK,
        \           IDL_RETCODE_OK },\n    { true, \"int32\",  (int64_t) INT32_MAX
        + 1, IDL_RETCODE_OUT_OF_RANGE,  0 },\n    { true, \"uint32\", INT32_MAX,               IDL_RETCODE_OK,
        \           IDL_RETCODE_OK },\n    { true, \"uint32\", (int64_t) INT32_MAX
        + 1, IDL_RETCODE_OK,            IDL_RETCODE_OUT_OF_RANGE },\n    { true, \"int64\",
        \ (int64_t) INT64_MAX,     IDL_RETCODE_OK,            IDL_RETCODE_OUT_OF_RANGE
        },\n    { true, \"int64\",  (int64_t) INT64_MIN,     IDL_RETCODE_OK,            IDL_RETCODE_OUT_OF_RANGE
        },\n\n    { false, \"uint32\", (int64_t) INT32_MAX + 1, IDL_RETCODE_OK,           IDL_RETCODE_OK
        },\n    { false, \"int64\",  (int64_t) INT64_MAX,     IDL_RETCODE_OK,           IDL_RETCODE_OK
        },\n    { false, \"int64\",  (int64_t) INT64_MIN,     IDL_RETCODE_OK,           IDL_RETCODE_OK
        }\n  }"
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    - fields:
      - name: id
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: ti
        type: DDS_XTypes_TypeIdentifier
      - name: name
        type: DDS_XTypes_MemberName
      item_type: struct
      name: smember
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    - fields:
      - name: id
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: ti
        type: DDS_XTypes_TypeIdentifier
      - name: name
        type: DDS_XTypes_MemberName
      - name: num_case_labels
        type: uint32_t
      - name: '*case_labels'
        type: int32_t
      item_type: struct
      name: umember
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    - fields:
      - name: idl[256]
        type: char
      - name: get_typeobj_fn
        type: get_typeobj_t
      item_type: struct
      name: "tests[] = {\n    { \"module t1 { @appendable struct test_struct { @key
        long long f1; @optional string f2; @external @id(4) char f3; @id(3) int8 f4;
        @id(8) uint32 f5; @id(7) int64 f6; @id(10) uint8 f7; octet f8; }; };\", get_typeobj1
        },\n    { \"module t2 { @mutable struct test_struct { @optional @external
        unsigned long f1, f2; }; };\", get_typeobj2 },\n    { \"module t3 { @final
        union test_union switch (short) { case 1: long f1; case 2: case 3: default:
        @external string f2; }; };\", get_typeobj3 },\n    { \"module t4 { @mutable
        @nested struct a { @id(5) long a1; }; @mutable @topic struct test_struct :
        a { @id(10) long f1; }; };\", get_typeobj4 },\n    { \"module t5 { typedef
        sequence<long> seqshort_t; @final struct test_struct { sequence<seqshort_t>
        f1; seqshort_t f2; }; };\", get_typeobj5 },\n    { \"module t6 { @final @nested
        struct a { long a1; }; @final struct test_struct { long f1[5]; string<555>
        f2[999][3]; a f3[3]; }; };\", get_typeobj6 },\n    { \"module t7 { module
        x { @bit_bound(6) bitmask bm { @position(5) bm5, @position(0) bm0 }; enum
        en { @value(3) en3, @value(0) en0 }; @topic @final struct test_struct { bm
        f1; en f2; }; }; };\", get_typeobj7 },\n    { \"module t8 { @topic struct
        test_struct { unsigned long long f1[1][1]; }; };\", get_typeobj8 },\n    {
        \"module t9 { @bit_bound(2) bitmask bm { bm0, bm1 }; @topic @final struct
        test_struct { bm f1; bm f2; }; };\", get_typeobj9 },\n    { \"module t10 {
        enum en { en0, @default_literal en1 }; @topic @final struct test_struct {
        en f1; en f2; }; };\", get_typeobj10 },\n    { \"module t11 { @final union
        test_union switch (char) { case 'a': @id(99) long f1; default: @id(5) unsigned
        short f2; }; };\", get_typeobj11 },\n    { \"module t12 { typedef sequence<long>
        td_seq; typedef td_seq td_array[2]; struct test_struct { td_array f1; }; };\",
        get_typeobj12 },\n    { \"module t13 { typedef long td_arr[3]; typedef td_arr
        td; @topic @final struct test_struct { td f1; }; };\", get_typeobj13 },\n
        \   { \"module t14 { typedef sequence<long> td_seq_arr[3]; @final struct test_struct
        { td_seq_arr f1; }; };\", get_typeobj14 },\n    { \"module t15 { struct s;
        typedef s td_s; @final struct test_struct { @external td_s f1; }; @final @nested
        struct s { long s1; }; };\", get_typeobj15 }\n  }"
      pos:
        line_end: 801
        line_start: 798
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    - fields:
      - name: '*hash_id'
        type: char
      - name: min_present
        type: bool
      - name: min
        type: int
      - name: max_present
        type: bool
      - name: max
        type: int
      - name: '*unit'
        type: char
      item_type: struct
      name: member_annotation_test
      pos:
        line_end: 890
        line_start: 883
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    - fields:
      - name: '*idl'
        type: char
      - name: members[8]
        type: m_a_t
      item_type: struct
      name: struct_annotation_test
      pos:
        line_end: 895
        line_start: 892
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
    typedefs:
    - item_type: typedef
      name: '* (*get_typeobj_t) (void)'
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/cyclonedds/src/tools/idlc/tests/type_meta.c
      type: DDS_XTypes_TypeObject
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: header
        type: "struct {\n    FILE *handle;\n    char *path;\n  }"
      - name: source
        type: "struct {\n    FILE *handle;\n    char *path;\n  }"
      - name: config
        type: "struct {\n    idlc_generator_config_t c;\n    char *export_macro;\n
          \   char *guard_macro;\n    bool generate_cdrstream_desc;\n  }"
      item_type: struct
      name: generator
      pos:
        line_end: 37
        line_start: 21
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_KEY_OFFS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
      type_or_value: (255)
    - item_type: preproc_def
      name: STRUCT_BASE_MEMBER_NAME
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
      type_or_value: '"parent"'
    structs:
    - fields:
      - name: type
        type: "enum {\n    OPCODE,\n    OFFSET,                 /* offsetof(type,
          member) */\n    MEMBER_SIZE,\n    CONSTANT,\n    COUPLE,\n    SINGLE,\n
          \   ELEM_OFFSET,            /* lower 16 bits have the offset of an external
          type (for EXT instruction), higher 16 bits offset to next instruction */\n
          \   JEQ_OFFSET,             /* JEQ for union case */\n    MEMBER_OFFSET,
          \         /* PLM with offset to the member instruction within the current
          type */\n    BASE_MEMBERS_OFFSET,    /* PLM with FLAG_BASE set, to jump
          to PLM list of base type */\n    KEY_OFFSET,             /* KOF instruction,
          lower 16 bits have the number of offsets that follow this instruction */\n
          \   KEY_OFFSET_VAL,         /* follows KOF, and has the offset to instruction
          of a key part */\n    MEMBER_ID               /* Member ID entry, followed
          by the member ID value */\n  }"
      - name: data
        type: "union {\n    struct {\n      uint32_t code;\n      uint32_t order;
          /**< key order if DDS_OP_FLAG_KEY */\n    } opcode;\n    struct {\n      char
          *type;\n      char *member;\n      uint32_t member_id;\n    } offset; /**<
          name of type and member to generate offsetofm and the member ID */\n    struct
          {\n      char *type;\n    } size; /**< name of type to generate sizeof */\n
          \   struct {\n      char *value;\n    } constant;\n    struct {\n      uint16_t
          high;\n      uint16_t low;\n    } couple;\n    uint32_t single;\n    struct
          {\n      const idl_node_t *node;\n      union {\n        uint32_t opcode;\n
          \       uint16_t high;\n      } inst;\n      int16_t addr_offs;\n      int16_t
          elem_offs;\n    } inst_offset;\n    struct {\n      char *key_name;\n      uint16_t
          len;\n    } key_offset;\n    struct {\n      uint16_t offs;\n      uint32_t
          order; /**< in xcdr2 the member id is used for ordening keys */\n    } key_offset_val;\n
          \   struct {\n      int16_t addr_offs;\n      const char *type;\n      const
          char *member;\n    } member_id;\n  }"
      item_type: struct
      name: instruction
      pos:
        line_end: 89
        line_start: 29
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: size
        type: uint32_t
      - name: count
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: '*table'
        type: struct instruction
      item_type: struct
      name: instructions
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*next'
        type: struct constructed_type
      - name: '*node'
        type: void
      - name: '*name'
        type: idl_name_t
      - name: '*scope'
        type: idl_scope_t
      - name: has_key_member
        type: bool
      - name: offset
        type: uint32_t
      - name: pl_offset
        type: uint32_t
      - name: instructions
        type: struct instructions
      item_type: struct
      name: constructed_type
      pos:
        line_end: 107
        line_start: 98
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*ctype'
        type: struct constructed_type
      - name: '*next'
        type: struct constructed_type_key
      - name: '*name'
        type: char
      - name: offset
        type: uint32_t
      - name: order
        type: uint32_t
      - name: '*sub'
        type: struct constructed_type_key
      item_type: struct
      name: constructed_type_key
      pos:
        line_end: 116
        line_start: 109
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: val[MAX_KEY_OFFS]
        type: uint16_t
      - name: order[MAX_KEY_OFFS]
        type: uint32_t
      - name: n
        type: uint16_t
      item_type: struct
      name: key_offs
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*ctype'
        type: struct constructed_type
      - name: '*next'
        type: struct constructed_type_memberid
      - name: rel_offs
        type: int16_t
      - name: value
        type: uint32_t
      - name: '*type'
        type: char
      - name: '*member'
        type: char
      item_type: struct
      name: constructed_type_memberid
      pos:
        line_end: 131
        line_start: 124
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*previous'
        type: struct field
      - name: '*node'
        type: void
      item_type: struct
      name: field
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*previous'
        type: struct stack_type
      - name: '*fields'
        type: struct field
      - name: '*node'
        type: void
      - name: '*ctype'
        type: struct constructed_type
      - name: offset
        type: uint32_t
      - name: label
        type: uint32_t
      item_type: struct
      name: stack_type
      pos:
        line_end: 145
        line_start: 138
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*name'
        type: char
      - name: inst_offs
        type: uint32_t
      - name: n_order
        type: uint32_t
      - name: '*order'
        type: uint32_t
      - name: key_idx
        type: uint32_t
      item_type: struct
      name: key_meta_data
      pos:
        line_end: 153
        line_start: 147
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    - fields:
      - name: '*topic'
        type: idl_node_t
      - name: '*alignment'
        type: struct alignment
      - name: n_keys
        type: uint32_t
      - name: '*keys'
        type: struct key_meta_data
      - name: flags
        type: uint32_t
      - name: data_representations
        type: uint32_t
      - name: '*type_stack'
        type: struct stack_type
      - name: '*constructed_types'
        type: struct constructed_type
      - name: key_offsets
        type: struct instructions
      - name: member_ids
        type: struct instructions
      item_type: struct
      name: descriptor
      pos:
        line_end: 166
        line_start: 155
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.h
    typedefs: []
    union: []
- function_names:
  - get_type_prefix
  - emit_implicit_sequence
  - generate_implicit_sequences
  - emit_field
  - emit_struct
  - emit_union
  - emit_forward
  - emit_sequence_typedef
  - emit_typedef
  - emit_enum
  - emit_bitmask
  - print_literal
  - emit_const
  - generate_types
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - push_field
  - pop_field
  - push_type
  - pop_type
  - stash_instruction
  - stash_opcode
  - stash_offset
  - stash_key_offset
  - stash_key_offset_val
  - stash_element_offset
  - stash_jeq_offset
  - stash_mutable_member_offset
  - stash_base_members_offset
  - stash_member_size
  - stash_constant
  - stash_couple
  - stash_single
  - stash_bitmask_bits
  - add_typecode
  - find_ctype
  - add_ctype
  - shift_plm_list_offsets
  - add_mutable_member_offset
  - add_mutable_member_base
  - close_mutable_member
  - stash_member_id
  - add_member_id_entry
  - close_member_id_table
  - emit_case
  - emit_switch_type_spec
  - emit_union
  - emit_forward
  - emit_inherit_spec
  - emit_struct
  - nested_collection_key
  - emit_sequence
  - emit_array
  - emit_member
  - emit_bitmask
  - emit_enum
  - emit_declarator
  - print_opcode
  - print_offset
  - print_size
  - print_constant
  - print_couple
  - print_single
  - print_opcodes
  - free_ctype_keys
  - get_ctype_keys_adr
  - get_ctype_keys
  - descriptor_add_key_recursive
  - key_meta_data_cmp
  - descriptor_add_keys
  - descriptor_init_keys
  - descriptor_keys_free
  - print_keys
  - free_ctype_memberids
  - get_ctype_memberids_adr
  - get_ctype_memberids
  - print_flags
  - print_descriptor
  - print_cdrstream_descriptor
  - resolve_offsets
  - instructions_fini
  - ctype_fini
  - descriptor_fini
  - generate_descriptor_impl
  - generate_descriptor
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
      type_or_value: (16)
    - item_type: preproc_def
      name: SUBTYPE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
      type_or_value: (8)
    - item_type: preproc_def
      name: MAX_FLAGS
      pos:
        line_end: 2607
        line_start: 2606
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
      type_or_value: '30'
    structs:
    - fields:
      - name: '*ctype'
        type: struct constructed_type
      - name: '*next'
        type: struct visited_ctype
      item_type: struct
      name: visited_ctype
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__descriptor.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__types.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_header
  - print_guard
  - print_guard_if
  - print_guard_endif
  - print_includes
  - generate_nosetup
  - create_guard
  - generator_options
  - generate
  source_file: /src/cyclonedds/src/tools/idlc/src/libidlc/libidlc__generator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_description
  - ascending
  - descending
  - sort_options
  - isempty
  - format_option
  - print_help
  - print_usage
  - print_error
  - matches_option
  - handle_option
  - handle_options
  - make_optstring
  - parse_options
  source_file: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIDTH
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
      type_or_value: (78)
    - item_type: preproc_def
      name: INDENT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/options.c
      type_or_value: (25)
    structs: []
    typedefs: []
    union: []
- function_names:
  - openlib
  - closelib
  - loadsym
  - liberror
  - run_library_locator
  - idlc_load_generator
  - idlc_unload_generator
  source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUBPROCESS_POPEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
      type_or_value: _popen
    - item_type: preproc_def
      name: SUBPROCESS_PCLOSE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
      type_or_value: _pclose
    - item_type: preproc_def
      name: SUBPROCESS_POPEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
      type_or_value: popen
    - item_type: preproc_def
      name: SUBPROCESS_PCLOSE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
      type_or_value: pclose
    - item_type: preproc_def
      name: SUBPROCESS_PIPE_MEMORY_LIMIT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/generator.c
      type_or_value: 1024 * 1024
    structs: []
    typedefs: []
    union: []
- function_names:
  - idlc_putn
  - idlc_putc
  - idlc_puts
  - idlc_printf
  - track_warning
  - figure_file
  - idlc_parse_make_file
  - idlc_parse_make_source
  - idlc_parse
  - set_debug
  - set_compile_only
  - set_preprocess_only
  - config_default_extensibility
  - config_default_nested
  - add_disable_warning
  - config_warning
  - add_include
  - add_macro
  - print_version
  - figure_language
  - xstr
  - str
  - main
  source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDLC_DEBUG_PREPROCESSOR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
      type_or_value: (1u<<2)
    - item_type: preproc_def
      name: IDLC_DEBUG_SCANNER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
      type_or_value: (1u<<3)
    - item_type: preproc_def
      name: IDLC_DEBUG_PARSER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
      type_or_value: (1u<<4)
    - item_type: preproc_def
      name: DISABLE_WARNING_CHSZ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CHUNK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
      type_or_value: (4096)
    structs:
    - fields:
      - name: '*list'
        type: idl_warning_t
      - name: size
        type: size_t
      - name: count
        type: size_t
      item_type: struct
      name: idlc_disable_warning_list
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    - fields:
      - name: '*file'
        type: char
      - name: '*lang'
        type: char
      - name: '*output_dir'
        type: char
      - name: '* base_dir'
        type: char
      - name: compile
        type: int
      - name: preprocess
        type: int
      - name: keylist
        type: int
      - name: case_sensitive
        type: int
      - name: default_extensibility
        type: int
      - name: default_nested
        type: bool
      - name: disable_warnings
        type: struct idlc_disable_warning_list
      - name: werror
        type: bool
      - name: help
        type: int
      - name: version
        type: int
      - name: argc
        type: int
      - name: '**argv'
        type: char
      item_type: struct
      name: config
      pos:
        line_end: 77
        line_start: 56
        source_file: /src/cyclonedds/src/tools/idlc/src/idlc/idlc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/include/libidlc/libidlc_generator.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDLC_GENERATOR_OPTIONS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/tools/idlc/include/libidlc/libidlc_generator.h
      type_or_value: generator_options
    - item_type: preproc_def
      name: IDLC_GENERATOR_ANNOTATIONS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/tools/idlc/include/libidlc/libidlc_generator.h
      type_or_value: generator_annotations
    - item_type: preproc_def
      name: IDLC_GENERATE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/tools/idlc/include/libidlc/libidlc_generator.h
      type_or_value: generate
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*output_dir'
        type: char
      - name: '* base_dir'
        type: char
      - name: generate_type_info
        type: bool
      - name: (*generate_typeinfo_typemap) (const idl_pstate_t *pstate, const idl_node_t
          *node, idl_typeinfo_typemap_t *result)
        type: idl_retcode_t
      item_type: struct
      name: idlc_generator_config
      pos:
        line_end: 29
        line_start: 16
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
    - fields:
      - name: '*handle'
        type: void
      - name: generator_options
        type: idlc_generator_options_t
      - name: generator_annotations
        type: idlc_generator_annotations_t
      - name: generate
        type: idlc_generate_t
      item_type: struct
      name: idlc_generator_plugin
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
    typedefs:
    - item_type: typedef
      name: idlc_generator_config_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
      type: idlc_generator_config
    - item_type: typedef
      name: '**(*idlc_generator_options_t)(void)'
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
      type: idlc_option_t
    - item_type: typedef
      name: '**(*idlc_generator_annotations_t)(void)'
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
      type: idl_builtin_annotation_t
    - item_type: typedef
      name: (*idlc_generate_t)(const idl_pstate_t *, const idlc_generator_config_t
        *)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
      type: int
    - item_type: typedef
      name: idlc_generator_plugin_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/generator.h
      type: idlc_generator_plugin
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDLC_NO_MEMORY
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: IDLC_BAD_OPTION
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: IDLC_NO_ARGUMENT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: IDLC_BAD_ARGUMENT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: IDLC_BAD_INPUT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type_or_value: '(-5) '
    structs:
    - fields:
      - name: type
        type: "enum {\n    IDLC_FLAG, /**< flag-only, i.e. (sub)option without argument
          */\n    IDLC_STRING,\n    IDLC_FUNCTION,\n  }"
      - name: store
        type: "union {\n    int *flag;\n    const char **string;\n    int (*function)(const
          idlc_option_t *, const char *);\n  }"
      - name: option
        type: char
      - name: '*suboption'
        type: char
      - name: '*argument'
        type: char
      - name: '*help'
        type: char
      item_type: struct
      name: idlc_option
      pos:
        line_end: 37
        line_start: 22
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
    typedefs:
    - item_type: typedef
      name: idlc_option_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/tools/idlc/include/idlc/options.h
      type: idlc_option
    union: []
- function_names:
  - free_sample
  - init_desc
  - print_raw_cdr
  - rd_cmp_print_key
  - main
  source_file: /src/cyclonedds/src/tools/idlc/xtests/main.c
  types:
    enum:
    - enumerators:
      - name: LE
      - name: BE
      item_type: enum
      name: byte_order
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/tools/idlc/xtests/main.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - A
  - SEQA
  - STRA
  - STRCPY
  - EXTA
  - CMP
  - CMPSTR
  - CMPEXT
  - CMPEXTF
  - CMPEXTEXTF
  - CMPEXTA
  - CMPEXTA2
  - CMPEXTAF
  - CMPEXTSTR
  - CMPEXTASTR
  source_file: /src/cyclonedds/src/tools/idlc/xtests/common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STR16
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/tools/idlc/xtests/common.h
      type_or_value: '"abcdef0123456789"'
    - item_type: preproc_def
      name: STR128
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/tools/idlc/xtests/common.h
      type_or_value: STR16 STR16 STR16 STR16 STR16 STR16 STR16 STR16
    - item_type: preproc_def
      name: NO_KEY_CMP
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/cyclonedds/src/tools/idlc/xtests/common.h
      type_or_value: int cmp_key (const void *sa, const void *sb) { (void) sa; (void)
        sb; abort (); }
    structs: []
    typedefs: []
    union: []
- function_names:
  - xlatmd
  - printhead
  - printlink
  - printtype
  - printattr
  - printelem
  - maketitles
  - initrst
  - printrst
  source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_LF
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
      type_or_value: (1u<<0)
    structs:
    - fields:
      - name: '*search'
        type: char
      - name: '*replace'
        type: char
      item_type: struct
      name: "tr[] = {\n    { \"<p>\", \"\" }, { \"</p>\", \"\" },\n    { \"<b>\",
        \"\" }, { \"</b>\", \"\" },\n    { \"<i>\", \"\" }, { \"</i>\", \"\" },\n
        \   { \"<li>\", \" * \" }, { \"</li>\", \"\\n\" },\n    { \"<ul>\", \"\" },
        { \"</ul>\", \"\\n\" },\n    { \"<sup>\", \"^\" }, { \"</sup>\", \"\" },\n
        \   { \"<code>\", \"``\" }, { \"</code>\", \"``\" },\n    { \"&lt;empty&gt;\",
        \"<empty>\" },\n    { \"*\", \"\\\\*\" }, { \"_\", \"\\\\_\" },\n    { NULL,
        NULL }\n  }"
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rst.c
    typedefs: []
    union: []
- function_names:
  - UNIT
  - DESCRIPTION
  - PATTERN
  - DEPRECATED
  - MEMBER
  - MEMBEROF
  - FUNCTIONS
  - DESCRIPTION
  - RANGE
  - UNIT
  - VALUES
  - MAXIMUM
  - MINIMUM
  - BEHIND_FLAG
  - ELEMENT
  - MOVED
  - EXPAND
  - NOP
  - BOOL
  - INT
  - ENUM
  - STRING
  - LIST
  - GROUP
  - schema
  - url
  - name
  - printspc
  - usage
  - help
  - nextelem
  - firstelem
  - findunit
  - ismoved
  - isdeprecated
  - isgroup
  - isnop
  - isbool
  - isint
  - isstring
  - isenum
  - islist
  - minimum
  - maximum
  - haschildren
  - hasattributes
  - sanitize_names
  - generate_enum_pattern
  - generate_list_pattern
  - makepattern
  - compare
  - duplicate
  - expand
  - walk
  - mark
  - format
  - makedescription
  - init
  - fini
  - main
  source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: END_MARKER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '{ NULL, NULL, NULL }'
    - item_type: preproc_def
      name: gendef_0
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '0'
    - item_type: preproc_def
      name: gendef_NULL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NOMEMBER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: 0, NULL
    - item_type: preproc_def
      name: NOFUNCTIONS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NOMETADATA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '{ NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL,
        NULL }'
    - item_type: preproc_def
      name: END_MARKER
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '{ NULL, NULL, NULL, 0, NULL, 0, NULL, 0, NULL, NOMETADATA }'
    - item_type: preproc_def
      name: BLOCK
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: (1024)
    - item_type: preproc_def
      name: DFLTFMT
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.c
      type_or_value: '"<p>The default value is: <code>%s</code></p>"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xlatxsd
  - isbuiltintopic
  - iscomplextype
  - printdesc
  - printenum
  - printlist
  - printattr
  - printref
  - printcomplextype
  - printsimpletype
  - printelem
  - initxsd
  - printxsd
  source_file: /src/cyclonedds/src/tools/_confgen/generate_xsd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xlatmd
  - printhead
  - printlink
  - printtype
  - printattr
  - printelem
  - maketitles
  - initmd
  - printmd
  source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_LF
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
      type_or_value: (1u<<0)
    structs:
    - fields:
      - name: '*search'
        type: char
      - name: '*replace'
        type: char
      item_type: struct
      name: "tr[] = {\n    { \"<p>\", \"\" }, { \"</p>\", \"\" },\n    { \"<b>\",
        \"\" }, { \"</b>\", \"\" },\n    { \"<i>\", \"\" }, { \"</i>\", \"\" },\n
        \   { \"<li>\", \" * \" }, { \"</li>\", \"\\n\" },\n    { \"<ul>\", \"\" },
        { \"</ul>\", \"\" },\n    { \"<sup>\", \"^\" }, { \"</sup>\", \"\" },\n    {
        \"<code>\", \"`\" }, { \"</code>\", \"`\" },\n    { \"&lt;empty&gt;\", \"<empty>\"
        },\n    { \"*\", \"\\\\*\" }, { \"_\", \"\\\\_\" },\n    { NULL, NULL }\n
        \ }"
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/tools/_confgen/generate_md.c
    typedefs: []
    union: []
- function_names:
  - cfg_address
  - cfg_deref_address
  - gendef_pf_nop
  - gendef_pf_uint16
  - gendef_pf_int32
  - gendef_pf_uint32
  - gendef_pf_int64
  - gendef_pf_maybe_int32
  - gendef_pf_maybe_uint32
  - gendef_pf_min_tls_version
  - gendef_pf_string
  - gendef_pf_networkAddresses
  - gendef_pf_tracemask
  - gendef_pf_xcheck
  - gendef_pf_bandwidth
  - gendef_pf_memsize
  - gendef_pf_memsize16
  - gendef_pf_networkAddress
  - gendef_pf_allow_multicast
  - gendef_pf_maybe_memsize
  - gendef_pf_int
  - gendef_pf_uint
  - gendef_pf_duration
  - gendef_pf_maybe_duration
  - gendef_pf_domainId
  - gendef_pf_participantIndex
  - gendef_pf_boolean
  - gendef_pf_boolean_default
  - gendef_pf_besmode
  - gendef_pf_protocol_version
  - gendef_pf_retransmit_merging
  - gendef_pf_sched_class
  - gendef_pf_entity_naming_mode
  - gendef_pf_random_seed
  - gendef_pf_transport_selector
  - gendef_pf_many_sockets_mode
  - gendef_pf_standards_conformance
  - gendef_pf_shm_loglevel
  - gendef_pf_uint32_array
  - gen_defaults
  - printdefconfig
  source_file: /src/cyclonedds/src/tools/_confgen/generate_defconfig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - suffix
  - printtype
  - printattr
  - printelem
  - initrnc
  - printrnc
  source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_AMP
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
      type_or_value: (1u<<0)
    - item_type: preproc_def
      name: FLAG_ROOT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/tools/_confgen/generate_rnc.c
      type_or_value: (1u<<1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_DUPLICATE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
      type_or_value: '(1u<<0) '
    - item_type: preproc_def
      name: FLAG_EXPAND
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
      type_or_value: '(1u<<1) '
    - item_type: preproc_def
      name: FLAG_REFERENCE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
      type_or_value: (1u<<2)
    - item_type: preproc_def
      name: FLAG_NOMIN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
      type_or_value: (1u<<3)
    - item_type: preproc_def
      name: FLAG_NOMAX
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
      type_or_value: (1u<<4)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: '*pattern'
        type: char
      item_type: struct
      name: cfgunit
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
    - fields:
      - name: '*name'
        type: char
      - name: '*title'
        type: char
      - name: '*pattern'
        type: char
      - name: '*description'
        type: char
      - name: flags
        type: unsigned int
      - name: force_maximum
        type: int
      - name: force_minimum
        type: int
      - name: '*flag'
        type: char
      - name: '*type'
        type: char
      - name: '*unit'
        type: char
      - name: '*range'
        type: char
      - name: '**values'
        type: char
      item_type: struct
      name: cfgmeta
      pos:
        line_end: 83
        line_start: 70
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
    - fields:
      - name: '*name'
        type: char
      - name: '*children'
        type: struct cfgelem
      - name: '*attributes'
        type: struct cfgelem
      - name: multiplicity
        type: int
      - name: '*value'
        type: char
      - name: elem_offset
        type: size_t
      - name: '*membername'
        type: char
      - name: (*defconfig_print) (FILE *fp, void *parent, struct cfgelem const * const
          cfgelem)
        type: void
      - name: '*description'
        type: char
      - name: meta
        type: struct cfgmeta
      item_type: struct
      name: cfgelem
      pos:
        line_end: 97
        line_start: 86
        source_file: /src/cyclonedds/src/tools/_confgen/_confgen.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAT_INF
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '"inf|"'
    - item_type: preproc_def
      name: PAT_DEFAULT
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '"default|"'
    - item_type: preproc_def
      name: PAT_NUMBER
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '"0|(\\d+(\\.\\d*)?([Ee][\\-+]?\\d+)?|\\.\\d+([Ee][\\-+]?\\d+)?)"'
    - item_type: preproc_def
      name: PAT_DUR_UNIT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '" *([num]?s|min|hr|day)"'
    - item_type: preproc_def
      name: PAT_BW_UNIT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '" *([kMG]i?)?[Bb][p/]s"'
    - item_type: preproc_def
      name: PAT_MEM_UNIT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/tools/_confgen/cfgunits.h
      type_or_value: '" *([kMG]i?)?B"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_qos
  - create_pp
  - create_dom_pp_pubsub
  - test_init
  - test_fini
  - create_eps
  - free_eps
  - test_write_read
  - set_encryption_parameters_basic
  - set_encryption_parameters_secret
  - set_encryption_parameters_disc
  - test_discovery_liveliness_protection
  - test_data_protection_kind
  - test_multiple_readers
  - test_multiple_writers
  - test_payload_secret
  source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_DOMAINS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_PARTICIPANTS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type_or_value: '10'
    structs:
    - fields:
      - name: discovery_pk
        type: DDS_Security_ProtectionKind
      - name: liveliness_pk
        type: DDS_Security_ProtectionKind
      - name: rtps_pk
        type: DDS_Security_ProtectionKind
      - name: metadata_pk
        type: DDS_Security_ProtectionKind
      - name: payload_pk
        type: DDS_Security_BasicProtectionKind
      - name: '* payload_secret'
        type: char
      - name: '* pp_userdata_secret'
        type: char
      - name: '* groupdata_secret'
        type: char
      - name: '* ep_userdata_secret'
        type: char
      item_type: struct
      name: domain_sec_config
      pos:
        line_end: 91
        line_start: 81
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
    typedefs:
    - item_type: typedef
      name: (*set_crypto_params_fn)(struct dds_security_cryptography_impl *, const
        struct domain_sec_config *)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type: void
    - item_type: typedef
      name: (*pubsub_create_fn)(dds_entity_t, const dds_qos_t *qos, const dds_listener_t
        *listener)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type: dds_entity_t
    - item_type: typedef
      name: (*ep_create_fn)(dds_entity_t, dds_entity_t, const dds_qos_t *qos, const
        dds_listener_t *listener)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/security/core/tests/secure_communication.c
      type: dds_entity_t
    union: []
- function_names:
  - CHECK_BIT
  - DO_SIMPLE
  - get_entity_gv
  - fsm_control_init
  - fsm_control_fini
  - a
  - validate_remote_identity
  - begin_handshake_reply
  - get_shared_secret
  - fsm_validate_remote_identity
  - fsm_begin_handshake_reply
  - on_handshake_init_message_wait
  - do_stuff
  - do_other_stuff
  - do_timeout
  - timeout_cb
  - state_par_time1
  - state_par_time2
  - state_par_time3
  source_file: /src/cyclonedds/src/security/core/tests/fsm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FSM_AUTH_ARG
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/security/core/tests/fsm.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SHM_MSG_RECEIVED
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/security/core/tests/fsm.c
      type_or_value: (plugin_ret_MAX + 1)
    structs:
    - fields:
      - name: id
        type: int
      item_type: struct
      name: fsm_timeout_arg
      pos:
        line_end: 304
        line_start: 302
        source_file: /src/cyclonedds/src/security/core/tests/fsm.c
    typedefs: []
    union: []
- function_names:
  - logger
  - set_logger_exp
  - reset_logger
  source_file: /src/cyclonedds/src/security/core/tests/plugin_loading.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handshake_init
  - handshake_fini
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/core/tests/handshake.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/core/tests/handshake.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/security/core/tests/handshake.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/security/core/tests/deserialize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_xeventq
  - setup
  - teardown
  - simple_callback
  - order_callback
  - test_callback
  source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
  types:
    enum:
    - enumerators:
      - name: EVENT_ARMED
      - name: EVENT_TRIGGERED
      - name: EVENT_DELETED
      item_type: enum
      name: test_event_kind
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    preproc_defs:
    - item_type: preproc_def
      name: SEQ_SIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
      type_or_value: (16)
    - item_type: preproc_def
      name: NUM_TIMERS
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NUM_TIMERS
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
      type_or_value: '5'
    structs:
    - fields:
      - name: kind
        type: test_event_kind_t
      - name: trigger_time
        type: dds_time_t
      - name: timer
        type: dds_security_time_event_handle_t
      - name: time
        type: dds_time_t
      item_type: struct
      name: test_data
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    - fields:
      - name: size
        type: uint32_t
      - name: index
        type: uint32_t
      - name: '*expected'
        type: struct test_data
      - name: '*received'
        type: struct test_data
      item_type: struct
      name: test_sequence_data
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    - fields:
      - name: id
        type: dds_security_time_event_handle_t
      - name: '*seq'
        type: struct test_sequence_data
      item_type: struct
      name: timer_argument
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    - fields:
      - name: expire
        type: dds_time_t
      - name: rank
        type: uint32_t
      - name: trigger_kind
        type: test_event_kind_t
      item_type: struct
      name: "timers[NUM_TIMERS] = {\n      { future2, 3, EVENT_TRIGGERED },\n      {
        present, 1, EVENT_TRIGGERED },\n      { past,    0, EVENT_TRIGGERED },\n      {
        future3, 4, EVENT_ARMED     },\n      { future1, 2, EVENT_TRIGGERED }\n  }"
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    - fields:
      - name: expire
        type: dds_time_t
      - name: rank
        type: uint32_t
      - name: trigger_kind
        type: test_event_kind_t
      item_type: struct
      name: "timers[NUM_TIMERS] = {\n      { t1,                 2, EVENT_TRIGGERED
        },\n      { t1 + DDS_MSECS(10), 0, EVENT_DELETED   },\n      { t1 + DDS_MSECS(20),
        3, EVENT_TRIGGERED },\n      { t1 + DDS_MSECS(30), 1, EVENT_DELETED   },\n
        \     { t1 + DDS_MSECS(40), 4, EVENT_TRIGGERED }\n  }"
      pos:
        line_end: 313
        line_start: 309
        source_file: /src/cyclonedds/src/security/core/tests/timed_cb.c
    typedefs: []
    union: []
- function_names:
  - init_domain_pp
  - authentication_init
  - authentication_fini
  - S
  - M
  - H
  - D
  - CU_Test
  source_file: /src/cyclonedds/src/security/core/tests/authentication.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ID1
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY1_CERTIFICATE
    - item_type: preproc_def
      name: ID1K
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY1_PRIVATE_KEY
    - item_type: preproc_def
      name: ID2
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY2_CERTIFICATE
    - item_type: preproc_def
      name: ID2K
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY2_PRIVATE_KEY
    - item_type: preproc_def
      name: ID3
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY3_CERTIFICATE
    - item_type: preproc_def
      name: ID3K
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY3_PRIVATE_KEY
    - item_type: preproc_def
      name: CA1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY_CA1_CERTIFICATE
    - item_type: preproc_def
      name: CA1K
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY_CA1_PRIVATE_KEY
    - item_type: preproc_def
      name: CA2
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY_CA2_CERTIFICATE
    - item_type: preproc_def
      name: CA2K
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: TEST_IDENTITY_CA2_PRIVATE_KEY
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEF_PERM_CONF
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '"file:" COMMON_ETC_PATH("default_permissions.p7s")'
    - item_type: preproc_def
      name: DEF_GOV_CONF
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '"file:" COMMON_ETC_PATH("default_governance.p7s")'
    - item_type: preproc_def
      name: FM_CA
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '"error: unable to get local issuer certificate"'
    - item_type: preproc_def
      name: FM_INVK
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/cyclonedds/src/security/core/tests/authentication.c
      type_or_value: '"Failed to finalize digest context"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PROPLIST
  - PARTICIPANT_QOS
  - PARTICIPANT_QOS_ALL_OK
  - logger
  - set_logger_exp
  - reset_logger
  source_file: /src/cyclonedds/src/security/core/tests/config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PARTICIPANT_PROPERTY_LINE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/security/core/tests/config.c
      type_or_value: '"PARTICIPANT"'
    - item_type: preproc_def
      name: PARTICIPANT_PROPERTIES_COMMON
      pos:
        line_end: 68
        line_start: 52
        source_file: /src/cyclonedds/src/security/core/tests/config.c
      type_or_value: "\"0:\\\"\" DDS_SEC_PROP_AUTH_LIBRARY_PATH \"\\\":\\\"\"WRAPPERLIB_PATH(\"dds_security_authentication_wrapper\")\"\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_AUTH_LIBRARY_INIT \"\\\":\\\"init_test_authentication_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_AUTH_LIBRARY_FINALIZE \"\\\":\\\"finalize_test_authentication_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_CRYPTO_LIBRARY_PATH \"\\\":\\\"\"WRAPPERLIB_PATH(\"dds_security_cryptography_wrapper\")\"\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_CRYPTO_LIBRARY_INIT \"\\\":\\\"init_test_cryptography_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_CRYPTO_LIBRARY_FINALIZE \"\\\":\\\"finalize_test_cryptography_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_ACCESS_LIBRARY_PATH \"\\\":\\\"\"WRAPPERLIB_PATH(\"dds_security_access_control_wrapper\")\"\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_ACCESS_LIBRARY_INIT \"\\\":\\\"init_test_access_control_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_ACCESS_LIBRARY_FINALIZE \"\\\":\\\"finalize_test_access_control_all_ok\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_AUTH_IDENTITY_CA \"\\\":\\\"\" TEST_IDENTITY_CA_CERTIFICATE_DUMMY
        \"\\\"\",\\\n  \"0:\\\"\" DDS_SEC_PROP_AUTH_PRIV_KEY \"\\\":\\\"\" TEST_IDENTITY_PRIVATE_KEY_DUMMY
        \"\\\"\",\\\n  \"0:\\\"\" DDS_SEC_PROP_AUTH_IDENTITY_CERT \"\\\":\\\"\" TEST_IDENTITY_CERTIFICATE_DUMMY
        \"\\\"\",\\\n  \"0:\\\"\" DDS_SEC_PROP_ACCESS_PERMISSIONS_CA \"\\\":\\\"file:Permissions_CA.pem\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_ACCESS_GOVERNANCE \"\\\":\\\"file:Governance.p7s\\\"\",\\\n
        \ \"0:\\\"\" DDS_SEC_PROP_ACCESS_PERMISSIONS \"\\\":\\\"file:Permissions.p7s\\\"\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/security/core/tests/security_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_domain_pp
  - crypto_init
  - crypto_fini
  source_file: /src/cyclonedds/src/security/core/tests/crypto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/security/core/tests/crypto.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/core/tests/crypto.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - access_control_init
  - access_control_fini
  - S
  - M
  - H
  - D
  - ceiling_sec
  - test_discovery_liveliness_protection
  - test_encoding_mismatch
  - test_readwrite_protection
  - CU_Test
  - partition_test
  source_file: /src/cyclonedds/src/security/core/tests/access_control.c
  types:
    enum:
    - enumerators:
      - name: TEST_DISCOVERY
      - name: TEST_LIVELINESS
      item_type: enum
      name: test_discovery_liveliness
      pos:
        line_end: 587
        line_start: 583
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DOMAINS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DDS_DOMAINID
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: '0'
    - item_type: preproc_def
      name: GOV_F
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_governance.p7s")
    - item_type: preproc_def
      name: GOV_FNE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_governance_non_existing.p7s")
    - item_type: preproc_def
      name: GOV_DI
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_D COMMON_ETC_PATH("default_governance.p7s")
    - item_type: preproc_def
      name: PERM_F
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_permissions.p7s")
    - item_type: preproc_def
      name: PERM_FNE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_permissions_non_existing.p7s")
    - item_type: preproc_def
      name: PERM_DI
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_D COMMON_ETC_PATH("default_permissions.p7s")
    - item_type: preproc_def
      name: CA_F
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_permissions_ca.pem")
    - item_type: preproc_def
      name: CA_FNE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_F COMMON_ETC_PATH("default_permissions_ca_non_existing.pem")
    - item_type: preproc_def
      name: CA_DI
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_D COMMON_ETC_PATH("default_permissions_ca.pem")
    - item_type: preproc_def
      name: CA_D
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: PF_D TEST_PERMISSIONS_CA_CERTIFICATE
    - item_type: preproc_def
      name: N_WR
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: '3'
    - item_type: preproc_def
      name: N_NODES
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: (1 + N_WR)
    - item_type: preproc_def
      name: PERM_EXP_BASE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PERM_EXP_INCR
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: '2'
    - item_type: preproc_def
      name: na
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: 'false'
    - item_type: preproc_def
      name: na
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: 'false'
    - item_type: preproc_def
      name: na
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
      type_or_value: 'false'
    structs:
    - fields:
      - name: '**allow'
        type: char
      - name: '**deny'
        type: char
      - name: '**use'
        type: char
      - name: exp_deny
        type: bool
      item_type: struct
      name: parts
      pos:
        line_end: 957
        line_start: 952
        source_file: /src/cyclonedds/src/security/core/tests/access_control.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/security/core/tests/builtintopic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_x509
  - get_x509_data
  - get_priv_key
  - get_cert
  - generate_ca_internal
  - generate_ca
  - generate_identity_internal
  - generate_identity
  - check_pkcs11_provider
  - generate_pkcs11_private_key
  - get_priv_key_pkcs11
  - get_certificate_pkcs11
  - generate_ca_pkcs11
  - generate_identity_pkcs11
  source_file: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EMAIL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
      type_or_value: '255'
    - item_type: preproc_def
      name: EMAIL_HOST
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/core/tests/common/cert_utils.c
      type_or_value: '"cycloneddssecurity.adlinktech.com"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/cert_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
  types:
    enum:
    - enumerators:
      - name: LOCAL_PARTICIPANT_TOKENS
      - name: REMOTE_PARTICIPANT_TOKENS
      - name: LOCAL_READER_TOKENS
      - name: LOCAL_WRITER_TOKENS
      - name: REMOTE_WRITER_TOKENS
      - name: REMOTE_READER_TOKENS
      - name: TOKEN_TYPE_INVALID
      item_type: enum
      name: crypto_tokens_type
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
    - enumerators:
      - name: ENCODE_DATAWRITER_SUBMESSAGE
      - name: ENCODE_DATAREADER_SUBMESSAGE
      - name: DECODE_DATAREADER_SUBMESSAGE
      - name: DECODE_DATAWRITER_SUBMESSAGE
      item_type: enum
      name: crypto_encode_decode_fn
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
    preproc_defs:
    - item_type: preproc_def
      name: CRYPTO_TOKEN_MAXCOUNT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
      type_or_value: '10'
    - item_type: preproc_def
      name: CRYPTO_TOKEN_SIZE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
      type_or_value: '256'
    structs:
    - fields:
      - name: e
        type: struct ddsrt_circlist_elem
      - name: type
        type: enum crypto_tokens_type
      - name: local_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: remote_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: n_tokens
        type: uint32_t
      - name: data[CRYPTO_TOKEN_MAXCOUNT][CRYPTO_TOKEN_SIZE]
        type: unsigned char
      - name: data_len[CRYPTO_TOKEN_MAXCOUNT]
        type: size_t
      item_type: struct
      name: crypto_token_data
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
    - fields:
      - name: e
        type: struct ddsrt_circlist_elem
      - name: function
        type: enum crypto_encode_decode_fn
      - name: handle
        type: DDS_Security_long_long
      - name: count
        type: uint32_t
      item_type: struct
      name: crypto_encode_decode_data
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.h
    typedefs: []
    union: []
- function_names:
  - expand_lookup_vars
  - expand_lookup_vars_env
  - expand_lookup_unmatched
  - get_xml_datetime
  - smime_sign
  - get_signed_data
  - prefix_data
  - print_config_vars
  - get_governance_topic_rule
  - get_governance_config_ex
  - get_governance_config
  - expand_permissions_pubsub
  - expand_permissions_rule
  - get_permissions_rules_w_partitions
  - get_permissions_rules
  - get_permissions_grant
  - get_permissions_default_grant
  - get_permissions_config_ex
  - get_permissions_config
  source_file: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      - name: count
        type: int32_t
      item_type: struct
      name: kvp
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.h
    typedefs:
    - item_type: typedef
      name: '* (smime_sign_function)(const char *config, void *args)'
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/security/core/tests/common/security_config_test_utils.h
      type: char
    union: []
- function_names:
  - get_validation_result_str
  - get_node_type_str
  - print_test_msg
  - add_local_identity
  - find_local_identity
  - find_remote_identity
  - add_remote_identity
  - clear_stores
  - add_handshake
  - find_handshake
  - handle_process_message
  - handle_begin_handshake_request
  - handle_begin_handshake_reply
  - handle_validate_remote_identity
  - handle_validate_local_identity
  - validate_handshake
  - validate_handshake_nofail
  - validate_handshake_result
  - handshake_list_fini
  - sync_writer_to_readers
  - sync_reader_to_writers
  - create_topic_name
  - reader_wait_for_data
  - get_default_test_qos
  - rd_wr_init_w_partitions_fail
  - rd_wr_init_fail
  - rd_wr_init
  - write_read_for
  - GET_SECURITY_PLUGIN_CONTEXT
  - pk_to_str
  - bpk_to_str
  - get_builtin_writer_crypto_handle
  - get_writer_crypto_handle
  source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_returns_log
  - fini_returns_log
  - register_return_obj
  - find_return_obj_data
  - unregister_return_obj
  - all_returns_valid
  - validate_local_permissions
  - validate_remote_permissions
  - check_create_participant
  - check_create_datawriter
  - check_create_datareader
  - check_create_topic
  - check_local_datawriter_register_instance
  - check_local_datawriter_dispose_instance
  - check_remote_participant
  - check_remote_datawriter
  - check_remote_datareader
  - check_remote_topic
  - check_local_datawriter_match
  - check_local_datareader_match
  - check_remote_datawriter_register_instance
  - check_remote_datawriter_dispose_instance
  - get_permissions_token
  - get_permissions_credential_token
  - set_listener
  - return_permissions_token
  - return_permissions_credential_token
  - get_participant_sec_attributes
  - get_topic_sec_attributes
  - get_datawriter_sec_attributes
  - get_datareader_sec_attributes
  - return_participant_sec_attributes
  - return_topic_sec_attributes
  - return_datawriter_sec_attributes
  - return_datareader_sec_attributes
  - return_permissions_handle
  - init_test_access_control_common
  - finalize_test_access_control_common
  - init_test_access_control_all_ok
  - finalize_test_access_control_all_ok
  - init_test_access_control_wrapped
  - finalize_test_access_control_wrapped
  - init_test_access_control_missing_func
  - finalize_test_access_control_missing_func
  - INIT_NOT_ALLOWED
  - finalize_test_access_control_not_allowed
  source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
  types:
    enum:
    - enumerators:
      - name: PLUGIN_MODE_ALL_OK
      - name: PLUGIN_MODE_NOT_ALLOWED
      - name: PLUGIN_MODE_WRAPPED
      - name: PLUGIN_MODE_MISSING_FUNC
      item_type: enum
      name: ac_plugin_mode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    - enumerators:
      - name: NOT_ALLOWED_ID_LOCAL_PP
      - name: NOT_ALLOWED_ID_LOCAL_PERM
      - name: NOT_ALLOWED_ID_LOCAL_TOPIC
      - name: NOT_ALLOWED_ID_LOCAL_WRITER
      - name: NOT_ALLOWED_ID_LOCAL_READER
      - name: NOT_ALLOWED_ID_REMOTE_PP
      - name: NOT_ALLOWED_ID_REMOTE_TOPIC
      - name: NOT_ALLOWED_ID_REMOTE_WRITER
      - name: NOT_ALLOWED_ID_REMOTE_READER
      - name: NOT_ALLOWED_ID_REMOTE_READER_RELAY_ONLY
      - name: NOT_ALLOWED_ID_REMOTE_PERM
      item_type: enum
      name: ac_plugin_not_allowed
      pos:
        line_end: 45
        line_start: 33
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    preproc_defs:
    - item_type: preproc_def
      name: NOT_ALLOWED_LOCAL_PP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_LOCAL_PP)
    - item_type: preproc_def
      name: NOT_ALLOWED_LOCAL_TOPIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_LOCAL_TOPIC)
    - item_type: preproc_def
      name: NOT_ALLOWED_LOCAL_WRITER
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_LOCAL_WRITER)
    - item_type: preproc_def
      name: NOT_ALLOWED_LOCAL_READER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_LOCAL_READER)
    - item_type: preproc_def
      name: NOT_ALLOWED_LOCAL_PERM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_LOCAL_PERM)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_PP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_PP)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_TOPIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_TOPIC)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_WRITER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_WRITER)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_READER
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_READER)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_READER_RELAY_ONLY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_READER_RELAY_ONLY)
    - item_type: preproc_def
      name: NOT_ALLOWED_REMOTE_PERM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
      type_or_value: (1u << NOT_ALLOWED_ID_REMOTE_PERM)
    structs:
    - fields:
      - name: e
        type: struct ddsrt_circlist_elem
      - name: '* obj'
        type: void
      item_type: struct
      name: returns_log_data
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    - fields:
      - name: base
        type: dds_security_access_control
      - name: '*instance'
        type: dds_security_access_control
      - name: mode
        type: enum ac_plugin_mode
      - name: not_allowed_mask
        type: uint32_t
      - name: returns_log_lock
        type: ddsrt_mutex_t
      - name: returns_log
        type: struct ddsrt_circlist
      - name: invalid_return
        type: bool
      item_type: struct
      name: dds_security_access_control_impl
      pos:
        line_end: 77
        line_start: 69
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GET_SECURITY_PLUGIN_CONTEXT_DECL
  source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
  types:
    enum:
    - enumerators:
      - name: HSN_UNDEFINED
      - name: HSN_REQUESTER
      - name: HSN_REPLIER
      item_type: enum
      name: hs_node_type
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
    preproc_defs:
    - item_type: preproc_def
      name: PK_N
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_PROTECTION_KIND_NONE
    - item_type: preproc_def
      name: PK_S
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_PROTECTION_KIND_SIGN
    - item_type: preproc_def
      name: PK_SOA
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_PROTECTION_KIND_SIGN_WITH_ORIGIN_AUTHENTICATION
    - item_type: preproc_def
      name: PK_E
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_PROTECTION_KIND_ENCRYPT
    - item_type: preproc_def
      name: PK_EOA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_PROTECTION_KIND_ENCRYPT_WITH_ORIGIN_AUTHENTICATION
    - item_type: preproc_def
      name: BPK_N
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_BASICPROTECTION_KIND_NONE
    - item_type: preproc_def
      name: BPK_S
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_BASICPROTECTION_KIND_SIGN
    - item_type: preproc_def
      name: BPK_E
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: DDS_SECURITY_BASICPROTECTION_KIND_ENCRYPT
    - item_type: preproc_def
      name: PF_F
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: '"file:"'
    - item_type: preproc_def
      name: PF_D
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: '"data:,"'
    - item_type: preproc_def
      name: MAX_LOCAL_IDENTITIES
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_REMOTE_IDENTITIES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_HANDSHAKES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
      type_or_value: '32'
    structs:
    - fields:
      - name: handle
        type: DDS_Security_IdentityHandle
      - name: guid
        type: union guid
      item_type: struct
      name: Identity
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
    - fields:
      - name: handle
        type: DDS_Security_HandshakeHandle
      - name: node_type
        type: enum hs_node_type
      - name: lidx
        type: int
      - name: ridx
        type: int
      - name: handshakeResult
        type: DDS_Security_ValidationResult_t
      - name: finalResult
        type: DDS_Security_ValidationResult_t
      - name: '* err_msg'
        type: char
      item_type: struct
      name: Handshake
      pos:
        line_end: 61
        line_start: 52
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
    typedefs: []
    union:
    - fields:
      - name: g
        type: DDS_Security_GUID_t
      - name: u[4]
        type: unsigned
      item_type: union
      name: guid
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/cyclonedds/src/security/core/tests/common/test_utils.h
- function_names:
  - test_validate_local_identity_all_ok
  - test_validate_local_identity
  - test_get_identity_token
  - test_get_identity_status_token
  - test_set_permissions_credential_and_token
  - test_validate_remote_identity
  - test_begin_handshake_request
  - test_begin_handshake_reply
  - test_process_handshake
  - test_get_shared_secret
  - test_get_authenticated_peer_credential_token
  - test_set_listener
  - test_return_identity_token
  - test_return_identity_status_token
  - test_return_authenticated_peer_credential_token
  - test_return_handshake_handle
  - test_return_identity_handle
  - test_return_sharedsecret_handle
  - get_impl_for_domain
  - test_authentication_plugin_take_msg
  - test_authentication_plugin_release_msg
  - init_test_authentication_common
  - init_test_authentication_all_ok
  - finalize_test_authentication_all_ok
  - init_test_authentication_missing_func
  - finalize_test_authentication_missing_func
  - init_test_authentication_init_error
  - finalize_test_authentication_init_error
  - init_test_authentication_wrapped
  - finalize_test_authentication_wrapped
  source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
  types:
    enum:
    - enumerators:
      - name: PLUGIN_MODE_ALL_OK
      - name: PLUGIN_MODE_MISSING_FUNC
      - name: PLUGIN_MODE_WRAPPED
      - name: PLUGIN_MODE_INIT_FAIL
      item_type: enum
      name: auth_plugin_mode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: dds_security_authentication
      - name: '*instance'
        type: dds_security_authentication
      - name: msg_queue
        type: struct message_queue
      - name: mode
        type: enum auth_plugin_mode
      item_type: struct
      name: dds_security_authentication_impl
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/cyclonedds/src/security/core/tests/common/authentication_wrapper.c
    typedefs: []
    union: []
- function_names:
  - INIT_NOT_ALLOWED_DECL
  source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AC_WRAPPER_TOPIC_PREFIX
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/core/tests/common/access_control_wrapper.h
      type_or_value: '"ddssec_access_control_"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_protection_kinds
  - set_encrypted_secret
  - set_disc_protection_kinds
  - set_entity_data_secret
  - set_force_plain_data
  - check_crypto_tokens
  - get_crypto_token_type_str
  - print_tokens
  - add_tokens
  - store_tokens
  - get_crypto_tokens
  - find_crypto_token
  - log_encode_decode
  - get_encode_decode_log
  - find_buffer_match
  - check_buffers
  - check_handle
  - expect_encrypted_buffer
  - copy_octetseq
  - create_local_participant_crypto_tokens
  - set_remote_participant_crypto_tokens
  - create_local_datawriter_crypto_tokens
  - set_remote_datawriter_crypto_tokens
  - create_local_datareader_crypto_tokens
  - set_remote_datareader_crypto_tokens
  - return_crypto_tokens
  - register_local_participant
  - register_matched_remote_participant
  - register_local_datawriter
  - register_matched_remote_datareader
  - register_local_datareader
  - register_matched_remote_datawriter
  - unregister_participant
  - unregister_datawriter
  - unregister_datareader
  - encode_serialized_payload
  - check_buffer_submsg
  - encode_datawriter_submessage
  - encode_datareader_submessage
  - encode_rtps_message
  - decode_rtps_message
  - preprocess_secure_submsg
  - decode_datawriter_submessage
  - decode_datareader_submessage
  - decode_serialized_payload
  - init_test_cryptography_common
  - finalize_test_cryptography_common
  - init_test_cryptography_all_ok
  - finalize_test_cryptography_all_ok
  - init_test_cryptography_missing_func
  - finalize_test_cryptography_missing_func
  - init_encode_decode_log
  - fini_encode_decode_log
  - init_test_cryptography_wrapped
  - finalize_test_cryptography_wrapped
  - init_print_lock
  - init_test_cryptography_store_tokens
  - finalize_test_cryptography_store_tokens
  - init_test_cryptography_plain_data
  - finalize_test_cryptography_plain_data
  source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
  types:
    enum:
    - enumerators:
      - name: PLUGIN_MODE_ALL_OK
      - name: PLUGIN_MODE_MISSING_FUNC
      - name: PLUGIN_MODE_TOKEN_LOG
      - name: PLUGIN_MODE_WRAPPED
      - name: PLUGIN_MODE_PLAIN_DATA
      item_type: enum
      name: crypto_plugin_mode
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: struct dds_security_crypto_key_exchange
      - name: '*instance'
        type: struct dds_security_crypto_key_exchange
      - name: '*parent'
        type: struct dds_security_cryptography_impl
      item_type: struct
      name: dds_security_crypto_key_exchange_impl
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - fields:
      - name: base
        type: struct dds_security_crypto_key_factory
      - name: '*instance'
        type: struct dds_security_crypto_key_factory
      - name: '*parent'
        type: struct dds_security_cryptography_impl
      item_type: struct
      name: dds_security_crypto_key_factory_impl
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - fields:
      - name: base
        type: struct dds_security_crypto_transform
      - name: '*instance'
        type: struct dds_security_crypto_transform
      - name: '*parent'
        type: struct dds_security_cryptography_impl
      item_type: struct
      name: dds_security_crypto_transform_impl
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    - fields:
      - name: base
        type: struct dds_security_cryptography
      - name: '*instance'
        type: struct dds_security_cryptography
      - name: transform_wrap
        type: struct dds_security_crypto_transform_impl
      - name: factory_wrap
        type: struct dds_security_crypto_key_factory_impl
      - name: exchange_wrap
        type: struct dds_security_crypto_key_exchange_impl
      - name: mode
        type: enum crypto_plugin_mode
      - name: protection_kinds_set
        type: bool
      - name: disc_protection_kinds_set
        type: bool
      - name: rtps_protection_kind
        type: DDS_Security_ProtectionKind
      - name: metadata_protection_kind
        type: DDS_Security_ProtectionKind
      - name: payload_protection_kind
        type: DDS_Security_BasicProtectionKind
      - name: disc_protection_kind
        type: DDS_Security_ProtectionKind
      - name: liveliness_protection_kind
        type: DDS_Security_ProtectionKind
      - name: '* pp_secret'
        type: char
      - name: '* groupdata_secret'
        type: char
      - name: '* ep_secret'
        type: char
      - name: '* encrypted_secret'
        type: char
      - name: token_data_lock
        type: ddsrt_mutex_t
      - name: token_data_list
        type: struct ddsrt_circlist
      - name: encode_decode_log_lock
        type: ddsrt_mutex_t
      - name: encode_decode_log
        type: struct ddsrt_circlist
      - name: force_plain_rtps
        type: bool
      - name: force_plain_submsg
        type: bool
      - name: force_plain_payload
        type: bool
      - name: force_plain_sender_handle
        type: DDS_Security_DatawriterCryptoHandle
      item_type: struct
      name: dds_security_cryptography_impl
      pos:
        line_end: 80
        line_start: 54
        source_file: /src/cyclonedds/src/security/core/tests/common/cryptography_wrapper.c
    typedefs: []
    union: []
- function_names:
  - insert_message
  - add_message
  - delete_message
  - init_message_queue
  - deinit_message_queue
  - message_matched
  - take_message
  source_file: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_IDENTITY_CERTIFICATE_DUMMY
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"testtext_IdentityCertificate_testtext"'
    - item_type: preproc_def
      name: TEST_IDENTITY_PRIVATE_KEY_DUMMY
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"testtext_PrivateKey_testtext"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CA_CERTIFICATE_DUMMY
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"testtext_IdentityCA_testtext"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CA1_CERTIFICATE
      pos:
        line_end: 44
        line_start: 18
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEYzCCA0ugAwIBAgIUOp5yaGGuh0vaQTZHVPkX5jHoc/4wDQYJKoZIhvcNAQEL\n\

        BQAwgcAxCzAJBgNVBAYTAk5MMQswCQYDVQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxp\n\

        dHkgTmFtZTETMBEGA1UECwwKRXhhbXBsZSBPVTEjMCEGA1UECgwaRXhhbXBsZSBJ\n\

        RCBDQSBPcmdhbml6YXRpb24xFjAUBgNVBAMMDUV4YW1wbGUgSUQgQ0ExOjA4Bgkq\n\

        hkiG9w0BCQEWK2F1dGhvcml0eUBjeWNsb25lZGRzc2VjdXJpdHkuYWRsaW5rdGVj\n\

        aC5jb20wHhcNMjAwMjI3MTkyMjA1WhcNMzAwMjI0MTkyMjA1WjCBwDELMAkGA1UE\n\

        BhMCTkwxCzAJBgNVBAgMAk9WMRYwFAYDVQQHDA1Mb2NhbGl0eSBOYW1lMRMwEQYD\n\

        VQQLDApFeGFtcGxlIE9VMSMwIQYDVQQKDBpFeGFtcGxlIElEIENBIE9yZ2FuaXph\n\

        dGlvbjEWMBQGA1UEAwwNRXhhbXBsZSBJRCBDQTE6MDgGCSqGSIb3DQEJARYrYXV0\n\

        aG9yaXR5QGN5Y2xvbmVkZHNzZWN1cml0eS5hZGxpbmt0ZWNoLmNvbTCCASIwDQYJ\n\

        KoZIhvcNAQEBBQADggEPADCCAQoCggEBALKhk7JXUpqJphyOC6oOI00LH49WTtO2\n\

        GCgDyJhcRYYAm7APMtmEDH+zptvd34N4eSu03Dc65cB/XN4Lbi2TjolVvKz0hHjz\n\

        tzmQT5jTgb1UkJX4NjKGw+RrYe9Ls0kfoAL2kvb12kmd1Oj4TIKMZP9TCrz7Vw8m\n\

        cZKQxZ56bLys6cU2XdiTp3v+Ef/vMll4+DINj4ZAMWL3CkT+q1G6ZxHRpFlsIyhc\n\

        Q1wX6gxUoY6cQdBA7TehKCCEWz4L1KM1A18ZmCHmjTniU0ssLoiAzsQs4b6Fnw8Z\n\

        MLFj8ocwzN5g66gJJWGofakXqX/V24KbGl54WX2X7FYU0tGzR234DXcCAwEAAaNT\n\

        MFEwHQYDVR0OBBYEFGeCcK8B74QWCuuCjlSUzOBBUTF5MB8GA1UdIwQYMBaAFGeC\n\

        cK8B74QWCuuCjlSUzOBBUTF5MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\n\

        BQADggEBAJQeMc4XzMFnpQKCb58rzRs3Wt9FmZZS4O596sHxMEewTkEHm5gLYMzF\n\

        9JYEdUiLoTurQuIr0KgPi+Q3kliQdLfrVPbdWTmlUDZARR5ir5d1gGHST6qnb3Xi\n\

        mG+7nwle9R/hLrtPio+gYRgwJEiS55f6p0/E1wDcc+6numvjCRQ/CGIiJfwD/R+d\n\

        pv93YLEfuliZttfBc/apIu6OL4chxF+3QgSw1ltV5nXXqDTGHMRZENkp3Yiolumc\n\

        6smL4uA7Q812pVcENi3MLjdJgBS/8DcSBQHspVuXugaKKPDMkJnD0IyLWc8vLXh4\n\

        O7JdDrmusJAZA9RsTkinl3DuPfF34Sk=\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CA1_PRIVATE_KEY
      pos:
        line_end: 72
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEowIBAAKCAQEAsqGTsldSmommHI4Lqg4jTQsfj1ZO07YYKAPImFxFhgCbsA8y\n\

        2YQMf7Om293fg3h5K7TcNzrlwH9c3gtuLZOOiVW8rPSEePO3OZBPmNOBvVSQlfg2\n\

        MobD5Gth70uzSR+gAvaS9vXaSZ3U6PhMgoxk/1MKvPtXDyZxkpDFnnpsvKzpxTZd\n\

        2JOne/4R/+8yWXj4Mg2PhkAxYvcKRP6rUbpnEdGkWWwjKFxDXBfqDFShjpxB0EDt\n\

        N6EoIIRbPgvUozUDXxmYIeaNOeJTSywuiIDOxCzhvoWfDxkwsWPyhzDM3mDrqAkl\n\

        Yah9qRepf9XbgpsaXnhZfZfsVhTS0bNHbfgNdwIDAQABAoIBAAylo+9cf1yxojEj\n\

        XXAM0DMENpfPZIVYvx0WJ32iCsoSAPPWH6OG1du0vHuUmd6VCP8vLug6I0odulV+\n\

        Oa7AY7cVeuZD6Z0mpDJPJVOMpgLhmdsEV9H7+KKTd7uZgHgM5SdQjdcuUOYlZo2Y\n\

        BtK3Xe810ezPXrqT3jaiSVuPD2PMO/LH3S+MSynHUZdou+NEr0S5FyX7HT2SUvPg\n\

        nEG5KUSE32/1Rnho9BacWKQ/HAoBiS+jMRHOPwu1Q/qS/QLw8HRDEuEoXlVYoNMc\n\

        il0r3M25COZVJVJecBqXHAWZqCBsqmNXs2hU1bh8VVKl/CMkG3W+IAR7XzMmw6bi\n\

        ZYAvgQECgYEA3pIeB8WptYv7hU0I1FZMfyhwLZDRSTZMlObTIXXsdSVKEllBwKAW\n\

        N0G84cyl7q+tOio63tbk1rQRi21O0wTrt16j+0SqDIYy59QhqXhiKAko+nf7cSpy\n\

        8h+k+HF5HpxsxcwYPiwO1SywPJ4TuDLIRHXXqschRzNtATrqCBtNeBsCgYEAzXX5\n\

        cQfMORsg0Z/K0d/U8JLdK0dnqsjwKt+9L7BAGOSv9Xxf4OT+vK3AlzkTUUOztXy7\n\

        3YzpSrHy1Dzu57Dv83BgCFPJxa7jKX4/n+SFYjqxcQVSziQAJjyaa0JsxYkxWC0K\n\

        IXg8MXYcgwHL6k/PYblQCJw8Lgtf8J2DtXhZTdUCgYAvt/4uRmfLX7bObqS8+b+u\n\

        55mde1YTr0ueBRsxKlpHB3apFm/tf6UjtblsY/cThKDMPq+ehU5M5hB45zemMIDl\n\

        MKpRvfgDdWZGpAmPjxrkYIpjoQPM0IASf0xcY9/G+1yqz8ZG1iVb+RfT90RdEq4z\n\

        V1yk5cqxvEnboKj6kff7DwKBgQCXnqbcVZ/MyIs4ho4awO4YNpkGNiR3cN9jFEc9\n\

        aPh0Jlb/drAee37M6AAG2LS7tJVqqcjNXw5N8/G509mNmxIH+Pa1TnfI7R1v4l27\n\

        dd1EtwF44S/RNdnyXaiq3JL+VxbV9i7SsjLhYUL7HplHqWvltuYr5He4luZO3z5x\n\

        7YUhnQKBgHmjhmSEPPxZLjPcYJ/z2opXalPJ5OObJ6nM6X4T5LvfhSnANdeeM6yj\n\

        gigRY8UlnNYzC5iSt17/VuMeta7I8GaVNUu7WU72Q7sYYlrXevdgl/0OFYayXHlB\n\

        sSo6yb9za+C2+5olHEZvs7dIzwDcveoEatds/X4VNrULEwaGbZR0\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CA2_CERTIFICATE
      pos:
        line_end: 99
        line_start: 73
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEbTCCA1WgAwIBAgIUL0mSpPRgzveYTJ8UHSmOIwkIjjYwDQYJKoZIhvcNAQEL\n\

        BQAwgcUxCzAJBgNVBAYTAk5MMQswCQYDVQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxp\n\

        dHkgTmFtZTETMBEGA1UECwwKRXhhbXBsZSBPVTElMCMGA1UECgwcRXhhbXBsZSBJ\n\

        RCBDQSAyIE9yZ2FuaXphdGlvbjEYMBYGA1UEAwwPRXhhbXBsZSBJRCBDQSAyMTsw\n\

        OQYJKoZIhvcNAQkBFixhdXRob3JpdHkyQGN5Y2xvbmVkZHNzZWN1cml0eS5hZGxp\n\

        bmt0ZWNoLmNvbTAeFw0yMDAyMjcxNjI3MjRaFw0zMDAyMjQxNjI3MjRaMIHFMQsw\n\

        CQYDVQQGEwJOTDELMAkGA1UECAwCT1YxFjAUBgNVBAcMDUxvY2FsaXR5IE5hbWUx\n\

        EzARBgNVBAsMCkV4YW1wbGUgT1UxJTAjBgNVBAoMHEV4YW1wbGUgSUQgQ0EgMiBP\n\

        cmdhbml6YXRpb24xGDAWBgNVBAMMD0V4YW1wbGUgSUQgQ0EgMjE7MDkGCSqGSIb3\n\

        DQEJARYsYXV0aG9yaXR5MkBjeWNsb25lZGRzc2VjdXJpdHkuYWRsaW5rdGVjaC5j\n\

        b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDk+ewDf871kPgBqXkm\n\

        UEXdf/vqWWoKx3KfJ4N3Gq4vt/cDOMs0xakpqr5uxm787AvbOui4P8QmT8naLhAA\n\

        TvHtNGg2LV0ZQtLcVVFsXXsBYDUEbLJYmCBtJU8zSfLLzgtN+z9nVqLthAcVyGhZ\n\

        iEkCfXKS4XzwjFUxgrXUM1VSiHHz8DbreQFDTF8mVavZ75HjieuHz1OcSaoIHCIF\n\

        mhPDlxRR/qZpc3Y52NZMNRHVPj4Tmc3N4H2eneeoG7nVn0MgNuqbssezeQtUOOoH\n\

        DgPGp3xzd8XQxaF5hVIM9E7aL77kw5v4gwccjL5xWC72zzxC3c1ltmbaEcwhHGsu\n\

        MR4lAgMBAAGjUzBRMB0GA1UdDgQWBBTTpmGTY5teWrZBA8Sd7kL5Lg/JmjAfBgNV\n\

        HSMEGDAWgBTTpmGTY5teWrZBA8Sd7kL5Lg/JmjAPBgNVHRMBAf8EBTADAQH/MA0G\n\

        CSqGSIb3DQEBCwUAA4IBAQCbelDJr9sVsYgQSp4yzSOSop5DSOWCweBF56NatcbY\n\

        3HUYc4iaH4NcB04WFkUl2XmqVCAM0zbmV0q4HoQikTK5PBHmwxuuD2HhPDWtMeFR\n\

        W96BjzGVpV27yaNIPvLwjTVV+A72r4vRvufiFhrMCovRwlWgHY6+gXKfrtyljTZ0\n\

        m1mENHOJOQWDXFAXP5yiehSMKy/izKvQ1G1hLErYMMc+sdgF/9X2KaudnTakTW0d\n\

        44kXUFKSU7mqV44D12unxCNODclznd31tiJ+70U39AXlR2BzwBzyFzPCh5JYtMog\n\

        TwbdLY3LN40gpkDUxIIH115D7ujUKNd8s2gmSHOCm1ar\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CA2_PRIVATE_KEY
      pos:
        line_end: 127
        line_start: 100
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEogIBAAKCAQEA5PnsA3/O9ZD4Aal5JlBF3X/76llqCsdynyeDdxquL7f3AzjL\n\

        NMWpKaq+bsZu/OwL2zrouD/EJk/J2i4QAE7x7TRoNi1dGULS3FVRbF17AWA1BGyy\n\

        WJggbSVPM0nyy84LTfs/Z1ai7YQHFchoWYhJAn1ykuF88IxVMYK11DNVUohx8/A2\n\

        63kBQ0xfJlWr2e+R44nrh89TnEmqCBwiBZoTw5cUUf6maXN2OdjWTDUR1T4+E5nN\n\

        zeB9np3nqBu51Z9DIDbqm7LHs3kLVDjqBw4Dxqd8c3fF0MWheYVSDPRO2i++5MOb\n\

        +IMHHIy+cVgu9s88Qt3NZbZm2hHMIRxrLjEeJQIDAQABAoIBABBUirKNMPNujWGA\n\

        9rT20KTFde/2xItUQiZ7qPKbooSguCswp71xw2jHVqGL4WqEYywVfXd2hMS+uASp\n\

        eFatSq/CJxSGE7ezflpcc1wpJpaoh99y6R1MbDOcj5N22KwUW9YJ7zGtih0qZ170\n\

        VgzcnWhiDgPPtRtqxsCrM9CYgKNMGU6M9CFPX3PKDudKVU5fmi9bhtCqQaLhImbs\n\

        aQO3y4yI0af4KSQSur+eqeB/z7V39BEo1LfqaVQd1e9ItEYnTg8TaSaCshS4H8UG\n\

        Yx/pGhnxgn8+5LFL2K635Mb99OLb0hUwIOAbuoAuTlKijit0uGEJe/+DjbkcgZ5d\n\

        VB9I8UECgYEA/56Em8M6N6mTUN3WN+U8NSLltjSIL8kemK30dJ56aUsTiy4h0jNa\n\

        Jda7BeRPQcf9pnQpgFkV7XoKIbfTIqOhqD8XAvJL4//+VMmH2q/R2Xf6e0/CIEUe\n\

        3K74QyRVazx+tt+NOafCwjU9bA7ebjwQVsb+dPAS6kOWxTCZFzCgFk0CgYEA5VE+\n\

        U/C8D9zmJjL1uc4XkBNAg/dQNybQ9DX2Ku5dKME6yg4u7Lxnl3X9asvtQAsUeOPa\n\

        dKGkQ8NZfnSvXYd04n/FTRohFCaYz3RWIbo/q4KCsnJk6uAUM9YFeQGqZdEjO3Mu\n\

        Yk1uhHFl+C4Q/InzYEs+QwtMOS7XVMa5vm6OQzkCgYAR+xKU6ly0AaetLo2dDPD5\n\

        Q+UotfVGdz1BvCrP8T3nHjLXvXz/jkEvHDW3qmGw3OKIzO8Gaj3SoJ0J1iZx71S1\n\

        wwpZWLXh6eX4DN0Tkv6N75SdC/U50+Lh3yTzhCDGFFFNh9glUBmxE5Gogjs/QdZc\n\

        ZE8N5r1N4Uc/w7VhHjiEmQKBgHMA2pQ4P+horRdtKSTEwbZkoU9NYXI3SkWfJlSD\n\

        dD7zISuiD1B0cDNaXfwIR3R92geCpdUmF35QYvpzRFtQioLo9ybiusIjVTF9M5D4\n\

        mePGsQsTKZ9NP3R7mgUEm9MyHkw7SIDOOmW7hRsA503vVRnuwkvXR6PJ5P3EJ/Tj\n\

        9v6pAoGAfVTCJkf0aZ7KjV5GQ33l8uH9dEBzRJ4xOjGpeVBTm+L5N4ejcrQ4p9t0\n\

        JQr8hQHEp7tnHZ9H8DuIIQVDUJdrRa1qO+TNQiOdPLRNofXHuFDNIoj4+bP5ISnL\n\

        dImrEylWjCLbiiOpIbBmAQLb55xYsFzkdRCW3AlmldSVUW96yfU=\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_PERMISSIONS_CA_CERTIFICATE
      pos:
        line_end: 155
        line_start: 129
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEbzCCA1egAwIBAgIUfoby6818hlJQ+41KUHiM6BZll/0wDQYJKoZIhvcNAQEL\n\

        BQAwgcYxCzAJBgNVBAYTAk5MMQswCQYDVQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxp\n\

        dHkgTmFtZTETMBEGA1UECwwKRXhhbXBsZSBPVTEgMB4GA1UECgwXRXhhbXBsZSBD\n\

        QSBPcmdhbml6YXRpb24xHzAdBgNVBAMMFkV4YW1wbGUgUGVybWlzc2lvbnMgQ0Ex\n\

        OjA4BgkqhkiG9w0BCQEWK2F1dGhvcml0eUBjeWNsb25lZGRzc2VjdXJpdHkuYWRs\n\

        aW5rdGVjaC5jb20wHhcNMjAwMjI3MTM0ODA5WhcNMzAwMjI0MTM0ODA5WjCBxjEL\n\

        MAkGA1UEBhMCTkwxCzAJBgNVBAgMAk9WMRYwFAYDVQQHDA1Mb2NhbGl0eSBOYW1l\n\

        MRMwEQYDVQQLDApFeGFtcGxlIE9VMSAwHgYDVQQKDBdFeGFtcGxlIENBIE9yZ2Fu\n\

        aXphdGlvbjEfMB0GA1UEAwwWRXhhbXBsZSBQZXJtaXNzaW9ucyBDQTE6MDgGCSqG\n\

        SIb3DQEJARYrYXV0aG9yaXR5QGN5Y2xvbmVkZHNzZWN1cml0eS5hZGxpbmt0ZWNo\n\

        LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANNWwyrW3J+TCyaZ\n\

        H77q+29GGqFsYP5rv9cpcL/TMDNccsPYY+1RA1K+zMRYo1LG8VdJNtJlhxE+tmEb\n\

        KxsVUTtoj8zbLVU4P4g0gIh6U7LMv5lUEZ3XYKWvYrbZTFMof2rXQYGXPO7pFnvb\n\

        NAbnMiLmagRKxKJ91kq4utuMG3U6rkCA7i2S8cEISNO3gIpFa0IZJ8yS8wDlKa/L\n\

        GxL90BYasLsSA6tw/69OIiUUYqpMRD+xxyyTkMO37VjmdiFLHa/dxO8HH0t3Q0U0\n\

        AgZP9uwYTgZpN+2UEFnjv3BDIydc3Wa0UaSdxLtHXMPvg3sRuH9CTqr4Le7/3uTY\n\

        ehYKgd0CAwEAAaNTMFEwHQYDVR0OBBYEFFi4pK986ZSB0BLiMm8ivu6AUxYPMB8G\n\

        A1UdIwQYMBaAFFi4pK986ZSB0BLiMm8ivu6AUxYPMA8GA1UdEwEB/wQFMAMBAf8w\n\

        DQYJKoZIhvcNAQELBQADggEBAHYLaJVWrLHg+62jC8yIz9dbECIroX9Gb7Ll937H\n\

        Mum6Hj4wlImrifMVV3iORWBrBLvtTtn0Zno3mwfjLRQtkjOih71eJT+6//B7CT7n\n\

        oULJYVq8IRGErbKtmXULnxTajFApzO0v4hSu7rWj/Jfhil0TX7QgKNpgKzjYodWz\n\

        3oGGtchxvw3+v9wdIWD5Cj0bk/VMCQCaBV0anvyga7d4k8/zPF7nW2Z9jNfKsVD1\n\

        piFa+Yd4zN6XOPPKiFXfLD7ht9i2gG25iS+d95tKg1DfjnRD7u0BJSOAPerxGtN/\n\

        wf43qY1XzUoE2FBJ9QJGOA/02ffaUMOwSzICF/ShctH+Knk=\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_PERMISSIONS_CA_PRIVATE_KEY
      pos:
        line_end: 183
        line_start: 156
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEpAIBAAKCAQEA01bDKtbcn5MLJpkfvur7b0YaoWxg/mu/1ylwv9MwM1xyw9hj\n\

        7VEDUr7MxFijUsbxV0k20mWHET62YRsrGxVRO2iPzNstVTg/iDSAiHpTssy/mVQR\n\

        nddgpa9ittlMUyh/atdBgZc87ukWe9s0BucyIuZqBErEon3WSri624wbdTquQIDu\n\

        LZLxwQhI07eAikVrQhknzJLzAOUpr8sbEv3QFhqwuxIDq3D/r04iJRRiqkxEP7HH\n\

        LJOQw7ftWOZ2IUsdr93E7wcfS3dDRTQCBk/27BhOBmk37ZQQWeO/cEMjJ1zdZrRR\n\

        pJ3Eu0dcw++DexG4f0JOqvgt7v/e5Nh6FgqB3QIDAQABAoIBABFHMKGZ+2OYc/rt\n\

        3eiP8YqBYr/7ylpCmOaQXsVwEKrCTiew00qdqvXi337V+FRWK3kFZVQCNO61/9ck\n\

        j3uhXIjM3aTT7nrfJGKQWEnQJnOhxbBVbTNIXoBtPFbSoSjTUMd9Xb+oi7TEna/2\n\

        leRSloi/6b78FeNrAlANlklIxR3qTjRSxjGYVfukCWsKq3uFfWM4Wp9N1B1gsyRo\n\

        /SH2jOu0XTLNdajggtBKcFoqxVIiaetERKVRRid7pW0zwuYS5Zwv5Wtl3XMbUuAn\n\

        VGesMeCKAGpwkLjmvXKBE5setnd7cWBKdVKddYDkzbDvU7X6QEHFnac6m6OQ2P62\n\

        QfkO94ECgYEA70tV55AreDnPQEpf698ZjA8pYvF90GfGx/Y4oYWU/s0IlD6Pfbsr\n\

        qkRu+1I+SUNZWARhirXmJzuOmJYUQRteCEq+6RPJzn5Jl9MtipOBAjI0h589dbAB\n\

        8m/BRk+bEZKCXLgVa0TyZ/gd/wDBxB+qd+bPep8nAl4krMWK9W1+DLECgYEA4hfP\n\

        EwUPMwHrGlq0oRUA08ssQ8XxVCKWeS3cLAJjO6EdJyIUm/8S/UZPBPeSkGyZeld+\n\

        fY7z9ZV0HA338p5BYYDCqgJC6b5Ud5UV0yLkq01v6b0H3nSjTPcbA61l9laN0vhm\n\

        QJ/xTiAHgsGBbOx2VtwDoE8T1AbAaamcapqNYu0CgYAXCiPdRc5JpxdDU2Xk6fgl\n\

        uhf8BNBeTn+fJR/SvW/ZEJiw3U0nh+vuWuRsokCJAUkK5nEVz+m3AU77dgfBNQda\n\

        uQeknVki3pnrWlPaMdWMBpV0MWrTd/zYANaVFHkTug1/K+I0D9FfHU6WDNabMYlS\n\

        PhDf947j9XiGggadFsu6IQKBgQC6dgpIVFbZqU5cuMvZQToicaA68Kd7zN6uZ7z5\n\

        6qouRkyFtpyqnq3pha+rmAYe6AGXnUrrgBcAxdYxQO/o/s1K/WcN0LmgjmCZErIi\n\

        I9fU0xNmAIjZ1PXMhsqXuMyrYWyrvkKOL5pR5SZsluwHieh68A5pim3+4eaT/dbL\n\

        MFVEbQKBgQDfkeApSfKATXJpYIV/tiGjmRkkYoZ6NVar92npjlb72jaA4V0gHmuD\n\

        9ttypXOJPB/5zMa5uL6drp3CLv/GcWekUiUUXuyKQpcxZWqxf/leh9gTgGDAH/k4\n\

        4+zX4HLEzTmoOc0cqzi4w6pTIj29BOV5QpnnyUGyvj8NGNSdFvZFSQ==\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY1_CERTIFICATE
      pos:
        line_end: 212
        line_start: 188
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEDTCCAvUCFHZ4yXyk/9yeMxgHs6Ib0bLKhXYuMA0GCSqGSIb3DQEBCwUAMIHA\n\

        MQswCQYDVQQGEwJOTDELMAkGA1UECAwCT1YxFjAUBgNVBAcMDUxvY2FsaXR5IE5h\n\

        bWUxEzARBgNVBAsMCkV4YW1wbGUgT1UxIzAhBgNVBAoMGkV4YW1wbGUgSUQgQ0Eg\n\

        T3JnYW5pemF0aW9uMRYwFAYDVQQDDA1FeGFtcGxlIElEIENBMTowOAYJKoZIhvcN\n\

        AQkBFithdXRob3JpdHlAY3ljbG9uZWRkc3NlY3VyaXR5LmFkbGlua3RlY2guY29t\n\

        MB4XDTIwMDIyNzE5MjQwMVoXDTMwMDIyNDE5MjQwMVowgcQxCzAJBgNVBAYTAk5M\n\

        MQswCQYDVQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxpdHkgTmFtZTEhMB8GA1UECwwY\n\

        T3JnYW5pemF0aW9uYWwgVW5pdCBOYW1lMR0wGwYDVQQKDBRFeGFtcGxlIE9yZ2Fu\n\

        aXphdGlvbjEWMBQGA1UEAwwNQWxpY2UgRXhhbXBsZTE2MDQGCSqGSIb3DQEJARYn\n\

        YWxpY2VAY3ljbG9uZWRkc3NlY3VyaXR5LmFkbGlua3RlY2guY29tMIIBIjANBgkq\n\

        hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5mEhLZIP2ko1bRJyJCwbnvhIpXFv6GOh\n\

        nvuS5v8tsTju40O62NNQmKT/my1QVKiUu7OoWZtLNBebgxgJ851eQ4TBRXy/f2jG\n\

        kLPYM22dohLTblVCpGutn+Itw3QRM3nkne7Sk8O6FP6NH6Y+7gkjxy5kI3GvhuIC\n\

        uBIzAV4dHK+hPlCn/Z+W33W71/ZAmnmI+2GaWiu5tjAQyFcmqWbi0BD7TWqBqidZ\n\

        2n7LTImUtp8NrYLfhzvgNLr9BZe7uf+T3mgdwcHtfi98GA94Lo6lqGeygiwig746\n\

        Y5uW4c6whsbd6riJ8FG1l8O86Ump4bSKChxjeoTLj4M4KX615kYa4QIDAQABMA0G\n\

        CSqGSIb3DQEBCwUAA4IBAQAM2g7v3FaA+d1zDkvDF5emCRL+R9H8pgimEOENrZTV\n\

        iK/kl8Hm7xkO7/LZ3y/kXpQpth8FtFS6LsZBAXPYabfADeDFVImnOD6UbWewwHQR\n\

        01gxkmYL/1nco/g3AsX/Ledh2ihwClGp+d6vNm5xF+Gw8Ux0YvH/aHy4RKg7mE/S\n\

        nonfHWRlT2tw1OtohTVhmBn00Jvj0IzSAiNvpmZHVRLYL9JRb5awYSX5XGetpoFM\n\

        VwzWIaZ06idvCtPKTfP71jJypV3+I2g5PNqranbuMv5nNAKZq1QlSB07f2Z1VIu6\n\

        6jeSZSADfm73qnE2Kj1PiZkPn0Wu+K24GXCvdILATcUS\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY1_PRIVATE_KEY
      pos:
        line_end: 240
        line_start: 213
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEpQIBAAKCAQEA5mEhLZIP2ko1bRJyJCwbnvhIpXFv6GOhnvuS5v8tsTju40O6\n\

        2NNQmKT/my1QVKiUu7OoWZtLNBebgxgJ851eQ4TBRXy/f2jGkLPYM22dohLTblVC\n\

        pGutn+Itw3QRM3nkne7Sk8O6FP6NH6Y+7gkjxy5kI3GvhuICuBIzAV4dHK+hPlCn\n\

        /Z+W33W71/ZAmnmI+2GaWiu5tjAQyFcmqWbi0BD7TWqBqidZ2n7LTImUtp8NrYLf\n\

        hzvgNLr9BZe7uf+T3mgdwcHtfi98GA94Lo6lqGeygiwig746Y5uW4c6whsbd6riJ\n\

        8FG1l8O86Ump4bSKChxjeoTLj4M4KX615kYa4QIDAQABAoIBAAtNMoJ4ytxLjaln\n\

        IUBTBZvb1DyBfxroYFJbRw6b8BLklxuBBBaE70w9s+hZ5bnxdzJqEtUqgBrzGYbp\n\

        0/smeixXw99zyjUm367Tk8SaGQSNZd/gwN8uBRt1zgbrl7htv2BcCeqDzIohHq0x\n\

        y56DxkSMKw9uEU1NoxKCmgv0IPt6LlvjCwFhDv8iLu4lvu61F+ovVYIM6UXJJH0G\n\

        bHcJ1XnFBj5jCJFAWZRq7KxBgc4K3DlG+J7JcGEz89ZnZfGwcIiLqJ4rbU7E0ZE8\n\

        LslIHOwodtMDReIRWl6wEYmvd3mQizTXj2EWlRywQ/P3yFlxuHsGxPtRxdWoyXDc\n\

        Ii7GZK0CgYEA9KA+uEAMA5jZK0h1EMFoTiOIRe0x8CjlrHg4l0zU0ElcMeUXwoci\n\

        XqM0sjARiNgqkcMaONCb5bKgyxncWyWcamUxgp+bi2FUQIlBKHb56TCioPP0zzc6\n\

        yCiQ2cA8QW9PjL0WScJz3bCzeXrQceGZenDpPyphYE7SIUaRAOlMTMMCgYEA8RdP\n\

        QfYbOrcwgZB8ZycFE7lpZibe7Wh4UI1b/ipNZKcncr2pOZR+gVNv6eDQbV4z9xZY\n\

        5K6oU3rUcFHf0ZAi9xIpNzcq9q4+qOGO2OCEZX5tewXjKw9rwyDPUbv3yToFyZ9w\n\

        YwEKLfUgnYzpd5qn2NXa/pAZIoTh5ILF+EezD4sCgYEAr2lg0BoNA19NCn5wg01M\n\

        kAtmok3Nq1qIJr4mRkfvqlOQaq7N9M2V1arOFJ/nUus+yzrNyMO9pl4Kctjea/Vy\n\

        TdC2SeZNUQq/sW86a9u0pIQdebC1cQk3e2OrSplQG9PHhTHpk4Z+Mw+MAqYQZjjR\n\

        Jz1j48lt/fNHNlk1jSO9dKUCgYEAuYkJuqZuMBJ4Zs1Nn4ic1KAUp8N0Pdnu9XbD\n\

        ++aMJtCogBnLWH+Zl2chsigL3o7niNiO0nZDHfNh94pap4i4D9HPHCn9i1du60Ki\n\

        Tu8BlKXmFQ3j0+iLMuBWC/2O5DId8BseP2K2dcW2MukVZrEDSNDTNqKoZTNEMDof\n\

        pkFvYJ8CgYEA6du9DFFZzIp5tuSIfVqCq5oxiNrRGJ/EpJEneBexrX56cC90sqLM\n\

        ecxDkgEVC592b004K1mjak3w6O0jYozQM1uvve38nZyMgtbMo3ORCtAO6Xszj8Oj\n\

        yNw1+km1Zy6EWdFEMciEFlbRwWVmDfE/um9LZsSWbmuWAOTww9GBDhc=\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY2_CERTIFICATE
      pos:
        line_end: 267
        line_start: 243
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEDjCCAvYCFDEZQzcfGKK8IKNyH+AdNSjdyVgnMA0GCSqGSIb3DQEBCwUAMIHF\n\

        MQswCQYDVQQGEwJOTDELMAkGA1UECAwCT1YxFjAUBgNVBAcMDUxvY2FsaXR5IE5h\n\

        bWUxEzARBgNVBAsMCkV4YW1wbGUgT1UxJTAjBgNVBAoMHEV4YW1wbGUgSUQgQ0Eg\n\

        MiBPcmdhbml6YXRpb24xGDAWBgNVBAMMD0V4YW1wbGUgSUQgQ0EgMjE7MDkGCSqG\n\

        SIb3DQEJARYsYXV0aG9yaXR5MkBjeWNsb25lZGRzc2VjdXJpdHkuYWRsaW5rdGVj\n\

        aC5jb20wHhcNMjAwMjI3MTkyNjIwWhcNMzAwMjI0MTkyNjIwWjCBwDELMAkGA1UE\n\

        BhMCTkwxCzAJBgNVBAgMAk9WMRYwFAYDVQQHDA1Mb2NhbGl0eSBOYW1lMSEwHwYD\n\

        VQQLDBhPcmdhbml6YXRpb25hbCBVbml0IE5hbWUxHTAbBgNVBAoMFEV4YW1wbGUg\n\

        T3JnYW5pemF0aW9uMRQwEgYDVQQDDAtCb2IgRXhhbXBsZTE0MDIGCSqGSIb3DQEJ\n\

        ARYlYm9iQGN5Y2xvbmVkZHNzZWN1cml0eS5hZGxpbmt0ZWNoLmNvbTCCASIwDQYJ\n\

        KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMAQM9eN0zjTTdZALCTijog0oqx/kqnW\n\

        VtVWjV/c34OyPvUuH/DNRH6Cr0fI76UiooLD9nfvHe52X8oZH8WqNW7m7g7dMliu\n\

        DJD3yVpdLRmTTgl40ES8MTqmdb2y8ut70MJf5nUz0EQs9lXvnT0ru0B2CfyubiPt\n\

        aLSfyDoVBkRLbfzeqaNEQe7Ta6mQKZOckb6BHcaInb9GYEsU+OyOHuf2tCVNnRIH\n\

        ALiTPbA7rRS/J7ICS904/qz7w6km9Ta/oYQI5n0np64L+HqgtYZgIlVURW9grg2p\n\

        BuaX+xnJdRZbLQ0YYs+Gpmc1Vnykd+c2b0KP7zyHf8WFk9vV5W1ah2sCAwEAATAN\n\

        BgkqhkiG9w0BAQsFAAOCAQEA1RHDhLZf/UOR+azuH2lvD7ioSGRtdaOdJchSPdMk\n\

        v1q74PsHgm4/QAadVPdzvaIVV9kDfo6kGMzh+dCtq69EqVOavw1WUDo/NfuVSbgA\n\

        W7yeA39o3ROMO9UgbE5T3BPLq/XSXdIisP9OA4uXCnt22JELJaSv4m59FHg5gnQ7\n\

        2qOWRM7hi/+cQwescE+lDRw7PUzW8SS1HkQA1DmdtIIpWVuvYj7EPUNQX3jIetn8\n\

        AuPUgPJObxJhxJSC4p5qy37pYZHiNH1wG/+BDHgZo3wNwFsWqxabKziGB8XU3INc\n\

        USI3GDWM2jjElMSnDCj4ChM5wFbwWrqwdOEzeGWBWbo3hQ==\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY2_PRIVATE_KEY
      pos:
        line_end: 295
        line_start: 268
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEpQIBAAKCAQEAwBAz143TONNN1kAsJOKOiDSirH+SqdZW1VaNX9zfg7I+9S4f\n\

        8M1EfoKvR8jvpSKigsP2d+8d7nZfyhkfxao1bubuDt0yWK4MkPfJWl0tGZNOCXjQ\n\

        RLwxOqZ1vbLy63vQwl/mdTPQRCz2Ve+dPSu7QHYJ/K5uI+1otJ/IOhUGREtt/N6p\n\

        o0RB7tNrqZApk5yRvoEdxoidv0ZgSxT47I4e5/a0JU2dEgcAuJM9sDutFL8nsgJL\n\

        3Tj+rPvDqSb1Nr+hhAjmfSenrgv4eqC1hmAiVVRFb2CuDakG5pf7Gcl1FlstDRhi\n\

        z4amZzVWfKR35zZvQo/vPId/xYWT29XlbVqHawIDAQABAoIBAFNm9cw15zI2+AcA\n\

        yOqfgzt8d+OmZl7gF8b+lde6B0meHp7Dj9U2nfa98zWd+QrhtmZIiH/eU0YZG1Gc\n\

        hWKFnjxxhZDo1xMRSZ2uLD7UVWBUyj9suiwO+OW6IUjmK3y8wJOXp3DftiHU0IfS\n\

        zJoiombEm2Ohr2xkjOJavE0UkisXQauc3K5AKv9coW9W6hzZf330Sm4sokmC5D3B\n\

        GcO/Keof2k2sFuv56wXPi9eGuXCEB2trhHhrxqncvb/fbRwpG1ELQsvZBnyuNNnY\n\

        FQcLYl52gkttP6EGvRPw1DFbQwsAJKnXBC7ddJaAl+JoKYAcGTt0+mRm0Z8ltzWl\n\

        c6uZQsECgYEA4NGiUMNq9kSn/6tQyPcsrphJ5uobu/svLaBipZ0vv2yQP3wQ5NPA\n\

        06KjwSm8gg8BLi0LCKplSxY09TwgUsc9unRkDTQ/eflgjdGA76lFKOjvLQdutxn7\n\

        eYNbx81WMY6E6n4y6K+2szpqW+Ds1At4ORRvweJWdFyc01bTqWNeuYsCgYEA2rOO\n\

        Ye6H2VixUfXzXwevBd4QyFJITW46WqnbYDFcUzf9pYBZfZoHU0YJqolDIhHhtHnG\n\

        soRi0Uk5P9D7Lvu+ZHAGQJrdmNELOMoqMNOqXcAdvK44qLLMwaLC8PS2zDIATrhZ\n\

        nc0TbeZJC8MynfIpxDsBVVMOa8u4eHRFdpk8ZaECgYEAlzuuCtJKQ7vPn2dpAqdz\n\

        gUekfxeA7KV+CR1Y/ruMgSLQrkQRQT1I+5Tuv2QKERty2dMnFv85AJfBrC50N/sb\n\

        hTAClfdNtAmTcBM8vvuJMInxSsMzMSzjQ8yfkvqIPvH2a5/VMz3wkwR6w6+84K+O\n\

        gidDPpO5QLGENY6097+G2x0CgYEAk7cdX0YGGaZPNiWiOLhu3c6slTEGRs5BucTq\n\

        OGF+k3LI7kTvrOchNXyjwLyvTE65nPV3YFIMkIEdmt3jGkvMv/fuMSqoq7PeGYBq\n\

        2MnOUz4Ul8Ew4bjKlasCck9HPEo1bPYVCYFfMyaMhdZU1NugnDqiXugXYHWb5jfa\n\

        Rw2e/qECgYEA3PvLLHklsRts6P37iSwUmDnkiopSSPfVdGXpDDGD/RbLpG6cSLRm\n\

        uh5n9+nxa2YXi0+LMLQvGpCSWk2k2qaRPpe2mahy9yAYrLhfDDcuGpSvw5BBJ3qw\n\

        mi1HgIUzXZTRBNamYCltJWYnN0hOlSL6vcHgeJ9y1gSDh0QqB2BG8HY=\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY3_CERTIFICATE
      pos:
        line_end: 322
        line_start: 298
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIIEDTCCAvUCFHZ4yXyk/9yeMxgHs6Ib0bLKhXYvMA0GCSqGSIb3DQEBCwUAMIHA\n\

        MQswCQYDVQQGEwJOTDELMAkGA1UECAwCT1YxFjAUBgNVBAcMDUxvY2FsaXR5IE5h\n\

        bWUxEzARBgNVBAsMCkV4YW1wbGUgT1UxIzAhBgNVBAoMGkV4YW1wbGUgSUQgQ0Eg\n\

        T3JnYW5pemF0aW9uMRYwFAYDVQQDDA1FeGFtcGxlIElEIENBMTowOAYJKoZIhvcN\n\

        AQkBFithdXRob3JpdHlAY3ljbG9uZWRkc3NlY3VyaXR5LmFkbGlua3RlY2guY29t\n\

        MB4XDTIwMDMwNTEzMTczN1oXDTMwMDMwMzEzMTczN1owgcQxCzAJBgNVBAYTAk5M\n\

        MQswCQYDVQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxpdHkgTmFtZTEhMB8GA1UECwwY\n\

        T3JnYW5pemF0aW9uYWwgVW5pdCBOYW1lMR0wGwYDVQQKDBRFeGFtcGxlIE9yZ2Fu\n\

        aXphdGlvbjEWMBQGA1UEAwwNQ2Fyb2wgRXhhbXBsZTE2MDQGCSqGSIb3DQEJARYn\n\

        Y2Fyb2xAY3ljbG9uZWRkc3NlY3VyaXR5LmFkbGlua3RlY2guY29tMIIBIjANBgkq\n\

        hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0QduVwXptfjiwkvbn5aXuIpwZ9aWOqmj\n\

        e36qNknnS0mng1zPhzi4RLAl6CUxa6E5bkfjGZxFfYefDNk3ynzerEotFa1f5++b\n\

        aY73hs2ecfz+9ofjqR2fsroxOFwFF9JLbeWTDPS2mf5yE0Ci2+ctq6Ep4jDeHNui\n\

        WpSOY8OoIEWq4PD/R/VGJSiHSG+OjOUN7gwuxta0yglFeyHBdzr8mDZiejj1KYBD\n\

        AzuQrtaibHNtGBo3VGFvPKs85mK/Swv1GoXxcy1uBU1Yup9JLq3Ds8R5YYecSlXk\n\

        77EmZl4dgoScbt4NKTPuo8t803Ph3PYQCggILhlaEwjpfd1YTFLxOQIDAQABMA0G\n\

        CSqGSIb3DQEBCwUAA4IBAQAtV57Zc5dV9+z51zTOtghNZrFGJ48xJhnXddMVJ1Yh\n\

        08uoODRSRJHXNxMrlSRMeZ+CNkvd/QmqzOYvok3EqusOXFNU9qfmc3DToU/DDqkf\n\

        PMEpc9lPLTjmm6MfQgjyT5pDDNPUV9Io1s2o492ozr87ULyVf6I2bNu2NnVv2IzE\n\

        j9Mz/L7TkcgJgbdDl+21CR3NRA1PpxFB/PcM+zy4C2XoFv/qcF5pkcBpkyNjva9m\n\

        xmjSJWMoIVzXk6apPsRGCJLFJ3uuj+9K6POo/xgAkrbgvZF0i0yAJSTvSQmg6x2S\n\

        FMxE89kC7Npg+fQF15aaNEn4tuQiz0WW9pq1wSTXjoqj\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_IDENTITY3_PRIVATE_KEY
      pos:
        line_end: 350
        line_start: 323
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEpAIBAAKCAQEA0QduVwXptfjiwkvbn5aXuIpwZ9aWOqmje36qNknnS0mng1zP\n\

        hzi4RLAl6CUxa6E5bkfjGZxFfYefDNk3ynzerEotFa1f5++baY73hs2ecfz+9ofj\n\

        qR2fsroxOFwFF9JLbeWTDPS2mf5yE0Ci2+ctq6Ep4jDeHNuiWpSOY8OoIEWq4PD/\n\

        R/VGJSiHSG+OjOUN7gwuxta0yglFeyHBdzr8mDZiejj1KYBDAzuQrtaibHNtGBo3\n\

        VGFvPKs85mK/Swv1GoXxcy1uBU1Yup9JLq3Ds8R5YYecSlXk77EmZl4dgoScbt4N\n\

        KTPuo8t803Ph3PYQCggILhlaEwjpfd1YTFLxOQIDAQABAoIBAGSpyHh+L3vj/QgG\n\

        0iB7vFsxyEopbDWaBlHtwPjeBFYchWBcrNB4/zyM++RdLPyhKvAyDGsD9+8pBe6B\n\

        GT4Zfn7IRgf/c4VVvalLIWc41IoehYaiEIAb9RF0W0nB/u3m505oVbXSj7F/eN5O\n\

        rV9raHIT7gCw+fY5y2kFy8C9s9S9+VzzYOzIZPWSh6Plc/eI2niSVt+MDufDeVOR\n\

        Ug6Z54lpXkwqv0Pz8F7ELyRGBvUW5UAvgyprvXgSYz1VNeHr3fmLX/O4rGktk02x\n\

        bAFxvaNV/JEK1fLFWLZ8TJVGsni+uYu/zkvXdxw7gphdoM77UKeZ00udg7orYUhW\n\

        6MwsuRUCgYEA7KzanZVPfbL4TMCpS6EJUO8H9lebH0srzqKNJD3/NL2JPebRNjZA\n\

        niH6vXD773/8IYlFTAXe0npVApZETKVzP4LNvsSVtjNvqXKdRM0cT47Dc4Y16kn/\n\

        X9Pd/ff+HH93T8Pcpguovw8QU7nxlf5dCvlnWrCj84Dw1ZToS2NLWAcCgYEA4hiy\n\

        nz6xvbkkUc5oHWxJIHxSLrOvMsyLMNp9UlUxgrxGqth0yQsFZwinPzs/y8aUVKyi\n\

        bHJlL35fpHeuna0V054E5vyeOOM7eLLFToDITS1m91hsl6amMW8iup/HTZhSemt7\n\

        tEn4mWlINXyP47MWfOr4oQ1KDzDCA3JFfzjInL8CgYBRulL3zcKYbn/tyS3s7twP\n\

        taszNwdbJBMplNpWZI5HQRguZxFhvhRMRwGV/3kQOErxrbxfRzutxQ6sCQXmzc9h\n\

        ZCL2OF5Wf6aUhf6m7olTM8JslzDxCcKE7d2fwM5gOugRhFoigK4x49rIftJc8Gxi\n\

        yMMW/x5ujN0ddAFPXyd6awKBgQCypX8lsnzwgsR+2w+LCA+z2md5PULWaaYlgM36\n\

        6xPG0AsqXQPSAqJPKhg0LxWWZp63VPy1oaHv5/OcWXCgZ63SWo5XEQ3Xtzw7f03F\n\

        XJ5n1NMB511Oaj/w2XZgbXUmC5BH6HuDFduXJAgJMxXifZPsOiEf6Ac3f3gdDwJ4\n\

        pp5kswKBgQDNUI3uzqw8J3e81tTAn2U8eyHuQxi8swv6K4Dx+sqCKpxkFcYvDLQl\n\

        qI+v234hvmZN3CmGPCY01aZl3NUUFKx9fvwweYG/vicCsA2XKwnmaSWTTrT62vlY\n\

        S1cWlJlUjw59ZhAqgD1pe4r0suRQ6e1OT/pByTKz1BxE/lwZftpauA==\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_REVOKED_IDENTITY_CERTIFICATE
      pos:
        line_end: 375
        line_start: 352
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN CERTIFICATE-----\n\

        MIID1zCCAr8CFDbu7X0vTo6MnlN4zIk4ZjM3V0PGMA0GCSqGSIb3DQEBCwUAMIHA\n\

        MQswCQYDVQQGEwJOTDELMAkGA1UECAwCT1YxFjAUBgNVBAcMDUxvY2FsaXR5IE5h\n\

        bWUxEzARBgNVBAsMCkV4YW1wbGUgT1UxIzAhBgNVBAoMGkV4YW1wbGUgSUQgQ0Eg\n\

        T3JnYW5pemF0aW9uMRYwFAYDVQQDDA1FeGFtcGxlIElEIENBMTowOAYJKoZIhvcN\n\

        AQkBFithdXRob3JpdHlAY3ljbG9uZWRkc3NlY3VyaXR5LmFkbGlua3RlY2guY29t\n\

        MCAXDTIxMDYxNDE4NTAzNFoYDzIyMjEwNDI3MTg1MDM0WjCBjDELMAkGA1UEBhMC\n\

        TkwxCzAJBgNVBAgMAk9WMRYwFAYDVQQHDA1Mb2NhbGl0eSBOYW1lMSEwHwYDVQQL\n\

        DBhPcmdhbml6YXRpb25hbCBVbml0IE5hbWUxHTAbBgNVBAoMFEV4YW1wbGUgT3Jn\n\

        YW5pemF0aW9uMRYwFAYDVQQDDA1BbGljZSBFeGFtcGxlMIIBIjANBgkqhkiG9w0B\n\

        AQEFAAOCAQ8AMIIBCgKCAQEA3FAEgX6m4lX3cl/jqemZY8h5WmdM8WO5U+ylg6vn\n\

        1fE8QbSpIVfaNgPq5DL7yA3t3U2PusPwCZgTEBZ7KPolJlr/Yi6wFxZqnOqqsnDX\n\

        SGXmhbu0cvCIUGWD1qRnkeQEx7OQsa5QBUdpwXAqDZC71rbjSd6ihPx5ZAkvbYRq\n\

        91fowf7OVCRvxTbQrpcsfLDuXdHUuxLKb4Y06cnhgUamflnHJsxg04wjorY/olJ4\n\

        ybEt2EE7PJoic9r4YpIX1Db0cX5fKAO4kyUOZnkbnSTnkkl/dYDEA9++7iv5XCCu\n\

        OWPtWOxP2kfidqdpsHX0ZYjoUzO+t1fWohI0Jtbn2YUhbQIDAQABMA0GCSqGSIb3\n\

        DQEBCwUAA4IBAQBzl4VJRAPKe5Tk1XgpapcUyE0sLkSGL8wluv2HUSburtFJvq5i\n\

        OAqaKc27TVbSjiY5rcSVpXILtqcyHZ9v6quw56wBUNPxDRKOjD3kmJAz/NpAkibk\n\

        67u8ysaV9qug9KIlaM6ATNI+2m+xxObhRj6bvoPTcuApPRxr6lUcByiieCdvcCL4\n\

        WbVFjjQz49JWLbUHJpRpS+Yq/YfVwAfYxCDi3pzNu3fUvPCczvza2H61uEw3gkXP\n\

        ktSJTYAxcN28LQOdqUyqMLB+DRZ7srukJ3AES5nLox2M71Q6OALCit/oc6AOIejC\n\

        w83lv/vwDHtbncmREqGorOwGhWypsagl+wNO\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_REVOKED_IDENTITY_PRIVATE_KEY
      pos:
        line_end: 403
        line_start: 376
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEpQIBAAKCAQEA3FAEgX6m4lX3cl/jqemZY8h5WmdM8WO5U+ylg6vn1fE8QbSp\n\

        IVfaNgPq5DL7yA3t3U2PusPwCZgTEBZ7KPolJlr/Yi6wFxZqnOqqsnDXSGXmhbu0\n\

        cvCIUGWD1qRnkeQEx7OQsa5QBUdpwXAqDZC71rbjSd6ihPx5ZAkvbYRq91fowf7O\n\

        VCRvxTbQrpcsfLDuXdHUuxLKb4Y06cnhgUamflnHJsxg04wjorY/olJ4ybEt2EE7\n\

        PJoic9r4YpIX1Db0cX5fKAO4kyUOZnkbnSTnkkl/dYDEA9++7iv5XCCuOWPtWOxP\n\

        2kfidqdpsHX0ZYjoUzO+t1fWohI0Jtbn2YUhbQIDAQABAoIBAQCcvYkXICZW7NZp\n\

        VvNAFWP968j6mnfRXSOjI7/1173PJhu6m2+gu0ISH+Njiyo6gD50rhPNykziZoFZ\n\

        dsUUuDLqAN+k2JaLNnWPQh1DaqifZ3AEQTD2fU5d9HtBoCHXV6RW99e/scZYmyAQ\n\

        cV5Z3FjnP6KhEXYKqx0qIKbPgeAgK+aX4Xz56vSaq7b4XL0hKMhm/gdvjfLlIawm\n\

        HDo8amWFVRhu/JOhCP8CbVAlD7NzSUSHzzVqtDKuuIsYNp2iN+oe0AQVJXDBjaNZ\n\

        1c+H+lZ8P0aPhMBGSOdFvf7crwYukFiNgNrRjRIyBqqhwDW6ZZ+rEthQL1kmEcVO\n\

        ZuEBkJUBAoGBAPpCo0PIKGXGmeeyqSbBaTGqrN+t/+Gd+DHMxxC6/V/EYRACyQx4\n\

        4HY3Be9cCvSO78z/mkf1fEH+vcQ86k878nFY++UWzjAlq4f8GsMmBHB4zzy9Niif\n\

        XlCQTKYDu3Y+h7D3Q8W4TLIqjlEiyJnnZN8WWOkBybG0wlQuIk+YkuLhAoGBAOFd\n\

        i/DTvBgE9UxRWkD/Hw4PKaptLtTncp5XhtPCAtsBHTIPv11fKI2XBJm/D2lrYuNI\n\

        nadVbVPiemOznoylG11Lj0D4e4a9+Wegr2ZYsv49TIU0maCdJmxMeLRvgAHvB+ay\n\

        lKEXfrWfXLlpac0euv3TGuEc4JfeSPMFyGWQHxwNAoGBAId98JrQEV8Y6VaSWhZL\n\

        fMKRH0tzDyh9uFRuBBDAzFE/JzXd7C++efhGzgXLlXrWsGoSsNrow7+PRfqq6EjB\n\

        sf9AKBDeCf/zRS04htzFBn5GSh0ea+YOcqe3mGgBeUsJi7l6Bc1UfOGxPKAc7vK0\n\

        Xt6RYM22VBbMQLIG0Di76DrBAoGBANvzCtNeMuNWY3m6pFVvKQX1snqM2PodcXYs\n\

        goBFh7fq3G2xhNlCODgIPgs3t3jxv6+HfaaE75DBJyYLdiBaO9zQE94bJaQZ4UJM\n\

        RyOiSf9sIDSZY56oAYoNEHk5oTtB6Po1LG4Umiv0fvDOet4gsetsj31JS8GsxpG5\n\

        AR5ujI45AoGAK4rfUK58NUXiw3z+wv2BwJRt6A7QSmPUNOsisaiTE483weegwdR3\n\

        /lNCfqVCVXQ9I6NXJel/Zd6uBd+TEuJDG72lCbX3fWyoWbfUkghaqSuQow8AsQ+u\n\

        OFb1rUwgYVjsO1N15TOsuORn2njfEuxKaHC13FjsjUBq1vFMJU7b4Ho=\n\

        -----END RSA PRIVATE KEY-----"'
    - item_type: preproc_def
      name: TEST_CRL
      pos:
        line_end: 419
        line_start: 404
        source_file: /src/cyclonedds/src/security/core/tests/common/test_identity.h
      type_or_value: '"data:,-----BEGIN X509 CRL-----\n\

        MIICRDCCASwCAQEwDQYJKoZIhvcNAQELBQAwgcAxCzAJBgNVBAYTAk5MMQswCQYD\n\

        VQQIDAJPVjEWMBQGA1UEBwwNTG9jYWxpdHkgTmFtZTETMBEGA1UECwwKRXhhbXBs\n\

        ZSBPVTEjMCEGA1UECgwaRXhhbXBsZSBJRCBDQSBPcmdhbml6YXRpb24xFjAUBgNV\n\

        BAMMDUV4YW1wbGUgSUQgQ0ExOjA4BgkqhkiG9w0BCQEWK2F1dGhvcml0eUBjeWNs\n\

        b25lZGRzc2VjdXJpdHkuYWRsaW5rdGVjaC5jb20XDTIxMDYxNDE4NTIyN1oXDTIx\n\

        MDcxNDE4NTIyN1owJzAlAhQ27u19L06OjJ5TeMyJOGYzN1dDxhcNMjEwNjE0MTg1\n\

        MTU5WqAOMAwwCgYDVR0UBAMCAQAwDQYJKoZIhvcNAQELBQADggEBAFTtAIa1CBt5\n\

        vquLBsu+pYh2HU2OhD8txOQgHyhSHOjtOymDfM52jAXqe6AO7xg+/WJGtFgrRpLo\n\

        tfjNdRwTKVxUk+hp5CqyVwyFu+rKcXs4lQ6NuYpCLplJlX3IurZWYqsUtfwfZPYl\n\

        7tFW/u64hgFajHqjWcHNgW4r1XdPiAvmpnY0vwJc/181YQoFzCV3vd4HZ5qxFa1y\n\

        7A36+cpAfIYAeqi86mW05PvATZGe3hIRdfdW5khwmqJBQ8h14kWfsc9Sj58R9QSf\n\

        lNPzfEqQ0dgtYWokCm3fVYPyfcCc4JQY2ueslDqQR/W66WrHownfnpI59VKt4LC9\n\

        wYmF1fVUnoM=\n\

        -----END X509 CRL-----"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.h
  types:
    enum:
    - enumerators:
      - name: TAKE_MESSAGE_OK
      - name: TAKE_MESSAGE_TIMEOUT_EMPTY
      - name: TAKE_MESSAGE_TIMEOUT_NONEMPTY
      item_type: enum
      name: take_message_result
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.h
    preproc_defs: []
    structs:
    - fields:
      - name: kind
        type: message_kind_t
      - name: lidHandle
        type: DDS_Security_IdentityHandle
      - name: ridHandle
        type: DDS_Security_IdentityHandle
      - name: hsHandle
        type: DDS_Security_IdentityHandle
      - name: lguid
        type: DDS_Security_GUID_t
      - name: rguid
        type: DDS_Security_GUID_t
      - name: result
        type: DDS_Security_ValidationResult_t
      - name: '* err_msg'
        type: char
      - name: token
        type: DDS_Security_DataHolder
      - name: '*instance'
        type: void
      - name: '*next'
        type: struct message
      item_type: struct
      name: message
      pos:
        line_end: 38
        line_start: 26
        source_file: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.h
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_mtime_t
      - name: '*head'
        type: struct message
      - name: '*tail'
        type: struct message
      item_type: struct
      name: message_queue
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/cyclonedds/src/security/core/tests/common/plugin_wrapper_msg_q.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_IDENTITY_CERTIFICATE_ALL_OK
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"testtext_IdentityCertificate_testtext"'
    - item_type: preproc_def
      name: TEST_CA_CERTIFICATE_ALL_OK
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"testtext_IdentityCA_testtext"'
    - item_type: preproc_def
      name: TEST_PRIVATE_KEY_ALL_OK
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"testtext_PrivateKey_testtext"'
    - item_type: preproc_def
      name: TEST_IDENTITY_CERTIFICATE
      pos:
        line_end: 38
        line_start: 17
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"data:,-----BEGIN CERTIFICATE-----\n\

        MIIDYDCCAkigAwIBAgIBBDANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJOTDEL\n\

        MAkGA1UECBMCT1YxEzARBgNVBAoTCkFETGluayBJU1QxGTAXBgNVBAMTEElkZW50\n\

        aXR5IENBIFRlc3QxJjAkBgkqhkiG9w0BCQEWF2luZm9AaXN0LmFkbGlua3RlY2gu\n\

        Y29tMB4XDTE4MDMxMjAwMDAwMFoXDTI3MDMxMTIzNTk1OVowdTELMAkGA1UEBhMC\n\

        TkwxCzAJBgNVBAgTAk9WMRAwDgYDVQQKEwdBRExpbmsgMREwDwYDVQQLEwhJU1Qg\n\

        VGVzdDETMBEGA1UEAxMKQWxpY2UgVGVzdDEfMB0GCSqGSIb3DQEJARYQYWxpY2VA\n\

        YWRsaW5rLmlzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBW+tEZ\n\

        Baw7EQCEXyzH9n7IkZ8PQIKe8hG1LAOGYOF/oUYQZJO/HxbWoC4rFqOC20+A6is6\n\

        kFwr1Zzp/Wurk9CrFXo5Nomi6ActH6LUM57nYqN68w6U38z/XkQxVY/ESZ5dySfD\n\

        9Q1C8R+zdE8gwbimdYmwX7ioz336nghM2CoAHPDRthQeJupl8x4V7isOltr9CGx8\n\

        +imJXbGr39OK6u87cNLeu23sUkOIC0lSRMIqIQK3oJtHS70J2qecXdqp9MhE7Xky\n\

        /GPlI8ptQ1gJ8A3cAOvtI9mtMJMszs2EKWTLfeTcmfJHKKhKjvCgDdh3Jan4x5YP\n\

        Yg7HG6H+ceOUkMMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAkvuqZzyJ3Nu4/Eo5\n\

        kD0nVgYGBUl7cspu+636q39zPSrxLEDMUWz+u8oXLpyGcgiZ8lZulPTV8dmOn+3C\n\

        Vg55c5C+gbnbX3MDyb3wB17296RmxYf6YNul4sFOmj6+g2i+Dw9WH0PBCVKbA84F\n\

        jR3Gx2Pfoifor3DvT0YFSsjNIRt090u4dQglbIb6cWEafC7O24t5jFhGPvJ7L9SE\n\

        gB0Drh/HmKTVuaqaRkoOKkKaKuWoXsszK1ZFda1DHommnR5LpYPsDRQ2fVM4EuBF\n\

        By03727uneuG8HLuNcLEV9H0i7LxtyfFkyCPUQvWG5jehb7xPOz/Ml26NAwwjlTJ\n\

        xEEFrw==\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_CA_CERTIFICATE_ALL
      pos:
        line_end: 64
        line_start: 39
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"data:,-----BEGIN CERTIFICATE-----\n\

        MIIEKTCCAxGgAwIBAgIBATANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJOTDEL\n\

        MAkGA1UECBMCT1YxEzARBgNVBAoTCkFETGluayBJU1QxGTAXBgNVBAMTEElkZW50\n\

        aXR5IENBIFRlc3QxJjAkBgkqhkiG9w0BCQEWF2luZm9AaXN0LmFkbGlua3RlY2gu\n\

        Y29tMB4XDTE4MDMxMjAwMDAwMFoXDTI3MDMxMTIzNTk1OVowcjELMAkGA1UEBhMC\n\

        TkwxCzAJBgNVBAgTAk9WMRMwEQYDVQQKEwpBRExpbmsgSVNUMRkwFwYDVQQDExBJ\n\

        ZGVudGl0eSBDQSBUZXN0MSYwJAYJKoZIhvcNAQkBFhdpbmZvQGlzdC5hZGxpbmt0\n\

        ZWNoLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANa/ENFfGVXg\n\

        bPLTzBdDfiZQcp5dWZ//Pb8ErFOJu8uosVHFv8t69dgjHgNHB4OsjmjnR7GfKUZT\n\

        0cMvWJnjsC7DDlBwFET9rj4k40n96bbVCH9I7+tNhsoqzc6Eu+5h4sk7VfNGTM2Z\n\

        SyCd4GiSZRuA44rRbhXI7/LDpr4hY5J9ZDo5AM9ZyoLAoh774H3CZWD67S35XvUs\n\

        72dzE6uKG/vxBbvZ7eW2GLO6ewa9UxlnLVMPfJdpkp/xYXwwcPW2+2YXCge1ujxs\n\

        tjrOQJ5HUySh6DkE/kZpx8zwYWm9AaCrsvCIX1thsqgvKy+U5v1FS1L58eGc6s//\n\

        9yMgNhU29R0CAwEAAaOByTCBxjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRNVUJN\n\

        FzhJPReYT4QSx6dK53CXCTAfBgNVHSMEGDAWgBRNVUJNFzhJPReYT4QSx6dK53CX\n\

        CTAPBgNVHQ8BAf8EBQMDB/+AMGUGA1UdJQEB/wRbMFkGCCsGAQUFBwMBBggrBgEF\n\

        BQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkGCCsG\n\

        AQUFBwMNBggrBgEFBQcDDgYHKwYBBQIDBTANBgkqhkiG9w0BAQsFAAOCAQEAcOLF\n\

        ZYdJguj0uxeXB8v3xnUr1AWz9+gwg0URdfNLU2KvF2lsb/uznv6168b3/FcPgezN\n\

        Ihl9GqB+RvGwgXS/1UelCGbQiIUdsNxk246P4uOGPIyW32RoJcYPWZcpY+cw11tQ\n\

        NOnk994Y5/8ad1DmcxVLLqq5kwpXGWQufV1zOONq8B+mCvcVAmM4vkyF/de56Lwa\n\

        sAMpk1p77uhaDnuq2lIR4q3QHX2wGctFid5Q375DRscFQteY01r/dtwBBrMn0wuL\n\

        AMNx9ZGD+zAoOUaslpIlEQ+keAxk3jgGMWFMxF81YfhEnXzevSQXWpyek86XUyFL\n\

        O9IAQi5pa15gXjSbUg==\n\

        -----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: TEST_PRIVATE_KEY_ALL
      pos:
        line_end: 92
        line_start: 65
        source_file: /src/cyclonedds/src/security/core/tests/plugin_loading/plugin_mock_common.h
      type_or_value: '"data:,-----BEGIN RSA PRIVATE KEY-----\n\

        MIIEowIBAAKCAQEA0Fb60RkFrDsRAIRfLMf2fsiRnw9Agp7yEbUsA4Zg4X+hRhBk\n\

        k78fFtagLisWo4LbT4DqKzqQXCvVnOn9a6uT0KsVejk2iaLoBy0fotQznudio3rz\n\

        DpTfzP9eRDFVj8RJnl3JJ8P1DULxH7N0TyDBuKZ1ibBfuKjPffqeCEzYKgAc8NG2\n\

        FB4m6mXzHhXuKw6W2v0IbHz6KYldsavf04rq7ztw0t67bexSQ4gLSVJEwiohAreg\n\

        m0dLvQnap5xd2qn0yETteTL8Y+Ujym1DWAnwDdwA6+0j2a0wkyzOzYQpZMt95NyZ\n\

        8kcoqEqO8KAN2HclqfjHlg9iDscbof5x45SQwwIDAQABAoIBAG0dYPeqd0IhHWJ7\n\

        8azufbchLMN1pX/D51xG2uptssfnpHuhkkufSZUYi4QipRS2ME6PYhWJ8pmTi6lH\n\

        E6cUkbI0KGd/F4U2gPdhNrR9Fxwea5bbifkVF7Gx/ZkRjZJiZ3w9+mCNTQbJDKhh\n\

        wITAzzT6WYznhvqbzzBX1fTa6kv0GAQtX7aHKM+XIwkhX2gzU5TU80bvH8aMrT05\n\

        tAMGQqkUeRnpo0yucBl4VmTZzd/+X/d2UyXR0my15jE5iH5o+p+E6qTRE9D+MGUd\n\

        MQ6Ftj0Untqy1lcog1ZLL6zPlnwcD4jgY5VCYDgvabnrSwymOJapPLsAEdWdq+U5\n\

        ec44BMECgYEA/+3qPUrd4XxA517qO3fCGBvf2Gkr7w5ZDeATOTHGuD8QZeK0nxPl\n\

        CWhRjdgkqo0fyf1cjczL5XgYayo+YxkO1Z4RUU+8lJAHlVx9izOQo+MTQfkwH4BK\n\

        LYlHxMoHJwAOXXoE+dmBaDh5xT0mDUGU750r763L6EFovE4qRBn9hxkCgYEA0GWz\n\

        rpOPNxb419WxG9npoQYdCZ5IbmEOGDH3ReggVzWHmW8sqtkqTZm5srcyDpqAc1Gu\n\

        paUveMblEBbU+NFJjLWOfwB5PCp8jsrqRgCQSxolShiVkc3Vu3oyzMus9PDge1eo\n\

        9mwVGO7ojQKWRu/WVAakENPaAjeyyhv4dqSNnjsCgYEAlwe8yszqoY1k8+U0T0G+\n\

        HeIdOCXgkmOiNCj+zyrLvaEhuS6PLq1b5TBVqGJcSPWdQ+MrglbQIKu9pUg5ptt7\n\

        wJ5WU+i9PeK9Ruxc/g/BFKYFkFJQjtZzb+nqm3wpul8zGwDN/O/ZiTqCyd3rHbmM\n\

        /dZ/viKPCZHIEBAEq0m3LskCgYBndzcAo+5k8ZjWwBfQth5SfhCIp/daJgGzbYtR\n\

        P/BenAsY2KOap3tjT8Fsw5usuHSxzIojX6H0Gvu7Qzq11mLn43Q+BeQrRQTWeFRc\n\

        MQdy4iZFZXNNEp7dF8yE9VKHwdgSJPGUdxD6chMvf2tRCN6mlS171VLV6wVvZvez\n\

        H/vX5QKBgD2Dq/NHpjCpAsECP9awmNF5Akn5WJbRGmegwXIih2mOtgtYYDeuQyxY\n\

        ZCrdJFfIUjUVPagshEmUklKhkYMYpzy2PQDVtaVcm6UNFroxT5h+J+KDs1LN1H8G\n\

        LsASrzyAg8EpRulwXEfLrWKiu9DKv8bMEgO4Ovgz8zTKJZIFhcac\n\

        -----END RSA PRIVATE KEY-----"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - compare_time_event
  - compare_timed_cb_trigger_time
  - timed_event_new
  - calc_tsched
  - timed_event_cb
  - dds_security_timed_dispatcher_new
  - dds_security_timed_dispatcher_enable
  - dds_security_timed_dispatcher_disable
  - dds_security_timed_dispatcher_free
  - dds_security_timed_dispatcher_add
  - dds_security_timed_dispatcher_remove
  source_file: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHECK_TIMER_INTERVAL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
      type_or_value: 'DDS_SECS(300) '
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: '*evt'
        type: struct ddsi_xevent
      - name: events
        type: ddsrt_avl_tree_t
      - name: timers
        type: ddsrt_fibheap_t
      - name: next_timer
        type: dds_security_time_event_handle_t
      item_type: struct
      name: dds_security_timed_dispatcher
      pos:
        line_end: 40
        line_start: 32
        source_file: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: handle
        type: dds_security_time_event_handle_t
      - name: callback
        type: dds_security_timed_cb_t
      - name: trigger_time
        type: dds_time_t
      - name: '*arg'
        type: void
      item_type: struct
      name: dds_security_timed_event
      pos:
        line_end: 50
        line_start: 42
        source_file: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    - fields:
      - name: '*dispatcher'
        type: struct dds_security_timed_dispatcher
      item_type: struct
      name: timed_event_cb_arg
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/cyclonedds/src/security/core/src/dds_security_timed_cb.c
    typedefs: []
    union: []
- function_names:
  - DDS_Security_get_challenge1_from_secret_handle
  - DDS_Security_get_challenge2_from_secret_handle
  - DDS_Security_get_secret_from_secret_handle
  - DDS_Security_get_secret_size_from_secret_handle
  source_file: /src/cyclonedds/src/security/core/src/dds_security_shared_secret.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDS_Security_BinaryProperty_alloc
  - DDS_Security_BinaryProperty_deinit
  - DDS_Security_BinaryProperty_free
  - DDS_Security_BinaryProperty_copy
  - DDS_Security_BinaryProperty_equal
  - DDS_Security_BinaryProperty_set_by_value
  - DDS_Security_BinaryProperty_set_by_string
  - DDS_Security_BinaryProperty_set_by_ref
  - DDS_Security_BinaryPropertySeq_alloc
  - DDS_Security_BinaryPropertySeq_allocbuf
  - DDS_Security_BinaryPropertySeq_deinit
  - DDS_Security_BinaryPropertySeq_free
  - DDS_Security_Property_alloc
  - DDS_Security_Property_free
  - DDS_Security_Property_deinit
  - DDS_Security_Property_copy
  - DDS_Security_Property_equal
  - DDS_Security_Property_get_value
  - DDS_Security_PropertySeq_alloc
  - DDS_Security_PropertySeq_allocbuf
  - DDS_Security_PropertySeq_freebuf
  - DDS_Security_PropertySeq_free
  - DDS_Security_PropertySeq_deinit
  - DDS_Security_PropertySeq_find_property
  - DDS_Security_DataHolder_alloc
  - DDS_Security_DataHolder_free
  - DDS_Security_DataHolder_deinit
  - DDS_Security_DataHolder_copy
  - DDS_Security_DataHolder_equal
  - DDS_Security_DataHolder_find_property
  - DDS_Security_DataHolder_find_binary_property
  - DDS_Security_DataHolderSeq_alloc
  - DDS_Security_DataHolderSeq_allocbuf
  - DDS_Security_DataHolderSeq_freebuf
  - DDS_Security_DataHolderSeq_free
  - DDS_Security_DataHolderSeq_deinit
  - DDS_Security_DataHolderSeq_copy
  - DDS_Security_ParticipantBuiltinTopicData_alloc
  - DDS_Security_ParticipantBuiltinTopicData_free
  - DDS_Security_ParticipantBuiltinTopicData_deinit
  - DDS_Security_OctetSeq_alloc
  - DDS_Security_OctetSeq_allocbuf
  - DDS_Security_OctetSeq_freebuf
  - DDS_Security_OctetSeq_free
  - DDS_Security_OctetSeq_deinit
  - DDS_Security_OctetSeq_copy
  - DDS_Security_HandleSeq_alloc
  - DDS_Security_HandleSeq_allocbuf
  - DDS_Security_HandleSeq_freebuf
  - DDS_Security_HandleSeq_free
  - DDS_Security_HandleSeq_deinit
  - DDS_Security_Exception_vset
  - DDS_Security_Exception_set
  - DDS_Security_Exception_reset
  - DDS_Security_Exception_clean
  - DDS_Security_PropertyQosPolicy_deinit
  - DDS_Security_PropertyQosPolicy_free
  - DDS_Security_set_token_nil
  - DDS_Security_KeyMaterial_AES_GCM_GMAC_deinit
  - DDS_Security_getKeySize
  - DDS_Security_basicprotectionkind2transformationkind
  - DDS_Security_protectionkind2transformationkind
  - print_binary_debug
  - print_binary_properties_debug
  - DDS_Security_get_conf_item_type
  - DDS_Security_normalize_file
  - DDS_Security_parse_xml_date
  source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __FILESEPCHAR
      pos:
        line_end: 1005
        line_start: 1004
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: __FILESEPCHAR
      pos:
        line_end: 1007
        line_start: 1006
        source_file: /src/cyclonedds/src/security/core/src/dds_security_utils.c
      type_or_value: '''/'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_plugin_configuration
  - dds_security_check_plugin_configuration
  - verify_function
  - verify_plugin_functions
  - dds_security_verify_plugin_functions
  - FGEN
  - F
  - F
  - F
  - F
  - F
  - C
  - dds_security_load_security_library
  - dds_security_plugin_release
  source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: 'off'
        type: size_t
      - name: '*name'
        type: char
      item_type: struct
      name: verify_plugin_functions_tab
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/cyclonedds/src/security/core/src/dds_security_plugins.c
    typedefs: []
    union: []
- function_names:
  - alignup_size
  - alignup_ptr
  - DDS_Security_Serializer_new
  - DDS_Security_Serializer_free
  - DDS_Security_Serializer_buffer
  - serbuffer_adjust_size
  - serbuffer_align
  - DDS_Security_Serialize_mark_len
  - DDS_Security_Serialize_update_len
  - DDS_Security_Serialize_uint16
  - DDS_Security_Serialize_uint32_t
  - DDS_Security_Serialize_string
  - DDS_Security_Serialize_Property
  - DDS_Security_Serialize_OctetSeq
  - DDS_Security_Serialize_BinaryProperty
  - DDS_Security_Serialize_PropertySeq
  - DDS_Security_Serialize_BinaryPropertyArray
  - DDS_Security_Serialize_BinaryPropertySeq
  - DDS_Security_Serialize_DataHolder
  - DDS_Security_Serialize_BuiltinTopicKey
  - DDS_Security_Serialize_UserDataQosPolicy
  - DDS_Security_Serialize_IdentityToken
  - DDS_Security_Serialize_PermissionsToken
  - DDS_Security_Serialize_PropertyQosPolicy
  - DDS_Security_Serialize_ParticipantSecurityInfo
  - DDS_Security_Serialize_ParticipantBuiltinTopicData
  - DDS_Security_Serialize_OctetArray
  - DDS_Security_Serialize_KeyMaterial_AES_GCM_GMAC
  - DDS_Security_Deserializer_new
  - DDS_Security_Deserializer_free
  - DDS_Security_Deserialize_align
  - DDS_Security_Deserialize_uint16
  - DDS_Security_Deserialize_uint32_t
  - DDS_Security_Deserialize_string
  - DDS_Security_Deserialize_OctetArray
  - DDS_Security_Deserialize_OctetSeq
  - DDS_Security_Deserialize_Property
  - DDS_Security_Deserialize_BinaryProperty
  - DDS_Security_Deserialize_PropertySeq
  - DDS_Security_Deserialize_BinaryPropertySeq
  - DDS_Security_Deserialize_DataHolder
  - DDS_Security_Deserialize_PropertyQosPolicy
  - DDS_Security_Deserialize_BuiltinTopicKey
  - DDS_Security_Deserialize_ParticipantSecurityInfo
  - DDS_Security_Deserialize_ParticipantBuiltinTopicData
  - DDS_Security_BuiltinTopicKeyBE
  - DDS_Security_Deserialize_KeyMaterial_AES_GCM_GMAC
  source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_ORDER_BIG_ENDIAN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: BYTE_ORDER_LITTLE_ENDIAN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PID_PAD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x0u
    - item_type: preproc_def
      name: PID_SENTINEL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1u
    - item_type: preproc_def
      name: PID_USER_DATA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2cu
    - item_type: preproc_def
      name: PID_TOPIC_NAME
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x5u
    - item_type: preproc_def
      name: PID_TYPE_NAME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x7u
    - item_type: preproc_def
      name: PID_GROUP_DATA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2du
    - item_type: preproc_def
      name: PID_TOPIC_DATA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2eu
    - item_type: preproc_def
      name: PID_DURABILITY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1du
    - item_type: preproc_def
      name: PID_DURABILITY_SERVICE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1eu
    - item_type: preproc_def
      name: PID_DEADLINE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x23u
    - item_type: preproc_def
      name: PID_LATENCY_BUDGET
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x27u
    - item_type: preproc_def
      name: PID_LIVELINESS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1bu
    - item_type: preproc_def
      name: PID_RELIABILITY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1au
    - item_type: preproc_def
      name: PID_LIFESPAN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2bu
    - item_type: preproc_def
      name: PID_DESTINATION_ORDER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x25u
    - item_type: preproc_def
      name: PID_HISTORY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x40u
    - item_type: preproc_def
      name: PID_RESOURCE_LIMITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x41u
    - item_type: preproc_def
      name: PID_OWNERSHIP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1fu
    - item_type: preproc_def
      name: PID_OWNERSHIP_STRENGTH
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x6u
    - item_type: preproc_def
      name: PID_PRESENTATION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x21u
    - item_type: preproc_def
      name: PID_PARTITION
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x29u
    - item_type: preproc_def
      name: PID_TIME_BASED_FILTER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x4u
    - item_type: preproc_def
      name: PID_TRANSPORT_PRIORITY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x49u
    - item_type: preproc_def
      name: PID_PROTOCOL_VERSION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x15u
    - item_type: preproc_def
      name: PID_VENDORID
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x16u
    - item_type: preproc_def
      name: PID_UNICAST_LOCATOR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2fu
    - item_type: preproc_def
      name: PID_MULTICAST_LOCATOR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x30u
    - item_type: preproc_def
      name: PID_MULTICAST_IPADDRESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x11u
    - item_type: preproc_def
      name: PID_DEFAULT_UNICAST_LOCATOR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x31u
    - item_type: preproc_def
      name: PID_DEFAULT_MULTICAST_LOCATOR
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x48u
    - item_type: preproc_def
      name: PID_METATRAFFIC_UNICAST_LOCATOR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x32u
    - item_type: preproc_def
      name: PID_METATRAFFIC_MULTICAST_LOCATOR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x33u
    - item_type: preproc_def
      name: PID_DEFAULT_UNICAST_IPADDRESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0xcu
    - item_type: preproc_def
      name: PID_DEFAULT_UNICAST_PORT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0xeu
    - item_type: preproc_def
      name: PID_METATRAFFIC_UNICAST_IPADDRESS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x45u
    - item_type: preproc_def
      name: PID_METATRAFFIC_UNICAST_PORT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0xdu
    - item_type: preproc_def
      name: PID_METATRAFFIC_MULTICAST_IPADDRESS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0xbu
    - item_type: preproc_def
      name: PID_METATRAFFIC_MULTICAST_PORT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x46u
    - item_type: preproc_def
      name: PID_EXPECTS_INLINE_QOS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x43u
    - item_type: preproc_def
      name: PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x34u
    - item_type: preproc_def
      name: PID_PARTICIPANT_BUILTIN_ENDPOINTS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x44u
    - item_type: preproc_def
      name: PID_PARTICIPANT_LEASE_DURATION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x2u
    - item_type: preproc_def
      name: PID_CONTENT_FILTER_PROPERTY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x35u
    - item_type: preproc_def
      name: PID_PARTICIPANT_GUID
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x50u
    - item_type: preproc_def
      name: PID_PARTICIPANT_ENTITYID
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x51u
    - item_type: preproc_def
      name: PID_GROUP_GUID
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x52u
    - item_type: preproc_def
      name: PID_GROUP_ENTITYID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x53u
    - item_type: preproc_def
      name: PID_BUILTIN_ENDPOINT_SET
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x58u
    - item_type: preproc_def
      name: PID_PROPERTY_LIST
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x59u
    - item_type: preproc_def
      name: PID_TYPE_MAX_SIZE_SERIALIZED
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x60u
    - item_type: preproc_def
      name: PID_ENTITY_NAME
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x62u
    - item_type: preproc_def
      name: PID_KEYHASH
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x70u
    - item_type: preproc_def
      name: PID_STATUSINFO
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x71u
    - item_type: preproc_def
      name: PID_CONTENT_FILTER_INFO
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x55u
    - item_type: preproc_def
      name: PID_COHERENT_SET
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x56u
    - item_type: preproc_def
      name: PID_DIRECTED_WRITE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x57u
    - item_type: preproc_def
      name: PID_ORIGINAL_WRITER_INFO
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x61u
    - item_type: preproc_def
      name: PID_ENDPOINT_GUID
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x5au
    - item_type: preproc_def
      name: PID_TYPE_CONSISTENCY_ENFORCEMENT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x74u
    - item_type: preproc_def
      name: PID_TYPE_INFORMATION
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x75u
    - item_type: preproc_def
      name: PID_IDENTITY_TOKEN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1001u
    - item_type: preproc_def
      name: PID_PERMISSIONS_TOKEN
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1002u
    - item_type: preproc_def
      name: PID_ENDPOINT_SECURITY_INFO
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1004u
    - item_type: preproc_def
      name: PID_PARTICIPANT_SECURITY_INFO
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1005u
    - item_type: preproc_def
      name: PID_IDENTITY_STATUS_TOKEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
      type_or_value: 0x1006u
    structs:
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: size
        type: size_t
      - name: offset
        type: size_t
      - name: increment
        type: size_t
      - name: marker
        type: size_t
      item_type: struct
      name: DDS_Security_Serializer
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: '*cursor'
        type: unsigned char
      - name: size
        type: size_t
      - name: remain
        type: size_t
      item_type: struct
      name: DDS_Security_Deserializer
      pos:
        line_end: 107
        line_start: 102
        source_file: /src/cyclonedds/src/security/core/src/dds_security_serialize.c
    typedefs: []
    union: []
- function_names:
  - compare_timer_event
  - append_event
  - insert_event
  - get_event
  - remove_events
  - fsm_dispatch
  - set_state_timer
  - clear_state_timer
  - clear_overall_timer
  - first_timeout
  - fsm_check_auto_state_change
  - fsm_state_change
  - fsm_handle_timeout
  - handle_events
  - dds_security_fsm_set_timeout
  - dds_security_fsm_dispatch
  - dds_security_fsm_running
  - dds_security_fsm_set_debug
  - fsm_validate
  - add_fsm_to_list
  - remove_fsm_from_list
  - dds_security_fsm_create
  - dds_security_fsm_start
  - fsm_deactivate
  - dds_security_fsm_stop
  - fsm_delete
  - dds_security_fsm_free
  - dds_security_fsm_control_create
  - dds_security_fsm_control_free
  - dds_security_fsm_control_start
  - dds_security_fsm_control_stop
  source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
  types:
    enum:
    - enumerators:
      - name: FSM_TIMEOUT_STATE
      - name: FSM_TIMEOUT_OVERALL
      item_type: enum
      name: fsm_timeout_kind
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*fsm'
        type: struct dds_security_fsm
      - name: event_id
        type: int
      - name: '*next'
        type: struct fsm_event
      - name: '*prev'
        type: struct fsm_event
      item_type: struct
      name: fsm_event
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - fields:
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: '*fsm'
        type: struct dds_security_fsm
      - name: kind
        type: fsm_timeout_kind_t
      - name: endtime
        type: ddsrt_etime_t
      item_type: struct
      name: fsm_timer_event
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - fields:
      - name: '*next_fsm'
        type: struct dds_security_fsm
      - name: '*prev_fsm'
        type: struct dds_security_fsm
      - name: deleting
        type: bool
      - name: busy
        type: bool
      - name: '*control'
        type: struct dds_security_fsm_control
      - name: '*transitions'
        type: dds_security_fsm_transition
      - name: size
        type: uint32_t
      - name: '*arg'
        type: void
      - name: '*current'
        type: dds_security_fsm_state
      - name: state_timeout_event
        type: struct fsm_timer_event
      - name: overall_timeout_event
        type: struct fsm_timer_event
      - name: overall_timeout_action
        type: dds_security_fsm_action
      - name: debug_func
        type: dds_security_fsm_debug
      item_type: struct
      name: dds_security_fsm
      pos:
        line_end: 60
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_etime_t
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*first_fsm'
        type: struct dds_security_fsm
      - name: '*last_fsm'
        type: struct dds_security_fsm
      - name: '*first_event'
        type: struct fsm_event
      - name: '*last_event'
        type: struct fsm_event
      - name: timers
        type: ddsrt_fibheap_t
      - name: running
        type: bool
      item_type: struct
      name: dds_security_fsm_control
      pos:
        line_end: 74
        line_start: 62
        source_file: /src/cyclonedds/src/security/core/src/dds_security_fsm.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_serialize.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*DDS_Security_Serializer'
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_serialize.h
      type: DDS_Security_Serializer
    - item_type: typedef
      name: '*DDS_Security_Deserializer'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_serialize.h
      type: DDS_Security_Deserializer
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_FSM_EVENT_AUTO
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DDS_SECURITY_FSM_EVENT_TIMEOUT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: DDS_SECURITY_FSM_EVENT_DELETE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
      type_or_value: (-3)
    structs:
    - fields:
      - name: func
        type: dds_security_fsm_action
      - name: timeout
        type: dds_duration_t
      item_type: struct
      name: dds_security_fsm_state
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
    - fields:
      - name: '*begin'
        type: dds_security_fsm_state
      - name: event_id
        type: int
      - name: func
        type: dds_security_fsm_action
      - name: '*end'
        type: dds_security_fsm_state
      item_type: struct
      name: dds_security_fsm_transition
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
    typedefs:
    - item_type: typedef
      name: (*dds_security_fsm_action)(struct dds_security_fsm *fsm, void *arg)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
      type: void
    - item_type: typedef
      name: (*dds_security_fsm_debug)(struct dds_security_fsm *fsm, DDS_SECURITY_FSM_DEBUG_ACT
        act, const dds_security_fsm_state *current, int event_id, void *arg)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_fsm.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_shared_secret.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* shared_secret'
        type: DDS_Security_octet
      - name: shared_secret_size
        type: DDS_Security_long
      - name: challenge1[DDS_SECURITY_AUTHENTICATION_CHALLENGE_SIZE]
        type: DDS_Security_octet
      - name: challenge2[DDS_SECURITY_AUTHENTICATION_CHALLENGE_SIZE]
        type: DDS_Security_octet
      item_type: struct
      name: DDS_Security_SharedSecretHandleImpl
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_shared_secret.h
    typedefs: []
    union: []
- function_names:
  - DDS_Security_ParticipantCryptoTokenSeq_alloc
  - DDS_Security_ParticipantCryptoTokenSeq_freebuf
  - DDS_Security_ParticipantCryptoTokenSeq_free
  - DDS_Security_ParticipantCryptoTokenSeq_deinit
  - DDS_Security_ParticipantCryptoTokenSeq_copy
  - DDS_Security_ParticipantCryptoHandleSeq_alloc
  - DDS_Security_ParticipantCryptoHandleSeq_allocbuf
  - DDS_Security_ParticipantCryptoHandleSeq_freebuf
  - DDS_Security_ParticipantCryptoHandleSeq_free
  - DDS_Security_ParticipantCryptoHandleSeq_deinit
  - DDS_Security_DatawriterCryptoHandleSeq_alloc
  - DDS_Security_DatawriterCryptoHandleSeq_allocbuf
  - DDS_Security_DatawriterCryptoHandleSeq_freebuf
  - DDS_Security_DatawriterCryptoHandleSeq_free
  - DDS_Security_DatawriterCryptoHandleSeq_deinit
  - DDS_Security_DatareaderCryptoHandleSeq_alloc
  - DDS_Security_DatareaderCryptoHandleSeq_allocbuf
  - DDS_Security_DatareaderCryptoHandleSeq_freebuf
  - DDS_Security_DatareaderCryptoHandleSeq_free
  - DDS_Security_DatareaderCryptoHandleSeq_deinit
  - DDS_Security_CryptoTokenSeq_alloc
  - DDS_Security_CryptoTokenSeq_allocbuf
  - DDS_Security_CryptoTokenSeq_freebuf
  - DDS_Security_CryptoTokenSeq_free
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_SEQUENCE_INIT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
      type_or_value: '{0, 0, NULL}'
    - item_type: preproc_def
      name: DDS_SECURITY_TOKEN_INIT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
      type_or_value: '{NULL, DDS_SECURITY_SEQUENCE_INIT, DDS_SECURITY_SEQUENCE_INIT}'
    - item_type: preproc_def
      name: DDS_SECURITY_EXCEPTION_INIT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
      type_or_value: '{NULL, 0, 0}'
    structs: []
    typedefs:
    - item_type: typedef
      name: DDS_Security_Handle
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_HandleSeq
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_utils.h
      type: DDS_Security_LongLongSeq
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transformation_kind
        type: DDS_Security_CryptoTransformKind
      - name: master_salt
        type: DDS_Security_OctetSeq
      - name: sender_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: master_sender_key
        type: DDS_Security_OctetSeq
      - name: receiver_specific_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: master_receiver_specific_key
        type: DDS_Security_OctetSeq
      item_type: struct
      name: DDS_Security_KeyMaterial_AES_GCM_GMAC
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
    - fields:
      - name: transformation_kind
        type: DDS_Security_CryptoTransformKind
      - name: transformation_key_id
        type: DDS_Security_CryptoTransformKeyId
      item_type: struct
      name: CryptoTransformIdentifier
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
    typedefs:
    - item_type: typedef
      name: DDS_Security_CryptoTransformKind[4]
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
      type: DDS_Security_octet
    - item_type: typedef
      name: DDS_Security_CryptoTransformKeyId[4]
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
      type: DDS_Security_octet
    - item_type: typedef
      name: ddsrt_address
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_types.h
      type: uintptr_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_timed_cb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dds_security_time_event_handle_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_timed_cb.h
      type: uint64_t
    - item_type: typedef
      name: (*dds_security_timed_cb_t) (dds_security_time_event_handle_t timer, dds_time_t
        trigger_time, dds_security_timed_cb_kind_t kind, void *arg)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_timed_cb.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_plugins.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lib_handle
        type: ddsrt_dynlib_t
      - name: func_init
        type: plugin_init
      - name: func_finalize
        type: plugin_finalize
      - name: '*name'
        type: char
      item_type: struct
      name: dds_security_plugin
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_plugins.h
    - fields:
      - name: '*library_path'
        type: char
      - name: '*library_init'
        type: char
      - name: '*library_finalize'
        type: char
      item_type: struct
      name: dds_security_plugin_config
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_plugins.h
    - fields:
      - name: authentication
        type: dds_security_plugin_config
      - name: cryptography
        type: dds_security_plugin_config
      - name: access_control
        type: dds_security_plugin_config
      item_type: struct
      name: dds_security_plugin_suite_config
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/cyclonedds/src/security/core/include/dds/security/core/dds_security_plugins.h
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - initialize_identity_token
  - initialize_permissions_token
  - fill_auth_request_token
  - find_binary_property
  - deinitialize_identity_token
  - validate_local_identity
  - release_local_identity
  - load_certificate
  - get_adjusted_participant_guid
  - validate_remote_identities
  - release_remote_identities
  - CU_Init
  - CU_Clean
  - compare_octet_seq
  - serializer_participant_data
  - set_binary_property_value
  - set_binary_property_string
  - fill_handshake_message_token
  - fill_handshake_message_token_default
  - handshake_message_deinit
  - validate_handshake_token
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HANDSHAKE_SIGNATURE_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/process_handshake/src/process_handshake_utests.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CRYPTO_TRANSFORM_KIND
  - CRYPTO_TRANSFORM_ID
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - register_remote_participant
  - prepare_endpoint_security_attributes
  - register_local_datawriter
  - register_remote_datareader
  - reset_exception
  - suite_create_local_datawriter_crypto_tokens_init
  - suite_create_local_datawriter_crypto_tokens_fini
  - data_not_empty
  - check_key_material
  - check_token_validity
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datawriter_crypto_tokens/src/create_local_datawriter_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - prepare_participant_security_attributes
  - prepare_endpoint_security_attributes
  - register_local_regular
  - suite_register_matched_remote_datawriter_init
  - suite_register_matched_remote_datawriter_fini
  - reset_exception
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datawriter/src/register_matched_remote_datawriter_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocate_shared_secret
  - deallocate_shared_secret
  - register_local_participant
  - register_remote_participant
  - prepare_endpoint_security_attributes
  - register_local_datareader
  - register_remote_datareader
  - register_local_datawriter
  - register_remote_datawriter
  - retrieve_datawriter_keys
  - retrieve_datareader_keys
  - set_remote_datawriter_tokens
  - set_remote_datareader_tokens
  - reset_exception
  - suite_preprocess_secure_submsg_init
  - suite_preprocess_secure_submsg_fini
  - submsg_header_endianness_flag
  - create_encoded_submsg
  - clear_encoded_submsg
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
      type_or_value: '32'
    - item_type: preproc_def
      name: VALID_DDSI_RTPS_SMID_SEC_PREFIX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
      type_or_value: '0x31'
    - item_type: preproc_def
      name: INVALID_DDSI_RTPS_SMID_SEC_PREFIX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
      type_or_value: '0x15'
    structs:
    - fields:
      - name: kind
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: octetsToNextSubMsg
        type: uint16_t
      item_type: struct
      name: SubMessageHeader
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    - fields:
      - name: transform_id
        type: DDS_Security_CryptoTransformKind
      - name: key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: session_id[4]
        type: unsigned char
      - name: initVectorSuffix[8]
        type: unsigned char
      item_type: struct
      name: CryptoHeader
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/preprocess_secure_submsg/src/preprocess_secure_submsg_utests.c
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - initialize_identity_token
  - fill_auth_request_token
  - find_binary_property
  - deinitialize_identity_token
  - validate_local_identity
  - release_local_identity
  - validate_remote_identities
  - release_remote_identities
  - fill_local_participant_data
  - release_local_participant_data
  - CU_Init
  - CU_Clean
  - compare_octet_seq
  - valid_c_id_property
  - valid_string_value
  - validate_handshake_token
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_request/src/validate_begin_handshake_request_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - get_openssl_error
  - initialize_identity_token
  - initialize_permissions_token
  - fill_auth_request_token
  - find_binary_property
  - deinitialize_identity_token
  - validate_local_identity
  - release_local_identity
  - load_certificate
  - get_adjusted_participant_guid
  - set_dh_public_key
  - set_dh_keys
  - validate_remote_identities
  - release_remote_identities
  - init_testcase
  - fini_testcase
  - compare_octet_seq
  - valid_c_id_property
  - valid_string_value
  - serializer_participant_data
  - set_binary_property_value
  - set_binary_property_string
  - fill_handshake_message_token
  - fill_handshake_message_token_default
  - handshake_message_deinit
  - validate_handshake_token
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_begin_handshake_reply/src/validate_begin_handshake_reply_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - suite_register_matched_remote_participant_init
  - suite_register_matched_remote_participant_fini
  - reset_exception
  - prepare_participant_security_attributes
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_participant/src/register_matched_remote_participant_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CRYPTO_TRANSFORM_KIND
  - CRYPTO_TRANSFORM_ID
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - register_remote_participant
  - register_local_datareader
  - register_remote_datawriter
  - reset_exception
  - suite_set_remote_datawriter_crypto_tokens_init
  - suite_set_remote_datawriter_crypto_tokens_fini
  - create_key_material
  - init_key_material
  - deinit_key_material
  - create_writer_tokens
  - create_writer_tokens_no_key_material
  - serialize_key_material
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datawriter_crypto_tokens/src/set_remote_datawriter_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_participants
  - unregister_participants
  - suite_create_local_participant_crypto_tokens_init
  - suite_create_local_participant_crypto_tokens_fini
  - reset_exception
  - check_token_validity
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_participant_crypto_tokens/src/create_local_participant_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bswap4u
  - toBE4u
  - fromBE4u
  - toBE4u
  - fromBE4u
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - get_certificate_expiry
  - create_certificate_from_csr
  - fill_participant_qos
  - fill_permissions_token
  - fill_peer_credential_token
  - serializer_participant_data
  - initialize_identity_token
  - validate_local_identity_and_permissions
  - clear_local_identity_and_permissions
  - set_path_to_etc_dir
  - set_path_build_dir
  - find_binary_property
  - CU_Init
  - CU_Clean
  - set_binary_property_value
  - set_binary_property_string
  - load_certificate
  - get_adjusted_participant_guid
  - deinitialize_identity_token
  - fill_auth_request_token
  - validate_remote_identity
  - release_remote_identities
  - fill_handshake_message_token
  - on_revoke_identity_cb
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDENTITY_CA_FILE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
      type_or_value: '"Identity_CA_Cert.pem"'
    - item_type: preproc_def
      name: IDENTITY_CA_KEY_FILE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
      type_or_value: '"Identity_CA_Private_Key.pem"'
    - item_type: preproc_def
      name: HANDSHAKE_SIGNATURE_SIZE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_authentication/src/listeners_authentication_utests.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - unregister_local_participant
  - register_remote_participant
  - unregister_remote_participant
  - prepare_endpoint_security_attributes
  - register_local_datawriter
  - register_remote_datawriter
  - unregister_datawriter
  - register_local_datareader
  - register_remote_datareader
  - unregister_datareader
  - set_remote_datawriter_tokens
  - get_datawriter_session
  - check_writer_protection_kind
  - get_transformation_kind
  - suite_decode_serialized_payload_init
  - suite_decode_serialized_payload_fini
  - split_encoded_data
  - decode_serialized_payload_check
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length[4]
        type: unsigned char
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    - fields:
      - name: h
        type: uint32_t
      - name: l
        type: uint32_t
      item_type: struct
      name: val
      pos:
        line_end: 883
        line_start: 879
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_serialized_payload/src/decode_serialized_payload_utests.c
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - unregister_local_participant
  - register_remote_participant
  - unregister_remote_participant
  - register_local_datawriter
  - unregister_local_datawriter
  - register_remote_datareader
  - unregister_remote_datareader
  - split_encoded_data
  - crypto_decrypt_data
  - get_datawriter_session
  - check_protection_kind
  - suite_encode_serialized_payload_init
  - suite_encode_serialized_payload_fini
  - get_transformation_kind
  - seq_equal
  - check_payload_signed
  - check_payload_encrypted
  - check_payload_encoded
  - check_payload_decoded
  - encode_serialized_payload_check
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length
        type: uint32_t
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_serialized_payload/src/encode_serialized_payload_utests.c
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - dds_security_property_find
  - reset_exception
  - combine_strings
  - create_uri_file
  - create_uri_data
  - fill_property_policy
  - create_local_identity
  - clear_local_identity
  - set_path_to_etc_dir
  - qos_init_file
  - qos_init_data
  - qos_init_type
  - qos_init_null
  - qos_deinit
  - test_setup
  - test_teardown
  - test_failure_scenario
  - test_invalid_file_uri
  - test_invalid_data_uri
  - test_invalid_type_uri
  - test_null_uri
  - test_corrupted_signature
  - suite_validate_local_permissions_init
  - suite_validate_local_permissions_fini
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_permissions/src/validate_local_permissions_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - initialize_identity_token
  - initialize_identity_token_w_sn
  - deinitialize_identity_token
  - create_local_identity
  - clear_local_identity
  - check_auth_request_token
  - fill_auth_request_token
  - set_remote_participant_guid
  - CU_Init
  - CU_Clean
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_identity/src/validate_remote_identity_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - find_property
  - dds_security_property_init
  - dds_security_property_deinit
  - read_document_from_file
  - fill_participant_qos
  - local_permissions_init
  - local_permissions_clean
  - set_path_to_etc_dir
  - suite_get_permissions_credential_token_init
  - suite_get_permissions_credential_token_fini
  - validate_permissions_token
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_credential_token/src/get_permissions_credential_token_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CRYPTO_TRANSFORM_KIND
  - CRYPTO_TRANSFORM_ID
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - register_remote_participant
  - register_local_datawriter
  - register_remote_datareader
  - reset_exception
  - suite_set_remote_datareader_crypto_tokens_init
  - suite_set_remote_datareader_crypto_tokens_fini
  - create_key_material
  - init_key_material
  - deinit_key_material
  - create_reader_tokens
  - create_reader_tokens_no_key_material
  - serialize_key_material
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_datareader_crypto_tokens/src/set_remote_datareader_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - initialize_identity_token
  - initialize_permissions_token
  - fill_auth_request_token
  - find_binary_property
  - find_property
  - deinitialize_identity_token
  - validate_local_identity
  - release_local_identity
  - load_certificate
  - get_adjusted_participant_guid
  - validate_remote_identities
  - release_remote_identities
  - CU_Init
  - CU_Clean
  - serializer_participant_data
  - set_binary_property_value
  - set_binary_property_string
  - fill_handshake_message_token
  - fill_handshake_message_token_default
  - handshake_message_deinit
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HANDSHAKE_SIGNATURE_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_authenticated_peer_credential_token/src/get_authenticated_peer_credential_token_utests.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      - name: length
        type: uint32_t
      item_type: struct
      name: octet_seq
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crypto_calculate_session_key_impl_test
  - crypto_calculate_session_key_test
  - calculate_receiver_specific_key_test
  - master_salt_not_empty
  - master_key_not_empty
  - master_receiver_specific_key_not_empty
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/crypto_helper.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - octet_seq_init
  - octet_seq_deinit
  - dh_get_public_key
  - get_pubkey_asn1int
  - get_dh_public_key_modp_2048
  - get_dh_public_key_ecdh
  - modp_data_to_pubkey
  - ecdh_data_to_pubkey
  - create_dh_key_modp_2048
  - create_dh_key_ecdh
  - get_pubkey_asn1int
  - get_dh_public_key_modp_2048
  - get_dh_public_key_ecdh
  - modp_data_to_pubkey
  - ecdh_data_to_pubkey
  - create_dh_key_modp_2048
  - create_dh_key_ecdh
  - print_binary_test
  - print_binary_properties_test
  - create_signature_for_test
  - screate_asymmetrical_signature_for_test
  - get_openssl_error_message_for_test
  - validate_asymmetrical_signature_for_test
  - get_public_key
  - check_shared_secret
  - create_asymmetrical_signature_for_test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/handshake_helper.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - load_plugin
  - load_plugins
  - unload_plugin
  - unload_plugins
  - regular_file_size
  - load_file_contents
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*context'
        type: void
      - name: lib_handle
        type: ddsrt_dynlib_t
      - name: func_init
        type: plugin_init
      - name: func_fini
        type: plugin_finalize
      item_type: struct
      name: plugin_info
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    - fields:
      - name: plugin_ac
        type: struct plugin_info
      - name: plugin_auth
        type: struct plugin_info
      - name: plugin_crypto
        type: struct plugin_info
      - name: gv
        type: struct ddsi_domaingv
      - name: connection
        type: struct ddsi_tran_conn
      item_type: struct
      name: plugins_hdl
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/common/src/loader.c
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - register_local_participant
  - prepare_endpoint_security_attributes_and_properties
  - unregister_local_participant
  - register_remote_participant
  - unregister_remote_participant
  - register_local_datawriter
  - register_remote_datawriter
  - unregister_datawriter
  - register_local_datareader
  - register_remote_datareader
  - unregister_datareader
  - set_remote_datawriter_tokens
  - suite_decode_datawriter_submessage_init
  - suite_decode_datawriter_submessage_fini
  - submsg_header_endianness_flag
  - initialize_data_submessage
  - set_submsg_header
  - get_submsg
  - get_crypto_header
  - get_crypto_footer
  - decode_datawriter_submessage_not_signed
  - decode_datawriter_submessage_signed
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length[4]
        type: unsigned char
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datawriter_submessage/src/decode_datawriter_submessage_utests.c
    typedefs: []
    union: []
- function_names:
  - prepare_participant_security_attributes
  - reset_exception
  - suite_register_local_datawriter_init
  - suite_register_local_datawriter_fini
  - prepare_endpoint_security_attributes
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datawriter/src/register_local_datawriter_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/access_control_fnmatch/src/access_control_fnmatch_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - suite_register_local_participant_init
  - suite_register_local_participant_fini
  - reset_exception
  - prepare_participant_security_attributes
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_participant/src/register_local_participant_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CRYPTO_TRANSFORM_KIND
  - CRYPTO_TRANSFORM_ID
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_endpoint_security_attributes
  - prepare_participant_security_attributes
  - register_local_participant
  - register_remote_participant
  - register_local_datareader
  - register_remote_datawriter
  - reset_exception
  - suite_create_local_datareader_crypto_tokens_init
  - suite_create_local_datareader_crypto_tokens_fini
  - data_not_empty
  - check_key_material
  - check_token_validity
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/create_local_datareader_crypto_tokens/src/create_local_datareader_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - fill_participant_qos
  - fill_permissions_token
  - fill_peer_credential_token
  - corrupt_permission_signature
  - validate_local_identity_and_permissions
  - clear_local_identity_and_permissions
  - set_path_to_etc_dir
  - suite_validate_remote_permissions_init
  - suite_validate_remote_permissions_fini
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_remote_permissions/src/validate_remote_permissions_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocate_shared_secret
  - deallocate_shared_secret
  - prepare_participant_security_attributes
  - register_local_participant
  - register_remote_participant
  - create_crypto_tokens
  - unregister_participants
  - suite_set_remote_participant_crypto_tokens_init
  - suite_set_remote_participant_crypto_tokens_fini
  - reset_exception
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/set_remote_participant_crypto_tokens/src/set_remote_participant_crypto_tokens_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - dds_security_property_init
  - dds_security_property_deinit
  - print_guid
  - reset_exception
  - fill_participant_qos
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/validate_local_identity/src/validate_local_identity_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - print_octets
  - prepare_participant_security_attributes_and_properties
  - register_local_participants
  - unregister_local_participants
  - register_remote_participants
  - unregister_remote_participants
  - register_remote_participant_for_participantB
  - unregister_remote_participant_of_participantB
  - set_protection_kind
  - set_remote_participant_tokens
  - get_local_participant_session
  - suite_decode_rtps_message_init
  - suite_decode_rtps_message_fini
  - submsg_header_endianness_flag
  - initialize_rtps_message
  - set_submsg_header
  - get_submsg
  - get_crypto_header
  - get_crypto_footer
  - check_decoded_rtps_message
  - decode_rtps_message_not_authenticated
  - decode_rtps_message_authenticated
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length[4]
        type: unsigned char
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_rtps_message/src/decode_rtps_message_utests.c
    typedefs: []
    union: []
- function_names:
  - dds_security_property_init
  - dds_security_property_deinit
  - reset_exception
  - get_future_xsdate
  - smime_sign
  - fill_participant_qos
  - fill_permissions_token
  - fill_peer_credential_token
  - validate_local_identity_and_permissions
  - clear_local_identity_and_permissions
  - set_path_to_etc_dir
  - set_path_build_dir
  - CU_Init
  - CU_Clean
  - on_revoke_permissions_cb
  - CU_Test
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PERMISSIONS_DOCUMENT
      pos:
        line_end: 183
        line_start: 149
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/listeners_access_control/src/listeners_access_control_utests.c
      type_or_value: "\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>                                    \\\n<dds
        xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\"                                                            \\\n
        \   xsi:noNamespaceSchemaLocation=\\\"https://www.omg.org/spec/DDS-SECURITY/20170901/omg_shared_ca_permissions.xsd\\\">
        \     \\\n    <permissions>                                                                                                       \\\n
        \       <grant name=\\\"DEFAULT_PERMISSIONS\\\">                                                                            \\\n
        \           <subject_name>/C=NL/ST=Some-State/O=Internet Widgits Pty Ltd/CN=CHAM500
        cert</subject_name>                                                                               \\\n
        \           <validity>                                                                                                  \\\n
        \               <not_before>2015-09-15T01:00:00</not_before>                                                            \\\n
        \               <not_after>PERMISSION_EXPIRY_DATE</not_after>                                                              \\\n
        \           </validity>                                                                                                 \\\n
        \           <deny_rule>                                                                                                \\\n
        \               <domains>                                                                                               \\\n
        \                   <id_range>                                                                                          \\\n
        \                       <min>0</min>                                                                                    \\\n
        \                       <max>230</max>                                                                                  \\\n
        \                   </id_range>                                                                                         \\\n
        \               </domains>                                                                                              \\\n
        \               <publish>                                                                                               \\\n
        \                   <topics>                                                                                            \\\n
        \                       <topic>*</topic>                                                                                \\\n
        \                   </topics>                                                                                           \\\n
        \                   <partitions/>                                                                                       \\\n
        \               </publish>                                                                                              \\\n
        \               <subscribe>                                                                                             \\\n
        \                   <topics>                                                                                            \\\n
        \                       <topic>*</topic>                                                                                \\\n
        \                   </topics>                                                                                           \\\n
        \                   <partitions/>                                                                                       \\\n
        \               </subscribe>                                                                                            \\\n
        \          </deny_rule>                                                                                                \\\n
        \          <default>DENY</default>                                                                                     \\\n
        \       </grant>                                                                                                        \\\n
        \   </permissions>                                                                                                      \\\n</dds>
        \                                 \""
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - initialize_heartbeat
  - register_local_participant
  - unregister_local_participant
  - register_remote_participant
  - unregister_remote_participant
  - prepare_endpoint_security_attributes_and_properties
  - register_local_datawriter
  - register_remote_datawriter
  - unregister_datawriter
  - register_local_datareader
  - register_remote_datareader
  - unregister_datareader
  - set_remote_datareader_tokens
  - suite_decode_datareader_submessage_init
  - suite_decode_datareader_submessage_fini
  - initialize_data_submessage
  - set_submsg_header
  - get_submsg
  - get_crypto_header
  - get_crypto_footer
  - decode_datareader_submessage_not_signed
  - decode_datareader_submessage_signed
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length[4]
        type: unsigned char
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    - fields:
      - name: high
        type: int
      - name: low
        type: unsigned
      item_type: struct
      name: seq_number
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    - fields:
      - name: smhdr
        type: struct submsg_header
      - name: readerId
        type: uint32_t
      - name: writerId
        type: uint32_t
      - name: firstSN
        type: struct seq_number
      - name: lastSN
        type: struct seq_number
      - name: count
        type: int
      item_type: struct
      name: heartbeat
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/decode_datareader_submessage/src/decode_datareader_submessage_utests.c
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - print_octets
  - register_local_participant
  - unregister_local_participant
  - register_remote_participants
  - unregister_remote_participants
  - check_encoded_data
  - cipher_sign_data
  - crypto_decrypt_data
  - get_local_participant_session
  - get_remote_participant_key_material
  - set_protection_kind
  - set_remote_participant_protection_kind
  - submsg_header_endianness_flag
  - initialize_rtps_message
  - check_sign
  - check_signing
  - suite_encode_rtps_message_init
  - suite_encode_rtps_message_fini
  - prepare_participant_security_attributes_and_properties
  - encode_rtps_message_not_authenticated
  - encode_rtps_message_sign
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[sizeof(remote_participant_identities) / sizeof(remote_participant_identities[0])]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length
        type: uint32_t
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_rtps_message/src/encode_rtps_message_utests.c
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - find_property
  - dds_security_property_init
  - dds_security_property_deinit
  - fill_participant_qos
  - local_permissions_init
  - local_permissions_clean
  - set_path_to_etc_dir
  - suite_get_permissions_token_init
  - suite_get_permissions_token_fini
  - validate_permissions_token
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_permissions_token/src/get_permissions_token_utests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - initialize_heartbeat
  - register_local_participant
  - unregister_local_participant
  - register_remote_participant
  - unregister_remote_participant
  - register_local_datareader
  - unregister_datareader
  - register_remote_datawriter
  - unregister_datawriter
  - read_prefix
  - read_header
  - read_body
  - read_postfix
  - read_footer
  - check_encoded_data
  - cipher_sign_data
  - crypto_decrypt_data
  - prepare_endpoint_security_attributes_and_properties
  - get_datareader_session
  - get_datawriter_key_material
  - initialize_data_submessage
  - check_writer_sign
  - check_writer_signing
  - suite_encode_datareader_submessage_init
  - suite_encode_datareader_submessage_fini
  - encode_datareader_submessage_not_signed
  - encode_datareader_submessage_sign
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length
        type: uint32_t
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: length
        type: uint32_t
      - name: data[]
        type: unsigned char
      item_type: struct
      name: encrypted_data
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: high
        type: int
      - name: low
        type: unsigned
      item_type: struct
      name: seq_number
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    - fields:
      - name: smhdr
        type: struct submsg_header
      - name: readerId
        type: uint32_t
      - name: writerId
        type: uint32_t
      - name: firstSN
        type: struct seq_number
      - name: lastSN
        type: struct seq_number
      - name: count
        type: int
      item_type: struct
      name: heartbeat
      pos:
        line_end: 92
        line_start: 84
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datareader_submessage/src/encode_datareader_submessage_utests.c
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - dds_security_property_init
  - dds_security_property_deinit
  - fill_participant_qos
  - create_local_identity
  - clear_local_identity
  - set_path_to_etc_dir
  - get_plugin_endpoint_security_attributes_mask
  - suite_get_xxx_sec_attributes_init
  - suite_get_xxx_sec_attributes_fini
  - plugins_init
  - plugins_fini
  - verify_endpoint_attributes
  - verify_topic_attributes
  - test_liveliness_discovery_participant_attr
  - test_liveliness_discovery_writer_attr
  - test_liveliness_discovery_reader_attr
  - test_liveliness_discovery_attr
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
  types:
    enum:
    - enumerators:
      - name: SEC_TOPIC_DCPSPARTICIPANTSECURE
      - name: SEC_TOPIC_DCPSPARTICIPANTSTATELESSMESSAGE
      - name: SEC_TOPIC_DCPSPUBLICATIONSSECURE
      - name: SEC_TOPIC_DCPSPARTICIPANTMESSAGESECURE
      - name: SEC_TOPIC_DCPSSUBSCRIPTIONSSECURE
      - name: SEC_TOPIC_DCPSPARTICIPANTVOLATILEMESSAGESECURE
      - name: SEC_TOPIC_DCPS_KINEMATICS
      - name: SEC_TOPIC_DCPS_OWNSHIPDATA
      - name: SEC_TOPIC_DCPS_SHAPE
      item_type: enum
      name: SEC_TOPIC_NAME
      pos:
        line_end: 155
        line_start: 144
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/get_xxx_sec_attributes/src/get_xxx_sec_attributes_utests.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_exception
  - allocate_shared_secret
  - deallocate_shared_secret
  - register_local_participant
  - unregister_local_participant
  - register_remote_participant
  - prepare_endpoint_security_attributes_and_properties
  - unregister_remote_participant
  - register_local_datawriter
  - unregister_datawriter
  - register_remote_datareader
  - unregister_datareader
  - read_prefix
  - read_header
  - read_body
  - read_postfix
  - read_footer
  - check_encoded_data
  - cipher_sign_data
  - crypto_decrypt_data
  - get_datawriter_session
  - get_datareader_key_material
  - submsg_header_endianness_flag
  - initialize_data_submessage
  - check_reader_sign
  - check_reader_signing
  - suite_encode_datawriter_submessage_init
  - suite_encode_datawriter_submessage_fini
  - encode_datawriter_submessage_not_signed
  - encode_datawriter_submessage_sign
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
      type_or_value: '32'
    structs:
    - fields:
      - name: id
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: submsg_header
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: session_id[4]
        type: unsigned char
      - name: init_vector_suffix[8]
        type: unsigned char
      item_type: struct
      name: crypto_header
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    - fields:
      - name: common_mac[16]
        type: unsigned char
      - name: length
        type: uint32_t
      item_type: struct
      name: crypto_footer
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    - fields:
      - name: length
        type: uint32_t
      - name: data[]
        type: unsigned char
      item_type: struct
      name: encrypted_data
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/encode_datawriter_submessage/src/encode_datawriter_submessage_utests.c
    typedefs: []
    union: []
- function_names:
  - prepare_participant_security_attributes
  - prepare_endpoint_security_attributes
  - register_local_regular
  - suite_register_matched_remote_datareader_init
  - suite_register_matched_remote_datareader_fini
  - reset_exception
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_matched_remote_datareader/src/register_matched_remote_datareader_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - prepare_participant_security_attributes
  - reset_exception
  - suite_register_local_datareader_init
  - suite_register_local_datareader_fini
  - prepare_endpoint_security_attributes
  source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_SHARED_SECRET_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/tests/register_local_datareader/src/register_local_datareader_utests.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSLERROR
  - check_buffer_sizes
  - trusted_check_buffer_sizes
  - crypto_cipher_encrypt_data
  - crypto_cipher_calc_hmac
  - crypto_cipher_decrypt_data
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CRYPTO_TRANSFORM_KIND
  - CRYPTO_TRANSFORM_ID
  - CRYPTO_KEY_SIZE_BYTES
  - ALIGN4
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: high
        type: uint32_t
      - name: low
        type: uint32_t
      item_type: struct
      name: init_vector_suffix
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.h
    typedefs: []
    union: []
- function_names:
  - check_crypto_tokens
  - check_not_data_empty
  - check_crypto_keymaterial
  - serialize_master_key_material
  - create_local_participant_crypto_tokens
  - allow_empty_tokens
  - set_remote_participant_crypto_tokens
  - create_local_datawriter_crypto_tokens
  - set_remote_datawriter_crypto_tokens
  - create_local_datareader_crypto_tokens
  - set_remote_datareader_crypto_tokens
  - return_crypto_tokens
  - dds_security_crypto_key_exchange__alloc
  - dds_security_crypto_key_exchange__dealloc
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: dds_security_crypto_key_exchange
      - name: '*crypto'
        type: dds_security_cryptography
      item_type: struct
      name: dds_security_crypto_key_exchange_impl
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.c
    typedefs: []
    union: []
- function_names:
  - compare_participant_handle
  - compare_endpoint_relation
  - compare_relation_key
  - crypto_object_valid
  - crypto_object_hash
  - crypto_object_equal
  - crypto_object_init
  - crypto_object_deinit
  - crypto_object_free
  - crypto_object_keep
  - crypto_object_release
  - crypto_object_table_find_by_template
  - default_crypto_table_find
  - crypto_object_table_new
  - crypto_object_table_free
  - crypto_object_table_insert
  - crypto_object_table_remove_object
  - crypto_object_table_remove
  - crypto_object_table_find
  - crypto_object_table_walk
  - master_key_material__free
  - crypto_master_key_material_new
  - crypto_master_key_material_set
  - generate_session_key
  - session_key_material__free
  - crypto_session_key_material_new
  - crypto_session_key_material_update
  - local_participant_crypto__free
  - crypto_local_participant_crypto__new
  - remote_participant_crypto__free
  - crypto_remote_participant_crypto__new
  - participant_key_material_free
  - crypto_participant_key_material_new
  - crypto_local_participant_add_keymat
  - crypto_local_participant_remove_keymat
  - crypto_local_participant_lookup_keymat
  - crypto_remote_participant_add_keymat
  - crypto_remote_participant_remove_keymat_locked
  - crypto_remote_participant_lookup_keymat_locked
  - crypto_remote_participant_lookup_keymat
  - crypto_local_participnant_get_matching
  - crypto_remote_participnant_get_matching
  - key_relation_free
  - crypto_key_relation_new
  - local_datawriter_crypto__free
  - crypto_local_datawriter_crypto__new
  - remote_datawriter_crypto__free
  - crypto_remote_datawriter_crypto__new
  - local_datareader_crypto__free
  - crypto_local_datareader_crypto__new
  - remote_datareader_crypto__free
  - crypto_remote_datareader_crypto__new
  - crypto_insert_endpoint_relation
  - crypto_insert_specific_key_relation_locked
  - crypto_insert_specific_key_relation
  - crypto_remove_specific_key_relation_locked
  - crypto_remove_specific_key_relation
  - crypto_find_specific_key_relation_locked
  - crypto_find_specific_key_relation
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK_CRYPTO_OBJECT_KIND
  - CRYPTO_OBJECT
  - CRYPTO_OBJECT_HANDLE
  - PARTICIPANT_CRYPTO_HANDLE
  - DATAWRITER_CRYPTO_HANDLE
  - DATAREADER_CRYPTO_HANDLE
  - CRYPTO_OBJECT_KEEP
  - CRYPTO_OBJECT_RELEASE
  - CRYPTO_OBJECT_VALID
  - CRYPTO_TRANSFORM_HAS_KEYS
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: handle
        type: int64_t
      - name: refcount
        type: ddsrt_atomic_uint32_t
      - name: kind
        type: CryptoObjectKind_t
      - name: destructor
        type: CryptoObjectDestructor
      item_type: struct
      name: CryptoObject
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: transformation_kind
        type: DDS_Security_CryptoTransformKind_Enum
      - name: '*master_salt'
        type: unsigned char
      - name: sender_key_id
        type: uint32_t
      - name: '*master_sender_key'
        type: unsigned char
      - name: receiver_specific_key_id
        type: uint32_t
      - name: '*master_receiver_specific_key'
        type: unsigned char
      item_type: struct
      name: master_key_material
      pos:
        line_end: 85
        line_start: 76
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: id
        type: uint32_t
      - name: key
        type: crypto_session_key_t
      - name: key_size
        type: uint32_t
      - name: block_size
        type: uint32_t
      - name: block_counter
        type: uint64_t
      - name: max_blocks_per_session
        type: uint64_t
      - name: init_vector_suffix
        type: uint64_t
      - name: '*master_key_material'
        type: master_key_material
      item_type: struct
      name: session_key_material
      pos:
        line_end: 98
        line_start: 87
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: key_size
        type: uint32_t
      - name: id
        type: uint32_t
      - name: key
        type: crypto_session_key_t
      item_type: struct
      name: remote_session_info
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: kind
        type: DDS_Security_SecureSubmessageCategory_t
      - name: key_id
        type: uint32_t
      - name: '*local_crypto'
        type: CryptoObject
      - name: '*remote_crypto'
        type: CryptoObject
      - name: '*key_material'
        type: master_key_material
      item_type: struct
      name: key_relation
      pos:
        line_end: 116
        line_start: 107
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: lock
        type: ddsrt_mutex_t
      - name: '*key_material'
        type: master_key_material
      - name: identity_handle
        type: DDS_Security_IdentityHandle
      - name: key_material_table
        type: ddsrt_avl_ctree_t
      - name: '*session'
        type: session_key_material
      - name: rtps_protection_kind
        type: DDS_Security_ProtectionKind
      - name: '*builtin_reader'
        type: struct local_datareader_crypto
      item_type: struct
      name: local_participant_crypto
      pos:
        line_end: 128
        line_start: 118
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: loc_avlnode
        type: ddsrt_avl_node_t
      - name: rmt_avlnode
        type: ddsrt_avl_node_t
      - name: loc_pp_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: rmt_pp_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: '*remote_key_material'
        type: master_key_material
      - name: '*local_P2P_key_material'
        type: master_key_material
      - name: '*P2P_kx_key_material'
        type: master_key_material
      - name: '*P2P_writer_session'
        type: session_key_material
      - name: '*P2P_reader_session'
        type: session_key_material
      item_type: struct
      name: participant_key_material
      pos:
        line_end: 142
        line_start: 130
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: lock
        type: ddsrt_mutex_t
      - name: remoteGuid
        type: DDS_Security_GUID_t
      - name: identity_handle
        type: DDS_Security_IdentityHandle
      - name: key_material_table
        type: ddsrt_avl_ctree_t
      - name: '*session'
        type: session_key_material
      - name: rtps_protection_kind
        type: DDS_Security_ProtectionKind
      - name: relation_index
        type: ddsrt_avl_tree_t
      - name: specific_key_index
        type: ddsrt_avl_tree_t
      item_type: struct
      name: remote_participant_crypto
      pos:
        line_end: 155
        line_start: 144
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: '*participant'
        type: local_participant_crypto
      - name: '*writer_key_material_message'
        type: master_key_material
      - name: '*writer_key_material_payload'
        type: master_key_material
      - name: '*writer_session_message'
        type: session_key_material
      - name: '*writer_session_payload'
        type: session_key_material
      - name: metadata_protectionKind
        type: DDS_Security_ProtectionKind
      - name: data_protectionKind
        type: DDS_Security_BasicProtectionKind
      - name: is_builtin_participant_volatile_message_secure_writer
        type: bool
      item_type: struct
      name: local_datawriter_crypto
      pos:
        line_end: 168
        line_start: 157
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: '*participant'
        type: remote_participant_crypto
      - name: metadata_protectionKind
        type: DDS_Security_ProtectionKind
      - name: data_protectionKind
        type: DDS_Security_BasicProtectionKind
      - name: '*reader2writer_key_material'
        type: master_key_material
      - name: '*writer2reader_key_material[2]'
        type: master_key_material
      - name: '*reader_session'
        type: session_key_material
      - name: '*local_reader'
        type: struct local_datareader_crypto
      - name: is_builtin_participant_volatile_message_secure_writer
        type: bool
      item_type: struct
      name: remote_datawriter_crypto
      pos:
        line_end: 181
        line_start: 170
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: '*participant'
        type: local_participant_crypto
      - name: '*reader_key_material'
        type: master_key_material
      - name: '*reader_session'
        type: session_key_material
      - name: metadata_protectionKind
        type: DDS_Security_ProtectionKind
      - name: data_protectionKind
        type: DDS_Security_BasicProtectionKind
      - name: is_builtin_participant_volatile_message_secure_reader
        type: bool
      item_type: struct
      name: local_datareader_crypto
      pos:
        line_end: 192
        line_start: 183
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: _parent
        type: CryptoObject
      - name: '*participant'
        type: remote_participant_crypto
      - name: metadata_protectionKind
        type: DDS_Security_ProtectionKind
      - name: data_protectionKind
        type: DDS_Security_BasicProtectionKind
      - name: '*reader2writer_key_material'
        type: master_key_material
      - name: '*writer2reader_key_material_message'
        type: master_key_material
      - name: '*writer2reader_key_material_payload'
        type: master_key_material
      - name: '*writer_session'
        type: session_key_material
      - name: '*local_writer'
        type: local_datawriter_crypto
      - name: is_builtin_participant_volatile_message_secure_reader
        type: bool
      item_type: struct
      name: remote_datareader_crypto
      pos:
        line_end: 206
        line_start: 194
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    - fields:
      - name: '*htab'
        type: struct ddsrt_hh
      - name: lock
        type: ddsrt_mutex_t
      - name: findfnc
        type: CryptoObjectFindFunction
      item_type: struct
      name: CryptoObjectTable
      pos:
        line_end: 388
        line_start: 383
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
    typedefs:
    - item_type: typedef
      name: DDS_Security_LocalParticipantCryptoHandle
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: DDS_Security_ParticipantCryptoHandle
    - item_type: typedef
      name: DDS_Security_RemoteParticipantCryptoHandle
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: DDS_Security_ParticipantCryptoHandle
    - item_type: typedef
      name: CryptoObject
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: CryptoObject
    - item_type: typedef
      name: (*CryptoObjectDestructor)(CryptoObject *obj)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: void
    - item_type: typedef
      name: (*CryptoObjectHashFunction)(const void *obj)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: uint32_t
    - item_type: typedef
      name: (*CryptoObjectEqualFunction)(const void *ha, const void *hb)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: bool
    - item_type: typedef
      name: '*(*CryptoObjectFindFunction)(const struct CryptoObjectTable *table, const
        void *arg)'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: CryptoObject
    - item_type: typedef
      name: (*CryptoObjectTableCallback)(CryptoObject *obj, void *arg)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_objects.h
      type: int
    union: []
- function_names:
  - crypto_openssl_error_message
  - crypto_calculate_key_impl
  - crypto_calculate_session_key
  - crypto_calculate_receiver_specific_key
  - crypto_get_key_size
  - crypto_get_random_uint32
  - crypto_get_random_uint64
  - crypto_hmac256
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_encryption_required
  - is_authentication_required
  - is_encryption_expected
  - is_authentication_expected
  - has_origin_authentication
  - trusted_crypto_buffer_init
  - trusted_crypto_buffer_from_seq
  - trusted_crypto_buffer_to_seq
  - trusted_crypto_buffer_expand
  - trusted_crypto_buffer_append
  - add_submessage
  - set_crypto_prefix
  - add_crypto_prefix
  - add_crypto_content
  - add_crypto_postfix
  - add_crypto_header
  - add_crypto_body
  - add_crypto_footer
  - add_rtps_header
  - tainted_input_buffer_from_OctetSeq
  - initialize_remote_session_info
  - read_submsg_header
  - transform_kind_valid
  - tainted_input_buffer_read_BE4u
  - read_secure_prefix_content
  - read_secure_prefix
  - read_secure_body
  - read_secure_postfix
  - split_encoded_serialized_payload
  - split_encoded_submessage
  - read_secure_rtps_body
  - split_encoded_rtps_message
  - encode_serialized_payload
  - trusted_crypto_buffer_find_submessage_offset
  - add_specific_mac_find_offsets
  - add_specific_mac
  - add_reader_specific_mac
  - add_writer_specific_mac
  - add_receiver_specific_mac
  - encode_submmessage_encrypt
  - encode_datawriter_submessage_encrypt
  - encode_datawriter_submessage
  - encode_datareader_submessage
  - check_reader_specific_mac
  - init_info_src
  - encode_rtps_message_encrypt
  - encode_rtps_message
  - ddsi_security_decode_rtps_message
  - preprocess_secure_submsg
  - decode_submessage
  - decode_datawriter_submessage
  - decode_datareader_submessage
  - decode_serialized_payload
  - dds_security_crypto_transform__alloc
  - dds_security_crypto_transform__dealloc
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRYPTO_ENCRYPTION_MAX_PADDING
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
      type_or_value: '32'
    - item_type: preproc_def
      name: INFO_SRC_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
      type_or_value: sizeof (ddsi_rtps_info_src_t)
    - item_type: preproc_def
      name: CRYPTO_PREFIX_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
      type_or_value: sizeof (struct trusted_crypto_prefix)
    - item_type: preproc_def
      name: CRYPTO_FOOTER_BASIC_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
      type_or_value: (CRYPTO_HMAC_SIZE + sizeof (uint32_t))
    - item_type: preproc_def
      name: CRYPTO_FOOTER_MIN_SIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
      type_or_value: (sizeof (struct trusted_crypto_footer))
    structs:
    - fields:
      - name: _length
        type: uint32_t
      - name: _buffer[]
        type: struct receiver_specific_mac
      item_type: struct
      name: receiver_specific_mac_seq
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: transform_identifier
        type: struct CryptoTransformIdentifier
      - name: iv
        type: struct init_vector
      item_type: struct
      name: trusted_crypto_prefix
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: length
        type: uint32_t
      - name: data[]
        type: unsigned char
      item_type: struct
      name: trusted_crypto_content
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: common_mac
        type: crypto_hmac_t
      - name: receiver_specific_macs
        type: struct receiver_specific_mac_seq
      item_type: struct
      name: trusted_crypto_postfix
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: header
        type: ddsi_rtps_submessage_header_t
      - name: prefix
        type: struct trusted_crypto_prefix
      item_type: struct
      name: trusted_crypto_header
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: header
        type: ddsi_rtps_submessage_header_t
      - name: content
        type: struct trusted_crypto_content
      item_type: struct
      name: trusted_crypto_body
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: header
        type: ddsi_rtps_submessage_header_t
      - name: postfix
        type: struct trusted_crypto_postfix
      item_type: struct
      name: trusted_crypto_footer
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: base
        type: dds_security_crypto_transform
      - name: '*crypto'
        type: dds_security_cryptography
      item_type: struct
      name: dds_security_crypto_transform_impl
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: '*contents'
        type: unsigned char
      - name: length
        type: size_t
      - name: '*inptr'
        type: unsigned char
      item_type: struct
      name: trusted_crypto_buffer
      pos:
        line_end: 135
        line_start: 131
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: tkind
        type: uint32_t
      - name: tid
        type: uint32_t
      - name: sid
        type: uint32_t
      - name: ivh
        type: uint32_t
      - name: ivl
        type: uint32_t
      item_type: struct
      name: s
      pos:
        line_end: 199
        line_start: 193
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: transform_kind
        type: uint32_t
      - name: transform_id
        type: uint32_t
      - name: session_id
        type: uint32_t
      - name: iv
        type: struct init_vector
      item_type: struct
      name: const_tainted_secure_prefix
      pos:
        line_end: 259
        line_start: 254
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: id
        type: uint8_t
      - name: data
        type: const_tainted_crypto_data_t
      item_type: struct
      name: const_tainted_secure_body
      pos:
        line_end: 264
        line_start: 261
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: common_mac
        type: crypto_hmac_t
      - name: length
        type: uint32_t
      - name: '*recv_spec_mac'
        type: struct receiver_specific_mac
      item_type: struct
      name: const_tainted_secure_postfix
      pos:
        line_end: 270
        line_start: 266
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: prefix
        type: struct const_tainted_secure_prefix
      - name: body
        type: struct const_tainted_secure_body
      - name: postfix
        type: struct const_tainted_secure_postfix
      item_type: struct
      name: const_tainted_encrypted_state
      pos:
        line_end: 276
        line_start: 272
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    - fields:
      - name: '*ptr'
        type: unsigned char
      - name: '* const endp'
        type: unsigned char
      item_type: struct
      name: tainted_input_buffer
      pos:
        line_end: 281
        line_start: 278
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.c
    typedefs: []
    union: []
- function_names:
  - cryptography_get_crypto_key_factory
  - cryptography_get_crypto_key_exchange
  - cryptography_get_crypto_transform
  - init_crypto
  - finalize_crypto
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: dds_security_cryptography
      - name: '*gv'
        type: struct ddsi_domaingv
      item_type: struct
      name: dds_security_cryptography_impl
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_cipher.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crypto_token_copy
  - calculate_kx_keys
  - generate_key
  - attribute_to_rtps_protection_kind
  - attribute_to_meta_protection_kind
  - attribute_to_data_protection_kind
  - remove_remote_writer_relation
  - remove_remote_reader_relation
  - register_local_participant
  - resolve_remote_participant_by_id
  - register_matched_remote_participant
  - register_local_datawriter
  - register_matched_remote_datareader
  - register_local_datareader
  - register_matched_remote_datawriter
  - unregister_participant
  - unregister_datawriter
  - unregister_datareader
  - dds_security_crypto_key_factory__alloc
  - dds_security_crypto_key_factory__dealloc
  - crypto_factory_get_protection_kind
  - crypto_factory_get_participant_crypto_tokens
  - gc_remote_key_material
  - crypto_factory_set_participant_crypto_tokens
  - crypto_factory_get_datawriter_crypto_tokens
  - crypto_factory_set_datawriter_crypto_tokens
  - crypto_factory_get_datareader_crypto_tokens
  - crypto_factory_set_datareader_crypto_tokens
  - get_local_volatile_sec_writer_key_material
  - get_local_volatile_sec_reader_key_material
  - crypto_factory_get_local_participant_data_key_material
  - crypto_factory_get_writer_key_material
  - crypto_factory_get_reader_key_material
  - crypto_factory_get_remote_writer_key_material
  - crypto_factory_get_remote_reader_key_material
  - crypto_factory_get_remote_writer_sign_key_material
  - crypto_factory_get_remote_reader_sign_key_material
  - crypto_factory_get_endpoint_relation
  - crypto_factory_get_specific_keymat
  - crypto_factory_get_master_key_material_for_test
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KXKEYCOOKIE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
      type_or_value: '"key exchange key"'
    - item_type: preproc_def
      name: KXKEYCOOKIE_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
      type_or_value: (sizeof(KXKEYCOOKIE) - 1)
    - item_type: preproc_def
      name: KXSALTCOOKIE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
      type_or_value: '"keyexchange salt"'
    - item_type: preproc_def
      name: KXSALTCOOKIE_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
      type_or_value: (sizeof(KXSALTCOOKIE) - 1)
    structs:
    - fields:
      - name: base
        type: dds_security_crypto_key_factory
      - name: '*crypto'
        type: dds_security_cryptography
      - name: lock
        type: ddsrt_mutex_t
      - name: '*crypto_objects'
        type: struct CryptoObjectTable
      - name: next_key_id
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: dds_security_crypto_key_factory_impl
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    - fields:
      - name: ident
        type: DDS_Security_IdentityHandle
      - name: '*pprmte'
        type: remote_participant_crypto
      item_type: struct
      name: resolve_remote_part_arg
      pos:
        line_end: 325
        line_start: 321
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_factory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_key_exchange.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_transform.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
  types:
    enum:
    - enumerators:
      - name: RTPS_Message_Type_GAP
        value: '0x08'
      - name: RTPS_Message_Type_ACKNACK
        value: '0x06'
      - name: RTPS_Message_Type_INFO_SRC
        value: '0x0c'
      - name: RTPS_Message_Type_INFO_DST
        value: '0x0e'
      - name: RTPS_Message_Type_NACK_FRAG
        value: '0x12'
      - name: RTPS_Message_Type_DATA
        value: '0x15'
      - name: RTPS_Message_Type_SEC_PREFIX
        value: '0x31'
      - name: RTPS_Message_Type_MSG_LEN
        value: '0x81'
      - name: RTPS_Message_Type_INFO_LASTHB
        value: '0x83'
      - name: RTPS_Message_Type_SRTPS_PREFIX
        value: '0x33'
      - name: RTPS_Message_Type_PAD
        value: '0x01'
      - name: RTPS_Message_Type_HEARTBEAT
        value: '0x07'
      - name: RTPS_Message_Type_INFO_TS
        value: '0x09'
      - name: RTPS_Message_Type_INFO_REPLY_IP4
        value: '0x0d'
      - name: RTPS_Message_Type_INFO_REPLY
        value: '0x0f'
      - name: RTPS_Message_Type_SEC_BODY
        value: '0x30'
      - name: RTPS_Message_Type_SEC_POSTFIX
        value: '0x32'
      - name: RTPS_Message_Type_DATA_FRAG
        value: '0x16'
      - name: RTPS_Message_Type_MSG_ENTITY_ID
        value: '0x82'
      - name: RTPS_Message_Type_HEARTBEAT_FRAG
        value: '0x13'
      - name: RTPS_Message_Type_SRTPS_POSTFIX
        value: '0x34'
      item_type: enum
      name: RTPS_Message_Type
      pos:
        line_end: 104
        line_start: 40
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_CRYPTO_PLUGIN_CONTEXT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '"Cryptographic"'
    - item_type: preproc_def
      name: CRYPTO_HMAC_SIZE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CRYPTO_KEY_SIZE_128
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: CRYPTO_KEY_SIZE_256
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: CRYPTO_KEY_SIZE_MAX
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: CRYPTO_KEY_SIZE_256
    - item_type: preproc_def
      name: CRYPTO_SESSION_ID_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CRYPTO_INIT_VECTOR_SUFFIX_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: CRYPTO_INIT_VECTOR_SIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: (CRYPTO_SESSION_ID_SIZE + CRYPTO_INIT_VECTOR_SUFFIX_SIZE)
    - item_type: preproc_def
      name: CRYPTO_CIPHER_BLOCK_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
      type_or_value: '16'
    structs:
    - fields:
      - name: data[CRYPTO_KEY_SIZE_MAX]
        type: unsigned char
      item_type: struct
      name: crypto_session_key_t
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: data[CRYPTO_HMAC_SIZE]
        type: unsigned char
      item_type: struct
      name: crypto_hmac_t
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: u[CRYPTO_INIT_VECTOR_SIZE]
        type: unsigned char
      item_type: struct
      name: init_vector
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: receiver_mac_key_id
        type: DDS_Security_CryptoTransformKeyId
      - name: receiver_mac
        type: crypto_hmac_t
      item_type: struct
      name: receiver_specific_mac
      pos:
        line_end: 114
        line_start: 110
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: '*base'
        type: unsigned char
      - name: length
        type: size_t
      item_type: struct
      name: const_tainted_crypto_data
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: '*base'
        type: unsigned char
      - name: length
        type: size_t
      item_type: struct
      name: tainted_crypto_data
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    - fields:
      - name: x
        type: tainted_crypto_data_t
      item_type: struct
      name: trusted_crypto_data
      pos:
        line_end: 128
        line_start: 126
        source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/crypto_defs.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/cryptographic/src/cryptography.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_AUTH_PLUGIN_CONTEXT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.h
      type_or_value: '"Authentication"'
    structs:
    - fields:
      - name: value[DDS_SECURITY_AUTHENTICATION_CHALLENGE_SIZE]
        type: unsigned char
      item_type: struct
      name: AuthenticationChallenge
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.h
    - fields:
      - name: length
        type: uint32_t
      - name: '**buffer'
        type: X509
      item_type: struct
      name: X509Seq
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.h
    typedefs:
    - item_type: typedef
      name: (*load_callback_func)(void *arg)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.h
      type: bool
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_openssl_error_message
  - get_certificate_subject_name
  - get_certificate_expiry
  - get_subject_name_DER_encoded
  - check_key
  - check_key
  - check_key_type_and_size
  - check_certificate_type_and_size
  - check_certificate_expiry
  - load_X509_certificate_from_bio
  - load_file_into_BIO
  - load_X509_certificate_from_data
  - load_X509_certificate_from_file
  - load_private_key_from_data
  - load_private_key_from_file
  - load_X509_certificate_from_pkcs11
  - load_private_key_from_pkcs11
  - load_X509_crl_from_pkcs11
  - load_X509_certificate_from_pkcs11
  - load_private_key_from_pkcs11
  - load_X509_crl_from_pkcs11
  - get_conf_item_type
  - load_X509_certificate
  - load_X509_private_key
  - load_CRL_from_file
  - load_CRL_from_data
  - load_X509_CRL
  - verify_certificate
  - get_authentication_algo_kind
  - generate_challenge
  - get_certificate_contents
  - get_rsa_dh_parameters
  - get_rsa_dh_parameters
  - get_ec_dh_parameters
  - generate_dh_keys
  - dh_get_public_key
  - dh_public_key_to_oct_modp
  - dh_public_key_to_oct_ecdh
  - dh_oct_to_public_key_modp
  - dh_oct_to_public_key_ecdh
  - dh_public_key_to_oct_modp
  - dh_public_key_to_oct_ecdh
  - dh_oct_to_public_key_modp
  - dh_oct_to_public_key_ecdh
  - dh_public_key_to_oct
  - dh_oct_to_public_key
  - string_from_data
  - free_ca_list_contents
  - get_trusted_ca_list
  - create_validate_asymmetrical_signature
  source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TRUSTED_CA
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
      type_or_value: '100'
    structs:
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: parms
      pos:
        line_end: 439
        line_start: 436
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    - fields:
      - name: '*crl_id'
        type: char
      - name: '*crl'
        type: X509_CRL
      item_type: struct
      name: parms
      pos:
        line_end: 517
        line_start: 514
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/auth_utils.c
    typedefs: []
    union: []
- function_names:
  - EVP_PKEY_id
  - CHECK_OBJECT_KIND
  - SECURITY_OBJECT
  - SECURITY_OBJECT_HANDLE
  - IDENTITY_HANDLE
  - HANDSHAKE_HANDLE
  - SECURITY_OBJECT_VALID
  - security_object_valid
  - security_object_hash
  - security_object_equal
  - security_object_find
  - security_object_init
  - security_object_deinit
  - security_object_free
  - local_identity_info_free
  - local_identity_info_new
  - remote_guid_hash
  - remote_guid_equal
  - find_remote_identity_by_guid
  - remote_identity_info_free
  - remote_identity_info_new
  - identity_relation_free
  - identity_relation_new
  - handshake_info_free
  - handshake_info_new
  - find_identity_relation
  - remove_identity_relation
  - find_handshake
  - get_authentication_algo
  - get_dsign_algo
  - get_kagree_algo
  - str_octseq_equal
  - get_dsign_algo_from_octseq
  - get_kagree_algo_from_octseq
  - free_binary_properties
  - get_hash_binary_property_seq
  - create_validate_signature_impl
  - create_signature
  - validate_signature
  - compute_hash_value
  - hash_value_to_binary_property
  - get_identity_info
  - validity_callback
  - add_validity_end_trigger
  - get_adjusted_participant_guid
  - load_pkcs11_provider
  - load_pkcs11_provider
  - validate_local_identity
  - get_identity_token
  - get_identity_status_token
  - set_permissions_credential_and_token
  - validate_remote_identity_token
  - validate_auth_request_token
  - fill_auth_request_token
  - validate_remote_identity
  - begin_handshake_request
  - validate_pdata
  - set_exception
  - find_required_binprop
  - find_required_nonempty_binprop
  - find_required_binprop_exactsize
  - load_X509_certificate_from_binprop
  - create_dhkey_property
  - validate_handshake_token_impl
  - validate_handshake_token
  - begin_handshake_reply
  - generate_shared_secret
  - process_handshake
  - get_shared_secret
  - get_authenticated_peer_credential_token
  - set_listener
  - return_identity_token
  - return_identity_status_token
  - return_authenticated_peer_credential_token
  - return_handshake_handle
  - invalidate_local_related_objects
  - invalidate_remote_related_objects
  - return_identity_handle
  - return_sharedsecret_handle
  - init_authentication
  - finalize_authentication
  source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
  types:
    enum:
    - enumerators:
      - name: HS_TOKEN_REQ
      - name: HS_TOKEN_FINAL
      - name: HS_TOKEN_REPLY
      item_type: enum
      name: handshake_token_type
      pos:
        line_end: 1319
        line_start: 1314
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    preproc_defs:
    - item_type: preproc_def
      name: HANDSHAKE_SIGNATURE_CONTENT_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ADJUSTED_GUID_PREFIX_FLAG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
      type_or_value: '0x80'
    structs:
    - fields:
      - name: handle
        type: int64_t
      - name: kind
        type: SecurityObjectKind_t
      - name: destructor
        type: SecurityObjectDestructor
      item_type: struct
      name: SecurityObject
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: _parent
        type: SecurityObject
      - name: domainId
        type: DDS_Security_DomainId
      - name: candidateGUID
        type: DDS_Security_GUID_t
      - name: adjustedGUID
        type: DDS_Security_GUID_t
      - name: '*identityCert'
        type: X509
      - name: '*identityCA'
        type: X509
      - name: '*privateKey'
        type: EVP_PKEY
      - name: '*crl'
        type: X509_CRL
      - name: pdata
        type: DDS_Security_OctetSeq
      - name: dsignAlgoKind
        type: AuthenticationAlgoKind_t
      - name: kagreeAlgoKind
        type: AuthenticationAlgoKind_t
      - name: '*permissionsDocument'
        type: char
      - name: timer
        type: dds_security_time_event_handle_t
      item_type: struct
      name: LocalIdentityInfo
      pos:
        line_end: 101
        line_start: 86
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: _parent
        type: SecurityObject
      - name: guid
        type: DDS_Security_GUID_t
      - name: '*identityCert'
        type: X509
      - name: dsignAlgoKind
        type: AuthenticationAlgoKind_t
      - name: kagreeAlgoKind
        type: AuthenticationAlgoKind_t
      - name: '*remoteIdentityToken'
        type: DDS_Security_IdentityToken
      - name: pdata
        type: DDS_Security_OctetSeq
      - name: '*permissionsDocument'
        type: char
      - name: '*linkHash'
        type: struct ddsrt_hh
      - name: timer
        type: dds_security_time_event_handle_t
      item_type: struct
      name: RemoteIdentityInfo
      pos:
        line_end: 115
        line_start: 103
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: _parent
        type: SecurityObject
      - name: '*localIdentity'
        type: LocalIdentityInfo
      - name: '*remoteIdentity'
        type: RemoteIdentityInfo
      - name: '*lchallenge'
        type: AuthenticationChallenge
      - name: '*rchallenge'
        type: AuthenticationChallenge
      item_type: struct
      name: IdentityRelation
      pos:
        line_end: 129
        line_start: 122
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: _parent
        type: SecurityObject
      - name: '*relation'
        type: IdentityRelation
      - name: hash_c1
        type: HashValue_t
      - name: hash_c2
        type: HashValue_t
      - name: '*ldh'
        type: EVP_PKEY
      - name: '*rdh'
        type: EVP_PKEY
      - name: '*shared_secret_handle_impl'
        type: DDS_Security_SharedSecretHandleImpl
      - name: created_in
        type: CreatedHandshakeStep_t
      item_type: struct
      name: HandshakeInfo
      pos:
        line_end: 141
        line_start: 131
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: base
        type: dds_security_authentication
      - name: lock
        type: ddsrt_mutex_t
      - name: '*objectHash'
        type: struct ddsrt_hh
      - name: '*remoteGuidHash'
        type: struct ddsrt_hh
      - name: '*dispatcher'
        type: struct dds_security_timed_dispatcher
      - name: '*listener'
        type: dds_security_authentication_listener
      - name: trustedCAList
        type: X509Seq
      - name: include_optional
        type: bool
      item_type: struct
      name: dds_security_authentication_impl
      pos:
        line_end: 158
        line_start: 143
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    - fields:
      - name: '*auth'
        type: dds_security_authentication_impl
      - name: hdl
        type: DDS_Security_IdentityHandle
      item_type: struct
      name: validity_cb_info
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
    typedefs:
    - item_type: typedef
      name: HashValue_t[SHA256_DIGEST_LENGTH]
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
      type: unsigned char
    - item_type: typedef
      name: SecurityObject
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
      type: SecurityObject
    - item_type: typedef
      name: (*SecurityObjectDestructor)(SecurityObject *obj)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/security/builtin_plugins/authentication/src/authentication.c
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/include/crypto_tokens.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_CRYPTOTOKEN_CLASS_ID
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/crypto_tokens.h
      type_or_value: '"DDS:Crypto:AES_GCM_GMAC"'
    - item_type: preproc_def
      name: DDS_CRYPTOTOKEN_PROP_KEYMAT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/crypto_tokens.h
      type_or_value: '"dds.cryp.keymat"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_CLASS_ID
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"DDS:Auth:PKI-DH:1.0"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CERT_SN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dds.cert.sn"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CERT_ALGO
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dds.cert.algo"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CA_SN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dds.ca.sn"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CA_ALGO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dds.ca.algo"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_OCSP_STATUS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"ocsp_status"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_C_ID
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"c.id"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_C_PERM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"c.perm"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_AUTHREQ_CLASS_ID
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"DDS:Auth:PKI-DH:1.0+AuthReq"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_FUTURE_CHALLENGE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"future_challenge"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_REQ_CLASS_ID
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"DDS:Auth:PKI-DH:1.0+Req"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_C_PDATA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"c.pdata"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_C_DSIGN_ALGO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"c.dsign_algo"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_C_KAGREE_ALGO
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"c.kagree_algo"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_HASH_C1
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"hash_c1"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_DH1
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dh1"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CHALLENGE1
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"challenge1"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_REPLY_CLASS_ID
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"DDS:Auth:PKI-DH:1.0+Reply"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_HASH_C2
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"hash_c2"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_DH2
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"dh2"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_CHALLENGE2
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"challenge2"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_PROP_SIGNATURE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"signature"'
    - item_type: preproc_def
      name: DDS_AUTHTOKEN_FINAL_CLASS_ID
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/auth_tokens.h
      type_or_value: '"DDS:Auth:PKI-DH:1.0+Final"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_ACTOKEN_PERMISSIONS_CREDENTIAL_CLASS_ID
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"DDS:Access:PermissionsCredential"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PROP_PERM_CERT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"dds.perm.cert"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PERMISSIONS_CLASS_ID
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"DDS:Access:Permissions:1.0"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PROP_C_ID
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"c.id"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PROP_C_PERM
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"c.perm"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PROP_PERM_CA_SN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"dds.perm_ca.sn"'
    - item_type: preproc_def
      name: DDS_ACTOKEN_PROP_PERM_CA_ALGO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/builtin_plugins/include/ac_tokens.h
      type_or_value: '"dds.perm_ca.algo"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_tab
  - print_string_value
  - PRINT_VALUE_BASIC
  - print_domains
  - print_topic_rule
  - print_topic_access_rules
  - print_domain_rule
  - print_domain_access_rules
  - print_governance_parser_result
  - print_topic
  - print_topics
  - print_partition
  - print_partitions
  - print_criteria
  - print_allow_deny_rule
  - print_permissions
  - print_permissions_parser_result
  - new_element
  - PREPARE_NODE
  - PREPARE_NODE_WITH_LIST
  - validate_domains
  - validate_topic_rules
  - validate_rules
  - validate_permissions_tree
  - to_protection_kind
  - to_basic_protection_kind
  - governance_element_open_cb
  - governance_element_attr_cb
  - str_to_intvalue
  - governance_element_data_cb
  - governance_element_close_cb
  - governance_error_cb
  - free_stringvalue
  - free_domainid_set
  - free_domains
  - free_topic_rule
  - free_topic_access_rules
  - free_domain_rule
  - free_domain_access_rules
  - ac_parse_governance_xml
  - ac_return_governance_tree
  - permissions_element_open_cb
  - permissions_element_attr_cb
  - permissions_element_data_cb
  - permissions_element_close_cb
  - permissions_error_cb
  - ac_parse_permissions_xml
  - free_topic
  - free_topics
  - free_partition
  - free_partitions
  - free_validity
  - free_criteria
  - free_allow_deny_rule
  - free_grant
  - free_permissions
  - ac_return_permissions_tree
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_PARSER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_ACCESS_CONTROL_PLUGIN_CONTEXT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.h
      type_or_value: '"Access Control"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - access_control_object_valid
  - access_control_object_hash
  - access_control_object_equal
  - access_control_object_init
  - access_control_object_deinit
  - access_control_object_free
  - access_control_object_keep
  - access_control_object_release
  - access_control_table_new
  - access_control_table_free
  - access_control_table_insert
  - access_control_table_remove_object
  - access_control_table_remove
  - access_control_table_find
  - access_control_table_walk
  - local_participant_access_rights_free
  - ac_local_participant_access_rights_new
  - remote_participant_access_rights_free
  - ac_remote_participant_access_rights_new
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*htab'
        type: struct ddsrt_hh
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: AccessControlTable
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.c
    typedefs: []
    union: []
- function_names:
  - load_X509_certificate_from_bio
  - load_file_into_BIO
  - ac_X509_certificate_from_data
  - ac_X509_certificate_from_file
  - ac_X509_certificate_from_pkcs11
  - ac_X509_certificate_from_pkcs11
  - ac_X509_certificate_read
  - ac_get_certificate_subject_name
  - PKCS7_document_from_data
  - PKCS7_document_verify
  - ac_PKCS7_document_check
  - string_to_properties
  - ac_check_subjects_are_equal
  - ac_regular_file_size
  - sequencematch
  - ac_fnmatch
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEQ_ERR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: SEQ_NOMATCH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SEQ_MATCH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: parms
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_utils.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_DEFAULT_GOVERNANCE
      pos:
        line_end: 262
        line_start: 230
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
      type_or_value: "\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?> \\\n<dds
        xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" \\\n    xsi:noNamespaceSchemaLocation=\\\"https://www.omg.org/spec/DDS-SECURITY/20170901/omg_shared_ca_governance.xsd\\\">
        \\\n    <domain_access_rules>                                                                                               \\\n
        \       <domain_rule>                                                                                                   \\\n
        \           <domains>                                                                                                   \\\n
        \               <!-- All domains -->                                                                                    \\\n
        \               <id_range>                                                                                              \\\n
        \                   <min>0</min>                                                                                        \\\n
        \                   <max>230</max>                                                                                      \\\n
        \               </id_range>                                                                                             \\\n
        \           </domains>                                                                                                  \\\n
        \                                                                                                                       \\\n
        \           <allow_unauthenticated_participants>false</allow_unauthenticated_participants>
        \                             \\\n            <enable_join_access_control>false</enable_join_access_control>
        \                                              \\\n            <discovery_protection_kind>ENCRYPT</discovery_protection_kind>
        \                                             \\\n            <liveliness_protection_kind>ENCRYPT</liveliness_protection_kind>
        \                                           \\\n            <rtps_protection_kind>NONE</rtps_protection_kind>
        \                                                          \\\n            <topic_access_rules>
        \                                                                                       \\\n
        \               <topic_rule>                                                                                            \\\n
        \                   <topic_expression>*</topic_expression>                                                              \\\n
        \                   <enable_liveliness_protection>true</enable_liveliness_protection>
        \                                  \\\n                    <enable_discovery_protection>true</enable_discovery_protection>
        \                                    \\\n                    <enable_read_access_control>false</enable_read_access_control>
        \                                     \\\n                    <enable_write_access_control>false</enable_write_access_control>
        \                                   \\\n                    <metadata_protection_kind>ENCRYPT</metadata_protection_kind>
        \                                       \\\n                    <data_protection_kind>ENCRYPT</data_protection_kind>
        \                                               \\\n                </topic_rule>
        \                                                                                          \\\n
        \           </topic_access_rules>                                                                                       \\\n
        \       </domain_rule>                                                                                                  \\\n
        \   </domain_access_rules>                                                                                              \\\n</dds>
        \                                     \""
    - item_type: preproc_def
      name: DDS_SECURITY_DEFAULT_PERMISSIONS
      pos:
        line_end: 297
        line_start: 263
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
      type_or_value: "\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>                                    \\\n<dds
        xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\"                                                            \\\n
        \   xsi:noNamespaceSchemaLocation=\\\"https://www.omg.org/spec/DDS-SECURITY/20170901/omg_shared_ca_permissions.xsd\\\">
        \     \\\n    <permissions>                                                                                                       \\\n
        \       <grant name=\\\"DEFAULT_PERMISSIONS\\\">                                                                            \\\n
        \           <subject_name>DEFAULT_SUBJECT</subject_name>                                                                               \\\n
        \           <validity>                                                                                                  \\\n
        \               <not_before>2015-09-15T01:00:00</not_before>                                                            \\\n
        \               <not_after>2115-09-15T01:00:00</not_after>                                                              \\\n
        \           </validity>                                                                                                 \\\n
        \           <deny_rule>                                                                                                \\\n
        \               <domains>                                                                                               \\\n
        \                   <id_range>                                                                                          \\\n
        \                       <min>0</min>                                                                                    \\\n
        \                       <max>230</max>                                                                                  \\\n
        \                   </id_range>                                                                                         \\\n
        \               </domains>                                                                                              \\\n
        \               <publish>                                                                                               \\\n
        \                   <topics>                                                                                            \\\n
        \                       <topic>*</topic>                                                                                \\\n
        \                   </topics>                                                                                           \\\n
        \                   <partitions/>                                                                                       \\\n
        \               </publish>                                                                                              \\\n
        \               <subscribe>                                                                                             \\\n
        \                   <topics>                                                                                            \\\n
        \                       <topic>*</topic>                                                                                \\\n
        \                   </topics>                                                                                           \\\n
        \                   <partitions/>                                                                                       \\\n
        \               </subscribe>                                                                                            \\\n
        \          </deny_rule>                                                                                                \\\n
        \          <default>DENY</default>                                                                                     \\\n
        \       </grant>                                                                                                        \\\n
        \   </permissions>                                                                                                      \\\n</dds>
        \                                 \""
    structs:
    - fields:
      - name: '*parent'
        type: struct element
      - name: kind
        type: element_kind
      - name: '*next'
        type: struct element
      item_type: struct
      name: element
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*value'
        type: char
      item_type: struct
      name: string_value
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: value
        type: bool
      item_type: struct
      name: boolean_value
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: value
        type: int32_t
      item_type: struct
      name: integer_value
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: value
        type: DDS_Security_ProtectionKind
      item_type: struct
      name: protection_kind_value
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: value
        type: DDS_Security_BasicProtectionKind
      item_type: struct
      name: basicprotection_kind_value
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*min'
        type: struct integer_value
      - name: '*max'
        type: struct integer_value
      item_type: struct
      name: domain_id_set
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*domain_id_set'
        type: struct domain_id_set
      item_type: struct
      name: domains
      pos:
        line_end: 111
        line_start: 107
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*topic_expression'
        type: struct string_value
      - name: '*enable_discovery_protection'
        type: struct boolean_value
      - name: '*enable_liveliness_protection'
        type: struct boolean_value
      - name: '*enable_read_access_control'
        type: struct boolean_value
      - name: '*enable_write_access_control'
        type: struct boolean_value
      - name: '*metadata_protection_kind'
        type: struct protection_kind_value
      - name: '*data_protection_kind'
        type: struct basicprotection_kind_value
      item_type: struct
      name: topic_rule
      pos:
        line_end: 123
        line_start: 113
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*topic_rule'
        type: struct topic_rule
      item_type: struct
      name: topic_access_rules
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*domains'
        type: struct domains
      - name: '*allow_unauthenticated_participants'
        type: struct boolean_value
      - name: '*enable_join_access_control'
        type: struct boolean_value
      - name: '*discovery_protection_kind'
        type: struct protection_kind_value
      - name: '*liveliness_protection_kind'
        type: struct protection_kind_value
      - name: '*rtps_protection_kind'
        type: struct protection_kind_value
      - name: '*topic_access_rules'
        type: struct topic_access_rules
      item_type: struct
      name: domain_rule
      pos:
        line_end: 141
        line_start: 131
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*domain_rule'
        type: struct domain_rule
      item_type: struct
      name: domain_access_rules
      pos:
        line_end: 147
        line_start: 143
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*domain_access_rules'
        type: struct domain_access_rules
      item_type: struct
      name: governance_dds
      pos:
        line_end: 153
        line_start: 149
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: '*dds'
        type: struct governance_dds
      - name: '*current'
        type: struct element
      item_type: struct
      name: governance_parser
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*not_before'
        type: struct string_value
      - name: '*not_after'
        type: struct string_value
      item_type: struct
      name: validity
      pos:
        line_end: 167
        line_start: 162
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*topic'
        type: struct string_value
      item_type: struct
      name: topics
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*partition'
        type: struct string_value
      item_type: struct
      name: partitions
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: criteria_type
        type: permission_criteria_type
      - name: '*topics'
        type: struct topics
      - name: '*partitions'
        type: struct partitions
      item_type: struct
      name: criteria
      pos:
        line_end: 187
        line_start: 181
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: rule_type
        type: permission_rule_type
      - name: '*domains'
        type: struct domains
      - name: '*criteria'
        type: struct criteria
      item_type: struct
      name: allow_deny_rule
      pos:
        line_end: 195
        line_start: 189
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*name'
        type: char
      - name: '*subject_name'
        type: struct string_value
      - name: '*validity'
        type: struct validity
      - name: '*allow_deny_rule'
        type: struct allow_deny_rule
      - name: '*default_action'
        type: struct string_value
      item_type: struct
      name: grant
      pos:
        line_end: 205
        line_start: 197
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*grant'
        type: struct grant
      item_type: struct
      name: permissions
      pos:
        line_end: 211
        line_start: 207
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: node
        type: struct element
      - name: '*permissions'
        type: struct permissions
      item_type: struct
      name: permissions_dds
      pos:
        line_end: 217
        line_start: 213
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    - fields:
      - name: '*dds'
        type: struct permissions_dds
      - name: '*current'
        type: struct element
      item_type: struct
      name: permissions_parser
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_parser.h
    typedefs: []
    union: []
- function_names:
  - ACCESS_CONTROL_OBJECT
  - ACCESS_CONTROL_OBJECT_HANDLE
  - ACCESS_CONTROL_OBJECT_KEEP
  - ACCESS_CONTROL_OBJECT_RELEASE
  - ACCESS_CONTROL_OBJECT_VALID
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: handle
        type: int64_t
      - name: refcount
        type: ddsrt_atomic_uint32_t
      - name: kind
        type: AccessControlObjectKind_t
      - name: destructor
        type: AccessControlObjectDestructor
      - name: permissions_expiry
        type: dds_time_t
      - name: timer
        type: dds_security_time_event_handle_t
      item_type: struct
      name: AccessControlObject
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    - fields:
      - name: _parent
        type: AccessControlObject
      - name: participant_attributes
        type: DDS_Security_ParticipantSecurityAttributes
      - name: local_identity
        type: DDS_Security_IdentityHandle
      - name: '*governance_tree'
        type: struct governance_parser
      - name: '*permissions_tree'
        type: struct permissions_parser
      - name: domain_id
        type: int
      - name: '*identity_subject_name'
        type: char
      - name: '*permissions_document'
        type: char
      - name: '*permissions_ca'
        type: X509
      item_type: struct
      name: local_participant_access_rights
      pos:
        line_end: 54
        line_start: 44
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    - fields:
      - name: ref_cnt
        type: int
      - name: '*permissions_tree'
        type: struct permissions_parser
      - name: remote_permissions_token_class_id
        type: DDS_Security_string
      item_type: struct
      name: remote_permissions
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    - fields:
      - name: _parent
        type: AccessControlObject
      - name: remote_identity
        type: DDS_Security_IdentityHandle
      - name: '*local_rights'
        type: local_participant_access_rights
      - name: '*permissions'
        type: remote_permissions
      - name: '*identity_subject_name'
        type: char
      item_type: struct
      name: remote_participant_access_rights
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
    typedefs:
    - item_type: typedef
      name: AccessControlObject
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
      type: AccessControlObject
    - item_type: typedef
      name: (*AccessControlObjectDestructor)(AccessControlObject *obj)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
      type: void
    - item_type: typedef
      name: (*AccessControlTableCallback)(AccessControlObject *obj, void *arg)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control_objects.h
      type: int
    union: []
- function_names:
  - validate_local_permissions
  - validate_remote_permissions
  - check_create_participant
  - check_create_datawriter
  - check_create_datareader
  - check_create_topic
  - check_local_datawriter_register_instance
  - check_local_datawriter_dispose_instance
  - check_remote_participant
  - check_remote_datawriter
  - check_remote_datareader
  - check_remote_topic
  - check_local_datawriter_match
  - check_local_datareader_match
  - check_remote_datawriter_register_instance
  - check_remote_datawriter_dispose_instance
  - get_permissions_token
  - get_permissions_credential_token
  - set_listener
  - return_permissions_token
  - return_permissions_credential_token
  - protectionkind_to_participant_attribute
  - get_plugin_endpoint_security_attributes_mask
  - domain_rule_to_participant_attributes
  - domainid_within_sets
  - find_domain_rule_in_governance
  - get_participant_sec_attributes
  - compare_class_id_plugin_classname
  - compare_class_id_major_ver
  - is_partition_qos_in_criteria
  - is_partition_in_criteria
  - is_topic_in_criteria
  - find_topic_from_domain_rule
  - get_topic_sec_attributes
  - get_datawriter_sec_attributes
  - get_datareader_sec_attributes
  - return_participant_sec_attributes
  - return_topic_sec_attributes
  - return_datawriter_sec_attributes
  - return_datareader_sec_attributes
  - return_permissions_handle
  - init_access_control
  - get_sec_attributes
  - sanity_check_local_access_rights
  - sanity_check_remote_access_rights
  - find_local_access_rights
  - local_identity_handle_match
  - remote_identity_handle_match
  - find_local_rights_by_identity
  - find_remote_rights_by_identity
  - remote_permissions_handle_match
  - find_remote_permissions_by_permissions_handle
  - validity_callback
  - add_validity_end_trigger
  - is_grant_applicable
  - is_grant_valid
  - find_permissions_grant
  - is_allowed_by_default_rule
  - ddsrt_attribute_warn_unused_result
  - rule_iter_next
  - rule_iter_init
  - is_participant_allowed_by_permissions
  - is_topic_allowed_by_permissions
  - is_readwrite_allowed_by_permissions
  - read_document_from_file
  - read_document
  - validate_subject_name_in_permissions
  - check_and_create_local_participant_rights
  - check_and_create_remote_participant_rights
  - get_topic_type
  - finalize_access_control
  source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
  types:
    enum:
    - enumerators:
      - name: TOPIC_TYPE_USER
        value: '0'
      - name: TOPIC_TYPE_SECURE_ParticipantsSecure
      - name: TOPIC_TYPE_NON_SECURE_BUILTIN
      - name: TOPIC_TYPE_SECURE_SubscriptionsSecure
      - name: TOPIC_TYPE_SECURE_PublicationsSecure
      - name: TOPIC_TYPE_SECURE_ParticipantMessageSecure
      - name: TOPIC_TYPE_SECURE_ParticipantStatelessMessage
      - name: TOPIC_TYPE_SECURE_ParticipantVolatileMessageSecure
      item_type: enum
      name: TOPIC_TYPE
      pos:
        line_end: 41
        line_start: 31
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: dds_security_access_control
      - name: lock
        type: ddsrt_mutex_t
      - name: '*remote_permissions'
        type: struct AccessControlTable
      - name: '*dispatcher'
        type: struct dds_security_timed_dispatcher
      - name: '*listener'
        type: dds_security_access_control_listener
      item_type: struct
      name: dds_security_access_control_impl
      pos:
        line_end: 62
        line_start: 48
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - fields:
      - name: '*object'
        type: AccessControlObject
      - name: handle
        type: DDS_Security_IdentityHandle
      item_type: struct
      name: find_by_identity_arg
      pos:
        line_end: 1726
        line_start: 1722
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - fields:
      - name: '*object'
        type: AccessControlObject
      - name: handle
        type: DDS_Security_PermissionsHandle
      item_type: struct
      name: find_by_permissions_handle_arg
      pos:
        line_end: 1807
        line_start: 1803
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - fields:
      - name: '*ac'
        type: dds_security_access_control_impl
      - name: hdl
        type: DDS_Security_PermissionsHandle
      item_type: struct
      name: validity_cb_info
      pos:
        line_end: 1841
        line_start: 1837
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    - fields:
      - name: '*grant'
        type: struct grant
      - name: domain_id
        type: int
      - name: '*rule'
        type: struct allow_deny_rule
      item_type: struct
      name: rule_iter
      pos:
        line_end: 1977
        line_start: 1973
        source_file: /src/cyclonedds/src/security/builtin_plugins/access_control/src/access_control.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: register_local_participant
        type: DDS_Security_crypto_key_factory_register_local_participant
      - name: register_matched_remote_participant
        type: DDS_Security_crypto_key_factory_register_matched_remote_participant
      - name: register_local_datawriter
        type: DDS_Security_crypto_key_factory_register_local_datawriter
      - name: register_matched_remote_datareader
        type: DDS_Security_crypto_key_factory_register_matched_remote_datareader
      - name: register_local_datareader
        type: DDS_Security_crypto_key_factory_register_local_datareader
      - name: register_matched_remote_datawriter
        type: DDS_Security_crypto_key_factory_register_matched_remote_datawriter
      - name: unregister_participant
        type: DDS_Security_crypto_key_factory_unregister_participant
      - name: unregister_datawriter
        type: DDS_Security_crypto_key_factory_unregister_datawriter
      - name: unregister_datareader
        type: DDS_Security_crypto_key_factory_unregister_datareader
      item_type: struct
      name: dds_security_crypto_key_factory
      pos:
        line_end: 102
        line_start: 91
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
    - fields:
      - name: create_local_participant_crypto_tokens
        type: DDS_Security_crypto_key_exchange_create_local_participant_crypto_tokens
      - name: set_remote_participant_crypto_tokens
        type: DDS_Security_crypto_key_exchange_set_remote_participant_crypto_tokens
      - name: create_local_datawriter_crypto_tokens
        type: DDS_Security_crypto_key_exchange_create_local_datawriter_crypto_tokens
      - name: set_remote_datawriter_crypto_tokens
        type: DDS_Security_crypto_key_exchange_set_remote_datawriter_crypto_tokens
      - name: create_local_datareader_crypto_tokens
        type: DDS_Security_crypto_key_exchange_create_local_datareader_crypto_tokens
      - name: set_remote_datareader_crypto_tokens
        type: DDS_Security_crypto_key_exchange_set_remote_datareader_crypto_tokens
      - name: return_crypto_tokens
        type: DDS_Security_crypto_key_exchange_return_crypto_tokens
      item_type: struct
      name: dds_security_crypto_key_exchange
      pos:
        line_end: 161
        line_start: 152
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
    - fields:
      - name: encode_serialized_payload
        type: DDS_Security_crypto_transform_encode_serialized_payload
      - name: encode_datawriter_submessage
        type: DDS_Security_crypto_transform_encode_datawriter_submessage
      - name: encode_datareader_submessage
        type: DDS_Security_crypto_transform_encode_datareader_submessage
      - name: encode_rtps_message
        type: DDS_Security_crypto_transform_encode_rtps_message
      - name: decode_rtps_message
        type: DDS_Security_crypto_transform_decode_rtps_message
      - name: preprocess_secure_submsg
        type: DDS_Security_crypto_transform_preprocess_secure_submsg
      - name: decode_datawriter_submessage
        type: DDS_Security_crypto_transform_decode_datawriter_submessage
      - name: decode_datareader_submessage
        type: DDS_Security_crypto_transform_decode_datareader_submessage
      - name: decode_serialized_payload
        type: DDS_Security_crypto_transform_decode_serialized_payload
      item_type: struct
      name: dds_security_crypto_transform
      pos:
        line_end: 252
        line_start: 241
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*crypto_transform'
        type: dds_security_crypto_transform
      - name: '*crypto_key_factory'
        type: dds_security_crypto_key_factory
      - name: '*crypto_key_exchange'
        type: dds_security_crypto_key_exchange
      item_type: struct
      name: dds_security_cryptography
      pos:
        line_end: 261
        line_start: 254
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
    typedefs:
    - item_type: typedef
      name: dds_security_crypto_key_factory
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: dds_security_crypto_key_factory
    - item_type: typedef
      name: dds_security_crypto_key_exchange
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: dds_security_crypto_key_exchange
    - item_type: typedef
      name: dds_security_crypto_transform
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: dds_security_crypto_transform
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_local_participant)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_IdentityHandle participant_identity,\n
        \   const DDS_Security_PermissionsHandle participant_permissions,\n    const
        DDS_Security_PropertySeq *participant_properties,\n    const DDS_Security_ParticipantSecurityAttributes
        *participant_security_attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_ParticipantCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_matched_remote_participant)(\n
        \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_ParticipantCryptoHandle
        local_participant_crypto_handle,\n    const DDS_Security_IdentityHandle remote_participant_identity,\n
        \   const DDS_Security_PermissionsHandle remote_participant_permissions,\n
        \   const DDS_Security_SharedSecretHandle shared_secret,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_ParticipantCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_local_datawriter)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto,\n
        \   const DDS_Security_PropertySeq *datawriter_properties,\n    const DDS_Security_EndpointSecurityAttributes
        *datawriter_security_attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_DatawriterCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_matched_remote_datareader)(\n
        \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatawriterCryptoHandle
        local_datawriter_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
        remote_participant_crypto,\n    const DDS_Security_SharedSecretHandle shared_secret,\n
        \   const DDS_Security_boolean relay_only,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_DatareaderCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_local_datareader)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
        \   const DDS_Security_PropertySeq *datareader_properties,\n    const DDS_Security_EndpointSecurityAttributes
        *datareader_security_attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_DatareaderCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_register_matched_remote_datawriter)(\n
        \   dds_security_crypto_key_factory *instance,\n    const DDS_Security_DatareaderCryptoHandle
        local_datareader_crypto_handle,\n    const DDS_Security_ParticipantCryptoHandle
        remote_participant_crypt,\n    const DDS_Security_SharedSecretHandle shared_secret,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_DatawriterCryptoHandle
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_unregister_participant)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_ParticipantCryptoHandle participant_crypto_handle,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_unregister_datawriter)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_DatawriterCryptoHandle datawriter_crypto_handle,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 84
        line_start: 81
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_factory_unregister_datareader)(\n    dds_security_crypto_key_factory
        *instance,\n    const DDS_Security_DatareaderCryptoHandle datareader_crypto_handle,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 89
        line_start: 86
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_create_local_participant_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    DDS_Security_ParticipantCryptoTokenSeq
        *local_participant_crypto_tokens,\n    const DDS_Security_ParticipantCryptoHandle
        local_participant_crypto,\n    const DDS_Security_ParticipantCryptoHandle
        remote_participant_crypto,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 110
        line_start: 105
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_set_remote_participant_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    const DDS_Security_ParticipantCryptoHandle
        local_participant_crypto,\n    const DDS_Security_ParticipantCryptoHandle
        remote_participant_crypto,\n    const DDS_Security_ParticipantCryptoTokenSeq
        *remote_participant_tokens,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_create_local_datawriter_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    DDS_Security_DatawriterCryptoTokenSeq
        *local_datawriter_crypto_tokens,\n    const DDS_Security_DatawriterCryptoHandle
        local_datawriter_crypto,\n    const DDS_Security_DatareaderCryptoHandle remote_datareader_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 124
        line_start: 119
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_set_remote_datawriter_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    const DDS_Security_DatareaderCryptoHandle
        local_datareader_crypto,\n    const DDS_Security_DatawriterCryptoHandle remote_datawriter_crypto,\n
        \   const DDS_Security_DatawriterCryptoTokenSeq *remote_datawriter_tokens,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 131
        line_start: 126
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_create_local_datareader_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    DDS_Security_DatareaderCryptoTokenSeq
        *local_datareader_cryto_tokens,\n    const DDS_Security_DatareaderCryptoHandle
        local_datareader_crypto,\n    const DDS_Security_DatawriterCryptoHandle remote_datawriter_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 138
        line_start: 133
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_set_remote_datareader_crypto_tokens)(\n
        \   dds_security_crypto_key_exchange *instance,\n    const DDS_Security_DatawriterCryptoHandle
        local_datawriter_crypto,\n    const DDS_Security_DatareaderCryptoHandle remote_datareader_crypto,\n
        \   const DDS_Security_DatareaderCryptoTokenSeq *remote_datareader_tokens,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_key_exchange_return_crypto_tokens)(\n    dds_security_crypto_key_exchange
        *instance,\n    DDS_Security_CryptoTokenSeq *crypto_tokens,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_encode_serialized_payload)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *encoded_buffer,\n    DDS_Security_OctetSeq
        *extra_inline_qos,\n    const DDS_Security_OctetSeq *plain_buffer,\n    const
        DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 170
        line_start: 164
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_encode_datawriter_submessage)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const
        DDS_Security_OctetSeq *plain_rtps_submessage,\n    const DDS_Security_DatawriterCryptoHandle
        sending_datawriter_crypto,\n    const DDS_Security_DatareaderCryptoHandleSeq
        *receiving_datareader_crypto_list,\n    DDS_Security_long *receiving_datareader_crypto_list_index,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 179
        line_start: 172
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_encode_datareader_submessage)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *encoded_rtps_submessage,\n    const
        DDS_Security_OctetSeq *plain_rtps_submessage,\n    const DDS_Security_DatareaderCryptoHandle
        sending_datareader_crypto,\n    const DDS_Security_DatawriterCryptoHandleSeq
        *receiving_datawriter_crypto_list,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 187
        line_start: 181
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_encode_rtps_message)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *encoded_rtps_message,\n    const DDS_Security_OctetSeq
        *plain_rtps_message,\n    const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
        \   const DDS_Security_ParticipantCryptoHandleSeq *receiving_participant_crypto_list,\n
        \   DDS_Security_long *receiving_participant_crypto_list_index,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 196
        line_start: 189
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_decode_rtps_message)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *plain_buffer,\n    const DDS_Security_OctetSeq
        *encoded_buffer,\n    const DDS_Security_ParticipantCryptoHandle receiving_participant_crypto,\n
        \   const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 204
        line_start: 198
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_preprocess_secure_submsg)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_DatawriterCryptoHandle *datawriter_crypto,\n
        \   DDS_Security_DatareaderCryptoHandle *datareader_crypto,\n    DDS_Security_SecureSubmessageCategory_t
        *secure_submessage_category,\n    const DDS_Security_OctetSeq *encoded_rtps_submessage,\n
        \   const DDS_Security_ParticipantCryptoHandle receiving_participant_crypto,\n
        \   const DDS_Security_ParticipantCryptoHandle sending_participant_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 214
        line_start: 206
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_decode_datawriter_submessage)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *plain_rtps_submessage,\n    const DDS_Security_OctetSeq
        *encoded_rtps_submessage,\n    const DDS_Security_DatareaderCryptoHandle receiving_datareader_crypto,\n
        \   const DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 222
        line_start: 216
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_decode_datareader_submessage)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *plain_rtps_message,\n    const DDS_Security_OctetSeq
        *encoded_rtps_message,\n    const DDS_Security_DatawriterCryptoHandle receiving_datawriter_crypto,\n
        \   const DDS_Security_DatareaderCryptoHandle sending_datareader_crypto,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 230
        line_start: 224
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_crypto_transform_decode_serialized_payload)(\n    dds_security_crypto_transform
        *instance,\n    DDS_Security_OctetSeq *plain_buffer,\n    const DDS_Security_OctetSeq
        *encoded_buffer,\n    const DDS_Security_OctetSeq *inline_qos,\n    const
        DDS_Security_DatareaderCryptoHandle receiving_datareader_crypto,\n    const
        DDS_Security_DatawriterCryptoHandle sending_datawriter_crypto,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 239
        line_start: 232
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_cryptography.h
      type: DDS_Security_boolean
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: on_revoke_permissions
        type: DDS_Security_access_control_listener_on_revoke_permissions
      item_type: struct
      name: dds_security_access_control_listener
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: validate_local_permissions
        type: DDS_Security_access_control_validate_local_permissions
      - name: validate_remote_permissions
        type: DDS_Security_access_control_validate_remote_permissions
      - name: check_create_participant
        type: DDS_Security_access_control_check_create_participant
      - name: check_create_datawriter
        type: DDS_Security_access_control_check_create_datawriter
      - name: check_create_datareader
        type: DDS_Security_access_control_check_create_datareader
      - name: check_create_topic
        type: DDS_Security_access_control_check_create_topic
      - name: check_local_datawriter_register_instance
        type: DDS_Security_access_control_check_local_datawriter_register_instance
      - name: check_local_datawriter_dispose_instance
        type: DDS_Security_access_control_check_local_datawriter_dispose_instance
      - name: check_remote_participant
        type: DDS_Security_access_control_check_remote_participant
      - name: check_remote_datawriter
        type: DDS_Security_access_control_check_remote_datawriter
      - name: check_remote_datareader
        type: DDS_Security_access_control_check_remote_datareader
      - name: check_remote_topic
        type: DDS_Security_access_control_check_remote_topic
      - name: check_local_datawriter_match
        type: DDS_Security_access_control_check_local_datawriter_match
      - name: check_local_datareader_match
        type: DDS_Security_access_control_check_local_datareader_match
      - name: check_remote_datawriter_register_instance
        type: DDS_Security_access_control_check_remote_datawriter_register_instance
      - name: check_remote_datawriter_dispose_instance
        type: DDS_Security_access_control_check_remote_datawriter_dispose_instance
      - name: get_permissions_token
        type: DDS_Security_access_control_get_permissions_token
      - name: get_permissions_credential_token
        type: DDS_Security_access_control_get_permissions_credential_token
      - name: set_listener
        type: DDS_Security_access_control_set_listener
      - name: return_permissions_token
        type: DDS_Security_access_control_return_permissions_token
      - name: return_permissions_credential_token
        type: DDS_Security_access_control_return_permissions_credential_token
      - name: get_participant_sec_attributes
        type: DDS_Security_access_control_get_participant_sec_attributes
      - name: get_topic_sec_attributes
        type: DDS_Security_access_control_get_topic_sec_attributes
      - name: get_datawriter_sec_attributes
        type: DDS_Security_access_control_get_datawriter_sec_attributes
      - name: get_datareader_sec_attributes
        type: DDS_Security_access_control_get_datareader_sec_attributes
      - name: return_participant_sec_attributes
        type: DDS_Security_access_control_return_participant_sec_attributes
      - name: return_topic_sec_attributes
        type: DDS_Security_access_control_return_topic_sec_attributes
      - name: return_datawriter_sec_attributes
        type: DDS_Security_access_control_return_datawriter_sec_attributes
      - name: return_datareader_sec_attributes
        type: DDS_Security_access_control_return_datareader_sec_attributes
      - name: return_permissions_handle
        type: DDS_Security_access_control_return_permissions_handle
      item_type: struct
      name: dds_security_access_control
      pos:
        line_end: 285
        line_start: 251
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
    typedefs:
    - item_type: typedef
      name: dds_security_access_control
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: dds_security_access_control
    - item_type: typedef
      name: dds_security_access_control_listener
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: dds_security_access_control_listener
    - item_type: typedef
      name: "(*DDS_Security_access_control_listener_on_revoke_permissions)(\n    const
        dds_security_access_control *plugin,\n    const DDS_Security_PermissionsHandle
        handle)"
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_validate_local_permissions)(\n    dds_security_access_control
        *instance,\n    const dds_security_authentication *auth_plugin,\n    const
        DDS_Security_IdentityHandle identity,\n    const DDS_Security_DomainId domain_id,\n
        \   const DDS_Security_Qos *participant_qos,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_PermissionsHandle
    - item_type: typedef
      name: "(*DDS_Security_access_control_validate_remote_permissions)(\n    dds_security_access_control
        *instance,\n    const dds_security_authentication *auth_plugin,\n    const
        DDS_Security_IdentityHandle local_identity_handle,\n    const DDS_Security_IdentityHandle
        remote_identity_handle,\n    const DDS_Security_PermissionsToken *remote_permissions_token,\n
        \   const DDS_Security_AuthenticatedPeerCredentialToken *remote_credential_token,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_PermissionsHandle
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_create_participant)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_Qos *participant_qos,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_create_datawriter)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_char *topic_name,\n
        \   const DDS_Security_Qos *writer_qos,\n    const DDS_Security_PartitionQosPolicy
        *partition,\n    const DDS_Security_DataTags *data_tag,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 72
        line_start: 64
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_create_datareader)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_char *topic_name,\n
        \   const DDS_Security_Qos *reader_qos,\n    const DDS_Security_PartitionQosPolicy
        *partition,\n    const DDS_Security_DataTags *data_tag,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 82
        line_start: 74
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_create_topic)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_char *topic_name,\n
        \   const DDS_Security_Qos *topic_qos,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_local_datawriter_register_instance)(\n
        \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
        permissions_handle,\n    const DDS_Security_Entity *writer,\n    const DDS_Security_DynamicData
        *key,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 97
        line_start: 92
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_local_datawriter_dispose_instance)(\n
        \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
        permissions_handle,\n    const DDS_Security_Entity *writer,\n    const DDS_Security_DynamicData
        key,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 104
        line_start: 99
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_participant)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_ParticipantBuiltinTopicDataSecure
        *participant_data,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_datawriter)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_PublicationBuiltinTopicDataSecure
        *publication_data,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 118
        line_start: 113
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_datareader)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_SubscriptionBuiltinTopicDataSecure
        *subscription_data,\n    DDS_Security_boolean *relay_only,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 126
        line_start: 120
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_topic)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_DomainId domain_id,\n    const DDS_Security_TopicBuiltinTopicData
        *topic_data,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_local_datawriter_match)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle writer_permissions_handle,\n
        \   const DDS_Security_PermissionsHandle reader_permissions_handle,\n    const
        DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    const
        DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 141
        line_start: 135
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_local_datareader_match)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle reader_permissions_handle,\n
        \   const DDS_Security_PermissionsHandle writer_permissions_handle,\n    const
        DDS_Security_SubscriptionBuiltinTopicDataSecure *subscription_data,\n    const
        DDS_Security_PublicationBuiltinTopicDataSecure *publication_data,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 149
        line_start: 143
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_datawriter_register_instance)(\n
        \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
        permissions_handle,\n    const DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle
        publication_handle,\n    const DDS_Security_DynamicData key,\n    const DDS_Security_InstanceHandle
        instance_handle,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_check_remote_datawriter_dispose_instance)(\n
        \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsHandle
        permissions_handle,\n    const DDS_Security_Entity *reader,\n    const DDS_Security_InstanceHandle
        publication_handle,\n    const DDS_Security_DynamicData key,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 166
        line_start: 160
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_permissions_token)(\n    dds_security_access_control
        *instance,\n    DDS_Security_PermissionsToken *permissions_token,\n    const
        DDS_Security_PermissionsHandle handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_permissions_credential_token)(\n    dds_security_access_control
        *instance,\n    DDS_Security_PermissionsCredentialToken *permissions_credential_token,\n
        \   const DDS_Security_PermissionsHandle handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 178
        line_start: 174
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_set_listener)(\n    dds_security_access_control
        *instance,\n    const dds_security_access_control_listener *listener,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 183
        line_start: 180
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_permissions_token)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsToken *token,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 188
        line_start: 185
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_permissions_credential_token)(\n
        \   dds_security_access_control *instance,\n    const DDS_Security_PermissionsCredentialToken
        *permissions_credential_token,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 193
        line_start: 190
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_participant_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   DDS_Security_ParticipantSecurityAttributes *attributes,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 199
        line_start: 195
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_topic_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_char *topic_name,\n    DDS_Security_TopicSecurityAttributes
        *attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 206
        line_start: 201
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_datawriter_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_char *topic_name,\n    const DDS_Security_PartitionQosPolicy
        *partition,\n    const DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
        *attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 215
        line_start: 208
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_get_datareader_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_PermissionsHandle permissions_handle,\n
        \   const DDS_Security_char *topic_name,\n    const DDS_Security_PartitionQosPolicy
        *partition,\n    const DDS_Security_DataTagQosPolicy *data_tag,\n    DDS_Security_EndpointSecurityAttributes
        *attributes,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 224
        line_start: 217
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_participant_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_ParticipantSecurityAttributes *attributes,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 229
        line_start: 226
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_topic_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_TopicSecurityAttributes *attributes,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 234
        line_start: 231
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_datawriter_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 239
        line_start: 236
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_datareader_sec_attributes)(\n    dds_security_access_control
        *instance,\n    const DDS_Security_EndpointSecurityAttributes *attributes,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 244
        line_start: 241
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_access_control_return_permissions_handle)(\n    dds_security_access_control
        *instance,\n    DDS_Security_PermissionsHandle permissions_handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 249
        line_start: 246
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_access_control.h
      type: DDS_Security_boolean
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*plugin_init)(const char *argument, void **context, struct ddsi_domaingv
        *gv)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api.h
      type: int
    - item_type: typedef
      name: (*plugin_finalize)(void *context)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_octet
      item_type: struct
      name: DDS_Security_OctetSeq
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_string
      item_type: struct
      name: DDS_Security_StringSeq
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_long_long
      item_type: struct
      name: DDS_Security_LongLongSeq
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: message
        type: DDS_Security_string
      - name: code
        type: DDS_Security_long
      - name: minor_code
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_SecurityException
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: entityKey[3]
        type: DDS_Security_octet
      - name: entityKind
        type: DDS_Security_octet
      item_type: struct
      name: DDS_Security_EntityId_t
      pos:
        line_end: 110
        line_start: 107
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: prefix
        type: DDS_Security_GuidPrefix_t
      - name: entityId
        type: DDS_Security_EntityId_t
      item_type: struct
      name: DDS_Security_GUID_t
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: sec
        type: DDS_Security_long
      - name: nanosec
        type: DDS_Security_unsigned_long
      item_type: struct
      name: DDS_Security_Duration_t
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: name
        type: DDS_Security_string
      - name: value
        type: DDS_Security_string
      - name: propagate
        type: DDS_Security_boolean
      item_type: struct
      name: DDS_Security_Property_t
      pos:
        line_end: 134
        line_start: 130
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_Property_t
      item_type: struct
      name: DDS_Security_PropertySeq
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: name
        type: DDS_Security_string
      - name: value
        type: DDS_Security_OctetSeq
      - name: propagate
        type: DDS_Security_boolean
      item_type: struct
      name: DDS_Security_BinaryProperty_t
      pos:
        line_end: 146
        line_start: 142
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_BinaryProperty_t
      item_type: struct
      name: DDS_Security_BinaryPropertySeq
      pos:
        line_end: 152
        line_start: 148
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: name
        type: DDS_Security_string
      - name: value
        type: DDS_Security_string
      item_type: struct
      name: DDS_Security_Tag
      pos:
        line_end: 165
        line_start: 162
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_Tag
      item_type: struct
      name: DDS_Security_TagSeq
      pos:
        line_end: 171
        line_start: 167
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: tags
        type: DDS_Security_TagSeq
      item_type: struct
      name: DDS_Security_DataTags
      pos:
        line_end: 175
        line_start: 173
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: allow_unauthenticated_participants
        type: DDS_Security_boolean
      - name: is_access_protected
        type: DDS_Security_boolean
      - name: is_rtps_protected
        type: DDS_Security_boolean
      - name: is_discovery_protected
        type: DDS_Security_boolean
      - name: is_liveliness_protected
        type: DDS_Security_boolean
      - name: plugin_participant_attributes
        type: DDS_Security_ParticipantSecurityAttributesMask
      - name: ac_endpoint_properties
        type: DDS_Security_PropertySeq
      item_type: struct
      name: DDS_Security_ParticipantSecurityAttributes
      pos:
        line_end: 199
        line_start: 191
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: is_read_protected
        type: DDS_Security_boolean
      - name: is_write_protected
        type: DDS_Security_boolean
      - name: is_discovery_protected
        type: DDS_Security_boolean
      - name: is_liveliness_protected
        type: DDS_Security_boolean
      item_type: struct
      name: DDS_Security_TopicSecurityAttributes
      pos:
        line_end: 206
        line_start: 201
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: is_read_protected
        type: DDS_Security_boolean
      - name: is_write_protected
        type: DDS_Security_boolean
      - name: is_discovery_protected
        type: DDS_Security_boolean
      - name: is_liveliness_protected
        type: DDS_Security_boolean
      - name: is_submessage_protected
        type: DDS_Security_boolean
      - name: is_payload_protected
        type: DDS_Security_boolean
      - name: is_key_protected
        type: DDS_Security_boolean
      - name: plugin_endpoint_attributes
        type: DDS_Security_PluginEndpointSecurityAttributesMask
      - name: ac_endpoint_properties
        type: DDS_Security_PropertySeq
      item_type: struct
      name: DDS_Security_EndpointSecurityAttributes
      pos:
        line_end: 218
        line_start: 208
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: participant_security_attributes
        type: DDS_Security_ParticipantSecurityAttributesMask
      - name: plugin_participant_security_attributes
        type: DDS_Security_PluginParticipantSecurityAttributesMask
      item_type: struct
      name: DDS_Security_ParticipantSecurityInfo
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: endpoint_security_mask
        type: DDS_Security_EndpointSecurityAttributesMask
      - name: plugin_endpoint_security_mask
        type: DDS_Security_PluginEndpointSecurityAttributesMask
      item_type: struct
      name: DDS_Security_EndpointSecurityInfo
      pos:
        line_end: 228
        line_start: 225
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: class_id
        type: DDS_Security_string
      - name: properties
        type: DDS_Security_PropertySeq
      - name: binary_properties
        type: DDS_Security_BinaryPropertySeq
      item_type: struct
      name: DDS_Security_DataHolder
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: _maximum
        type: DDS_Security_unsigned_long
      - name: _length
        type: DDS_Security_unsigned_long
      - name: '*_buffer'
        type: DDS_Security_DataHolder
      item_type: struct
      name: DDS_Security_DataHolderSeq
      pos:
        line_end: 248
        line_start: 244
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_PropertySeq
      - name: binary_value
        type: DDS_Security_BinaryPropertySeq
      item_type: struct
      name: DDS_Security_PropertyQosPolicy
      pos:
        line_end: 283
        line_start: 280
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_DurabilityQosPolicyKind
      item_type: struct
      name: DDS_Security_DurabilityQosPolicy
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: period
        type: DDS_Security_Duration_t
      item_type: struct
      name: DDS_Security_DeadlineQosPolicy
      pos:
        line_end: 291
        line_start: 289
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: duration
        type: DDS_Security_Duration_t
      item_type: struct
      name: DDS_Security_LatencyBudgetQosPolicy
      pos:
        line_end: 295
        line_start: 293
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_OwnershipQosPolicyKind
      item_type: struct
      name: DDS_Security_OwnershipQosPolicy
      pos:
        line_end: 299
        line_start: 297
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_LivelinessQosPolicyKind
      - name: lease_duration
        type: DDS_Security_Duration_t
      item_type: struct
      name: DDS_Security_LivelinessQosPolicy
      pos:
        line_end: 304
        line_start: 301
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_ReliabilityQosPolicyKind
      - name: max_blocking_time
        type: DDS_Security_Duration_t
      - name: synchronous
        type: DDS_Security_boolean
      item_type: struct
      name: DDS_Security_ReliabilityQosPolicy
      pos:
        line_end: 310
        line_start: 306
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: duration
        type: DDS_Security_Duration_t
      item_type: struct
      name: DDS_Security_LifespanQosPolicy
      pos:
        line_end: 314
        line_start: 312
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_DestinationOrderQosPolicyKind
      item_type: struct
      name: DDS_Security_DestinationOrderQosPolicy
      pos:
        line_end: 318
        line_start: 316
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_OctetSeq
      item_type: struct
      name: DDS_Security_UserDataQosPolicy
      pos:
        line_end: 322
        line_start: 320
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_OwnershipStrengthQosPolicy
      pos:
        line_end: 326
        line_start: 324
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: access_scope
        type: DDS_Security_PresentationQosPolicyAccessScopeKind
      - name: coherent_access
        type: DDS_Security_boolean
      - name: ordered_access
        type: DDS_Security_boolean
      item_type: struct
      name: DDS_Security_PresentationQosPolicy
      pos:
        line_end: 332
        line_start: 328
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: name
        type: DDS_Security_StringSeq
      item_type: struct
      name: DDS_Security_PartitionQosPolicy
      pos:
        line_end: 336
        line_start: 334
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_OctetSeq
      item_type: struct
      name: DDS_Security_TopicDataQosPolicy
      pos:
        line_end: 340
        line_start: 338
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_OctetSeq
      item_type: struct
      name: DDS_Security_GroupDataQosPolicy
      pos:
        line_end: 344
        line_start: 342
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: minimum_separation
        type: DDS_Security_Duration_t
      item_type: struct
      name: DDS_Security_TimeBasedFilterQosPolicy
      pos:
        line_end: 348
        line_start: 346
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: service_cleanup_delay
        type: DDS_Security_Duration_t
      - name: history_kind
        type: DDS_Security_HistoryQosPolicyKind
      - name: history_depth
        type: DDS_Security_long
      - name: max_samples
        type: DDS_Security_long
      - name: max_instances
        type: DDS_Security_long
      - name: max_samples_per_instance
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_DurabilityServiceQosPolicy
      pos:
        line_end: 357
        line_start: 350
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: value
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_TransportPriorityQosPolicy
      pos:
        line_end: 361
        line_start: 359
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: kind
        type: DDS_Security_HistoryQosPolicyKind
      - name: depth
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_HistoryQosPolicy
      pos:
        line_end: 366
        line_start: 363
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: max_samples
        type: DDS_Security_long
      - name: max_instances
        type: DDS_Security_long
      - name: max_samples_per_instance
        type: DDS_Security_long
      item_type: struct
      name: DDS_Security_ResourceLimitsQosPolicy
      pos:
        line_end: 372
        line_start: 368
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: property
        type: DDS_Security_PropertyQosPolicy
      - name: data_tags
        type: DDS_Security_DataTagQosPolicy
      item_type: struct
      name: DDS_Security_Qos
      pos:
        line_end: 386
        line_start: 382
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: key
        type: DDS_Security_BuiltinTopicKey_t
      - name: participant_key
        type: DDS_Security_BuiltinTopicKey_t
      - name: topic_name
        type: DDS_Security_string
      - name: type_name
        type: DDS_Security_string
      - name: durability
        type: DDS_Security_DurabilityQosPolicy
      - name: deadline
        type: DDS_Security_DeadlineQosPolicy
      - name: latency_budget
        type: DDS_Security_LatencyBudgetQosPolicy
      - name: liveliness
        type: DDS_Security_LivelinessQosPolicy
      - name: reliability
        type: DDS_Security_ReliabilityQosPolicy
      - name: lifespan
        type: DDS_Security_LifespanQosPolicy
      - name: destination_order
        type: DDS_Security_DestinationOrderQosPolicy
      - name: user_data
        type: DDS_Security_UserDataQosPolicy
      - name: ownership
        type: DDS_Security_OwnershipQosPolicy
      - name: ownership_strength
        type: DDS_Security_OwnershipStrengthQosPolicy
      - name: presentation
        type: DDS_Security_PresentationQosPolicy
      - name: partition
        type: DDS_Security_PartitionQosPolicy
      - name: topic_data
        type: DDS_Security_TopicDataQosPolicy
      - name: group_data
        type: DDS_Security_GroupDataQosPolicy
      - name: security_info
        type: DDS_Security_EndpointSecurityInfo
      - name: data_tags
        type: DDS_Security_DataTags
      item_type: struct
      name: DDS_Security_PublicationBuiltinTopicDataSecure
      pos:
        line_end: 417
        line_start: 396
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: key
        type: DDS_Security_BuiltinTopicKey_t
      - name: participant_key
        type: DDS_Security_BuiltinTopicKey_t
      - name: topic_name
        type: DDS_Security_string
      - name: type_name
        type: DDS_Security_string
      - name: durability
        type: DDS_Security_DurabilityQosPolicy
      - name: deadline
        type: DDS_Security_DeadlineQosPolicy
      - name: latency_budget
        type: DDS_Security_LatencyBudgetQosPolicy
      - name: liveliness
        type: DDS_Security_LivelinessQosPolicy
      - name: reliability
        type: DDS_Security_ReliabilityQosPolicy
      - name: ownership
        type: DDS_Security_OwnershipQosPolicy
      - name: destination_order
        type: DDS_Security_DestinationOrderQosPolicy
      - name: user_data
        type: DDS_Security_UserDataQosPolicy
      - name: time_based_filter
        type: DDS_Security_TimeBasedFilterQosPolicy
      - name: presentation
        type: DDS_Security_PresentationQosPolicy
      - name: partition
        type: DDS_Security_PartitionQosPolicy
      - name: topic_data
        type: DDS_Security_TopicDataQosPolicy
      - name: group_data
        type: DDS_Security_GroupDataQosPolicy
      - name: security_info
        type: DDS_Security_EndpointSecurityInfo
      - name: data_tags
        type: DDS_Security_DataTags
      item_type: struct
      name: DDS_Security_SubscriptionBuiltinTopicDataSecure
      pos:
        line_end: 439
        line_start: 419
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: key
        type: DDS_Security_BuiltinTopicKey_t
      - name: name
        type: DDS_Security_string
      - name: type_name
        type: DDS_Security_string
      - name: durability
        type: DDS_Security_DurabilityQosPolicy
      - name: durability_service
        type: DDS_Security_DurabilityServiceQosPolicy
      - name: deadline
        type: DDS_Security_DeadlineQosPolicy
      - name: latency_budget
        type: DDS_Security_LatencyBudgetQosPolicy
      - name: liveliness
        type: DDS_Security_LivelinessQosPolicy
      - name: reliability
        type: DDS_Security_ReliabilityQosPolicy
      - name: transport_priority
        type: DDS_Security_TransportPriorityQosPolicy
      - name: lifespan
        type: DDS_Security_LifespanQosPolicy
      - name: destination_order
        type: DDS_Security_DestinationOrderQosPolicy
      - name: history
        type: DDS_Security_HistoryQosPolicy
      - name: resource_limits
        type: DDS_Security_ResourceLimitsQosPolicy
      - name: ownership
        type: DDS_Security_OwnershipQosPolicy
      - name: topic_data
        type: DDS_Security_TopicDataQosPolicy
      item_type: struct
      name: DDS_Security_TopicBuiltinTopicData
      pos:
        line_end: 458
        line_start: 441
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: key
        type: DDS_Security_BuiltinTopicKey_t
      - name: user_data
        type: DDS_Security_UserDataQosPolicy
      - name: identity_token
        type: DDS_Security_IdentityToken
      - name: permissions_token
        type: DDS_Security_PermissionsToken
      - name: property
        type: DDS_Security_PropertyQosPolicy
      - name: security_info
        type: DDS_Security_ParticipantSecurityInfo
      item_type: struct
      name: DDS_Security_ParticipantBuiltinTopicData
      pos:
        line_end: 467
        line_start: 460
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    - fields:
      - name: key
        type: DDS_Security_BuiltinTopicKey_t
      - name: user_data
        type: DDS_Security_UserDataQosPolicy
      - name: identity_token
        type: DDS_Security_IdentityToken
      - name: permissions_token
        type: DDS_Security_PermissionsToken
      - name: property
        type: DDS_Security_PropertyQosPolicy
      - name: security_info
        type: DDS_Security_ParticipantSecurityInfo
      - name: identity_status_token
        type: DDS_Security_IdentityStatusToken
      item_type: struct
      name: DDS_Security_ParticipantBuiltinTopicDataSecure
      pos:
        line_end: 477
        line_start: 469
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
    typedefs:
    - item_type: typedef
      name: DDS_Security_short
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: int16_t
    - item_type: typedef
      name: DDS_Security_long
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: int32_t
    - item_type: typedef
      name: DDS_Security_long_long
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: int64_t
    - item_type: typedef
      name: DDS_Security_unsigned_short
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: uint16_t
    - item_type: typedef
      name: DDS_Security_unsigned_long
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: uint32_t
    - item_type: typedef
      name: DDS_Security_unsigned_long_long
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: uint64_t
    - item_type: typedef
      name: DDS_Security_float
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: float
    - item_type: typedef
      name: DDS_Security_double
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: double
    - item_type: typedef
      name: DDS_Security_long_double
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: long double
    - item_type: typedef
      name: DDS_Security_char
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: char
    - item_type: typedef
      name: DDS_Security_octet
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: unsigned char
    - item_type: typedef
      name: DDS_Security_boolean
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: unsigned char
    - item_type: typedef
      name: '*     DDS_Security_string'
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_char
    - item_type: typedef
      name: '*                  DDS_Security_Object'
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: void
    - item_type: typedef
      name: DDS_Security_IdentityHandle
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_InstanceHandle
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_HandshakeHandle
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_SharedSecretHandle
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_PermissionsHandle
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_CryptoHandle
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_ParticipantCryptoHandle
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_DatawriterCryptoHandle
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_DatareaderCryptoHandle
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long_long
    - item_type: typedef
      name: DDS_Security_DynamicData
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long
    - item_type: typedef
      name: DDS_Security_DomainId
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long
    - item_type: typedef
      name: DDS_Security_Entity
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_long
    - item_type: typedef
      name: DDS_Security_BuiltinTopicKey_t[3]
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_unsigned_long
    - item_type: typedef
      name: DDS_Security_GuidPrefix_t[12]
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_octet
    - item_type: typedef
      name: DDS_Security_CryptoHandleSeq
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_LongLongSeq
    - item_type: typedef
      name: DDS_Security_ParticipantCryptoHandleSeq
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_LongLongSeq
    - item_type: typedef
      name: DDS_Security_DatawriterCryptoHandleSeq
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_LongLongSeq
    - item_type: typedef
      name: DDS_Security_DatareaderCryptoHandleSeq
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_LongLongSeq
    - item_type: typedef
      name: DDS_Security_EndpointSecurityAttributesMask
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_unsigned_long
    - item_type: typedef
      name: DDS_Security_PluginEndpointSecurityAttributesMask
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_unsigned_long
    - item_type: typedef
      name: DDS_Security_ParticipantSecurityAttributesMask
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_unsigned_long
    - item_type: typedef
      name: DDS_Security_PluginParticipantSecurityAttributesMask
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_unsigned_long
    - item_type: typedef
      name: DDS_Security_Token
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_MessageToken
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_IdentityToken
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_PermissionsToken
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_IdentityStatusToken
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_AuthRequestMessageToken
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_HandshakeMessageToken
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_AuthenticatedPeerCredentialToken
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_PermissionsCredentialToken
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_CryptoToken
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_ParticipantCryptoToken
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_DatawriterCryptoToken
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_DatareaderCryptoToken
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolder
    - item_type: typedef
      name: DDS_Security_CryptoTokenSeq
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataHolderSeq
    - item_type: typedef
      name: DDS_Security_ParticipantCryptoTokenSeq
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_CryptoTokenSeq
    - item_type: typedef
      name: DDS_Security_DatareaderCryptoTokenSeq
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_CryptoTokenSeq
    - item_type: typedef
      name: DDS_Security_DatawriterCryptoTokenSeq
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_CryptoTokenSeq
    - item_type: typedef
      name: DDS_Security_DataTagQosPolicy
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_types.h
      type: DDS_Security_DataTags
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_OK_CODE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_OK_MESSAGE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"OK"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CANNOT_GENERATE_RANDOM_CODE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CANNOT_GENERATE_RANDOM_MESSAGE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Can not generate random data"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_IDENTITY_EMPTY_CODE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '110'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_IDENTITY_EMPTY_MESSAGE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Identity empty"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PARTICIPANT_CRYPTO_HANDLE_EMPTY_CODE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '111'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PARTICIPANT_CRYPTO_HANDLE_EMPTY_MESSAGE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Participant Crypto Handle empty"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PERMISSION_HANDLE_EMPTY_CODE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '112'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PERMISSION_HANDLE_EMPTY_MESSAGE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Permission Handle empty"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_HANDLE_CODE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '113'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_HANDLE_MESSAGE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Invalid Crypto Handle"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_ARGUMENT_CODE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '114'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_ARGUMENT_MESSAGE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Invalid argument"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_TOKEN_CODE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '115'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_TOKEN_MESSAGE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Invalid Crypto token"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_PARAMETER_CODE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '116'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_PARAMETER_MESSAGE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Invalid parameter"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_FILE_PATH_CODE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '117'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_FILE_PATH_MESSAGE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"File could not be found, opened or is empty, path: %s"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_TRANSFORMATION_CODE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '118'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_TRANSFORMATION_MESSAGE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Unknown or unexpected transformation kind"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_SIGN_CODE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '119'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_SIGN_MESSAGE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Message cannot be authenticated, incorrect signature"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_TRUSTED_CA_DIR_CODE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '120'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_TRUSTED_CA_DIR_MESSAGE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Can not open trusted CA directory"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CA_NOT_TRUSTED_CODE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '121'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CA_NOT_TRUSTED_MESSAGE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Identity CA is not trusted"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_STARTDATE_IN_FUTURE_CODE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '122'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_STARTDATE_IN_FUTURE_MESSAGE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Certificate start date is in the future"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_EXPIRED_CODE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '123'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_EXPIRED_MESSAGE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Certificate expired"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_RECEIVER_SIGN_CODE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '124'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_AUTH_ALGO_KIND_UNKNOWN_CODE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '125'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERT_AUTH_ALGO_KIND_UNKNOWN_MESSAGE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Certificate authentication algorithm unknown"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_ALLOCATION_FAILED_CODE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '126'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_ALLOCATION_FAILED_MESSAGE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Failed to allocate internal structure"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_SMIME_DOCUMENT_CODE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '127'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_SMIME_DOCUMENT_MESSAGE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Failed to parse PKCS7 SMIME document"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_MISSING_PROPERTY_CODE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '128'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_MISSING_PROPERTY_MESSAGE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Property is missing: (%s)"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_PERMISSION_DOCUMENT_PROPERTY_CODE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '129'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_PERMISSION_DOCUMENT_PROPERTY_MESSAGE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Permissions document is invalid"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_GOVERNANCE_DOCUMENT_PROPERTY_CODE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '130'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_GOVERNANCE_DOCUMENT_PROPERTY_MESSAGE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Governance document is invalid"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_OPERATION_NOT_PERMITTED_CODE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '131'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_OPERATION_NOT_PERMITTED_MESSAGE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Operation is not permitted in this state"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_MISSING_REMOTE_PERMISSIONS_DOCUMENT_CODE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '132'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_MISSING_REMOTE_PERMISSIONS_DOCUMENT_MESSAGE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Remote permissions document is not available"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CERTIFICATE_CODE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '133'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CERTICICATE_MESSAGE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Certificate is invalid"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERTIFICATE_TYPE_NOT_SUPPORTED_CODE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '134'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CERTIFICATE_TYPE_NOT_SUPPORTED_MESSAGE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Certificate type is not supported"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_GOVERNANCE_PROPERTY_REQUIRED_CODE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '135'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_GOVERNANCE_PROPERTY_REQUIRED_MESSAGE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Governance property is required"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PERMISSIONS_CA_PROPERTY_REQUIRED_CODE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '136'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_PERMISSIONS_CA_PROPERTY_REQUIRED_MESSAGE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Permissions CA property is required"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_PARSE_GOVERNANCE_CODE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '137'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_PARSE_GOVERNANCE_MESSAGE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Can not parse governance file"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_PARSE_PERMISSIONS_CODE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '138'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_PARSE_PERMISSIONS_MESSAGE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Can not parse permissions file"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_TOPIC_PERMISSIONS_CODE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '139'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_TOPIC_PERMISSIONS_MESSAGE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Could not find permissions for topic"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_DOMAIN_IN_PERMISSIONS_CODE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '140'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_DOMAIN_IN_PERMISSIONS_MESSAGE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Could not find domain %d in permissions"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_DOMAIN_IN_GOVERNANCE_CODE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '141'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_DOMAIN_IN_GOVERNANCE_MESSAGE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Could not find domain %d in governance"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_TOPIC_IN_DOMAIN_CODE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '142'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_TOPIC_IN_DOMAIN_MESSAGE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Could not find %s topic attributes for domain(%d) in governance"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INCOMPATIBLE_REMOTE_PLUGIN_CLASSNAME_CODE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '143'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INCOMPATIBLE_REMOTE_PLUGIN_CLASSNAME_MESSAGE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"PluginClass in remote token is incompatible"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INCOMPATIBLE_REMOTE_PLUGIN_MAJORVERSION_CODE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '144'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INCOMPATIBLE_REMOTE_PLUGIN_MAJORVERSION_MESSAGE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"MajorVersion in remote token is incompatible"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_ACCESS_DENIED_CODE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '145'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_ACCESS_DENIED_MESSAGE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Access denied by access control"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_SUBJECT_NAME_CODE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '146'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_SUBJECT_NAME_MESSAGE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Subject name is invalid"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_VALIDITY_PERIOD_EXPIRED_CODE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '147'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_VALIDITY_PERIOD_EXPIRED_MESSAGE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Permissions validity period expired for %s (expired: %s)"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_VALIDITY_PERIOD_NOT_STARTED_CODE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '148'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_VALIDITY_PERIOD_NOT_STARTED_MESSAGE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Permissions validity period has not started yet for %s (start:
        %s)"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_PERMISSIONS_GRANT_CODE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '149'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CAN_NOT_FIND_PERMISSIONS_GRANT_MESSAGE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Could not find valid grant in permissions"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_CODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '150'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_URI_TYPE_NOT_SUPPORTED_MESSAGE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Unsupported URI type: %s"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_DATA_NOT_ALIGNED_CODE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '151'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_INVALID_CRYPTO_DATA_NOT_ALIGNED_MESSAGE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"The payload is not aligned at 4 bytes"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_TRUSTED_CA_DIR_MAX_EXCEEDED_CODE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '152'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_TRUSTED_CA_DIR_MAX_EXCEEDED_MESSAGE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Cannot open trusted CA directory: maximum number of CA directories
        (%d) exceeded"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_UNDEFINED_CODE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '200'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_UNDEFINED_MESSAGE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '"Undefined Error Message"'
    - item_type: preproc_def
      name: DDS_SECURITY_ERR_CIPHER_ERROR
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_err.h
      type_or_value: '301'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: on_revoke_identity
        type: DDS_Security_authentication_listener_on_revoke_identity
      - name: on_status_changed
        type: DDS_Security_authentication_listener_on_status_changed
      item_type: struct
      name: dds_security_authentication_listener
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: validate_local_identity
        type: DDS_Security_authentication_validate_local_identity
      - name: get_identity_token
        type: DDS_Security_authentication_get_identity_token
      - name: get_identity_status_token
        type: DDS_Security_authentication_get_identity_status_token
      - name: set_permissions_credential_and_token
        type: DDS_Security_authentication_set_permissions_credential_and_token
      - name: validate_remote_identity
        type: DDS_Security_authentication_validate_remote_identity
      - name: begin_handshake_request
        type: DDS_Security_authentication_begin_handshake_request
      - name: begin_handshake_reply
        type: DDS_Security_authentication_begin_handshake_reply
      - name: process_handshake
        type: DDS_Security_authentication_process_handshake
      - name: get_shared_secret
        type: DDS_Security_authentication_get_shared_secret
      - name: get_authenticated_peer_credential_token
        type: DDS_Security_authentication_get_authenticated_peer_credential_token
      - name: set_listener
        type: DDS_Security_authentication_set_listener
      - name: return_identity_token
        type: DDS_Security_authentication_return_identity_token
      - name: return_identity_status_token
        type: DDS_Security_authentication_return_identity_status_token
      - name: return_authenticated_peer_credential_token
        type: DDS_Security_authentication_return_authenticated_peer_credential_token
      - name: return_handshake_handle
        type: DDS_Security_authentication_return_handshake_handle
      - name: return_identity_handle
        type: DDS_Security_authentication_return_identity_handle
      - name: return_sharedsecret_handle
        type: DDS_Security_authentication_return_sharedsecret_handle
      item_type: struct
      name: dds_security_authentication
      pos:
        line_end: 175
        line_start: 154
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
    typedefs:
    - item_type: typedef
      name: dds_security_authentication
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: dds_security_authentication
    - item_type: typedef
      name: dds_security_authentication_listener
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: dds_security_authentication_listener
    - item_type: typedef
      name: "(*DDS_Security_authentication_listener_on_revoke_identity)(\n    const
        dds_security_authentication *plugin,\n    const DDS_Security_IdentityHandle
        handle)"
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_listener_on_status_changed)(\n    dds_security_authentication_listener
        *context,\n    const dds_security_authentication *plugin,\n    const DDS_Security_IdentityHandle
        handle,\n    const DDS_Security_AuthStatusKind status_kind)"
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_validate_local_identity)(\n    dds_security_authentication
        *instance,\n    DDS_Security_IdentityHandle *local_identity_handle,\n    DDS_Security_GUID_t
        *adjusted_participant_guid,\n    const DDS_Security_DomainId domain_id,\n
        \   const DDS_Security_Qos *participant_qos,\n    const DDS_Security_GUID_t
        *candidate_participant_guid,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 51
        line_start: 44
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: "(*DDS_Security_authentication_get_identity_token)(\n    dds_security_authentication
        *instance,\n    DDS_Security_IdentityToken *identity_token,\n    const DDS_Security_IdentityHandle
        handle,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_get_identity_status_token)(\n    dds_security_authentication
        *instance,\n    DDS_Security_IdentityStatusToken *identity_status_token,\n
        \   const DDS_Security_IdentityHandle handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_set_permissions_credential_and_token)(\n
        \   dds_security_authentication *instance,\n    const DDS_Security_IdentityHandle
        handle,\n    const DDS_Security_PermissionsCredentialToken *permissions_credential,\n
        \   const DDS_Security_PermissionsToken *permissions_token,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_validate_remote_identity)(\n    dds_security_authentication
        *instance,\n    DDS_Security_IdentityHandle *remote_identity_handle,\n    DDS_Security_AuthRequestMessageToken
        *local_auth_request_token,\n    const DDS_Security_AuthRequestMessageToken
        *remote_auth_request_token,\n    const DDS_Security_IdentityHandle local_identity_handle,\n
        \   const DDS_Security_IdentityToken *remote_identity_token,\n    const DDS_Security_GUID_t
        *remote_participant_guid,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 80
        line_start: 72
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: "(*DDS_Security_authentication_begin_handshake_request)(\n    dds_security_authentication
        *instance,\n    DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
        *handshake_message,\n    const DDS_Security_IdentityHandle initiator_identity_handle,\n
        \   const DDS_Security_IdentityHandle replier_identity_handle,\n    const
        DDS_Security_OctetSeq *serialized_local_participant_data,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: "(*DDS_Security_authentication_begin_handshake_reply)(\n    dds_security_authentication
        *instance,\n    DDS_Security_HandshakeHandle *handshake_handle,\n    DDS_Security_HandshakeMessageToken
        *handshake_message_out,\n    const DDS_Security_HandshakeMessageToken *handshake_message_in,\n
        \   const DDS_Security_IdentityHandle initiator_identity_handle,\n    const
        DDS_Security_IdentityHandle replier_identity_handle,\n    const DDS_Security_OctetSeq
        *serialized_local_participant_data,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 99
        line_start: 91
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: "(*DDS_Security_authentication_process_handshake)(\n    dds_security_authentication
        *instance,\n    DDS_Security_HandshakeMessageToken *handshake_message_out,\n
        \   const DDS_Security_HandshakeMessageToken *handshake_message_in,\n    const
        DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 106
        line_start: 101
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: "(*DDS_Security_authentication_get_shared_secret)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 111
        line_start: 108
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_SharedSecretHandle
    - item_type: typedef
      name: "(*DDS_Security_authentication_get_authenticated_peer_credential_token)(\n
        \   dds_security_authentication *instance,\n    DDS_Security_AuthenticatedPeerCredentialToken
        *peer_credential_token,\n    const DDS_Security_HandshakeHandle handshake_handle,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_set_listener)(\n    dds_security_authentication
        *instance,\n    const dds_security_authentication_listener *listener,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_identity_token)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_IdentityToken *token,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_identity_status_token)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_IdentityStatusToken *token,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_authenticated_peer_credential_token)(\n
        \   dds_security_authentication *instance,\n    const DDS_Security_AuthenticatedPeerCredentialToken
        *peer_credential_token,\n    DDS_Security_SecurityException *ex)"
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_handshake_handle)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_HandshakeHandle handshake_handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_identity_handle)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_IdentityHandle identity_handle,\n    DDS_Security_SecurityException
        *ex)"
      pos:
        line_end: 147
        line_start: 144
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    - item_type: typedef
      name: "(*DDS_Security_authentication_return_sharedsecret_handle)(\n    dds_security_authentication
        *instance,\n    const DDS_Security_SharedSecretHandle sharedsecret_handle,\n
        \   DDS_Security_SecurityException *ex)"
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_authentication.h
      type: DDS_Security_boolean
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_HANDLE_NIL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DDS_SECURITY_SUCCESS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DDS_SECURITY_FAILED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DDS_SECURITY_PARTICIPANT_ATTRIBUTES_FLAG_IS_RTPS_PROTECTED
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u      )
    - item_type: preproc_def
      name: DDS_SECURITY_PARTICIPANT_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDS_SECURITY_PARTICIPANT_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDS_SECURITY_PARTICIPANT_ATTRIBUTES_FLAG_IS_VALID
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_RTPS_ENCRYPTED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u      )
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_DISCOVERY_ENCRYPTED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_LIVELINESS_ENCRYPTED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_RTPS_AUTHENTICATED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  3)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_DISCOVERY_AUTHENTICATED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  4)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_PARTICIPANT_ATTRIBUTES_FLAG_IS_LIVELINESS_AUTHENTICATED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  5)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_READ_PROTECTED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u      )
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  3)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  4)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_KEY_PROTECTED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  5)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  6)
    - item_type: preproc_def
      name: DDS_SECURITY_ENDPOINT_ATTRIBUTES_FLAG_IS_VALID
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_ENDPOINT_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ENCRYPTED
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u      )
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_ENDPOINT_ATTRIBUTES_FLAG_IS_PAYLOAD_ENCRYPTED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDS_SECURITY_PLUGIN_ENDPOINT_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ORIGIN_AUTHENTICATED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDS_SECURITY_AUTHENTICATION_CHALLENGE_SIZE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_SALT_SIZE_128
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_SALT_SIZE_256
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_SENDER_KEY_SIZE_128
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_SENDER_KEY_SIZE_256
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_RECEIVER_SPECIFIC_KEY_SIZE_128
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDS_SECURITY_MASTER_RECEIVER_SPECIFIC_KEY_SIZE_256
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DDS_SEC_PROP_PREFIX
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '"dds.sec."'
    - item_type: preproc_def
      name: ORG_ECLIPSE_CYCLONEDDS_SEC_PREFIX
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: '"org.eclipse.cyclonedds.sec."'
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_LIBRARY_PATH
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.library.path"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_LIBRARY_INIT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.library.init"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_LIBRARY_FINALIZE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.library.finalize"
    - item_type: preproc_def
      name: DDS_SEC_PROP_CRYPTO_LIBRARY_PATH
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "crypto.library.path"
    - item_type: preproc_def
      name: DDS_SEC_PROP_CRYPTO_LIBRARY_INIT
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "crypto.library.init"
    - item_type: preproc_def
      name: DDS_SEC_PROP_CRYPTO_LIBRARY_FINALIZE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "crypto.library.finalize"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_LIBRARY_PATH
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.library.path"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_LIBRARY_INIT
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.library.init"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_LIBRARY_FINALIZE
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.library.finalize"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_IDENTITY_CA
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.identity_ca"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_PRIV_KEY
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.private_key"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_IDENTITY_CERT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.identity_certificate"
    - item_type: preproc_def
      name: DDS_SEC_PROP_AUTH_PASSWORD
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.password"
    - item_type: preproc_def
      name: ORG_ECLIPSE_CYCLONEDDS_SEC_AUTH_CRL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: ORG_ECLIPSE_CYCLONEDDS_SEC_PREFIX "auth.crl"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_PERMISSIONS_CA
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.permissions_ca"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_GOVERNANCE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.governance"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_PERMISSIONS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "access.permissions"
    - item_type: preproc_def
      name: DDS_SEC_PROP_ACCESS_TRUSTED_CA_DIR
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "auth.trusted_ca_dir"
    - item_type: preproc_def
      name: DDS_SEC_PROP_BUILTIN_ENDPOINT_NAME
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "builtin_endpoint_name"
    - item_type: preproc_def
      name: DDS_SEC_PROP_CRYPTO_KEYSIZE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/cyclonedds/src/security/api/include/dds/security/dds_security_api_defs.h
      type_or_value: DDS_SEC_PROP_PREFIX "crypto.keysize"
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_openssl_init
  - DDS_Security_Exception_set_with_openssl_error
  source_file: /src/cyclonedds/src/security/openssl/src/openssl_support.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/security/openssl/include/dds/security/openssl_support.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENSSL_API_COMPAT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/security/openssl/include/dds/security/openssl_support.h
      type_or_value: '30000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynamic_type_init
  - dynamic_type_fini
  - do_test
  - get_ddsi_type
  - TYPE_SPEC_PRIM_NC
  - tcr_init_enum
  - tcr_init_bitmask
  - tcr_init_struct
  - tcr_init_union
  - create_type_topic_wr
  source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: entity
        type: dds_entity_t
      - name: ret
        type: dds_return_t
      item_type: struct
      name: "tests[] = {\n    { DDS_CYCLONEDDS_HANDLE, DDS_RETCODE_BAD_PARAMETER },\n
        \   { domain, DDS_RETCODE_OK },\n    { participant, DDS_RETCODE_OK },\n    {
        publisher, DDS_RETCODE_OK },\n    { topic, DDS_RETCODE_OK }\n  }"
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    - fields:
      - name: desc
        type: dds_dynamic_type_descriptor_t
      - name: ret
        type: dds_return_t
      - name: xt_type_kind
        type: DDS_XTypes_TypeKind
      - name: init_fn
        type: type_init_fn
      item_type: struct
      name: "tests[] = {\n    { { .kind = DDS_DYNAMIC_NONE, .name = \"t\" }, DDS_RETCODE_BAD_PARAMETER,
        DDS_XTypes_TK_NONE, NULL },\n    { { .kind = DDS_DYNAMIC_BOOLEAN, .name =
        \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_BOOLEAN, NULL },\n    { { .kind = DDS_DYNAMIC_BYTE,
        .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_BYTE, NULL },\n    { { .kind
        = DDS_DYNAMIC_INT16, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_INT16,
        NULL },\n    { { .kind = DDS_DYNAMIC_INT32, .name = \"t\" }, DDS_RETCODE_OK,
        DDS_XTypes_TK_INT32, NULL },\n    { { .kind = DDS_DYNAMIC_INT64, .name = \"t\"
        }, DDS_RETCODE_OK, DDS_XTypes_TK_INT64, NULL },\n    { { .kind = DDS_DYNAMIC_UINT16,
        .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_UINT16, NULL },\n    { { .kind
        = DDS_DYNAMIC_UINT32, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_UINT32,
        NULL },\n    { { .kind = DDS_DYNAMIC_UINT64, .name = \"t\" }, DDS_RETCODE_OK,
        DDS_XTypes_TK_UINT64, NULL },\n    { { .kind = DDS_DYNAMIC_FLOAT32, .name
        = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_FLOAT32, NULL },\n    { { .kind =
        DDS_DYNAMIC_FLOAT64, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_FLOAT64,
        NULL },\n    { { .kind = DDS_DYNAMIC_FLOAT128, .name = \"t\" }, DDS_RETCODE_OK,
        DDS_XTypes_TK_FLOAT128, NULL },\n    { { .kind = DDS_DYNAMIC_INT8, .name =
        \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_INT8, NULL },\n    { { .kind = DDS_DYNAMIC_UINT8,
        .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_UINT8, NULL },\n    { { .kind
        = DDS_DYNAMIC_CHAR8, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_CHAR8,
        NULL },\n    { { .kind = DDS_DYNAMIC_CHAR16, .name = \"t\" }, DDS_RETCODE_OK,
        DDS_XTypes_TK_CHAR16, NULL },\n    { { .kind = DDS_DYNAMIC_STRING8, .name
        = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_STRING8, NULL },\n    { { .kind =
        DDS_DYNAMIC_STRING16, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_STRING16,
        NULL },\n    { { .kind = DDS_DYNAMIC_ENUMERATION, .name = \"t\" }, DDS_RETCODE_OK,
        DDS_XTypes_TK_ENUM, tcr_init_enum },\n    { { .kind = DDS_DYNAMIC_BITMASK,
        .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_BITMASK, tcr_init_bitmask },\n
        \   { { .kind = DDS_DYNAMIC_ALIAS, .name = \"t\", .base_type = TYPE_SPEC_PRIM_NC(DDS_DYNAMIC_INT32)
        }, DDS_RETCODE_OK, DDS_XTypes_TK_ALIAS, NULL },\n    { { .kind = DDS_DYNAMIC_ARRAY,
        .name = \"t\", .element_type = TYPE_SPEC_PRIM_NC(DDS_DYNAMIC_INT32), .bounds
        = bounds, .num_bounds = 1 }, DDS_RETCODE_OK, DDS_XTypes_TK_ARRAY, NULL },\n
        \   { { .kind = DDS_DYNAMIC_SEQUENCE, .name = \"t\", .element_type = TYPE_SPEC_PRIM_NC(DDS_DYNAMIC_INT32)
        }, DDS_RETCODE_OK, DDS_XTypes_TK_SEQUENCE, NULL },\n    { { .kind = DDS_DYNAMIC_MAP,
        .name = \"t\" }, DDS_RETCODE_UNSUPPORTED, DDS_XTypes_TK_NONE, NULL },\n    {
        { .kind = DDS_DYNAMIC_STRUCTURE, .name = \"t\" }, DDS_RETCODE_OK, DDS_XTypes_TK_STRUCTURE,
        tcr_init_struct },\n    { { .kind = DDS_DYNAMIC_UNION, .name = \"t\", .discriminator_type
        = TYPE_SPEC_PRIM_NC(DDS_DYNAMIC_INT32) }, DDS_RETCODE_OK, DDS_XTypes_TK_UNION,
        tcr_init_union },\n    { { .kind = DDS_DYNAMIC_BITSET, .name = \"t\" }, DDS_RETCODE_UNSUPPORTED,
        DDS_XTypes_TK_NONE, NULL }\n  }"
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    - fields:
      - name: default_ext
        type: bool
      - name: dyn_ext
        type: enum dds_dynamic_type_extensibility
      - name: xt_ext
        type: uint16_t
      item_type: struct
      name: "tests[] = {\n    { true, 0, DDS_XTypes_IS_FINAL },\n    { false, DDS_DYNAMIC_TYPE_EXT_FINAL,
        DDS_XTypes_IS_FINAL },\n    { false, DDS_DYNAMIC_TYPE_EXT_APPENDABLE, DDS_XTypes_IS_APPENDABLE
        },\n    { false, DDS_DYNAMIC_TYPE_EXT_MUTABLE, DDS_XTypes_IS_MUTABLE }\n  }"
      pos:
        line_end: 258
        line_start: 254
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    - fields:
      - name: member_type
        type: dds_dynamic_type_descriptor_t
      - name: ret
        type: dds_return_t
      item_type: struct
      name: "tests[] = {\n    { { .kind = DDS_DYNAMIC_INT32, .name = \"m\" }, DDS_RETCODE_OK
        },\n    { { .kind = DDS_DYNAMIC_SEQUENCE, .name = \"m\", .element_type = TYPE_SPEC_PRIM_NC(DDS_DYNAMIC_INT32),
        .num_bounds = 0 }, DDS_RETCODE_OK }\n  }"
      pos:
        line_end: 866
        line_start: 863
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
    typedefs:
    - item_type: typedef
      name: (*type_init_fn) (dds_dynamic_type_t *)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
      type: void
    union:
    - fields:
      - name: dte
        type: enum dds_dynamic_type_extensibility
      - name: i
        type: int
      item_type: union
      name: invalid_dte = { .i = 99 }
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/cyclonedds/src/core/ddsc/tests/dynamic_type.c
- function_names:
  - typeinfo_ser
  - typeinfo_deser
  - typemap_ser
  - typemap_deser
  - test_proxy_rd_create
  - test_proxy_rd_fini
  - xtypes_util_modify_type_meta
  source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - test_write
  - get_gv
  - test_insert
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/time_based_filter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/write.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: x
        type: Space_invalid_data
      - name: invalidkey
        type: bool
      item_type: struct
      name: "tests[] = {\n        {\n            .x = { .o1={._length=2, ._buffer=(uint8_t[]){1,2}},
        .e1=invalid_data_enum0.ide, .bm1=0, .exto=&(uint8_t){0} },\n            .invalidkey
        = false\n        },\n        {\n            .x = { .o1={._length=1, ._buffer=NULL},
        .e1=invalid_data_enum0.ide, .bm1=0, .exto=&(uint8_t){0} },\n            .invalidkey
        = false\n        },\n        {\n            .x = { .o1={._length=1, ._buffer=(uint8_t[]){1}},
        .e1=invalid_data_enum1.ide, .bm1=0, .exto=&(uint8_t){0} },\n            .invalidkey
        = true\n        },\n        {\n            .x = { .o1 = {._length=1, ._buffer=(uint8_t[]){1}},
        .e1=invalid_data_enum0.ide, .bm1=2, .exto=&(uint8_t){0} },\n            .invalidkey
        = true\n        },\n        {\n            .x = { .o1={._length=1, ._buffer=(uint8_t[]){1}},
        .e1=invalid_data_enum0.ide, .bm1=0, .exto=NULL },\n            .invalidkey
        = true\n        },\n        {\n            .x = { .o1={._length=1, ._buffer=(uint8_t[]){1}},
        .e1=invalid_data_enum0.ide, .bm1=0, .exto=NULL },\n            .invalidkey
        = true\n        }\n    }"
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsc/tests/write.c
    - fields:
      - name: '*flush'
        type: char
      - name: '*exp'
        type: char
      item_type: struct
      name: "x[] = {\n    { \"flush w\", \"(0,0,0)\" },\n    { \"flush x\", \"(1,0,0)\"
        },\n    { \"flush w flush x\", \"(0,0,0),(1,0,0)\" },\n    { \"flush W\",
        \"(0,0,0),(1,0,0)\" },\n    { \"flush P\", \"(0,0,0),(1,0,0)\" }\n  }"
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsc/tests/write.c
    typedefs: []
    union:
    - fields:
      - name: ide
        type: Space_invalid_data_enum
      - name: i
        type: int
      item_type: union
      name: invalid_data_enum0 = { .i = 0 }
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsc/tests/write.c
    - fields:
      - name: ide
        type: Space_invalid_data_enum
      - name: i
        type: int
      item_type: union
      name: invalid_data_enum1 = { .i = 1 }
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsc/tests/write.c
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_strings
  - dummy_mockstats_tostring
  - create_participant
  - create_participant_2
  - CU_Test
  - assert_psmx_instance_names
  - do_psmxif_instance_name
  - CU_Test
  - CU_Test
  - do_psmxif_shared_memory
  - CU_Test
  - CU_Test
  - check_psmx_instances
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmxif.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - guidstr
  - participant_lease_duration_make_doms
  - check_lease_duration
  - check_lease_duration_pp
  - CU_Test
  - participant_lease_duration_make_pps
  - CU_Test
  - sub_tref_et
  - make_pp0_deaf
  - read_with_timeout1
  - countinst
  source_file: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: s[4*8+4]
        type: char
      item_type: struct
      name: guidstr
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    - fields:
      - name: no_timeout
        type: bool
      - name: nsamples
        type: int32_t
      - name: ninstances
        type: int32_t
      item_type: struct
      name: read_with_timeout_result
      pos:
        line_end: 240
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsc/tests/pp_lease_dur.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xtypes_typeinfo_init
  - xtypes_typeinfo_fini
  - mod_toplevel
  - mod_inherit
  - mod_uniondisc
  - mod_unionmembers
  - mod_arraybound
  - D
  - D
  - test_proxy_rd_matches
  source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*sample_init) (void *s)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
      type: void
    - item_type: typedef
      name: (*sample_check) (void *s1, void *s2)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typeinfo.c
      type: void
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/src/core/ddsc/tests/oneliner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEF
  - LIB
  - N_LIB
  - PRO
  - N_PRO
  - ENT
  - ENT_N
  - SCOPE
  - inspect_qos_items
  - QOS_DURATION_FMT
  - QOS_DURATION_FMT_STR
  - QOS_POLICY_DEADLINE_PERIOD_FMT
  - QOS_POLICY_DEADLINE_FMT
  - QOS_POLICY_DESTINATION_ORDER_FMT
  - QOS_POLICY_DURABILITY_FMT
  - QOS_HISTORY_FMT
  - QOS_SERVICE_CLEANUP_DELAY_FMT
  - QOS_RESOURCE_LIMITS_MS
  - QOS_RESOURCE_LIMITS_MI
  - QOS_RESOURCE_LIMITS_MSPI
  - QOS_DURABILITY_SERVICE_HISTORY
  - QOS_POLICY_ENTITYFACTORY_FMT
  - QOS_POLICY_HISTORY_FMT
  - QOS_POLICY_LATENCYBUDGET_FMT
  - QOS_POLICY_LIFESPAN_FMT
  - QOS_LIVELINESS_KIND
  - QOS_LIVELINESS_DURATION
  - QOS_POLICY_OWNERSHIP_FMT
  - QOS_ACCESS_SCOPE_KIND
  - QOS_COHERENT_ACCESS
  - QOS_ORDERED_ACCESS
  - QOS_RELIABILITY_KIND
  - QOS_RELIABILITY_DURATION
  - QOS_POLICY_TIMEBASEDFILTER_FMT
  - QOS_NOWRITER_DELAY
  - QOS_DISPOSED_DELAY
  - QOS_POLICY_WRITERDATA_LIFECYCLE_FMT
  - b64_encode
  - CHECK_RET_OK
  - qos_to_conf
  - get_supported_qos
  - get_single_configuration
  - Q_DATA0
  - Q_DATA3
  - Q_DURABILITY
  - Q_DEADLINE
  - Q_LATENCYBUDGET
  - Q_OWNERSHIP
  - Q_LIVELINESS
  - Q_RELIABILITY
  - Q_TRANSPORTPRIO
  - Q_LIFESPAN
  - Q_DESTINATIONORDER
  - Q_HISTORY
  - Q_RESOURCELIMITS
  - Q_DATA3x4
  - Q_PRESENATION
  - Q_TIMEBASEDFILTER
  - Q_READERLIFECYCLE
  - Q_OWNERSHIPSTRENGTH
  - Q_WRITERLIFECYCLE
  - Q_DURABILITYSERVICE
  - QOS_TO_CONF_SNGL
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
  types:
    enum:
    - enumerators:
      - name: sec
        value: '0'
      - name: nsec
        value: '1'
      item_type: enum
      name: duration_unit
      pos:
        line_end: 371
        line_start: 367
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    preproc_defs:
    - item_type: preproc_def
      name: NO_QOS_PROVIDER_CONF
      pos:
        line_end: 144
        line_start: 91
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: "DEF( \\\n    LIB(lib0, \\\n      PRO(pro00, \\\n        ENT(\"\",datareader)ENT(\"\",datawriter)
        \\\n        ENT_N(rd1,\"\",datareader) \\\n        ENT(\"\",publisher)ENT(\"\",subscriber)
        \\\n        ENT(\"\",domain_participant)ENT(\"\",topic)) \\\n      PRO(pro01,
        \\\n        ENT_N(rd0,\"\",datareader)ENT(\"\",datawriter) \\\n        ENT(\"\",publisher)ENT(\"\",subscriber)
        \\\n        ENT(\"\",domain_participant)ENT(\"\",topic)) \\\n      PRO(pro02,
        \\\n        ENT_N(rd0,\"\",datareader)ENT_N(wr0,\"\",datawriter) \\\n        ENT(\"\",publisher)ENT(\"\",subscriber)
        \\\n        ENT(\"\",domain_participant)ENT(\"\",topic)) \\\n      PRO(pro03,
        \\\n        ENT_N(rd0,\"\",datareader)ENT_N(wr0,\"\",datawriter) \\\n        ENT_N(rd1,\"\",datareader)ENT_N(wr1,\"\",datawriter)
        \\\n        ENT_N(pb0,\"\",publisher)ENT(\"\",subscriber) \\\n        ENT(\"\",domain_participant)ENT(\"\",topic))
        \\\n    ) \\\n    LIB(lib1, \\\n      PRO(pro00, \\\n        ENT(\"\",datareader)ENT(\"\",datawriter)
        \\\n        ENT(\"\",publisher)ENT(\"\",subscriber) \\\n        ENT(\"\",domain_participant)ENT(\"\",topic))
        \\\n      PRO(pro01, \\\n        ENT(\"\",datareader)ENT(\"\",datawriter)
        \\\n        ENT(\"\",publisher)ENT(\"\",subscriber) \\\n        ENT(\"\",domain_participant)ENT_N(tp0,\"\",topic))
        \\\n      PRO(pro02, \\\n        ENT(\"\",datareader)ENT(\"\",datawriter)
        \\\n        ENT(\"\",publisher)ENT(\"\",subscriber) \\\n        ENT_N(pp0,\"\",domain_participant)ENT_N(tp0,\"\",topic))
        \\\n      PRO(pro03, \\\n        ENT(\"\",datareader)ENT(\"\",datawriter)
        \\\n        ENT(\"\",publisher)ENT_N(sb0,\"\",subscriber) \\\n        ENT_N(pp0,\"\",domain_participant)ENT_N(tp0,\"\",topic))
        \\\n    ) \\\n    LIB(lib2, \\\n      PRO(pro01, \\\n        ENT_N(rd0,\"\",datareader)ENT_N(tp0,\"\",topic))
        \\\n      PRO(pro02, \\\n        ENT_N(rd0,\"\",datareader)ENT_N(wr0,\"\",datawriter)
        \\\n        ENT_N(pp0,\"\",domain_participant)ENT_N(tp0,\"\",topic)) \\\n
        \     PRO(pro03, \\\n        ENT_N(rd0,\"\",datareader)ENT_N(wr0,\"\",datawriter)
        \\\n        ENT_N(pb0,\"\",publisher)ENT_N(sb0,\"\",subscriber) \\\n        ENT_N(pp0,\"\",domain_participant)ENT_N(tp0,\"\",topic))
        \\\n    ) \\\n  ) \\\n"
    - item_type: preproc_def
      name: N
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: NO_QOS_PROVIDER_CONF
    - item_type: preproc_def
      name: N
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: NO_QOS_PROVIDER_CONF
    - item_type: preproc_def
      name: RD
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_READER_QOS
    - item_type: preproc_def
      name: WR
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_WRITER_QOS
    - item_type: preproc_def
      name: PP
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_PARTICIPANT_QOS
    - item_type: preproc_def
      name: PB
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_PUBLISHER_QOS
    - item_type: preproc_def
      name: SB
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_SUBSCRIBER_QOS
    - item_type: preproc_def
      name: TP
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_TOPIC_QOS
    - item_type: preproc_def
      name: OK
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_RETCODE_OK
    - item_type: preproc_def
      name: BAD
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: DDS_RETCODE_BAD_PARAMETER
    - item_type: preproc_def
      name: QOS_RESOURCE_LIMITS
      pos:
        line_end: 296
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"%s%s%s"'
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITY_SERVICE_FMT
      pos:
        line_end: 300
        line_start: 298
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<durability_service>%s%s"QOS_RESOURCE_LIMITS"</durability_service>"'
    - item_type: preproc_def
      name: QOS_BASE64_VALUE
      pos:
        line_end: 306
        line_start: 304
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<value>%s</value>"'
    - item_type: preproc_def
      name: QOS_POLICY_GOUPDATA_FMT
      pos:
        line_end: 308
        line_start: 306
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<group_data>"QOS_BASE64_VALUE"</group_data>"'
    - item_type: preproc_def
      name: QOS_POLICY_LIVELINESS_FMT
      pos:
        line_end: 320
        line_start: 318
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<liveliness>%s%s</liveliness>"'
    - item_type: preproc_def
      name: QOS_POLICY_OWNERSHIPSTRENGTH_FMT
      pos:
        line_end: 324
        line_start: 322
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<ownership_strength><value>%d</value></ownership_strength>"'
    - item_type: preproc_def
      name: QOS_PARTITION_ELEMENT
      pos:
        line_end: 326
        line_start: 324
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<element>%s</element>"'
    - item_type: preproc_def
      name: QOS_POLIC_PARTITION_FMT
      pos:
        line_end: 328
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<partition><name>%s</name></partition>"'
    - item_type: preproc_def
      name: QOS_POLICY_PRESENTATION_FMT
      pos:
        line_end: 336
        line_start: 334
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<presentation>%s%s%s</presentation>"'
    - item_type: preproc_def
      name: QOS_POLICY_RELIABILITY_FMT
      pos:
        line_end: 342
        line_start: 340
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<reliability>%s%s</reliability>"'
    - item_type: preproc_def
      name: QOS_POLICY_RESOURCE_LIMITS_FMT
      pos:
        line_end: 344
        line_start: 342
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<resource_limits>"QOS_RESOURCE_LIMITS"</resource_limits>"'
    - item_type: preproc_def
      name: QOS_POLICY_TOPICDATA_FMT
      pos:
        line_end: 350
        line_start: 348
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<topic_data>"QOS_BASE64_VALUE"</topic_data>"'
    - item_type: preproc_def
      name: QOS_POLICY_TRANSPORTPRIORITY_FMT
      pos:
        line_end: 352
        line_start: 350
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<transport_priority><value>%d</value></transport_priority>"'
    - item_type: preproc_def
      name: QOS_POLICY_USERDATA_FMT
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<user_data>"QOS_BASE64_VALUE"</user_data>"'
    - item_type: preproc_def
      name: QOS_POLICY_READERDATALIFECYCLE_FMT
      pos:
        line_end: 362
        line_start: 360
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"<reader_data_lifecycle>%s%s</reader_data_lifecycle>"'
    - item_type: preproc_def
      name: QOS_FORMAT
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"     "'
    - item_type: preproc_def
      name: N
      pos:
        line_end: 1026
        line_start: 1025
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: nsec
    - item_type: preproc_def
      name: S
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: sec
    - item_type: preproc_def
      name: _C
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: '"abcdefghijklmnopqrstuvwxyz"'
    - item_type: preproc_def
      name: RND_UCHAR
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: (unsigned char)(_C[ddsrt_random () % (uint32_t)(strlen(_C)-1)])
    - item_type: preproc_def
      name: RND_UCHAR3
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: (unsigned char[]){RND_UCHAR, RND_UCHAR, RND_UCHAR}
    - item_type: preproc_def
      name: RND_CHAR
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: (char)(_C[ddsrt_random () % (uint32_t)(strlen(_C)-1)])
    - item_type: preproc_def
      name: RND_CHAR4
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: (char[]){RND_CHAR, RND_CHAR, RND_CHAR, '\0'}
    - item_type: preproc_def
      name: RND_CHAR3x4
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: (char *[]){RND_CHAR4, RND_CHAR4, RND_CHAR4}
    - item_type: preproc_def
      name: QOS_ALL_PRESENT
      pos:
        line_end: 1129
        line_start: 1118
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: ".present = DDSI_QP_TOPIC_DATA | DDSI_QP_DURABILITY | \\\n      DDSI_QP_DEADLINE
        | DDSI_QP_LATENCY_BUDGET | \\\n      DDSI_QP_OWNERSHIP | DDSI_QP_LIVELINESS
        | \\\n      DDSI_QP_RELIABILITY | DDSI_QP_TRANSPORT_PRIORITY | \\\n      DDSI_QP_LIFESPAN
        | DDSI_QP_DESTINATION_ORDER | \\\n      DDSI_QP_HISTORY | DDSI_QP_RESOURCE_LIMITS
        | \\\n      DDSI_QP_USER_DATA | DDSI_QP_PARTITION | \\\n      DDSI_QP_PRESENTATION
        | DDSI_QP_GROUP_DATA | \\\n      DDSI_QP_TIME_BASED_FILTER | DDSI_QP_ADLINK_READER_DATA_LIFECYCLE
        | \\\n      DDSI_QP_OWNERSHIP_STRENGTH | DDSI_QP_ADLINK_WRITER_DATA_LIFECYCLE
        | \\\n      DDSI_QP_DURABILITY_SERVICE,"
    - item_type: preproc_def
      name: QOS_ALL_BASE1
      pos:
        line_end: 1144
        line_start: 1130
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: "{ \\\n    QOS_ALL_PRESENT \\\n    Q_DATA3(topic)Q_DURABILITY(DDS_DURABILITY_VOLATILE)
        \\\n    Q_DEADLINE(DDS_SECS(1))Q_LATENCYBUDGET(DDS_SECS(1)) \\\n    Q_OWNERSHIP(DDS_OWNERSHIP_EXCLUSIVE)Q_LIVELINESS(DDS_LIVELINESS_AUTOMATIC,DDS_INFINITY)
        \\\n    Q_RELIABILITY(DDS_RELIABILITY_RELIABLE, DDS_SECS(1))Q_TRANSPORTPRIO(1000)
        \\\n    Q_LIFESPAN(DDS_SECS(1))Q_DESTINATIONORDER(DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP)
        \\\n    Q_HISTORY(DDS_HISTORY_KEEP_LAST,1)Q_RESOURCELIMITS(1,1,1) \\\n    Q_DATA3(user)Q_DATA3x4(partition)
        \\\n    Q_PRESENATION(DDS_PRESENTATION_TOPIC,1,1)Q_DATA3(group) \\\n    Q_TIMEBASEDFILTER(DDS_SECS(1))Q_READERLIFECYCLE(DDS_SECS(1),
        DDS_SECS(1)) \\\n    Q_OWNERSHIPSTRENGTH(100)Q_WRITERLIFECYCLE(1) \\\n    Q_DURABILITYSERVICE(DDS_SECS(1),DDS_HISTORY_KEEP_ALL,-1,1,1,1)
        \\\n  }"
    - item_type: preproc_def
      name: QOS_ALL_BASE2
      pos:
        line_end: 1159
        line_start: 1145
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: "{ \\\n    QOS_ALL_PRESENT \\\n    Q_DATA0(topic)Q_DURABILITY(DDS_DURABILITY_VOLATILE)
        \\\n    Q_DEADLINE(DDS_SECS(1))Q_LATENCYBUDGET(DDS_SECS(1)) \\\n    Q_OWNERSHIP(DDS_OWNERSHIP_EXCLUSIVE)Q_LIVELINESS(DDS_LIVELINESS_AUTOMATIC,DDS_INFINITY)
        \\\n    Q_RELIABILITY(DDS_RELIABILITY_RELIABLE, DDS_SECS(1))Q_TRANSPORTPRIO(1000)
        \\\n    Q_LIFESPAN(DDS_SECS(1))Q_DESTINATIONORDER(DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP)
        \\\n    Q_HISTORY(DDS_HISTORY_KEEP_LAST,1)Q_RESOURCELIMITS(1,1,1) \\\n    Q_DATA0(user)Q_DATA3x4(partition)
        \\\n    Q_PRESENATION(DDS_PRESENTATION_TOPIC,1,1)Q_DATA0(group) \\\n    Q_TIMEBASEDFILTER(DDS_SECS(1))Q_READERLIFECYCLE(DDS_SECS(1),
        DDS_SECS(1)) \\\n    Q_OWNERSHIPSTRENGTH(100)Q_WRITERLIFECYCLE(1) \\\n    Q_DURABILITYSERVICE(DDS_SECS(1),DDS_HISTORY_KEEP_ALL,-1,1,1,1)
        \\\n  }"
    - item_type: preproc_def
      name: Q1
      pos:
        line_end: 1161
        line_start: 1160
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: QOS_ALL_BASE1
    - item_type: preproc_def
      name: Q2
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
      type_or_value: QOS_ALL_BASE2
    structs:
    - fields:
      - name: '*scope'
        type: char
      - name: '*expct'
        type: char
      item_type: struct
      name: cscope_tokens
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    - fields:
      - name: '*scope'
        type: char
      - name: n
        type: int32_t
      item_type: struct
      name: cscope_inspect_arg
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    - fields:
      - name: deadline_unit
        type: enum duration_unit
      - name: durability_serv_unit
        type: enum duration_unit
      - name: latency_budget_unit
        type: enum duration_unit
      - name: lifespan_unit
        type: enum duration_unit
      - name: liveliness_unit
        type: enum duration_unit
      - name: reliability_unit
        type: enum duration_unit
      - name: time_based_filter_unit
        type: enum duration_unit
      - name: reader_data_lifecycle_nowriter_unit
        type: enum duration_unit
      - name: reader_data_lifecycle_disposed_unit
        type: enum duration_unit
      item_type: struct
      name: sysdef_qos_conf
      pos:
        line_end: 384
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_provider.c
    typedefs: []
    union: []
- function_names:
  - typebuilder_init
  - typebuilder_fini
  - topic_type_ref
  - topic_type_unref
  - gv_from_topic
  - ti_to_pairs_equal
  - ti_pairs_equal
  - tmap_equal
  - D
  source_file: /src/cyclonedds/src/core/ddsc/tests/typebuilder.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEFINE_STATUS_CALLBACK
  - data_on_readers_cb
  - data_available_cb
  - dummy_cb
  - set_all_const
  - set_all
  - ASSERT_CALLBACK_EQUAL
  - check_all_const
  - check_all
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - TEST_GET_SET
  - dotest
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/listener.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setqos
  - pubsub_qos_eq_h
  - reader_qos_delta
  - reader_qos_eq_h
  - writer_qos_delta
  - writer_qos_eq_h
  - pub_thread
  - wait_for_done
  - sub_thread
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NPUB
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NWR_PUB
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
      type_or_value: '2'
    - item_type: preproc_def
      name: UD_QMPUB
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
      type_or_value: '"qosmatch_publisher"'
    - item_type: preproc_def
      name: UD_QMPUBDONE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
      type_or_value: UD_QMPUB ":ok"
    structs:
    - fields:
      - name: domainid
        type: dds_domainid_t
      - name: '*topicname'
        type: char
      item_type: struct
      name: thread_arg
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/qosmatch.c
    typedefs: []
    union: []
- function_names:
  - on_pub_matched
  - on_sub_matched
  - create_reader_thread
  - do_ddsc_match_stress_single_writer_many_readers
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dp
        type: dds_entity_t
      - name: tp
        type: dds_entity_t
      - name: '*listener'
        type: dds_listener_t
      item_type: struct
      name: create_reader_thread_arg
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsc/tests/matchstress.c
    typedefs: []
    union: []
- function_names:
  - strfy
  - DDSC_ARRAYTYPEKEY_TEST
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - DDSC_ARRAYTYPEKEY_TEST
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/types.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - liveliness_init
  - liveliness_fini
  - get_pmd_seqno
  - get_pmd_interval
  - get_ldur_config
  - test_pmd_count
  - test_expire_liveliness_kinds
  - add_and_check_writer
  - test_lease_duration_pwr
  - test_create_delete_writer_stress
  - test_status_counts
  - test_assert_liveliness
  - liveliness_changed_listener
  - get_and_check_status
  - setup_reader_zero_or_one
  source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN_LOG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Tracing><OutputFile>cyclonedds_liveliness_tests.${CYCLONEDDS_DOMAIN_ID}.${CYCLONEDDS_PID}.log</OutputFile><Verbosity>finest</Verbosity></Tracing><Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: A
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: DDS_LIVELINESS_AUTOMATIC
    - item_type: preproc_def
      name: MP
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: DDS_LIVELINESS_MANUAL_BY_PARTICIPANT
    - item_type: preproc_def
      name: MT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: DDS_LIVELINESS_MANUAL_BY_TOPIC
    - item_type: preproc_def
      name: MAX_WRITERS
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_WRITERS
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '100'
    - item_type: preproc_def
      name: MAX_WRITERS
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '100'
    - item_type: preproc_def
      name: STATUS_UNSYNCED
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STATUS_SYNCED
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '1'
    - item_type: preproc_def
      name: STATUS_DATA
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
      type_or_value: '2'
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: w0_handle
        type: dds_instance_handle_t
      - name: weirdness
        type: bool
      - name: w0_alive
        type: uint32_t
      item_type: struct
      name: liveliness_changed_state
      pos:
        line_end: 862
        line_start: 857
        source_file: /src/cyclonedds/src/core/ddsc/tests/liveliness.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*typeobj_modify) (dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
        *type_id_obj_seq, uint32_t kind)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_common.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_destination_addresses
  - logger
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
  types:
    enum:
    - enumerators:
      - name: LST_INACTIVE
      - name: LST_WRITE
      - name: LST_ACKNACK
      item_type: enum
      name: logger_state
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_mtime_t
      - name: enabled
        type: bool
      - name: data_seen
        type: bool
      - name: acknack_seen
        type: bool
      - name: mc_for_data
        type: bool
      - name: '*guidstr'
        type: char
      - name: state[2][2]
        type: enum logger_state
      item_type: struct
      name: logger_arg
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/tests/redundantnw.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/core/ddsc/tests/transientlocal.c
      type_or_value: (7)
    structs: []
    typedefs: []
    union: []
- function_names:
  - filter
  - setup
  - teardown
  source_file: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsc/tests/instance_get_key.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - topic_find_global_init
  - topic_find_global_fini
  - create_remote_topic
  - wait_for_remote_topic
  - get_desc_typeinfo
  - set_topic_name
  - topics_thread
  - topics_thread_state
  source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
  types:
    enum:
    - enumerators:
      - name: INIT
      - name: DONE
      - name: STOPPED
      item_type: enum
      name: topic_thread_state
      pos:
        line_end: 136
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_DOMAINID3
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId><EnableTopicDiscoveryEndpoints>true</EnableTopicDiscoveryEndpoints></Discovery>"'
    - item_type: preproc_def
      name: MAX_NAME_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
      type_or_value: (100)
    structs:
    - fields:
      - name: remote
        type: bool
      - name: state
        type: ddsrt_atomic_uint32_t
      - name: num_tp
        type: uint32_t
      - name: pp
        type: dds_entity_t
      - name: topic_name_prefix[MAX_NAME_SIZE]
        type: char
      - name: '*topic_desc'
        type: dds_topic_descriptor_t
      item_type: struct
      name: create_topic_thread_arg
      pos:
        line_end: 146
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_global.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - topic_find_local_init
  - topic_find_local_fini
  - topic_find_local_domain_impl
  source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
  types:
    enum:
    - enumerators:
      - name: TFLDIDW_TOPIC
      - name: TFLDIDW_PARTICIPANT
      item_type: enum
      name: topic_find_local_domain_impl_delete_what
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_NAME_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_find_local.c
      type_or_value: (100)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - logsink
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/domain.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**buf'
        type: char
      - name: capacity
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: logsink_arg
      pos:
        line_end: 296
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsc/tests/domain.c
    typedefs: []
    union: []
- function_names:
  - ddsc_topic_init
  - ddsc_topic_fini
  source_file: /src/cyclonedds/src/core/ddsc/tests/topic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NAME_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic.c
      type_or_value: (100)
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_localhost_address
  - get_nonexist_address
  - make_domain_and_participant
  - logger
  - run_one
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
  types:
    enum:
    - enumerators:
      - name: SLEEP_1
      - name: SLEEP_3
      - name: SHUTDOWN_0
      - name: SHUTDOWN_1
      - name: SLEEP_5
      - name: KILL_0
      - name: KILL_1
      item_type: enum
      name: oper
      pos:
        line_end: 176
        line_start: 168
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PATS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
      type_or_value: '4'
    structs:
    - fields:
      - name: str[DDSI_LOCSTRLEN]
        type: char
      item_type: struct
      name: locstr_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    - fields:
      - name: '*pat'
        type: char
      - name: present
        type: bool
      item_type: struct
      name: logger_pat
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    - fields:
      - name: expected[2][MAX_PATS]
        type: struct logger_pat
      - name: found[2]
        type: uint32_t
      item_type: struct
      name: logger_arg
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    - fields:
      - name: allowmc
        type: enum ddsi_boolean_default
      - name: '*spdp_address'
        type: char
      - name: '*participant_index'
        type: char
      - name: add_localhost
        type: bool
      - name: '*peer'
        type: locstr_t
      item_type: struct
      name: one
      pos:
        line_end: 161
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    - fields:
      - name: one[2]
        type: struct one
      item_type: struct
      name: cfg
      pos:
        line_end: 164
        line_start: 162
        source_file: /src/cyclonedds/src/core/ddsc/tests/spdp.c
    typedefs: []
    union: []
- function_names:
  - DEFINE_STATUS_CALLBACK
  - data_on_readers_cb
  - data_available_cb
  - dummy_data_on_readers_cb
  - dummy_data_available_cb
  - dummy_subscription_matched_cb
  - dummy_liveliness_changed_cb
  - dummy_cb
  - S
  - advance
  - get_status
  - check_status_change_fields_are_0
  - mvfprintf
  - mfprintf
  - mprintf
  - vsetresult
  - setresult
  - error
  - error_dds
  - testfail
  - advancetok
  - issymchar0
  - issymchar
  - lookingatnum
  - lookingatinf
  - nexttok_dur
  - nexttok
  - peektok
  - nexttok_if
  - nexttok_int
  - def_kvarg_int0
  - def_kvarg_int1
  - def_kvarg_dur_inf
  - def_kvarg_dur_100ms
  - read_kvarg_int
  - read_kvarg_posint
  - read_kvarg_dur
  - read_kvarg_3len
  - read_kvarg_isterm
  - read_kvarg
  - qos_durability
  - qos_history
  - qos_destination_order
  - qos_ownership
  - qos_transport_priority
  - qos_reliability
  - qos_liveliness
  - qos_simple_duration
  - qos_latency_budget
  - qos_deadline
  - qos_lifespan
  - qos_resource_limits
  - qos_durability_service
  - qos_presentation
  - qos_autodispose_unregistered_instances
  - qos_writer_batching
  - qos_partition
  - qos_userdata
  - setqos
  - parse_entity1
  - parse_entity
  - parse_listener1
  - parse_listener
  - getentname
  - make_participant
  - make_entity1
  - make_entity
  - setlistener
  - lookup_insthandle
  - print_timestamp
  - parse_sample_value
  - wrname_from_pubhandle
  - doreadlike_parse_sample
  - doreadlike_ismatch
  - doreadlike_matchstep
  - doreadlike
  - dotake
  - doread
  - dopeek
  - dowritelike
  - dowr
  - dowrfail
  - dowrdisp
  - dowrdispfail
  - dodisp
  - dodispfail
  - dounreg
  - dounregfail
  - dowriteflush
  - checkstatus
  - checklistener
  - dowaitforack
  - dowaitfornolistener
  - dowaitforlistener
  - dowait
  - dodelete
  - dodeafmute_modestr
  - wait_for_cleanup
  - dodeafmute_maybe_imm
  - donormal
  - dodeaf
  - domute
  - dodeafmute
  - dosleep
  - dosetflags
  - docheckstatus
  - dispatchcmd
  - dosetlistener
  - test_oneliner_step1
  - test_oneliner_init
  - test_oneliner_step
  - test_oneliner_message
  - test_oneliner_fini
  - test_oneliner_with_config
  - test_oneliner
  - test_oneliner_no_shm
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
  types:
    enum:
    - enumerators:
      - name: DONORMAL
      - name: DODEAFMUTE
      - name: DODEAF
      - name: DOMUTE
      item_type: enum
      name: dodeafmute_mode
      pos:
        line_end: 1911
        line_start: 1911
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    preproc_defs:
    - item_type: preproc_def
      name: MAXDOMS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: (sizeof (((struct oneliner_ctx){.result=0}).doms) / sizeof (((struct
        oneliner_ctx){.result=0}).doms[0]))
    - item_type: preproc_def
      name: TOK_END
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: TOK_NAME
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-2'
    - item_type: preproc_def
      name: TOK_INT
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-3'
    - item_type: preproc_def
      name: TOK_DURATION
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-4'
    - item_type: preproc_def
      name: TOK_TIMESTAMP
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-5'
    - item_type: preproc_def
      name: TOK_ELLIPSIS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-6'
    - item_type: preproc_def
      name: TOK_INVALID
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '-7'
    - item_type: preproc_def
      name: MAXN
      pos:
        line_end: 1357
        line_start: 1356
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
      type_or_value: '10'
    structs:
    - fields:
      - name: n[MAXDOMS + 1]
        type: char
      item_type: struct
      name: entname_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - fields:
      - name: '*k'
        type: char
      - name: klen
        type: size_t
      - name: v
        type: int
      - name: (*arg) (struct oneliner_lex *l, void *dst)
        type: bool
      - name: (*def) (void *dst)
        type: void
      item_type: struct
      name: kvarg
      pos:
        line_end: 474
        line_start: 468
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - fields:
      - name: '*abbrev'
        type: char
      - name: n
        type: size_t
      - name: (*fn) (struct oneliner_lex *l, dds_qos_t *q)
        type: bool
      - name: id
        type: dds_qos_policy_id_t
      item_type: struct
      name: "qostab[] = {\n  { \"ll\", 2, qos_liveliness, DDS_LIVELINESS_QOS_POLICY_ID
        },\n  { \"d\",  1, qos_durability, DDS_DURABILITY_QOS_POLICY_ID },\n  { \"dl\",
        2, qos_deadline, DDS_DEADLINE_QOS_POLICY_ID },\n  { \"h\",  1, qos_history,
        DDS_HISTORY_QOS_POLICY_ID },\n  { \"lb\", 2, qos_latency_budget, DDS_LATENCYBUDGET_QOS_POLICY_ID
        },\n  { \"ls\", 2, qos_lifespan, DDS_LIFESPAN_QOS_POLICY_ID },\n  { \"do\",
        2, qos_destination_order, DDS_DESTINATIONORDER_QOS_POLICY_ID },\n  { \"o\",
        \ 1, qos_ownership, DDS_OWNERSHIP_QOS_POLICY_ID },\n  { \"tp\", 2, qos_transport_priority,
        DDS_OWNERSHIPSTRENGTH_QOS_POLICY_ID },\n  { \"p\",  1, qos_presentation, DDS_PRESENTATION_QOS_POLICY_ID
        },\n  { \"r\",  1, qos_reliability, DDS_RELIABILITY_QOS_POLICY_ID },\n  {
        \"rl\", 2, qos_resource_limits, DDS_RESOURCELIMITS_QOS_POLICY_ID },\n  { \"ds\",
        2, qos_durability_service, DDS_DURABILITYSERVICE_QOS_POLICY_ID },\n  { \"ad\",
        2, qos_autodispose_unregistered_instances, DDS_WRITERDATALIFECYCLE_QOS_POLICY_ID
        },\n  { \"wb\", 2, qos_writer_batching, DDS_INVALID_QOS_POLICY_ID },\n  {
        \"part\", 4, qos_partition, DDS_PARTITION_QOS_POLICY_ID },\n  { \"ud\", 2,
        qos_userdata, DDS_USERDATA_QOS_POLICY_ID }\n}"
      pos:
        line_end: 808
        line_start: 803
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - fields:
      - name: ts
        type: dds_time_t
      - name: wrih
        type: dds_instance_handle_t
      - name: state
        type: uint32_t
      - name: wrent
        type: int
      - name: data
        type: Space_Type1
      - name: valid_data
        type: bool
      - name: disposed_generation_count
        type: int
      - name: no_writers_generation_count
        type: int
      - name: '*begin'
        type: char
      item_type: struct
      name: doreadlike_sample
      pos:
        line_end: 1209
        line_start: 1199
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    - fields:
      - name: '*name'
        type: char
      - name: (*fn) (struct oneliner_ctx *ct)
        type: void
      item_type: struct
      name: "cs[] = {\n    { \"-\",          dodelete },\n    { \"?\",          dowait
        },\n    { \"status\",     docheckstatus },\n    { \"wr\",         dowr },\n
        \   { \"wrdisp\",     dowrdisp },\n    { \"disp\",       dodisp },\n    {
        \"unreg\",      dounreg },\n    { \"wrfail\",     dowrfail },\n    { \"wrdispfail\",
        dowrdispfail },\n    { \"dispfail\",   dodispfail },\n    { \"unregfail\",
        \ dounregfail },\n    { \"flush\",      dowriteflush },\n    { \"take\",       dotake
        },\n    { \"read\",       doread },\n    { \"peek\",       dopeek },\n    {
        \"deaf\",       dodeaf },\n    { \"mute\",       domute },\n    { \"deafmute\",
        \  dodeafmute },\n    { \"normal\",     donormal },\n    { \"sleep\",      dosleep
        },\n    { \"setflags\",   dosetflags },\n  }"
      pos:
        line_end: 2184
        line_start: 2181
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
    typedefs: []
    union:
    - fields:
      - name: x
        type: dds_guid_t
      - name: i
        type: ddsi_guid_t
      item_type: union
      name: rdguid
      pos:
        line_end: 1772
        line_start: 1772
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.c
- function_names:
  - SAMPLE_VST
  - SAMPLE_IST
  - filter_init
  - filter_mod2
  - reader_iterator_init
  - reader_iterator_fini
  - samples_cnt
  source_file: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
      type_or_value: '21'
    - item_type: preproc_def
      name: RDR_NOT_READ_CNT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
      type_or_value: '11'
    - item_type: preproc_def
      name: RDR_INV_READ_CNT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader_iterator.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DESC
  - data_representation_init
  - data_representation_fini
  - sample_init_type1
  - sample_equal_type1
  - sample_free_type1
  - sample_init_type2
  - sample_equal_type2
  - sample_free_type2
  - sample_init_type3
  - sample_equal_type3
  - sample_free_type3
  - write_read_sample
  - get_qos
  - exp_qos
  source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: MAX_DR
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '10'
    - item_type: preproc_def
      name: XCDR1
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: DDS_DATA_REPRESENTATION_XCDR1
    - item_type: preproc_def
      name: XCDR2
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: DDS_DATA_REPRESENTATION_XCDR2
    - item_type: preproc_def
      name: X_
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { -1 }, 0 }'
    - item_type: preproc_def
      name: X1
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR1 }, 1 }'
    - item_type: preproc_def
      name: X1_2
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR1, XCDR2 }, 2 }'
    - item_type: preproc_def
      name: X2
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR2 }, 1 }'
    - item_type: preproc_def
      name: X2_1
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR2, XCDR1 }, 2 }'
    - item_type: preproc_def
      name: X_
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { -1 }, 0 }'
    - item_type: preproc_def
      name: X1
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR1 }, 1 }'
    - item_type: preproc_def
      name: X1_2
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR1, XCDR2 }, 2 }'
    - item_type: preproc_def
      name: X2
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR2 }, 1 }'
    - item_type: preproc_def
      name: X2_1
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type_or_value: '{ { XCDR2, XCDR1 }, 2 }'
    structs:
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: sample_init
        type: sample_init_fn
      - name: sample_equal
        type: sample_equal_fn
      - name: sample_free
        type: sample_free_fn
      item_type: struct
      name: "tests[] = {\n    { &DESC(Type1), sample_init_type1, sample_equal_type1,
        sample_free_type1 },\n    { &DESC(Type2), sample_init_type2, sample_equal_type2,
        sample_free_type2 },\n    { &DESC(Type3), sample_init_type3, sample_equal_type3,
        sample_free_type3 }\n  }"
      pos:
        line_end: 179
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    - fields:
      - name: match
        type: bool
      - name: ids_rd[MAX_DR]
        type: dds_data_representation_id_t
      - name: n_ids_rd
        type: uint32_t
      - name: ids_wr[MAX_DR]
        type: dds_data_representation_id_t
      - name: n_ids_wr
        type: uint32_t
      item_type: struct
      name: "tests[] = {\n    { true,  { XCDR2, XCDR1 }, 2, { XCDR2 }, 1 },\n    {
        true,  { XCDR1, XCDR2 }, 2, { XCDR2 }, 1 },\n    { true,  { XCDR2, XCDR1 },
        2, { XCDR1 }, 1 },\n    { true,  { XCDR1, XCDR2 }, 2, { XCDR1 }, 1 },\n    {
        false, { XCDR2 },        1, { XCDR1 }, 1 },\n    { false, { XCDR1 },        1,
        { XCDR2 }, 1 },\n    { true,  { -1 },           0, { -1 },    0 },\n    {
        true,  { -1 },           0, { XCDR1 }, 1 },\n    { true,  { -1 },           0,
        { XCDR2 }, 1 },\n    { false, { XCDR1 },        1, { -1 },    0 },\n    {
        true,  { XCDR2 },        1, { -1 },    0 },\n  }"
      pos:
        line_end: 248
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    - fields:
      - name: d[MAX_DR]
        type: dds_data_representation_id_t
      - name: n
        type: uint32_t
      item_type: struct
      name: datarep_ids
      pos:
        line_end: 329
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    - fields:
      - name: set
        type: datarep_ids_t
      - name: valid
        type: bool
      - name: exp
        type: datarep_ids_t
      item_type: struct
      name: datarep_qos_exp
      pos:
        line_end: 335
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: tp
        type: datarep_qos_exp_t
      - name: rd
        type: datarep_qos_exp_t
      - name: wr
        type: datarep_qos_exp_t
      item_type: struct
      name: "tests[] = {\n    //Descriptor                   /tp                   /rd
        \                  /wr\n    { &DESC(TypeFinal),            { X_,   true, X1_2
        }, { X_,   true, X1_2 }, { X_,   true, X1 } },\n    { &DESC(TypeFinal),            {
        X1,   true, X1   }, { X1,   true, X1   }, { X1,   true, X1 } },\n    { &DESC(TypeFinal),
        \           { X2,   true, X2   }, { X2,   true, X2   }, { X2,   true, X2 }
        },\n    { &DESC(TypeFinal),            { X2,   true, X2   }, { X_,   true,
        X2   }, { X_,   true, X2 } },\n    { &DESC(TypeFinal),            { X1_2,
        true, X1_2 }, { X_,   true, X1_2 }, { X_,   true, X1 } },\n    { &DESC(TypeFinal),
        \           { X1_2, true, X1_2 }, { X2_1, true, X2_1 }, { X_,   true, X1 }
        },\n    { &DESC(TypeFinal),            { X_,   true, X1_2 }, { X2,   true,
        X2   }, { X1,   true, X1 } },\n\n    { &DESC(TypeFinalOptional),    { X_,
        \  true, X2_1 }, { X_,   true, X2_1 }, { X_,   true, X2 } },\n    { &DESC(TypeFinalOptional),
        \   { X1,   true, X1   }, { X_,   true, X1   }, { X_,   true, X1 } },\n    {
        &DESC(TypeFinalOptional),    { X2,   true, X2   }, { X1,   true, X1   }, {
        X1,   true, X1 } },\n    { &DESC(TypeFinalOptional),    { X1_2, true, X1_2
        }, { X1,   true, X1   }, { X1,   true, X1 } },\n    { &DESC(TypeFinalOptional),
        \   { X_,   true, X2_1 }, { X2_1, true, X2_1 }, { X1,   true, X1 } },\n    {
        &DESC(TypeFinalOptional),    { X_,   true, X2_1 }, { X_,   true, X2_1 }, {
        X2_1, true, X2 } },\n\n    { &DESC(TypeAppendable),       { X_,   true, X2_1
        }, { X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    { &DESC(TypeAppendable),
        \      { X1,   true, X1 },   { X_,   true,  X1 },  { X_,   true,  X1 } },\n
        \   { &DESC(TypeAppendable),       { X2_1, true, X2_1 }, { X_,   true,  X2_1
        },{ X_,   true,  X2 } },\n    { &DESC(TypeAppendable),       { X2,   true,
        X2 },   { X_,   true,  X2 },  { X_,   true,  X2 } },\n    { &DESC(TypeAppendable),
        \      { X2,   true, X2 },   { X1,   true,  X1 },  { X2,   true,  X2 } },\n
        \   { &DESC(TypeAppendable),       { X2,   true, X2 },   { X2_1, true,  X2_1
        },{ X2_1, true,  X2 } },\n\n    { &DESC(TypeMutable),          { X_,   true,
        \ X2_1 },{ X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    { &DESC(TypeMutable),
        \         { X2_1, true,  X2_1 },{ X_,   true,  X2_1 },{ X_,   true,  X2 }
        },\n    { &DESC(TypeMutable),          { X2,   true,  X2 },  { X_,   true,
        \ X2 },  { X_,   true,  X2 } },\n\n    { &DESC(TypeNestedAppendable), { X_,
        \  true,  X2 },  { X_,   true,  X2 },  { X_,   true,  X2 } },\n    { &DESC(TypeNestedAppendable),
        { X2_1, false, X_ },  { X_,   false, X_ },  { X_,   false, X_ } },\n    {
        &DESC(TypeNestedAppendable), { X2,   true,  X2 },  { X_,   true,  X2 },  {
        X_,   true,  X2 } },\n\n    { &DESC(TypeNestedMutable),    { X_,   true,  X2_1
        },{ X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    { &DESC(TypeNestedMutable),
        \   { X2_1, true,  X2_1 },{ X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    {
        &DESC(TypeNestedMutable),    { X2,   true,  X2 },  { X_,   true,  X2 },  {
        X_,   true,  X2 } },\n\n    { &DESC(TypeNestedMutableArr), { X_,   true,  X2_1
        },{ X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    { &DESC(TypeNestedMutableArr),
        { X1,   true,  X1 },  { X_,   true,  X1 },  { X_,   true,  X1 } },\n    {
        &DESC(TypeNestedMutableSeq), { X_,   true,  X2_1 },{ X_,   true,  X2_1 },{
        X_,   true,  X2 } },\n    { &DESC(TypeNestedMutableSeq), { X1,   true,  X1
        },  { X_,   true,  X1 },  { X_,   true,  X1 } },\n    { &DESC(TypeNestedMutableUni),
        { X_,   true,  X2_1 },{ X_,   true,  X2_1 },{ X_,   true,  X2 } },\n    {
        &DESC(TypeNestedMutableUni), { X1,   true,  X1 },  { X_,   true,  X1 },  {
        X_,   true,  X1 } }\n  }"
      pos:
        line_end: 373
        line_start: 368
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: tp[4]
        type: datarep_qos_exp_t
      item_type: struct
      name: "tests[] = {\n    { &DESC(TypeXcdr1),          { { X_, true,  X1 },   {
        X1, true,  X1 }, { X2, false, X_ }, { X1_2, false, X_   } } },\n    { &DESC(TypeXcdr2),
        \         { { X_, true,  X2 },   { X1, false, X_ }, { X2, true,  X2 }, { X1_2,
        false, X_   } } },\n    { &DESC(TypeXcdr1_2),        { { X_, true,  X1_2 },
        { X1, true,  X1 }, { X2, true,  X2 }, { X1_2, true,  X1_2 } } },\n    { &DESC(TypeXcdr1_xml_2),
        \   { { X_, true,  X1_2 }, { X1, true,  X1 }, { X2, true,  X2 }, { X1_2, true,
        \ X1_2 } } },\n    { &DESC(TypeXcdr1_other),    { { X_, true,  X1 },   { X1,
        true,  X1 }, { X2, false, X_ }, { X1_2, false, X_   } } },\n    { &DESC(TypeXcdr2_other),
        \   { { X_, true,  X2 },   { X1, false, X_ }, { X2, true,  X2 }, { X1_2, false,
        X_   } } },\n    { &DESC(TypeXcdrA1),         { { X_, true,  X1 },   { X1,
        true,  X1 }, { X2, false, X_ }, { X1_2, false, X_   } } },\n    { &DESC(TypeXcdrA2),
        \        { { X_, true,  X2 },   { X1, false, X_ }, { X2, true,  X2 }, { X1_2,
        false, X_   } } },\n    { &DESC(TypeXcdrA1_2),       { { X_, true,  X2_1 },
        { X1, true,  X1 }, { X2, true,  X2 }, { X1_2, true,  X1_2 } } },\n    { &DESC(TypeXcdrNestedA),
        \   { { X_, true,  X2 },   { X1, false, X_ }, { X2, true,  X2 }, { X1_2, false,
        X_   } } },\n    { &DESC(TypeXcdrOptNestedA), { { X_, true,  X1 },   { X1,
        true,  X1 }, { X2, false, X_ }, { X1_2, false, X_   } } },\n  }"
      pos:
        line_end: 529
        line_start: 526
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
    typedefs:
    - item_type: typedef
      name: '* (*sample_init_fn) (void)'
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type: void
    - item_type: typedef
      name: (*sample_free_fn) (void *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type: void
    - item_type: typedef
      name: (*sample_equal_fn) (const void *a, const void *b)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_representation.c
      type: bool
    union: []
- function_names:
  - setup
  - teardown
  - check_default_qos_of_builtin_entity
  - check_type_info
  - CU_Test
  - querycond_true
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
  types:
    enum:
    - enumerators:
      - name: CDQOBE_READER
      - name: CDQOBE_SUBSCRIBER
      - name: CDQOBE_TOPIC
      item_type: enum
      name: cdqobe_kind
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
      type_or_value: '2'
    structs:
    - fields:
      - name: h
        type: dds_entity_t
      - name: '*n'
        type: char
      item_type: struct
      name: "tps[] = {\n    { DDS_BUILTIN_TOPIC_DCPSPARTICIPANT, \"DCPSParticipant\"
        },\n    { DDS_BUILTIN_TOPIC_DCPSTOPIC, \"DCPSTopic\" },\n    { DDS_BUILTIN_TOPIC_DCPSPUBLICATION,
        \"DCPSPublication\" },\n    { DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION, \"DCPSSubscription\"
        },\n    { 0, NULL }\n  }"
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    - fields:
      - name: h
        type: dds_entity_t
      - name: '*n'
        type: char
      item_type: struct
      name: "tps[] = {\n    { DDS_BUILTIN_TOPIC_DCPSPARTICIPANT, \"org::eclipse::cyclonedds::builtin::DCPSParticipant\"
        },\n    { DDS_BUILTIN_TOPIC_DCPSTOPIC, \"org::eclipse::cyclonedds::builtin::DCPSTopic\"
        },\n    { DDS_BUILTIN_TOPIC_DCPSPUBLICATION, \"org::eclipse::cyclonedds::builtin::DCPSPublication\"
        },\n    { DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION, \"org::eclipse::cyclonedds::builtin::DCPSSubscription\"
        },\n    { 0, NULL }\n  }"
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    - fields:
      - name: h
        type: dds_entity_t
      - name: '*n'
        type: char
      item_type: struct
      name: "tps[] = {\n    { DDS_BUILTIN_TOPIC_DCPSPARTICIPANT },\n    { DDS_BUILTIN_TOPIC_DCPSTOPIC
        },\n    { DDS_BUILTIN_TOPIC_DCPSPUBLICATION },\n    { DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION
        },\n    { 0, NULL }\n  }"
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/cyclonedds/src/core/ddsc/tests/builtin_topics.c
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  source_file: /src/cyclonedds/src/core/ddsc/tests/writer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_mockstats_get_ptr
  - dummy_topics_alloc
  - dummy_endpoints_alloc
  - dummy_loans_alloc
  - dummy_psmx_loan_free
  - dummy_psmx_ep_request_loan
  - dummy_psmx_ep_write
  - dummy_psmx_ep_take
  - dummy_psmx_ep_on_data_available
  - dummy_psmx_create_endpoint
  - dummy_psmx_delete_endpoint
  - dummy_psmx_type_qos_supported
  - dummy_psmx_create_topic
  - dummy_psmx_delete_topic
  - dummy_psmx_deinit
  - dummy_psmx_get_node_id
  - dummy_supported_features
  - dummy_create_psmx
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_impl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_participants_thread
  - participant_creation_torture
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_THREADS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/domain_torture.c
      type_or_value: (10)
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_pp
  - do_test_key_write_xcdrv
  - D
  - CU_Test
  - T_INIT_SIMPLE
  - T_INIT_NESTED
  - init_SerdataKeyOrderFinalNestedNonKeyAppendable
  - init_SerdataKeyString
  - init_SerdataKeyStringBounded
  - init_SerdataKeyStringAppendable
  - init_SerdataKeyStringBoundedAppendable
  - init_SerdataKeyArr
  - init_SerdataKeyArrStrBounded
  - init_SerdataKeySequence
  - init_SerdataKeySequenceStruct
  - init_SerdataKeySequenceStructAppendable
  - init_SerdataKeySequenceNested
  - init_SerdataKeyNestedFinalImplicit
  - init_SerdataKeyNestedFinalImplicit2
  - init_SerdataKeyNestedMutableImplicit
  - init_SerdataKeyInheritMutable
  - serdata_default_keybuf
  - alignN
  - print_check_cdr
  - check_key_keyhash
  - MAKE_ENCHDR
  - MAKE_ENCHDR
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    structs:
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: sample_sz
        type: size_t
      - name: use_xcdrv1
        type: bool
      item_type: struct
      name: "tests[] = {\n    D(SerdataKeyOrder, true),\n    D(SerdataKeyOrderId,
        true),\n    D(SerdataKeyOrderHashId, true),\n    D(SerdataKeyOrderAppendable,
        false),\n    D(SerdataKeyOrderMutable, false)\n  }"
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    - fields:
      - name: top_level_enc
        type: uint16_t
      - name: '* data'
        type: unsigned char
      - name: data_sz
        type: size_t
      - name: '* key'
        type: unsigned char
      - name: key_sz
        type: size_t
      - name: '* keyhash'
        type: unsigned char
      - name: keyhash_sz
        type: size_t
      item_type: struct
      name: expected_key
      pos:
        line_end: 444
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: init
        type: init_fn
      - name: xcdrv[2]
        type: struct expected_key
      item_type: struct
      name: "tests[] = {\n    { &SerdataKeyOrder_desc, init_SerdataKeyOrder,\n      {
        {\n        MAKE_ENCHDR(CDR),\n        (raw){\n          1,2,0,0,0,0,0,0,SER64(3)\n
        \       }, 16,\n        (raw){\n          1,0,0,0,0,0,0,0,SER64(3)\n        },
        16,\n        (raw){\n          1,0,0,0,0,0,0,0,SER64BE(3)\n        }, 16\n
        \     }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          1,2,0,0,SER64(3)\n
        \       }, 12,\n        (raw){\n          1,0,0,0,SER64(3)\n        }, 12,\n
        \       (raw){\n          1,0,0,0,SER64BE(3)\n        }, 12\n      } }\n    },\n
        \   { &SerdataKeyOrderId_desc, init_SerdataKeyOrderId,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          1,2,0,0,0,0,0,0,SER64(3)\n        }, 16,\n        (raw){\n
        \         1,0,0,0,0,0,0,0,SER64(3)\n        }, 16,\n        (raw){\n          SER64BE(3),1,\n
        \         0,0,0 // padding\n        }, 9\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          1,2,0,0,SER64(3)\n        }, 12,\n        (raw){\n
        \         1,0,0,0,SER64(3)\n        }, 12,\n        (raw){\n          SER64BE(3),1,\n
        \         0,0,0, // padding\n        }, 9\n      } }\n    },\n    { &SerdataKeyOrderHashId_desc,
        init_SerdataKeyOrderHashId,\n      { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n
        \         1,2,0,0,0,0,0,0,SER64(3)\n        }, 16,\n        (raw){\n          1,0,0,0,0,0,0,0,SER64(3)\n
        \       }, 16,\n        (raw){\n          SER64BE(3),1,\n          0,0,0,
        // padding\n        }, 9\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n
        \         1,2,0,0,SER64(3)\n        }, 12,\n        (raw){\n          1,0,0,0,SER64(3)\n
        \       }, 12,\n        (raw){\n          SER64BE(3),1,\n          0,0,0,
        // padding\n        }, 9\n      } }\n    },\n    { &SerdataKeyOrderAppendable_desc,
        init_SerdataKeyOrderAppendable,\n      { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n
        \         1,2,0,0,0,0,0,0,SER64(3)\n        }, 16,\n        (raw){\n          1,0,0,0,0,0,0,0,SER64(3)\n
        \       }, 16,\n        (raw){\n          SER64BE(3),1,\n          0,0,0 //
        padding\n        }, 9\n      }, {\n        MAKE_ENCHDR(D_CDR2),\n        (raw){\n
        \         SER_DHEADER(12),1,2,0,0,\n          SER64(3)\n        }, 16,\n        (raw){\n
        \         SER_DHEADER(12),1,0,0,0,\n          SER64(3)\n        }, 16,\n        (raw){\n
        \         SER64BE(3),1,\n          0,0,0 // padding\n        }, 9\n      }
        }\n    },\n    { &SerdataKeyOrderMutable_desc, init_SerdataKeyOrderMutable,\n
        \     { {\n        MAKE_ENCHDR(PL_CDR),\n        (raw){\n          SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \         SER_PHDR_EXT(0,4,2),2,0,0,0,\n          SER_PHDR_EXT(0,8,1),SER64(3),\n
        \         SER_PHDR_END(),\n        }, 56,\n        (raw){\n          SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \         SER_PHDR_EXT(0,8,1),SER64(3),\n          SER_PHDR_END(),\n        },
        40,\n        (raw){\n          SER64BE(3),1,\n          0,0,0 // padding\n
        \       }, 9\n      }, {\n        MAKE_ENCHDR(PL_CDR2),\n        (raw){\n
        \         SER_DHEADER(28),\n          SER_EMHEADER(1,0,3),1,0,0,0,\n          SER_EMHEADER(0,0,2),2,0,0,0,\n
        \         SER_EMHEADER(1,3,1),SER64(3)\n        }, 32,\n        (raw){\n          SER_DHEADER(20),\n
        \         SER_EMHEADER(1,0,3),1,0,0,0,\n          SER_EMHEADER(1,3,1),SER64(3)\n
        \       }, 24,\n        (raw){\n          SER64BE(3),1,\n          0,0,0 //
        padding\n        }, 9\n      } }\n    },\n    { &SerdataKeyOrderFinalNestedMutable_desc,
        init_SerdataKeyOrderFinalNestedMutable,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          10,20,0,0,\n            SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \           SER_PHDR_EXT(0,4,2),2,0,0,0,\n            SER_PHDR_EXT(0,8,1),SER64(3),\n
        \           SER_PHDR_END(),\n        }, 60,\n        (raw){\n          10,0,0,0,\n
        \           SER_PHDR_EXT(0,4,3),1,0,0,0,\n            SER_PHDR_EXT(0,8,1),SER64(3),\n
        \           SER_PHDR_END(),\n        }, 44,\n        (raw){\n          SER64BE(3),1,\n
        \         10,\n          0,0 // padding\n        }, 10\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          10,20,0,0,\n            SER_DHEADER(28),\n            SER_EMHEADER(1,0,3),1,0,0,0,\n
        \           SER_EMHEADER(0,0,2),2,0,0,0,\n            SER_EMHEADER(1,3,1),SER64(3)\n
        \       }, 36,\n        (raw){\n          10,0,0,0,\n            SER_DHEADER(20),\n
        \           SER_EMHEADER(1,0,3),1,0,0,0,\n            SER_EMHEADER(1,3,1),SER64(3)\n
        \       }, 28,\n        (raw){\n          SER64BE(3),1,\n          10,\n          0,0
        // padding\n        }, 10\n      } }\n    },\n    { &SerdataKeyOrderFinalNestedNonKeyMutable_desc,
        init_SerdataKeyOrderFinalNestedNonKeyMutable,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          10,20,0,0,\n            SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \           SER_PHDR_EXT(0,4,2),2,0,0,0,\n            SER_PHDR_EXT(0,8,1),SER64(3),\n
        \           SER_PHDR_END(),\n        }, 60,\n        (raw){\n          10,\n
        \         0,0,0 // padding\n        }, 1,\n        (raw){\n          10,\n
        \         0,0,0 // padding\n        }, 1\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          10,20,0,0,\n            SER_DHEADER(28),\n            SER_EMHEADER(1,0,3),1,0,0,0,\n
        \           SER_EMHEADER(0,0,2),2,0,0,0,\n            SER_EMHEADER(1,3,1),SER64(3)\n
        \       }, 36,\n        (raw){\n          10,\n          0,0,0, // padding\n
        \       }, 1,\n        (raw){\n          10,\n          0,0,0 // padding\n
        \       }, 1\n      } }\n    },\n    { &SerdataKeyOrderFinalNestedNonKeyAppendable_desc,
        init_SerdataKeyOrderFinalNestedNonKeyAppendable,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          10,20,0,0,\n          SER_PHDR_EXT(0,16,1),\n            1,2,\n
        \           0,0, // padding\n            0,0,0,0, // more padding because
        of XCDR1 alignment rules\n            SER64(3),\n        }, 32,\n        (raw){\n
        \         10,\n          0,0,0 // padding\n        }, 1,\n        (raw){\n
        \         10,\n          0,0,0 // padding\n        }, 1\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          10,20,\n          1, // optional: present\n            0,
        // padding\n            SER_DHEADER(12),\n            1,2,\n            0,0,
        // padding\n            SER64(3)\n        }, 20,\n        (raw){\n          10,\n
        \         0,0,0, // padding\n        }, 1,\n        (raw){\n          10,\n
        \         0,0,0 // padding\n        }, 1\n      } }\n    },\n    { &SerdataKeyOrderAppendableNestedMutable_desc,
        init_SerdataKeyOrderAppendableNestedMutable,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          10,20,0,0,\n            SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \           SER_PHDR_EXT(0,4,2),2,0,0,0,\n            SER_PHDR_EXT(0,8,1),SER64(3),\n
        \           SER_PHDR_END(),\n        }, 60,\n        (raw){\n          10,0,0,0,\n
        \           SER_PHDR_EXT(0,4,3),1,0,0,0,\n            SER_PHDR_EXT(0,8,1),SER64(3),\n
        \           SER_PHDR_END(),\n        }, 44,\n        (raw){\n          SER64BE(3),1,\n
        \         10,\n          0,0 // padding\n        }, 10\n      }, {\n        MAKE_ENCHDR(D_CDR2),\n
        \       (raw){\n          SER_DHEADER(36),10,20,0,0,\n            SER_DHEADER(28),\n
        \           SER_EMHEADER(1,0,3),1,0,0,0,\n            SER_EMHEADER(0,0,2),2,0,0,0,\n
        \           SER_EMHEADER(1,3,1),SER64(3)\n        }, 40,\n        (raw){\n
        \         SER_DHEADER(28),10,0,0,0,\n            SER_DHEADER(20),\n            SER_EMHEADER(1,0,3),1,0,0,0,\n
        \           SER_EMHEADER(1,3,1),SER64(3)\n        }, 32,\n        (raw){\n
        \         SER64BE(3),1,\n          10,\n          0,0 // padding\n        },
        10\n      } }\n    },\n    { &SerdataKeyOrderMutableNestedMutable_desc, init_SerdataKeyOrderMutableNestedMutable,\n
        \     { {\n        MAKE_ENCHDR(PL_CDR),\n        (raw){\n          SER_PHDR_EXT(0,4,3),10,0,0,0,\n
        \         SER_PHDR_EXT(0,4,2),20,0,0,0,\n          SER_PHDR_EXT(0,56,1),\n
        \           SER_PHDR_EXT(0,4,3),1,0,0,0,\n            SER_PHDR_EXT(0,4,2),2,0,0,0,\n
        \           SER_PHDR_EXT(0,8,1),SER64(3),\n            SER_PHDR_END(),\n          SER_PHDR_END(),\n
        \       }, 104,\n        (raw){\n          SER_PHDR_EXT(0,4,3),10,0,0,0,\n
        \         SER_PHDR_EXT(0,40,1),\n            SER_PHDR_EXT(0,4,3),1,0,0,0,\n
        \           SER_PHDR_EXT(0,8,1),SER64(3),\n            SER_PHDR_END(),\n          SER_PHDR_END(),\n
        \       }, 72,\n        (raw){\n          SER64BE(3),1,\n          10,\n          0,0
        // padding\n        }, 10\n      }, {\n        MAKE_ENCHDR(PL_CDR2),\n        (raw){\n
        \         SER_DHEADER(56),\n          SER_EMHEADER(1,0,3),10,0,0,0,\n          SER_EMHEADER(0,0,2),20,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(32),\n            SER_DHEADER(28),\n
        \           SER_EMHEADER(1,0,3),1,0,0,0,\n            SER_EMHEADER(0,0,2),2,0,0,0,\n
        \           SER_EMHEADER(1,3,1),SER64(3)\n        }, 60,\n        (raw){\n
        \         SER_DHEADER(40),\n          SER_EMHEADER(1,0,3),10,0,0,0,\n          SER_EMHEADER(1,4,1),SER_NEXTINT(24),\n
        \           SER_DHEADER(20),\n            SER_EMHEADER(1,0,3),1,0,0,0,\n            SER_EMHEADER(1,3,1),SER64(3)\n
        \       }, 44,\n        (raw){\n          SER64BE(3),1,\n          10,\n          0,0
        // padding\n        }, 10\n      } }\n    },\n    { &SerdataKeyOrderMutableNestedAppendable_desc,
        init_SerdataKeyOrderMutableNestedAppendable,\n      { {\n        0 // not
        supported\n      }, {\n        MAKE_ENCHDR(PL_CDR2),\n        (raw){\n          SER_DHEADER(40),\n
        \         SER_EMHEADER(1,0,3),10,0,0,0,\n          SER_EMHEADER(0,0,2),20,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(16),\n            SER_DHEADER(12),1,2,0,0,\n
        \           SER64(3)\n        }, 44,\n        (raw){\n          SER_DHEADER(32),\n
        \         SER_EMHEADER(1,0,3),10,0,0,0,\n          SER_EMHEADER(1,4,1),SER_NEXTINT(16),\n
        \           SER_DHEADER(12),1,0,0,0,\n            SER64(3)\n        }, 36,\n
        \       (raw){\n          SER64BE(3),1,\n          10,\n          0,0 // padding\n
        \       }, 10\n      } }\n    },\n    { &SerdataKeyOrderMutableNestedFinal_desc,
        init_SerdataKeyOrderMutableNestedFinal,\n      { {\n        MAKE_ENCHDR(PL_CDR),\n
        \       (raw){\n          SER_PHDR_EXT(0,4,3),10,0,0,0,\n          SER_PHDR_EXT(0,4,2),20,0,0,0,\n
        \         SER_PHDR_EXT(0,16,1),\n            1,2,0,0,\n            0,0,0,0,
        // padding\n            SER64(3),\n          SER_PHDR_END()\n        }, 64,\n
        \       (raw){\n          SER_PHDR_EXT(0,4,3),10,0,0,0,\n          SER_PHDR_EXT(0,16,1),\n
        \           1,0,0,0,\n            0,0,0,0, // padding\n            SER64(3),\n
        \         SER_PHDR_END()\n        }, 48,\n        (raw){\n          1,0,0,0,\n
        \         0,0,0,0, // padding\n          SER64BE(3),\n          10,\n          0,0,0
        // padding\n        }, 17\n      }, {\n        MAKE_ENCHDR(PL_CDR2),\n        (raw){\n
        \         SER_DHEADER(36),\n          SER_EMHEADER(1,0,3),10,0,0,0,\n          SER_EMHEADER(0,0,2),20,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(12),\n            1,2,0,0,\n            SER64(3)\n
        \       }, 40,\n        (raw){\n          SER_DHEADER(28),\n          SER_EMHEADER(1,0,3),10,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(12),\n            1,0,0,0,\n            SER64(3)\n
        \       }, 32,\n        (raw){\n          1,0,0,0,SER64BE(3),\n          10,\n
        \         0,0,0 // padding\n        }, 13\n      } }\n    },\n    { &SerdataKeyString_desc,
        init_SerdataKeyString,\n      { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n
        \         1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n          0,0,0
        // padding\n        }, 13,\n        (raw){\n          1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 13,\n        (raw){\n          1,0,0,0,\n
        \         SER32BE(5),'t','e','s','t','\\0',\n          0,0,0 // padding\n
        \       }, 13\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          1,0,0,0,\n
        \         SER32(5),'t','e','s','t','\\0',\n          0,0,0 // padding\n        },
        13,\n        (raw){\n          1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 13,\n        (raw){\n          1,0,0,0,\n
        \         SER32BE(5),'t','e','s','t','\\0',\n          0,0,0 // padding\n
        \       }, 13\n      } }\n    },\n    { &SerdataKeyStringBounded_desc, init_SerdataKeyStringBounded,\n
        \     { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n          1,0,0,0,\n
        \         SER32(3),'t','s','\\0',\n          0 // padding\n        }, 11,\n
        \       (raw){\n          1,0,0,0,\n          SER32(3),'t','s','\\0',\n          0
        // padding\n        }, 11,\n        (raw){\n          1,0,0,0,\n          SER32BE(3),'t','s','\\0',\n
        \         0 // padding\n        }, 11\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          1,0,0,0,\n          SER32(3),'t','s','\\0',\n          0
        // padding\n        }, 11,\n        (raw){\n          1,0,0,0,\n          SER32(3),'t','s','\\0',\n
        \         0 // padding\n        }, 11,\n        (raw){\n          1,0,0,0,\n
        \         SER32BE(3),'t','s','\\0',\n          0 // padding\n        }, 11\n
        \     } }\n    },\n    { &SerdataKeyStringAppendable_desc, init_SerdataKeyStringAppendable,\n
        \     { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n          1,0,0,0,\n
        \         SER32(5),'t','e','s','t','\\0',\n          0,0,0 // padding\n        },
        13,\n        (raw){\n          1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 13,\n        (raw){\n          1,0,0,0,SER32BE(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 13\n      }, {\n        MAKE_ENCHDR(D_CDR2),\n
        \       (raw){\n          SER_DHEADER(13),\n          1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 17,\n        (raw){\n          SER_DHEADER(13),\n
        \         1,0,0,0,\n          SER32(5),'t','e','s','t','\\0',\n          0,0,0
        // padding\n        }, 17,\n        (raw){\n          1,0,0,0,SER32BE(5),'t','e','s','t','\\0',\n
        \         0,0,0 // padding\n        }, 13\n      } }\n    },\n    { &SerdataKeyStringBoundedAppendable_desc,
        init_SerdataKeyStringBoundedAppendable,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          1,0,0,0,\n          SER32(4),'t','s','t','\\0'\n
        \       }, 12,\n        (raw){\n          1,0,0,0,\n          SER32(4),'t','s','t','\\0'\n
        \       }, 12,\n        (raw){\n          1,0,0,0,\n          SER32BE(4),'t','s','t','\\0'\n
        \       }, 12\n      }, {\n        MAKE_ENCHDR(D_CDR2),\n        (raw){\n
        \         SER_DHEADER(12),\n          1,0,0,0,\n          SER32(4),'t','s','t','\\0'\n
        \       }, 16,\n        (raw){\n          SER_DHEADER(12),\n          1,0,0,0,\n
        \         SER32(4),'t','s','t','\\0'\n        }, 16,\n        (raw){\n          1,0,0,0,\n
        \         SER32BE(4),'t','s','t','\\0'\n        }, 12\n      } }\n    },\n
        \   { &SerdataKeyArr_desc, init_SerdataKeyArr,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          0,1,2,3,4,5,6,7,8,9,10,11\n        }, 12,\n        (raw){\n
        \         0,1,2,3,4,5,6,7,8,9,10,11\n        }, 12,\n        (raw){\n          0,1,2,3,4,5,6,7,8,9,10,11\n
        \       }, 12\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          0,1,2,3,4,5,6,7,8,9,10,11\n
        \       }, 12,\n        (raw){\n          0,1,2,3,4,5,6,7,8,9,10,11\n        },
        12,\n        (raw){\n          0,1,2,3,4,5,6,7,8,9,10,11\n        }, 12\n
        \     } }\n    },\n    { &SerdataKeyArrStrBounded_desc, init_SerdataKeyArrStrBounded,\n
        \     { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n          SER32(3),'t','s','\\0',\n
        \         0, /* padding */\n          SER32(3),'t','s','\\0',\n          0
        /* padding */\n        }, 15,\n        (raw){\n          SER32(3),'t','s','\\0',\n
        \         0, /* padding */\n          SER32(3),'t','s','\\0',\n          0
        /* padding */\n        }, 15,\n        (raw){\n          SER32BE(3),'t','s','\\0',\n
        \         0, /* padding */\n          SER32BE(3),'t','s','\\0',\n          0
        /* padding */\n        }, 15\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n
        \         SER_DHEADER(15),\n          SER32(3),'t','s','\\0',\n          0,
        /* padding */\n          SER32(3),'t','s','\\0',\n          0 /* padding */\n
        \       }, 19,\n        (raw){\n          SER_DHEADER(15),\n          SER32(3),'t','s','\\0',\n
        \         0, /* padding */\n          SER32(3),'t','s','\\0',\n          0
        /* padding */\n        }, 19,\n        (raw){\n          SER_DHEADERBE(15),\n
        \         SER32BE(3),'t','s','\\0',\n          0, /* padding */\n          SER32BE(3),'t','s','\\0',\n
        \         0 /* padding */\n        }, 19\n      } }\n    },\n    { &SerdataKeyNestedFinalImplicit_desc,
        init_SerdataKeyNestedFinalImplicit,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          // d\n          1,2,\n            3,4,0,0,0,0,SER64(5),\n
        \         // e\n          11,12,\n            13,14,0,0,0,0,SER64(15),\n          //
        f\n          SER32(20)\n        }, 36,\n        (raw){\n          // d\n          1,2,\n
        \           3,0,0,0,0,0,SER64(5),\n          // f\n          SER32(20)\n        },
        20,\n        (raw){\n          SER32BE(20),  // f\n          3,0,0,0,      //
        d.z.a\n          SER64BE(5),   // d.z.c\n          2,            // d.y\n
        \         1,            // d.x\n          0,0           // padding\n        },
        18\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          // d\n
        \         1,2,\n            3,4,SER64(5),\n          // e\n          11,12,\n
        \           13,14,SER64(15),\n          // f\n          SER32(20)\n        },
        28,\n        (raw){\n          // d\n          1,2,\n            3,0,SER64(5),\n
        \         // f\n          SER32(20)\n        }, 16,\n        (raw){\n          SER32BE(20),
        \ // f\n          3,0,0,0,      // d.z.a\n          SER64BE(5),   // d.z.c\n
        \         2,            // d.y\n          1,            // d.x\n          0,0
        \          // padding\n        }, 18\n      } }\n    },\n    { &SerdataKeyNestedFinalImplicit2_desc,
        init_SerdataKeyNestedFinalImplicit2,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          // a\n          1,2,3,4,\n          5,6,7,8,\n          //
        b\n          11,12,13,14,\n          15,16,17,18\n        }, 16,\n        (raw){\n
        \         // a\n          1,2,\n          5,6\n        }, 4,\n        (raw){\n
        \         // a\n          1,2,\n          5,6\n        }, 4\n      }, {\n
        \       MAKE_ENCHDR(CDR2),\n        (raw){\n          // a\n          1,2,3,4,\n
        \         5,6,7,8,\n          // b\n          11,12,13,14,\n          15,16,17,18\n
        \       }, 16,\n        (raw){\n          // a\n          1,2,\n          5,6\n
        \       }, 4,\n        (raw){\n          // a\n          1,2,\n          5,6\n
        \       }, 4\n      } }\n    },\n    { &SerdataKeyNestedMutableImplicit_desc,
        init_SerdataKeyNestedMutableImplicit,\n      { {\n        MAKE_ENCHDR(CDR),\n
        \       (raw){\n          // d\n          SER_PHDR_EXT(0,4,3),1,0,0,0,\n          SER_PHDR_EXT(0,4,2),2,0,0,0,\n
        \         SER_PHDR_EXT(0,16,1),\n            3,4,0,0,\n            0,0,0,0,
        // padding\n            SER64(5),\n          SER_PHDR_END(),\n          //
        e\n          SER_PHDR_EXT(0,4,3),11,0,0,0,\n          SER_PHDR_EXT(0,4,2),12,0,0,0,\n
        \         SER_PHDR_EXT(0,16,1),\n            13,14,0,0,\n            0,0,0,0,
        // padding\n            SER64(15),\n          SER_PHDR_END(),\n          //
        f\n          SER32(20)\n        }, 132,\n        (raw){\n          // d\n
        \         SER_PHDR_EXT(0,4,3),1,0,0,0,\n          SER_PHDR_EXT(0,4,2),2,0,0,0,\n
        \         SER_PHDR_EXT(0,16,1),\n            3,0,0,0,\n            0,0,0,0,
        // padding\n            SER64(5),\n          SER_PHDR_END(),\n          //
        f\n          SER32(20)\n        }, 68,\n        (raw){\n          SER32BE(20),
        \ // f\n          3,0,0,0,      // d.z.a\n          SER64BE(5),   // d.z.c\n
        \         2,            // d.y\n          1,            // d.x\n          0,0
        \          // padding\n        }, 18\n      }, {\n        MAKE_ENCHDR(D_CDR2),\n
        \       (raw){\n          SER_DHEADER(84),\n          // d\n          SER_DHEADER(36),\n
        \         SER_EMHEADER(1,0,3),1,0,0,0,\n          SER_EMHEADER(1,0,2),2,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(12),\n            3,4,0,0,\n            SER64(5),\n
        \         // e\n          SER_DHEADER(36),\n          /* FIXME: for these
        3 members the must-understand bit is set because the\n              type is
        also used as key. Is this correct, or shouldn't the bit be set\n              in
        when used as non-key? */\n          SER_EMHEADER(1,0,3),11,0,0,0,\n          SER_EMHEADER(1,0,2),12,0,0,0,\n
        \         SER_EMHEADER(1,4,1),SER_NEXTINT(12),\n            13,14,0,0,\n            SER64(15),\n
        \         // f\n          SER32(20)\n        }, 88,\n        (raw){\n          SER_DHEADER(44),\n
        \         // d\n          SER_DHEADER(36),\n          SER_EMHEADER(1,0,3),1,0,0,0,\n
        \         SER_EMHEADER(1,0,2),2,0,0,0,\n          SER_EMHEADER(1,4,1),SER_NEXTINT(12),\n
        \           3,0,0,0,\n            SER64(5),\n          SER32(20)\n        },
        48,\n        (raw){\n          SER32BE(20),  // f\n          3,0,0,0,      //
        d.z.a\n          SER64BE(5),   // d.z.c\n          2,            // d.y\n
        \         1,            // d.x\n          0,0           // padding\n        },
        18\n      } }\n    },\n    { &SerdataKeyInheritMutable_desc, init_SerdataKeyInheritMutable,\n
        \     { {\n        0 // not supported\n      }, {\n        MAKE_ENCHDR(PL_CDR2),\n
        \       (raw){\n          SER_DHEADER(70),\n          // bx, by, bz\n          SER_EMHEADER(1,4,6),\n
        \         SER_NEXTINT(10),\n            // nx, ny, nz\n            SER_DHEADER(6),\n
        \           SER16(6),SER16(7),\n            SER16(8),\n          0,0, // padding\n
        \         SER_EMHEADER(0,1,5),SER16(9),\n          0,0, // padding\n          SER_EMHEADER(1,1,4),SER16(10),\n
        \         0,0, // padding\n          // a, b, c\n          SER_EMHEADER(0,4,3),\n
        \         SER_NEXTINT(10),\n            // nx, ny, nz\n            SER_DHEADER(6),\n
        \           SER16(1),SER16(2),\n            SER16(3),\n          0,0, // padding\n
        \         SER_EMHEADER(0,1,2),SER16(4),\n          0,0, // padding\n          SER_EMHEADER(0,1,1),SER16(5),\n
        \         0,0 // padding\n        }, 74,\n        (raw){\n          SER_DHEADER(22),\n
        \         // bx, bz\n          SER_EMHEADER(1,4,6),\n          SER_NEXTINT(8),\n
        \           // nx, nz\n            SER_DHEADER(4),\n            SER16(6),SER16(8),\n
        \         SER_EMHEADER(1,1,4),SER16(10),\n          0,0 // padding\n        },
        26,\n        (raw){\n          SER16BE(10),\n          SER16BE(8),\n          SER16BE(6),\n
        \         0,0 // padding\n        }, 6\n      } }\n    },\n    { &SerdataKeySequence_desc,
        init_SerdataKeySequence,\n      { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n
        \         SER32(2), SER32(5), SER32(6)\n        }, 12,\n        (raw){\n          SER32(2),
        SER32(5), SER32(6)\n        }, 12,\n        (raw){\n          SER32BE(2),
        SER32BE(5), SER32BE(6)\n        }, 12\n      }, {\n        MAKE_ENCHDR(CDR2),\n
        \       (raw){\n          SER32(2), SER32(5), SER32(6)\n        }, 12,\n        (raw){\n
        \         SER32(2), SER32(5), SER32(6)\n        }, 12,\n        (raw){\n          SER32BE(2),
        SER32BE(5), SER32BE(6)\n        }, 12\n      } }\n    },\n    { &SerdataKeySequenceStruct_desc,
        init_SerdataKeySequenceStruct,\n      { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n
        \         SER32(2), SER32(5), SER32(6), SER32(7), SER32(8)\n        }, 20,\n
        \       (raw){\n          SER32(2), SER32(5), SER32(7),\n        }, 12,\n
        \       (raw){\n          SER32BE(2), SER32BE(5), SER32BE(7),\n        },
        12\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          SER_DHEADER(20),
        SER32(2), SER32(5), SER32(6), SER32(7), SER32(8)\n        }, 24,\n        (raw){\n
        \         SER_DHEADER(12), SER32(2), SER32(5), SER32(7),\n        }, 16,\n
        \       (raw){\n          SER_DHEADERBE(12), SER32BE(2), SER32BE(5), SER32BE(7),\n
        \       }, 16\n      } }\n    },\n    { &SerdataKeySequenceStructAppendable_desc,
        init_SerdataKeySequenceStructAppendable,\n      { {\n        0 // not supported\n
        \     }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          SER_DHEADER(28),
        SER32(2), SER_DHEADER(8), SER32(5), SER32(6), SER_DHEADER(8), SER32(7), SER32(8)\n
        \       }, 32,\n        (raw){\n          SER_DHEADER(20), SER32(2), SER_DHEADER(4),
        SER32(5), SER_DHEADER(4), SER32(7),\n        }, 24,\n        (raw){\n          SER_DHEADERBE(20),
        SER32BE(2), SER_DHEADERBE(4), SER32BE(5), SER_DHEADERBE(4), SER32BE(7),\n
        \       }, 24\n      } }\n    },\n    { &SerdataKeySequenceNested_desc, init_SerdataKeySequenceNested,\n
        \     { {\n        MAKE_ENCHDR(CDR),\n        (raw){\n          SER32(2),
        SER32(2), SER32(0), SER32(1), SER32(2), SER32(2), SER32(3)\n        }, 28,\n
        \       (raw){\n          SER32(2), SER32(2), SER32(0), SER32(1), SER32(2),
        SER32(2), SER32(3)\n        }, 28,\n        (raw){\n          SER32BE(2),
        SER32BE(2), SER32BE(0), SER32BE(1), SER32BE(2), SER32BE(2), SER32BE(3)\n        },
        28\n      }, {\n        MAKE_ENCHDR(CDR2),\n        (raw){\n          SER_DHEADER(36),
        SER32(2), SER_DHEADER(12), SER32(2), SER32(0), SER32(1), SER_DHEADER(12),
        SER32(2), SER32(2), SER32(3)\n        }, 40,\n        (raw){\n          SER_DHEADER(36),
        SER32(2), SER_DHEADER(12), SER32(2), SER32(0), SER32(1), SER_DHEADER(12),
        SER32(2), SER32(2), SER32(3)\n        }, 40,\n        (raw){\n          SER_DHEADERBE(36),
        SER32BE(2), SER_DHEADERBE(12), SER32BE(2), SER32BE(0), SER32BE(1), SER_DHEADERBE(12),
        SER32BE(2), SER32BE(2), SER32BE(3)\n        }, 40\n      } }\n    },\n  }"
      pos:
        line_end: 450
        line_start: 446
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
    typedefs:
    - item_type: typedef
      name: '* (*init_fn) (void)'
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
      type: void
    - item_type: typedef
      name: raw[]
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsc/tests/serdata_keys.c
      type: unsigned char
    union: []
- function_names:
  - durability_set
  - durability_check
  - durability_invalid
  - reliability_set
  - reliability_check
  - reliability_invalid
  - latency_budget_set
  - latency_budget_check
  - latency_budget_invalid
  - deadline_set
  - deadline_check
  - deadline_invalid
  - time_based_filter_set
  - time_based_filter_check
  - time_based_filter_invalid
  - ownership_set
  - ownership_check
  - ownership_invalid
  - ownership_strength_set
  - ownership_strength_check
  - destination_order_set
  - destination_order_check
  - destination_order_invalid
  - lifespan_set
  - lifespan_check
  - lifespan_invalid
  - transport_priority_set
  - transport_priority_check
  - history_set
  - history_check
  - history_invalid
  - liveliness_set
  - liveliness_check
  - liveliness_invalid
  - resource_limits_cnv
  - resource_limits_set
  - resource_limits_check
  - resource_limits_invalid
  - presentation_set
  - presentation_check
  - presentation_invalid
  - partition_set
  - partition_check
  - ignorelocal_set
  - ignorelocal_check
  - ignorelocal_invalid
  - writer_batching_set
  - writer_batching_check
  - writer_data_lifecycle_set
  - writer_data_lifecycle_check
  - reader_data_lifecycle_set
  - reader_data_lifecycle_check
  - reader_data_lifecycle_invalid
  - durability_service_set
  - durability_service_check
  - durability_service_invalid
  - entity_name_set
  - entity_name_check
  - QI
  - Q0
  - P
  - CU_Test
  - CU_Test
  - CU_Test
  - create_topic_wrapper
  - create_reader_wrapper
  - create_writer_wrapper
  - create_subscriber_wrapper
  - create_publisher_wrapper
  - check_qos_entity_one
  - do_entity_one
  - check_qos_entity_two
  - do_entity_two
  - do_nonendpoint
  - do_endpoint
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - do_entity_one_invalid
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - check_qos
  - do_entity_one_change
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - sync_on_discovery
  - do_ddsc_qos_set_endpoints_with_rxo
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
  types:
    enum:
    - enumerators:
      - name: CM_UNSET
      - name: CM_SET_DEFAULT
      - name: CM_SET
      item_type: enum
      name: check_mode
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - enumerators:
      - name: RXO_INAPPLICABLE
      - name: RXO_IF_EQ
      - name: RXO_IF_RD_GEQ
      - name: RXO_PARTITION
      - name: RXO_IF_RD_LEQ
      - name: RXO_IGNORELOCAL
      - name: RXO_DONTEVENTRY
      item_type: enum
      name: rxo_sense
      pos:
        line_end: 471
        line_start: 463
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    - enumerators:
      - name: C_NO
      - name: C_YES
      - name: C_UNSUPP
      item_type: enum
      name: changeable
      pos:
        line_end: 477
        line_start: 473
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    preproc_defs:
    - item_type: preproc_def
      name: QA_TP
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: QA_PUB
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: QA_SUB
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: QA_RD
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: QA_WR
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: MAX_VALUES
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*set) (dds_qos_t * const q, int const * const v)
        type: void
      - name: (*check) (const enum check_mode check_mode, const dds_qos_t * const
          q, int const * const v)
        type: void
      - name: (*invalid) (dds_qos_t * const q, int const v)
        type: void
      - name: policy_id
        type: dds_qos_policy_id_t
      - name: appl
        type: uint32_t
      - name: max[MAX_VALUES]
        type: int
      - name: rxo[MAX_VALUES]
        type: enum rxo_sense
      - name: max_invalid
        type: int
      - name: changeable
        type: enum changeable
      item_type: struct
      name: qostable_elem
      pos:
        line_end: 492
        line_start: 481
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
    typedefs: []
    union:
    - fields:
      - name: k
        type: dds_history_kind_t
      - name: i
        type: int
      item_type: union
      name: hk
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos_set_match.c
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_lifespan_init
  - ddsi_lifespan_fini
  - check_whc_state
  source_file: /src/cyclonedds/src/core/ddsc/tests/lifespan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getdata
  - coll_fail_always
  - coll_fail_after_1
  - dotest
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: int
      - name: k
        type: int32_t
      item_type: struct
      name: coll_fail_after_1_arg
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
    typedefs:
    - item_type: typedef
      name: (*read_op) (dds_entity_t rd_or_cnd, uint32_t maxs, dds_instance_handle_t
        handle, uint32_t mask, dds_read_with_collector_fn_t collect_sample, void *collect_sample_arg)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcollect.c
      type: dds_return_t
    union: []
- function_names:
  - stp_equal
  - stp_hash
  - stp_free
  - stpx_zero_samples
  - stp_zero_samples
  - stpx_realloc_samples
  - stp_realloc_samples
  - stpx_free_samples
  - stp_free_samples
  - sdx_get_size
  - sd_get_size
  - sdx_eqkey
  - sd_eqkey
  - sdx_free
  - sd_free
  - strdup_with_len
  - sdx_from_ser_iov
  - sd_from_ser_iov
  - sd_from_ser
  - sd_from_keyhash
  - sdx_from_sample
  - sd_from_sample
  - sdx_to_untyped
  - sd_to_untyped
  - sdx_to_ser_ref
  - sd_to_ser_ref
  - sd_to_ser_unref
  - sd_to_ser
  - sdx_to_sample
  - sd_to_sample
  - sdx_untyped_to_sample
  - sd_untyped_to_sample
  - sdx_print
  - sd_print
  - sdx_get_keyhash
  - sd_get_keyhash
  - cdr_basic
  - cdr_forward
  - cdr_invalid_data
  - cdr_timeout
  - make_sertype
  - make_topic
  - make_sample
  - get_sdx
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NATIVE_ENCODING
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
      type_or_value: DDSI_RTPS_CDR_LE
    - item_type: preproc_def
      name: NATIVE_ENCODING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
      type_or_value: DDSI_RTPS_CDR_BE
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: sampletype
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - fields:
      - name: c
        type: struct ddsi_sertype
      item_type: struct
      name: stp
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - fields:
      - name: data
        type: struct sampletype
      - name: keysz
        type: uint32_t
      item_type: struct
      name: sdx
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - fields:
      - name: c
        type: struct ddsi_serdata
      - name: x
        type: struct sdx
      item_type: struct
      name: sd
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - fields:
      - name: tp
        type: dds_entity_t
      - name: '*st'
        type: void
      item_type: struct
      name: tw
      pos:
        line_end: 475
        line_start: 472
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    - fields:
      - name: (*make_topic) (dds_entity_t pp, const char *topicname, const char *typename,
          const dds_qos_t *qos)
        type: struct tw
      - name: '* (*make_sample) (const struct tw *tw, const struct sampletype *xs)'
        type: void
      - name: '* (*get_sdx) (const struct ddsi_serdata *sd)'
        type: struct sdx
      item_type: struct
      name: ops
      pos:
        line_end: 481
        line_start: 477
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdr.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NRDS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NRDS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_on_readers.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sample_init_nested
  - sample_equal_nested
  - sample_free_nested
  - sample_init_str
  - sample_equal_str
  - sample_free_str
  - sample_init_union
  - sample_equal_union
  - sample_free_union
  - sample_init_recursive
  - sample_equal_recursive_field2
  - sample_equal_recursive
  - sample_free_recursive
  - sample_init_ext
  - sample_equal_ext
  - sample_free_ext
  - sample_init_opt
  - sample_equal_opt
  - sample_free_opt
  - sample_init_appendable
  - sample_equal_appendable_TestIdl_AppendableSubMsg2_seq
  - sample_equal_appendable_TestIdl_AppendableUnion0_seq
  - sample_equal_appendable
  - sample_free_appendable
  - sample_empty_keysnested
  - sample_init_keysnested
  - keys_equal_keysnested
  - sample_equal_keysnested_TestIdl_SubMsgKeysNested
  - sample_equal_keysnested
  - sample_free_keysnested
  - sample_init_arr
  - sample_equal_arr
  - sample_free_arr
  - sample_init_appendstruct1
  - sample_init_appendstruct2
  - sample_equal_appendstruct1
  - sample_equal_appendstruct2
  - sample_free_appendstruct
  - sample_init_appenddefaults1
  - sample_init_appenddefaults2
  - sample_equal_appenddefaults1
  - sample_equal_appenddefaults2
  - sample_free_appenddefaults
  - sample_free_appenddefaults1
  - sample_free_appenddefaults2
  - sample_init_mutable1
  - sample_init_mutable2
  - sample_equal_mutable1_intseq
  - sample_equal_mutable_TestIdl_SubMsgMutable_seq
  - sample_equal_mutable1
  - sample_equal_mutable2
  - sample_free_mutable
  - sample_free_mutable1
  - sample_free_mutable2
  - cdrstream_init
  - entity_init
  - cdrstream_fini
  - D
  - E
  - I
  - K
  - C
  - F
  - D
  - CU_Test
  - D
  - CU_Test
  - D
  - CU_Test
  - init_sub1
  - check_t1
  - init_sub2
  - check_t2
  - init_sub3
  - check_t3
  - init_sub4
  - check_t4
  - init_sub5
  - check_t5
  - D
  - CU_Test
  - D
  - CU_Test
  - D
  - CU_Test
  - D
  - CU_Test
  - CU_Test
  - D
  - C
  - CU_Test
  - D
  - CU_Test
  - IDENT
  - FIRST
  - PLUS
  - MAKE_SER
  - COMMA
  - SERSIZE
  - CDR
  - PHDR
  - PHDR_EXT
  - test_cdr
  - UTF16
  - WSTR
  - DHDR
  - CSEQ
  - WSS
  - WSSB
  - eq_CdrStreamWstring_t1
  - eq_CdrStreamWstring_t2
  - eq_CdrStreamWstring_t3
  - eq_CdrStreamWstring_t4
  - eq_CdrStreamWstring_t5
  - D
  - CU_Test
  - eq_CdrStreamMutable_t1
  - D
  - D_NOWRITE
  - CU_Test
  - OPT
  - OPTi32
  - OPTi64
  - D
  - eq_CdrStreamXcdr1Optional_t1
  - eq_CdrStreamXcdr1Optional_t2
  - eq_CdrStreamXcdr1Optional_t3
  - CU_Test
  - CU_Test
  - run_test_xcdr1_normalize
  - D
  - CU_Test
  - D
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: _C
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '"0123456789"'
    - item_type: preproc_def
      name: RND_INT16
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: ((int16_t) ddsrt_random ())
    - item_type: preproc_def
      name: RND_INT32
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: ((int32_t) ddsrt_random ())
    - item_type: preproc_def
      name: RND_UINT32
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: (ddsrt_random ())
    - item_type: preproc_def
      name: RND_CHAR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: (_C[ddsrt_random () % 10])
    - item_type: preproc_def
      name: RND_CHAR4
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: RND_CHAR, RND_CHAR, RND_CHAR
    - item_type: preproc_def
      name: RND_CHAR8
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: RND_CHAR4, RND_CHAR4
    - item_type: preproc_def
      name: RND_STR32
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '(ddsrt_random () % 2 ? (char []){ ''t'', RND_CHAR4, 0 } : (char
        []){ ''t'', ''e'', ''s'', ''t'', RND_CHAR8, RND_CHAR8, RND_CHAR8, RND_CHAR4,
        0 })'
    - item_type: preproc_def
      name: RND_STR5
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '(ddsrt_random () % 2 ? (char []){ ''t'', RND_CHAR, 0 } : (char
        []){ ''t'', RND_CHAR4, 0 })'
    - item_type: preproc_def
      name: XCDR1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: DDSI_RTPS_CDR_ENC_VERSION_1
    - item_type: preproc_def
      name: XCDR2
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: DDSI_RTPS_CDR_ENC_VERSION_2
    - item_type: preproc_def
      name: NUM_SAMPLES
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '10'
    - item_type: preproc_def
      name: VAR
      pos:
        line_end: 1431
        line_start: 1430
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: (DDS_FIXED_KEY_MAX_SIZE + 1)
    - item_type: preproc_def
      name: XCDR1
      pos:
        line_end: 1763
        line_start: 1762
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: DDSI_RTPS_CDR_ENC_VERSION_1
    - item_type: preproc_def
      name: XCDR2
      pos:
        line_end: 1764
        line_start: 1763
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: DDSI_RTPS_CDR_ENC_VERSION_2
    - item_type: preproc_def
      name: WSTR0
      pos:
        line_end: 1841
        line_start: 1840
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: 32,0
    - item_type: preproc_def
      name: PAD4
      pos:
        line_end: 1843
        line_start: 1842
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: 32,0
    - item_type: preproc_def
      name: PAD2
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: 16,0
    - item_type: preproc_def
      name: PAD1
      pos:
        line_end: 1845
        line_start: 1844
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: 8,0
    - item_type: preproc_def
      name: PAD3
      pos:
        line_end: 1846
        line_start: 1845
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: PAD1, PAD2
    - item_type: preproc_def
      name: CSEQ0
      pos:
        line_end: 1849
        line_start: 1848
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: '{ ._length = 0, ._buffer = NULL }'
    - item_type: preproc_def
      name: OPTNULL
      pos:
        line_end: 2038
        line_start: 2037
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct TestIdl_SubMsgRecursive
      - name: _release
        type: bool
      item_type: struct
      name: TestIdl_SubMsgRecursive_submsg_field2_seq
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: submsg_field1
        type: uint32_t
      - name: submsg_field2
        type: TestIdl_SubMsgRecursive_submsg_field2_seq
      - name: submsg_field3
        type: int32_t
      item_type: struct
      name: TestIdl_SubMsgRecursive
      pos:
        line_end: 183
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: msg_field1
        type: uint32_t
      - name: msg_field2
        type: TestIdl_SubMsgRecursive
      - name: msg_field3
        type: int32_t
      item_type: struct
      name: TestIdl_MsgRecursive
      pos:
        line_end: 190
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*descr'
        type: char
      - name: test_xcdr1
        type: bool
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: sample_empty_fn
        type: sample_empty
      - name: sample_init_fn
        type: sample_init
      - name: keys_equal_fn
        type: keys_equal
      - name: sample_equal_fn
        type: sample_equal
      - name: sample_free_fn
        type: sample_free
      item_type: struct
      name: "tests[] = {\n    { \"nested structs\", true, &D(Nested), 0, I(nested),
        0,C(nested), F(nested) },\n    { \"string types\", true, &D(Str), 0, I(str),
        0, C(str), F(str) },\n    { \"unions\", true, &D(Union), 0, I(union), 0, C(union),
        F(union) },\n    { \"recursive\", true, &D(Recursive), 0, I(recursive), 0,
        C(recursive), F(recursive) },\n    { \"appendable\", false, &D(Appendable),
        0, I(appendable), 0, C(appendable), F(appendable) },\n    { \"keys nested\",
        false, &D(KeysNested), E(keysnested), I(keysnested), K(keysnested), C(keysnested),
        F(keysnested) },\n    { \"arrays\", true, &D(Arr), 0, I(arr), 0, C(arr), F(arr)
        },\n  }"
      pos:
        line_end: 901
        line_start: 892
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*descr'
        type: char
      - name: test_xcdr1
        type: bool
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: sample_init_fn
        type: sample_init
      - name: sample_equal_fn
        type: sample_equal
      - name: sample_free_fn
        type: sample_free
      item_type: struct
      name: "tests[] = {\n    { \"nested structs\", true, &D(Nested), I(nested), C(nested),
        F(nested) },\n    { \"string types\", true, &D(Str), I(str), C(str), F(str)
        },\n    { \"unions\", true, &D(Union), I(union), C(union), F(union) },\n    {
        \"recursive\", true, &D(Recursive), I(recursive), C(recursive), F(recursive)
        },\n    { \"appendable\", false, &D(Appendable), I(appendable), C(appendable),
        F(appendable) },\n    { \"keys nested\", false, &D(KeysNested), I(keysnested),
        C(keysnested), F(keysnested) },\n    { \"arrays\", true, &D(Arr), I(arr),
        C(arr), F(arr) },\n    { \"ext\", true, &D(Ext), I(ext), C(ext), F(ext) },\n
        \   { \"opt\", true, &D(Opt), I(opt), C(opt), F(opt) }\n  }"
      pos:
        line_end: 984
        line_start: 977
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*descr'
        type: char
      - name: test_xcdr1
        type: bool
      - name: '*d1'
        type: dds_topic_descriptor_t
      - name: '*d2'
        type: dds_topic_descriptor_t
      - name: i1
        type: sample_init
      - name: i2
        type: sample_init
      - name: e1
        type: sample_equal
      - name: e2
        type: sample_equal
      - name: f1
        type: sample_free2
      - name: f2
        type: sample_free2
      item_type: struct
      name: "tests[] = {\n    { \"appendable struct\", true, &D(AppendStruct1), &D(AppendStruct2),
        I(appendstruct1), I(appendstruct2), C(appendstruct1), C(appendstruct2), F(appendstruct),
        F(appendstruct) },\n    { \"appendable defaults\", true, &D(AppendDefaults1),
        &D(AppendDefaults2), I(appenddefaults1), I(appenddefaults2), C(appenddefaults1),
        C(appenddefaults2), F(appenddefaults1), F(appenddefaults2) },\n    { \"mutable\",
        true, &D(Mutable1), &D(Mutable2), I(mutable1), I(mutable2), C(mutable1), C(mutable2),
        F(mutable1), F(mutable2) }\n  }"
      pos:
        line_end: 1044
        line_start: 1033
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: min_xcdrv
        type: uint16_t
      item_type: struct
      name: "tests[] = {\n    { D(t), XCDR1 },\n    { D(t_nested), XCDR1 },\n    {
        D(t_inherit), XCDR1 },\n    { D(t_opt), XCDR1 },\n    { D(t_ext), XCDR1 },\n
        \   { D(t_append), XCDR1 },\n    { D(t_append_u), XCDR1 },\n    { D(t_append_nested),
        XCDR2 },\n    { D(t_append_nested_opt), XCDR1 },\n    { D(t_u_nested_append),
        XCDR2 },\n    { D(t_append_nested_u), XCDR2 },\n    { D(t_append_opt), XCDR1
        },\n    { D(t_append_opt_u), XCDR1 },\n    { D(t_append_seq), XCDR2 },\n    {
        D(t_append_bseq), XCDR2 },\n    { D(t_append_arr), XCDR2 },\n    { D(t_mut),
        XCDR1 },\n    { D(t_nested_mut), XCDR1 },\n    { D(t_nested_opt), XCDR1 }\n
        \ }"
      pos:
        line_end: 1131
        line_start: 1128
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: opt_size_xcdr1
        type: size_t
      - name: opt_size_xcdr2
        type: size_t
      - name: '*description'
        type: char
      item_type: struct
      name: "tests[] = {\n    { D(t1),     4,    4, \"final type\" },\n    { D(t1_a),
        \  0,    0, \"appendable type: has DHEADER in CDR\" },\n    { D(t1_m),   0,
        \   0, \"mutable type: has EMHEADER and DHEADERS\" },\n    { D(t2),    16,
        \   0, \"XCDR2 uses 4 byte padding for 64-bits type, does not match memory
        layout\" },\n    { D(t3),     0,    0, \"external field is pointer type\"
        },\n    { D(t4),     5,    5, \"nested struct (aligned at 4 byte) at offset
        0 can be optimized\" },\n    { D(t4a),   13,   13, \"2 nested structs, alignment
        in CDR equal to memory alignment\" },\n    { D(t4b),   29,   29, \"2 levels
        of nesting, also using same alignment in CDR and memory\" },\n    { D(t5),
        \   16,    0, \"XCDR2 uses 4 byte alignment for 64 bits types\" },\n    {
        D(t5a),    0,    0, \"array of non-primitive type is currently not optimized
        (FIXME: could be optimized for XCDR1?)\" },\n    { D(t6),    16,   16, \"CDR
        and memory have equal alignment\" },\n    { D(t6a),    0,    0, \"CDR and
        memory have equal alignment but boolean prevents optimization\" },\n    {
        D(t7),     0,    0, \"field f2 is 1-byte aligned in CDR (because of 1-byte
        type in nested type), but 2-byte in memory\" },\n    { D(t8),     0,    0,
        \"type of f2 is appendable\" },\n    { D(t9),     3,    0, \"bitmask (bit
        bound 8) array (dheader in v2)\" },\n    { D(t10),   12,    0, \"enum (bit
        bound 32) array (dheader in v2)\" },\n    { D(t11),  410,  410, \"final type
        with array\" },\n    { D(t11a),   0,    0, \"final type with array but boolean
        prevents optimization\" },\n    { D(t12),    4,    4, \"32 bits bitmask\"
        },\n    { D(t13),    1,    1, \"8 bit bitmask\" },\n    { D(t14),    8,    8,
        \"64 bits bitmask\" },\n    { D(t15),  100,  100, \"2 levels of nesting with
        array in inner type\" },\n    { D(t16),    0,    0, \"string member is ptr\"
        },\n    { D(t17),    0,    0, \"string array is array of ptrs\" },\n    {
        D(t18),    0,    0, \"sequence has ptr\" },\n    { D(t19),    0,    0, \"external
        member is ptr\" },\n    { D(t20),    0,    0, \"external array is ptr\" },\n
        \   { D(t21),    0,    0, \"8 bit enum maps to 32 bits enum in memory\" },\n
        \   { D(t22),    0,    0, \"16 bits enum maps to 32 bits enum in memory\"
        },\n    { D(t23),    0,    0, \"external nested struct is ptr\" },\n    {
        D(t24),    0,    0, \"external memner in nested struct\" },\n    { D(t25),
        \   0,    0, \"union type currently not optimized\" },\n    { D(t26),    0,
        \   0, \"union type member currently not optimized\" },\n    { D(t27),   16,
        \   0, \"inheritance, base members before derived type members, xcdr2 has
        4 byte alignment for long long\" },\n    { D(t28),    0,    0, \"array of
        booleans\" },\n    { D(t29),    0,    0, \"boolean in extended struct\" },\n
        \   { D(t30),    0,    0, \"boolean in base struct\" }\n  }"
      pos:
        line_end: 1175
        line_start: 1170
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: data_types
        type: uint64_t
      item_type: struct
      name: "tests[] = {\n    { D(dti_struct),   DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n
        \   { D(dti_string),   0 },\n    { D(dti_bstring),  DDS_DATA_TYPE_IS_MEMCPY_SAFE
        },\n    { D(dti_seq),      0 },\n    { D(dti_bseq),     0 },\n    { D(dti_seq_str),
        \ 0 },\n    { D(dti_arr),      DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    { D(dti_arr_bstr),
        DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    { D(dti_opt),      DDS_DATA_TYPE_DEFAULTS_TO_XCDR2
        },\n    { D(dti_ext),      0 },\n    { D(dti_struct_key),          DDS_DATA_TYPE_CONTAINS_KEY
        | DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    { D(dti_struct_nested_key),   DDS_DATA_TYPE_CONTAINS_KEY
        | DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    { D(dti_struct_nested_nokey), DDS_DATA_TYPE_IS_MEMCPY_SAFE
        },\n    { D(dti_union),    DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    { D(dti_union_string),
        \ 0 },\n    { D(dti_union_enum),    DDS_DATA_TYPE_IS_MEMCPY_SAFE },\n    {
        D(dti_union_seq),     0 },\n    { D(dti_union_arr),     DDS_DATA_TYPE_IS_MEMCPY_SAFE
        },\n    { D(dti_union_struct),  DDS_DATA_TYPE_IS_MEMCPY_SAFE }\n  }"
      pos:
        line_end: 1235
        line_start: 1232
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc_pub'
        type: dds_topic_descriptor_t
      - name: '*desc_sub'
        type: dds_topic_descriptor_t
      - name: '*init_sub'
        type: sample_init_fn
      - name: '*check_sub'
        type: default_check_fn
      - name: '*description'
        type: char
      - name: test_xcdr1
        type: bool
      item_type: struct
      name: "tests[] = {\n    { D(t1_pub), D(t1_sub), init_sub1, check_t1, \"appendable
        top-level, appendable member\", false },\n    { D(t2_pub), D(t2_sub), init_sub2,
        check_t2, \"appendable top-level, mutable member\", true },\n    { D(t3_pub),
        D(t3_sub), init_sub3, check_t3, \"mutable top-level, nested mutable member\",
        true },\n    { D(t4_pub), D(t4_sub), init_sub4, check_t4, \"mutable top-level,
        nested appendable member\", false },\n    { D(t5_pub), D(t5_sub), init_sub5,
        check_t5, \"top-level equal, mutable member different\", true }\n  }"
      pos:
        line_end: 1384
        line_start: 1377
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: fixed_key_xcdr1
        type: bool
      - name: fixed_key_xcdr2
        type: bool
      - name: keysz_xcdr1
        type: uint32_t
      - name: keysz_xcdr2
        type: uint32_t
      - name: fixed_key_xcdrv2_keyhash
        type: bool
      item_type: struct
      name: "tests[] = {\n    { D(t1), true, true, 6, 6, true },   // key size: 4
        + 2\n    { D(t2), false, true, VAR, 14, true },  // key size: 1 + 7/3 (pad)
        + 8 + 2\n    { D(t3), false, true, VAR, 14, true },  // key size: 1 + 7/3
        (pad) + 8 + 2\n    { D(t4), false, true, VAR, 13, true },  // key size: 1
        + 1 (pad) + 2 + 4/0 (pad) + 8 + 1\n    { D(t5), false, false, VAR, VAR, false
        },\n    { D(t6), true, true, 16, 16, true }, // key size: 8 + 1 + 3 (pad)
        + 4\n    { D(t7), false, true, VAR, 16, true }, // key size: 2 + 6/2 (pad)
        + 8 + 1 + 1 (pad) 2\n    { D(t8), true, true, 15, 15, true },\n    { D(t9),
        true, true, 12, 12, true },\n    { D(t10), true, true, 8, 8, true }, // key
        size: 8\n    { D(t11), true, true, 16, 16, true }, // key size: 8 + 8\n    {
        D(t12), true, true, 16, 16, true }, // key size: 1 + 3 (pad) + 8 + 4\n    {
        D(t13), true, true, 16, 16, true }, // key size XCDR1: 4 + 1 + 3 (pad) + 8
        / XCDR2: 8 + 1 + 3 (pad) + 4\n    { D(t14), false, true, VAR, 16, true },
        // key size XCDR1: 1 + 7 (pad) + 8 + 4 / XCDR2: 1 + 3 (pad) + 8 + 4\n    {
        D(t15), true, true, 12, 12, false }, // key size XCDR1: 1 + 1 + 1 + 1 (pad)
        + 4 + 4 / XCDR2: 1 + 1 + 1 + 1 (pad) + 4 + 4 / XCDR2_KH: 1 + 3 (pad) + 4 +
        1 + 3 (pad) + 4 + 1\n    { D(t16), true, true, 4, 4, true }, // key size:
        4\n    { D(t17), true, true, 1, 1, true }, // key size: 1\n    { D(t18), true,
        true, 10, 16, true }, // key size XCDR1: 1 + 1 (pad) + 4 * 2 / XCDR2: 1 +
        3 (pad) + 4 (dheader) + 4 * 2\n    { D(t19), true, true, 4, 4, true }, //
        key size: 4\n    { D(t20), true, true, 1, 1, true }, // key size: 1\n    {
        D(t21), true, true, 16, 16, true }, // key size XCDR1: 1 + 7 (pad) + 1 * 8
        / XCDR2: 1 + 3 (pad) + 4 (dheader) + 1 * 8 /\n\n    { D(t22), true, true,
        4, 8, true }, // key size: XCDR1: 4 / XCDR2: 4 (dh) + 4\n    { D(t23), false,
        true, VAR, 12, true }, // key size: XCDR2: 4 (dh) + 4 (emh) + 4\n    { D(t24),
        false, true, 0, 12, true }, // key size: XCDR2: 4 (dh) + 4 (dh) + 4\n    {
        D(t25), false, false, VAR, VAR, true }, // key size: XCDR2: 4 (dh) + 4 (emh)
        + 4 (dh) + 4 (emh) + 4\n    { D(t26), false, false, 0, VAR, true }, // key
        size: XCDR2: 4 (dh) + 4 (emh) + 4 (emh-nextint) + 4 (dh) + 1\n    { D(t27),
        false, true, 0, 9, true }, // key size: XCDR2: 4 (dh) + 4 (dh) + 1\n    {
        D(t28), false, true, VAR, 14, true }, // key size: XCDR2: 4 (dh) + 4 (emh)
        + 4 (dh) + 2 * 1\n    { D(t29), false, true, VAR, 12, true }, // key size:
        XCDR2: 4 (dh) + 4 (emh) + 4\n\n    { D(t30), false, false, VAR, VAR, false
        },\n    { D(t31), true, true, 16, 16, true }, // key size: 4 (length) + 3
        * 4\n    { D(t32), true, true, 11, 11, true }, // key size: 1 + 3 (pad) +
        4 (length) + 3 * 1\n    { D(t33), true, true, 6, 10, true }, // key size:
        XCDR1: 4 (length) + 2 * 1 / XCDR2: 4 (dh) + 4 (length) + 2 * 1\n    { D(t34),
        false, false, VAR, VAR, false },\n    { D(t35), false, true, 0, 13, true },
        // key size: XCDR2: 4 (dh) + 4 (length) + 4 (dh) + 1\n    { D(t36), true,
        true, 16, 16, true }, // key size: 4 (length) + 12 * 1\n    { D(t37), false,
        true, VAR, 16, true }, // key size: XCDR2: 4 (dh) + 4 (emh) + 4 (length) +
        4\n    { D(t38), true, true, 12, 16, true }, // key size: XCDR1: 4 (length)
        + 2 * (1 + 1 (pad) + 2) / XCDR2: 4 (dh) + 4 (length) + 2 * (1 + 1 (pad) +
        2)\n\n    { D(t39), true, true, 2, 6, true }, // key size: XCDR1: 2 * 1 /
        XCDR2: 4 (dh) + 2 * 1\n    { D(t40), true, true, 4, 8, true }, // key size:
        XCDR1: 4 * 1 / XCDR2: 4 (dh) + 4 * 1\n    { D(t41), false, true, 0, 9, true
        }, // key size: XCDR2: 4 (dh) + 4 (dh) + 1\n    { D(t42), false, true, VAR,
        16, true }, // key size: XCDR2: 4 (dh) + 4 (emh) + 4 (dh) + 4\n    { D(t43),
        true, true, 8, 12, true }, // key size: XCDR1: 2 * (1 + 1 (pad) + 2) / XCDR2:
        4 (dh) + 2 * (1 + 1 (pad) + 2)\n\n    { D(t44), false, false, VAR, VAR, false
        },\n    { D(t45), false, false, VAR, VAR, false },\n    { D(t46), false, false,
        VAR, VAR, false },\n  }"
      pos:
        line_end: 1441
        line_start: 1434
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: key_appendable
        type: bool
      - name: key_mutable
        type: bool
      item_type: struct
      name: "tests[] = {\n    { D(t1), false, false },\n    { D(t1a), false, false
        },\n    { D(t2), true, false },\n    { D(t3), false, true },\n    { D(t4),
        false, false },\n    { D(t4a), true, false },\n    { D(t4b), true, false },\n
        \   { D(t5), false, false },\n    { D(t5a), false, true },\n    { D(t5b),
        false, true },\n    { D(t6), true, false },\n    { D(t6a), true, true },\n
        \   { D(t6b), true, true },\n  }"
      pos:
        line_end: 1519
        line_start: 1515
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: key_array_non_prim
        type: bool
      item_type: struct
      name: "tests[] = {\n    { D(t1), true },\n  }"
      pos:
        line_end: 1553
        line_start: 1550
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: b
        type: dds_sequence_long
      - name: c
        type: uint8_t
      item_type: struct
      name: MutStructSeq
      pos:
        line_end: 1572
        line_start: 1568
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '* x'
        type: struct MutStructSeq
      item_type: struct
      name: ExternMutStructSeq
      pos:
        line_end: 1577
        line_start: 1574
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: '*sample'
        type: void
      - name: '*description'
        type: char
      - name: cdrsize_if_ok
        type: uint32_t
      - name: '*cdr_if_ok'
        type: uint8_t
      item_type: struct
      name: "tests[] = {\n    { D(t1), C(t1){.f1={._length=2,._buffer=(uint8_t[]){1,2}}},
        \"oversize sequence\" },\n    { D(t1), C(t1){.f1={._length=1,._buffer=NULL}},
        \"non-empty sequence with null pointer\" },\n    { D(t2), C(t2){.f1=out_of_range_enum.u},
        \"out-of-range enum\" },\n    { D(t3), C(t3){.f1=2}, \"out-of-range bitmask\"
        },\n    { D(t4), C(t4){.f1=NULL}, \"@external w/ null pointer\" },\n    {
        D(t4a), C(t4a){.f1=NULL}, \"@external @optional w/ null pointer\", 1, (uint8_t[]){0}
        },\n    { D(t4b), C(t4b){.f1=NULL}, \"@external string w/ null pointer\",
        5, (uint8_t[]){SER32(1),0} },\n    { D(t5), C(t5){.f1={._d=0,._u={.c0=NULL}}},
        \"union with @external w/ null pointer\" },\n    { D(t5), C(t5){.f1={._d=1,._u={.c1=NULL}}},
        \"union with @external string w/ null pointer\", 9, (uint8_t[]){1, 0,0,0,
        SER32(1),0} },\n    { D(t6), C(t6x){.f1=0}, \"boolean 0\", 1, (uint8_t[]){0}
        },\n    { D(t6), C(t6x){.f1=1}, \"boolean 1\", 1, (uint8_t[]){1} },\n    {
        D(t6), C(t6x){.f1=2}, \"boolean 2\", 1, (uint8_t[]){1} },\n    { D(t6), C(t6x){.f1=255},
        \"boolean 255\", 1, (uint8_t[]){1} },\n    { D(t7), C(t7x){.f1={._d=0,._u={.c1=3}}},
        \"disc bool 0\", 1, (uint8_t[]){0} },\n    { D(t7), C(t7x){.f1={._d=1,._u={.c1=3}}},
        \"disc bool 1\", 2, (uint8_t[]){1,1} },\n    { D(t7), C(t7x){.f1={._d=2,._u={.c1=3}}},
        \"disc bool 2\", 2, (uint8_t[]){1,1} },\n    { D(t7), C(t7x){.f1={._d=255,._u={.c1=3}}},
        \"disc bool 255\", 2, (uint8_t[]){1,1} },\n    { D(t8), C(t8x){.f1={0,0}},
        \"boolean arr 0\", 2, (uint8_t[]){0,0} },\n    { D(t8), C(t8x){.f1={1,1}},
        \"boolean arr 1\", 2, (uint8_t[]){1,1} },\n    { D(t8), C(t8x){.f1={1,2}},
        \"boolean arr 2\", 2, (uint8_t[]){1,1} },\n    { D(t8), C(t8x){.f1={255,2}},
        \"boolean arr 255\", 2, (uint8_t[]){1,1} }\n  }"
      pos:
        line_end: 1637
        line_start: 1631
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: '*description'
        type: char
      - name: cdrsize
        type: uint32_t
      - name: '*cdr'
        type: uint8_t
      - name: '*ncdr'
        type: uint8_t
      item_type: struct
      name: "tests[] = {\n    { D(t6), \"boolean 0\", 1, (uint8_t[]){0}, (uint8_t[]){0}
        },\n    { D(t6), \"boolean 1\", 1, (uint8_t[]){1}, (uint8_t[]){1} },\n    {
        D(t6), \"boolean 2\", 1, (uint8_t[]){2}, (uint8_t[]){1} },\n    { D(t6), \"boolean
        255\", 1, (uint8_t[]){255}, (uint8_t[]){1} },\n    { D(t7), \"disc bool 0\",
        1, (uint8_t[]){0}, (uint8_t[]){0} },\n    // also check correct label is entered
        by checking it normalizes the bool there, too\n    { D(t7), \"disc bool 1\",
        2, (uint8_t[]){1,3}, (uint8_t[]){1,1} },\n    { D(t7), \"disc bool 2\", 2,
        (uint8_t[]){2,3}, (uint8_t[]){1,1} },\n    { D(t7), \"disc bool 255\", 2,
        (uint8_t[]){255,3}, (uint8_t[]){1,1} },\n    { D(t8), \"boolean arr 0\", 2,
        (uint8_t[]){0,0}, (uint8_t[]){0,0} },\n    { D(t8), \"boolean arr 1\", 2,
        (uint8_t[]){1,1}, (uint8_t[]){1,1} },\n    { D(t8), \"boolean arr 2\", 2,
        (uint8_t[]){1,2}, (uint8_t[]){1,1} },\n    { D(t8), \"boolean arr 255\", 2,
        (uint8_t[]){255,1}, (uint8_t[]){1,1} }\n  }"
      pos:
        line_end: 1714
        line_start: 1708
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: (*eq) (const void *a, const void *b)
        type: bool
      - name: '*data'
        type: void
      - name: do_write
        type: bool
      - name: xcdr_valid
        type: bool
      - name: xcdr_version
        type: uint32_t
      - name: cdrsize
        type: uint32_t
      - name: '*cdr'
        type: uint8_t
      item_type: struct
      name: test_cdr_params
      pos:
        line_end: 1777
        line_start: 1768
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: cdrsize
        type: uint32_t
      - name: '*cdr'
        type: uint8_t
      item_type: struct
      name: "tests[] = {\n    { CDR(32,2) }, // insufficient data\n    { CDR(32,1,
        8,0, 8,0,8,0,8,0, 32,0) }, // odd length\n    { CDR(32,2, 16,0xc800, PAD2,
        32,0) }, // unpaired surrogate\n    { CDR(32,2, 16,0xefff, PAD2, 32,0) },
        // unpaired\n    { CDR(32,4, 16,0xc800, 16,0xc800, 32,0) }, // unpaired\n
        \   { CDR(32,4, 16,0xe000, 16,0xe000, 32,0) }, // unpaired\n    { CDR(32,4,
        16,0xc800, 16,0xe000, 32,0) }, // wrong order\n    { CDR(WSTR('a','b'), WSTR('a','b'))
        } // oversize bounded string\n  }"
      pos:
        line_end: 2109
        line_start: 2106
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: valid
        type: bool
      - name: cdrsize
        type: uint32_t
      - name: '*cdr'
        type: uint8_t
      item_type: struct
      name: "tests[] = {\n    { D(t1), false, CDR(PHDR(0, 4), 8,1) },    // insufficient
        data (len 4 in header, 1 byte present)\n    { D(t1), false, CDR(PHDR(1, 4),
        32,1) },   // incorrect member id 1 (should be 0)\n    { D(t1), false, CDR(PHDR(0,
        2), 16,1) },   // incorrect member length (member is int32)\n    { D(t1),
        true,  CDR(PHDR(0, 4), 32,1) },   // valid, present\n    { D(t1), true,  CDR(PHDR(0,
        0)) },         // valid, not present\n\n    { D(t1), false, CDR(PHDR(DDS_XCDR1_PL_SHORT_PID_EXTENDED,
        6), 32,0, 32,4, 32,1) },   // extended header: incorrect slen for extended
        header (should be 8)\n    { D(t1), true, CDR(PHDR(DDS_XCDR1_PL_SHORT_PID_EXTENDED,
        8), 32,0, 32,4, 32,1) },   // extended header: MU flag missing\n    { D(t1),
        true, CDR(PHDR(DDS_XCDR1_PL_SHORT_FLAG_MU | DDS_XCDR1_PL_SHORT_PID_EXTENDED,
        8), 32,0, 32,4, 32,1) },   // extended header: MU flag present\n    { D(t1),
        false, CDR(PHDR_EXT(1, 4), 32,1) },   // extended header: incorrect member
        id\n    { D(t1), false, CDR(PHDR_EXT(1, 2), 16,1) },   // extended header:
        incorrect member length\n    { D(t1), true,  CDR(PHDR_EXT(0, 4), 32,1) },
        \  // extended header: valid, present\n    { D(t1), true,  CDR(PHDR_EXT(0,
        0)) },          // extended header: valid, not present\n\n    { D(t2), true,
        \ CDR(PHDR(321, 1), 8,1, PAD3, PHDR(123, 4), 32,1 ) },       // valid, present\n
        \   { D(t2), true,  CDR(PHDR(321, 0),            PHDR(123, 4), 32,1 ) },       //
        valid, not-present/present\n    { D(t2), false, CDR(PHDR(321, 0),            PHDR(124,
        0) ) },             // invalid, incorrect member id\n    { D(t2), true,  CDR(PHDR(321,
        1), 8,1, PAD3, PHDR_EXT(123, 4), 32,1 ) },   // valid, short/extended header,
        present\n    { D(t2), true,  CDR(PHDR_EXT(321, 0),        PHDR_EXT(123, 0)
        ) },         // valid, extended header, not-present\n    { D(t2), false, CDR(PHDR(321,
        0),            PHDR(DDS_XCDR1_PL_SHORT_FLAG_IMPL_EXT | DDS_XCDR1_PL_SHORT_PID_EXTENDED,
        8), 32,123, 32,4, 32,1) },   // invalid extended header: impl_ext flag set\n\n
        \   { D(t3), true,  CDR(PHDR(10, 1), 8,1, PAD3, PHDR(99, 9), 32,5, 8,'a',
        8,'b', 8,'c', 8,'d', 8,'\\0', PAD3, PHDR(100, 8), 64,1) },          // valid,
        present\n    { D(t3), true,  CDR(PHDR_EXT(10, 1), 8,1, PAD3, PHDR_EXT(99,
        9), 32,5, 8,'a', 8,'b', 8,'c', 8,'d', 8,'\\0', PAD3, PHDR(100, 8), 64,1) },
        \ // valid, short/extended header, present\n    { D(t3), false, CDR(PHDR_EXT(10,
        5), 8,1, PAD3, PHDR(99, 0), PHDR(100,8), 64,1) },                                                       //
        incorrect length, present/not-present\n    { D(t3), false, CDR(PHDR_EXT(10,
        0), PHDR(99, 0), PHDR(100,5), 64,1) }                                                                  //
        incorrect length, present/not-present\n  }"
      pos:
        line_end: 2159
        line_start: 2154
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: normalize_valid
        type: bool
      - name: dsize
        type: int32_t
      - name: cdrsize
        type: uint32_t
      - name: '*cdr'
        type: uint8_t
      item_type: struct
      name: "tests[] = {\n    { D(a1), true, 0,  CDR(32,1, 32,2) },         // valid\n
        \   { D(a1), true, 0,  CDR(32,1, 32,2, 32,3) },   // valid, 1 extra member
        in CDR\n    { D(a1), true, 0,  CDR(32,1) },               // valid, 1 member
        missing in CDR\n\n    { D(f1), true,  0, CDR(32,1, 32,2) },         // valid\n
        \   { D(f1), true,  4, CDR(32,1, 32,2, 32,3) },   // too much data in CDR,
        normalize succeeds, but actual size differs from CDR size\n    { D(f1), false,
        0, CDR(32,1) },               // insufficient data in CDR\n\n    { D(a2),
        true, 0,  CDR(32,1, PHDR(1, 4), 32,2, 32,3) },     // valid, 1 extra member
        in CDR\n    { D(a2), true, 0,  CDR(32,1, PHDR(1, 0), 32,3) },           //
        valid, 1 extra member in CDR after not-present optional\n    { D(a2), true,
        0,  CDR(32,1) },                             // valid, optional member missing
        in CDR\n    { D(a2), true, 0,  CDR(32,1, PHDR(1, 0), PHDR(2, 0)) },     //
        valid, 1 extra optional member in CDR after not-present optional\n    { D(a2),
        true, 0,  CDR(32,1, PHDR_EXT(1, 4), 32,1, PHDR_EXT(2, 8), 64,1) },  // valid,
        1 extra optional member in CDR after not-present optional, with extended headers\n\n
        \   { D(a3), true, 0,  CDR(32,1, PHDR(1, 8), 32,2, 32,3) },               //
        valid\n    { D(a3), true, 0,  CDR(32,1, PHDR(1, 8), 32,2, 32,3, 32,4) },         //
        valid, 1 extra member for type a3\n    { D(a3), true, 0,  CDR(32,1, PHDR(1,
        12), 32,2, 32,3, 32,4) },        // valid, 1 extra member for type a3_1\n
        \   { D(a3), true, 0,  CDR(32,1, PHDR(1, 12), 32,2, 32,3, 32,4, 32,5) },  //
        valid, 1 extra member for type a3 and a3_1\n    { D(a3), true, 0,  CDR(32,1,
        PHDR(1, 4), 32,2) },                     // valid, 1 member missing for a3_1\n
        \   { D(a3), true, 0,  CDR(32,1, PHDR(1, 0), 32,2) },                     //
        valid, m2 not present, extra member for a3\n    { D(a3), true, 0,  CDR(32,1,
        PHDR(1, 24), 32,2, 32,3, PHDR_EXT(1, 4), 32,4) },  // valid, extra optional
        member for a3_1\n  }"
      pos:
        line_end: 2207
        line_start: 2201
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
    typedefs:
    - item_type: typedef
      name: '* (*sample_empty) (void)'
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    - item_type: typedef
      name: '* (*sample_init) (void)'
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    - item_type: typedef
      name: (*keys_equal) (void *s1, void *s2)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: bool
    - item_type: typedef
      name: (*sample_equal) (void *s1, void *s2)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: bool
    - item_type: typedef
      name: (*sample_free) (void *)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    - item_type: typedef
      name: (*sample_free2) (void *, void *)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    - item_type: typedef
      name: sample_init_fn (uint8_t *data)
      pos:
        line_end: 1274
        line_start: 1274
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    - item_type: typedef
      name: default_check_fn (uint8_t *data)
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
      type: void
    union:
    - fields:
      - name: u
        type: CdrStreamChecking_en2
      - name: i
        type: int
      item_type: union
      name: out_of_range_enum = { .i = 1 }
      pos:
        line_end: 1630
        line_start: 1630
        source_file: /src/cyclonedds/src/core/ddsc/tests/cdrstream.c
- function_names:
  - dummy_v0_mockstats_get_ptr
  - dummy_psmx_v0_loan_free
  - dummy_psmx_v0_ep_request_loan
  - dummy_psmx_v0_ep_write
  - dummy_psmx_v0_ep_take
  - dummy_psmx_v0_ep_on_data_available
  - dummy_psmx_v0_create_endpoint
  - dummy_psmx_v0_delete_endpoint
  - dummy_psmx_v0_type_qos_supported
  - dummy_psmx_v0_create_topic
  - dummy_psmx_v0_delete_topic
  - dummy_psmx_v0_deinit
  - dummy_psmx_v0_get_node_id
  - dummy_supported_features
  - dummy_v0_create_psmx
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_impl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - guardcond_thread
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gc
        type: dds_entity_t
      - name: ret
        type: dds_return_t
      item_type: struct
      name: guardcond_thread_arg
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsc/tests/guardcondition.c
    typedefs: []
    union: []
- function_names:
  - check
  - check_0
  - check_ih
  - filter_fn
  - filter_arg_fn
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/uninitialized.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - multi_sertype_init
  - multi_sertype_fini
  - get_and_check_writer_status
  - get_and_check_reader_status
  - waitfor_or_reset_fastpath
  - get_sertype_from_reader
  - logsink
  - multi_sertype_modestr
  - create_readers
  - ddsc_multi_sertype_impl
  source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
  types:
    enum:
    - enumerators:
      - name: MSM_FASTPATH
      - name: MSM_SLOWPATH
      - name: MSM_TRANSLOCAL
      item_type: enum
      name: multi_sertype_mode
      pos:
        line_end: 335
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN_LOG
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Tracing><OutputFile>cyclonedds_multi_sertype_tests.${CYCLONEDDS_DOMAIN_ID}.${CYCLONEDDS_PID}.log</OutputFile><Verbosity>finest</Verbosity></Tracing><Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: SEQ_IDX
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ARY_IDX
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '1'
    - item_type: preproc_def
      name: UNI_IDX
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
      type_or_value: '2'
    structs:
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: uint32_t
      - name: _release
        type: bool
      item_type: struct
      name: uint32_seq
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    - fields:
      - name: v[2]
        type: uint32_t
      item_type: struct
      name: two_uint32
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct two_uint32
      - name: _release
        type: bool
      item_type: struct
      name: two_uint32_seq
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    - fields:
      - name: x
        type: struct uint32_seq
      item_type: struct
      name: type_seq
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    - fields:
      - name: x[4]
        type: uint32_t
      item_type: struct
      name: type_ary
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    - fields:
      - name: _d
        type: uint32_t
      - name: _u
        type: "union\n  {\n    struct two_uint32_seq a;\n    uint32_t b[4];\n  }"
      item_type: struct
      name: type_uni
      pos:
        line_end: 73
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsc/tests/multi_sertype.c
    typedefs: []
    union: []
- function_names:
  - get_matched_count_writers
  - get_matched_count_readers
  - createwriter_publisher
  - wrinfo_hash
  - wrinfo_eq
  - dumplog
  - checksample
  - createwriter_subscriber
  source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_WRITERS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '3'
    - item_type: preproc_def
      name: N_READERS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '4'
    - item_type: preproc_def
      name: N_ROUNDS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEPTH
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LOGDEPTH
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '30'
    - item_type: preproc_def
      name: LOGLINE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '200'
    - item_type: preproc_def
      name: READ_LEN
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
      type_or_value: '3'
    structs:
    - fields:
      - name: domainid
        type: dds_domainid_t
      - name: '*topicname'
        type: char
      item_type: struct
      name: thread_arg
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    - fields:
      - name: rdid
        type: uint32_t
      - name: wrid
        type: uint32_t
      - name: wr_iid
        type: dds_instance_handle_t
      - name: last_not_alive
        type: bool
      - name: seen
        type: uint32_t
      item_type: struct
      name: wrinfo
      pos:
        line_end: 158
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    - fields:
      - name: line[LOGDEPTH][LOGLINE]
        type: char
      - name: logidx
        type: int
      item_type: struct
      name: logbuf
      pos:
        line_end: 180
        line_start: 177
        source_file: /src/cyclonedds/src/core/ddsc/tests/discstress.c
    typedefs: []
    union: []
- function_names:
  - on_data_available
  - on_publication_matched
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: dok
        type: dds_destination_order_kind_t
      - name: i
        type: int
      item_type: union
      name: dok = { .i = 3 }
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    - fields:
      - name: pask
        type: dds_presentation_access_scope_kind_t
      - name: i
        type: int
      item_type: union
      name: pask = { .i = 123 }
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
    - fields:
      - name: pask
        type: dds_presentation_access_scope_kind_t
      - name: i
        type: int
      item_type: union
      name: pask = { .i = 123 }
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/cyclonedds/src/core/ddsc/tests/subscriber.c
- function_names:
  - SAMPLE_IST
  - SAMPLE_VST
  - SAMPLE_SST
  - filter_mod2
  - querycondition_init_hdepth
  - querycondition_init
  - querycondition_init_deephist
  - querycondition_fini
  - filter_k333_s1
  source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SAMPLE_ALIVE_IST_CNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: (3)
    - item_type: preproc_def
      name: SAMPLE_DISPOSED_IST_CNT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_NO_WRITER_IST_CNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_LAST_READ_SST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_LAST_OLD_VST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/tests/querycondition.c
      type_or_value: (3)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tprintf
  - create_unique_topic_name
  - get_domaingv
  - gen_test_guid
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: u64
        type: uint64_t
      - name: u32[2]
        type: uint32_t
      item_type: union
      name: u
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_util.c
- function_names:
  - xtypes_assignability_init
  - xtypes_assignability_fini
  - reader_wait_for_data
  - do_test
  - sample_init_XType1
  - sample_init_XType1a
  - sample_check_XType1_1a
  - sample_check_XType1a_1
  - sample_init_XType2
  - sample_init_XType2a
  - sample_check_XType2_2a
  - sample_check_XType2a_2
  - sample_init_XType3
  - sample_init_XType3a
  - sample_check_XType3_3a
  - sample_check_XType3a_3
  - sample_init_XType4
  - sample_init_XType4a
  - sample_check_XType4a_4
  - sample_init_XType5a
  - sample_check_XType5a_5
  - D
  - I
  - C
  - sample_init_TBT
  - sample_check_TBT_n2
  - sample_check_TBT_n1
  - D
  - I
  - C
  - sample_init_mu_wr1_2
  - sample_init_mu_wr1_3a
  - sample_init_mu_wr1_3b
  - sample_init_mu_wr1_4a
  - sample_init_mu_wr1_4b
  - sample_init_mu_wr2_1a
  - sample_init_mu_wr2_1b
  - D
  - I
  - D
  - I
  - C
  - sample_init_en_wr1_1
  - sample_init_en_wr2_1
  - sample_init_en_wr2_3
  - sample_init_en_wr2_4
  - D
  - DP
  - DM
  - DL
  - I
  source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: ALLOW
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: DDS_TYPE_CONSISTENCY_ALLOW_TYPE_COERCION
    - item_type: preproc_def
      name: DISALW
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: DDS_TYPE_CONSISTENCY_DISALLOW_TYPE_COERCION
    - item_type: preproc_def
      name: DT
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: DF
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: 'false'
    - item_type: preproc_def
      name: DDS_TD_T
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: const dds_topic_descriptor_t *
    - item_type: preproc_def
      name: DDS_TCE_T
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type_or_value: dds_type_consistency_kind_t
    structs: []
    typedefs:
    - item_type: typedef
      name: (*sample_init) (void *s)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type: void
    - item_type: typedef
      name: (*sample_check) (void *s1, void *s2)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_assignability.c
      type: void
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/asymdisconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writethread
  - data_avail
  - setup
  - stress_data_avail_delete_reader
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NRDS
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
      type_or_value: '10'
    structs:
    - fields:
      - name: wr
        type: dds_entity_t
      - name: stop
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: writethread_arg
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    - fields:
      - name: triggered
        type: ddsrt_atomic_uint32_t
      - name: taken
        type: ddsrt_atomic_uint32_t
      - name: badparam
        type: ddsrt_atomic_uint32_t
      - name: error
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: listener_status
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    - fields:
      - name: mask
        type: uint32_t
      - name: '*status'
        type: struct listener_status
      item_type: struct
      name: listener_arg
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/tests/data_avail_stress.c
    typedefs: []
    union: []
- function_names:
  - cdds_psmx_type_qos_supported
  - cdds_psmx_create_topic
  - cdds_psmx_delete_topic
  - deinit_thread
  - cdds_psmx_deinit
  - cdds_psmx_get_node_id
  - cdds_supported_features
  - cdds_psmx_create_endpoint
  - cdds_psmx_delete_endpoint
  - cdds_psmx_ep_request_loan
  - cdds_psmx_ep_write_with_key
  - cdds_psmx_ep_take
  - incoming_sample_to_loan
  - on_data_available_thread
  - cdds_psmx_ep_on_data_available
  - cdds_loaned_sample_free
  - cdds_create_psmx
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '50'
    - item_type: preproc_def
      name: DDS_CONFIG_BASE
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: "\"${CYCLONEDDS_URI},\" \\\n   \"<Discovery>\" \\\n     \"<Tag>${CYCLONEDDS_PID}</Tag>\"
        \\\n   \"</Discovery>\""
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: DDS_CONFIG_BASE
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: "DDS_CONFIG_BASE \\\n   \"<Tracing>\" \\\n     \"<OutputFile>cyclonedds_psmx_impl.${CYCLONEDDS_DOMAIN_ID}.${CYCLONEDDS_PID}.log</OutputFile>\"
        \\\n     \"<Verbosity>finest</Verbosity>\" \\\n   \"</Tracing>\""
    - item_type: preproc_def
      name: ON_DATA_INIT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ON_DATA_RUNNING
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ON_DATA_TERMINATE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ON_DATA_STOPPED
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_TRIGGERS
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
      type_or_value: '999'
    structs:
    - fields:
      - name: c
        type: struct dds_psmx
      - name: participant
        type: dds_entity_t
      - name: on_data_waitset
        type: dds_entity_t
      - name: stop_cond
        type: dds_entity_t
      - name: on_data_thread_state
        type: ddsrt_atomic_uint32_t
      - name: endpoint_refs
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: cdds_psmx
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - fields:
      - name: c
        type: struct dds_psmx_topic
      - name: topic
        type: dds_entity_t
      item_type: struct
      name: cdds_psmx_topic
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - fields:
      - name: c
        type: struct dds_psmx_endpoint
      - name: psmx_cdds_endpoint
        type: dds_entity_t
      - name: cdds_endpoint
        type: dds_entity_t
      - name: deinit_cond
        type: dds_entity_t
      - name: deleting
        type: bool
      item_type: struct
      name: cdds_psmx_endpoint
      pos:
        line_end: 68
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - fields:
      - name: '*cpsmx'
        type: struct cdds_psmx
      item_type: struct
      name: on_data_available_thread_arg
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    - fields:
      - name: '*cep'
        type: struct cdds_psmx_endpoint
      item_type: struct
      name: on_data_available_data
      pos:
        line_end: 76
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_cdds_impl.c
    typedefs: []
    union: []
- function_names:
  - filter_long1_eq
  - filter_long2_eq
  - filter_sampleinfo_common
  - filter_sampleinfo
  - filter_long1_eq_sampleinfo
  - cmpdata
  - checkdata
  - CU_Test
  - CU_Test
  - filter_long1_eq_1
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXSAMPLES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/tests/filter.c
      type_or_value: '20'
    structs:
    - fields:
      - name: pubhandle
        type: dds_instance_handle_t
      - name: long_1
        type: int
      - name: insthandle
        type: dds_instance_handle_t
      - name: viewstate
        type: dds_view_state_t
      - name: inststate
        type: dds_instance_state_t
      - name: dispgen
        type: uint32_t
      - name: nowrgen
        type: uint32_t
      - name: rejhandle
        type: dds_instance_handle_t
      - name: toomany
        type: bool
      - name: invalid_fixed
        type: bool
      - name: invalid_dynamic
        type: bool
      - name: sampleinfo_called
        type: bool
      - name: sample_sampleinfo_called
        type: bool
      item_type: struct
      name: xfarg
      pos:
        line_end: 66
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/tests/filter.c
    - fields:
      - name: n
        type: int
      - name: '*xs'
        type: Space_Type1
      - name: '*is'
        type: dds_instance_state_t
      item_type: struct
      name: exp
      pos:
        line_end: 142
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/tests/filter.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/participant.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAMPLE_IST
  - SAMPLE_VST
  - SAMPLE_SST
  - reader_init
  - reader_fini
  - samples_cnt
  - CU_Test
  - CU_Test
  - CU_Test
  - test_even_long_2_and_long_3_neq_0
  - test_long_2_eq_2
  - do_readtake_sample_rank
  - CU_Test
  - CU_Test
  - ddsc_peek_setup
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SAMPLE_LAST_READ_SST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_LAST_OLD_VST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/reader.c
      type_or_value: (3)
    structs: []
    typedefs: []
    union: []
- function_names:
  - pp_thread
  - CU_Test
  - rw_thread
  - rw_test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/userdata.c
  types:
    enum:
    - enumerators:
      - name: RWUD_USERDATA
      - name: RWUD_GROUPDATA
      - name: RWUD_TOPICDATA
      item_type: enum
      name: rwud
      pos:
        line_end: 219
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    preproc_defs:
    - item_type: preproc_def
      name: prefix
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/tests/userdata.c
      type_or_value: '"ppuserdata:"'
    structs:
    - fields:
      - name: domainid
        type: dds_domainid_t
      - name: master
        type: bool
      - name: ncycles
        type: unsigned
      item_type: struct
      name: pp_thread_arg
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    - fields:
      - name: domainid
        type: dds_domainid_t
      - name: '*topicname'
        type: char
      - name: master
        type: bool
      - name: ncycles
        type: unsigned
      - name: which
        type: enum rwud
      item_type: struct
      name: rw_thread_arg
      pos:
        line_end: 227
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsc/tests/userdata.c
    typedefs: []
    union: []
- function_names:
  - data_available_cb
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/publisher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: pask
        type: dds_presentation_access_scope_kind_t
      - name: i
        type: int
      item_type: union
      name: pask = { .i = 123 }
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/core/ddsc/tests/publisher.c
- function_names:
  - qos_init
  - qos_fini
  source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*value'
        type: void
      - name: sz
        type: size_t
      item_type: struct
      name: pol_userdata
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: '*value'
        type: void
      - name: sz
        type: size_t
      item_type: struct
      name: pol_topicdata
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: '*value'
        type: void
      - name: sz
        type: size_t
      item_type: struct
      name: pol_groupdata
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_durability_kind_t
      item_type: struct
      name: pol_durability
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_history_kind_t
      - name: depth
        type: int32_t
      item_type: struct
      name: pol_history
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: max_samples
        type: int32_t
      - name: max_instances
        type: int32_t
      - name: max_samples_per_instance
        type: int32_t
      item_type: struct
      name: pol_resource_limits
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: access_scope
        type: dds_presentation_access_scope_kind_t
      - name: coherent_access
        type: bool
      - name: ordered_access
        type: bool
      item_type: struct
      name: pol_presentation
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: lifespan
        type: dds_duration_t
      item_type: struct
      name: pol_lifespan
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: deadline
        type: dds_duration_t
      item_type: struct
      name: pol_deadline
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: duration
        type: dds_duration_t
      item_type: struct
      name: pol_latency_budget
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_ownership_kind_t
      item_type: struct
      name: pol_ownership
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: value
        type: int32_t
      item_type: struct
      name: pol_ownership_strength
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_liveliness_kind_t
      - name: lease_duration
        type: dds_duration_t
      item_type: struct
      name: pol_liveliness
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: minimum_separation
        type: dds_duration_t
      item_type: struct
      name: pol_time_based_filter
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: n
        type: uint32_t
      - name: '**ps'
        type: char
      item_type: struct
      name: pol_partition
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_reliability_kind_t
      - name: max_blocking_time
        type: dds_duration_t
      item_type: struct
      name: pol_reliability
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: value
        type: int32_t
      item_type: struct
      name: pol_transport_priority
      pos:
        line_end: 94
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_destination_order_kind_t
      item_type: struct
      name: pol_destination_order
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: autodispose
        type: bool
      item_type: struct
      name: pol_writer_data_lifecycle
      pos:
        line_end: 102
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: autopurge_nowriter_samples_delay
        type: dds_duration_t
      - name: autopurge_disposed_samples_delay
        type: dds_duration_t
      item_type: struct
      name: pol_reader_data_lifecycle
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: service_cleanup_delay
        type: dds_duration_t
      - name: history_kind
        type: dds_history_kind_t
      - name: history_depth
        type: int32_t
      - name: max_samples
        type: int32_t
      - name: max_instances
        type: int32_t
      - name: max_samples_per_instance
        type: int32_t
      item_type: struct
      name: pol_durability_service
      pos:
        line_end: 116
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    - fields:
      - name: kind
        type: dds_type_consistency_kind_t
      - name: ignore_sequence_bounds
        type: bool
      - name: ignore_string_bounds
        type: bool
      - name: ignore_member_names
        type: bool
      - name: prevent_type_widening
        type: bool
      - name: force_type_validation
        type: bool
      item_type: struct
      name: pol_type_consistency_enforcement
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsc/tests/qos.c
    typedefs: []
    union: []
- function_names:
  - writetypes_init
  - writetypes_fini
  - ABCD_CMP
  - S
  - T
  - C
  - N
  - S
  source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN_LOG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Tracing><OutputFile>cyclonedds_writetypes_various.${CYCLONEDDS_DOMAIN_ID}.${CYCLONEDDS_PID}.log</OutputFile><Verbosity>finest</Verbosity></Tracing><Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type_or_value: '5'
    structs:
    - fields:
      - name: in_result
        type: bool
      - name: '*data'
        type: void
      item_type: struct
      name: sample
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
    typedefs:
    - item_type: typedef
      name: (*compare_fn_t) (const void *a, const void *b)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsc/tests/write_various_types.c
      type: bool
    union: []
- function_names:
  - instance_handle_init
  - instance_handle_fini
  - cmp_si_ih
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsc/tests/instance_handle.c
      type_or_value: (sizeof (md5xs) / sizeof (md5xs[0]))
    structs: []
    typedefs: []
    union: []
- function_names:
  - accept_all
  - hierarchy_init
  - hierarchy_fini
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/entity_hierarchy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAMPLE_IST
  - SAMPLE_VST
  - SAMPLE_SST
  - filter_mod2
  - read_instance_init
  - read_instance_fini
  - samples_cnt
  source_file: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/read_instance.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dotest
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/destorder.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAMPLE_IST
  - SAMPLE_VST
  - SAMPLE_SST
  - filter_mod2
  - take_instance_init
  - take_instance_fini
  - samples_cnt
  source_file: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/take_instance.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_and_sync_reader
  - ddsi_deadline_init
  - ddsi_deadline_fini
  - sleepfor
  - check_missed_deadline_reader
  - check_missed_deadline_writer
  - cb
  - write_and_update
  - check_statuses_explicit
  - check_statuses
  - VALIDATE_TIME_CONSTRAINTS
  - NORMALIZE_TIME
  - SLEEP_UNTIL
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RUNS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: '4'
    - item_type: preproc_def
      name: WRITER_DEADLINE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_MSECS(50)
    - item_type: preproc_def
      name: DEADLINE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_MSECS(100)
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: V
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_DURABILITY_VOLATILE
    - item_type: preproc_def
      name: TL
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_DURABILITY_TRANSIENT_LOCAL
    - item_type: preproc_def
      name: R
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_RELIABILITY_RELIABLE
    - item_type: preproc_def
      name: BE
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_RELIABILITY_BEST_EFFORT
    - item_type: preproc_def
      name: KA
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_HISTORY_KEEP_ALL
    - item_type: preproc_def
      name: KL
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsc/tests/deadline.c
      type_or_value: DDS_HISTORY_KEEP_LAST
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_entity_status
  - fini_entity_status
  - Test
  - data_available_wait_thread
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: max_samples
        type: int32_t
      - name: max_instances
        type: int32_t
      - name: max_samples_per_instance
        type: int32_t
      item_type: struct
      name: reslimits
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    - fields:
      - name: ws
        type: dds_entity_t
      - name: ntrig
        type: int32_t
      - name: twait
        type: ddsrt_mtime_t
      - name: twakeup
        type: ddsrt_mtime_t
      item_type: struct
      name: data_available_wait_thread_arg
      pos:
        line_end: 1414
        line_start: 1409
        source_file: /src/cyclonedds/src/core/ddsc/tests/entity_status.c
    typedefs: []
    union: []
- function_names:
  - unregistering_init
  - unregistering_fini
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/unregister.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/unregister.c
      type_or_value: '7'
    - item_type: preproc_def
      name: INITIAL_SAMPLES
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/unregister.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*inp'
        type: char
      - name: tref
        type: dds_time_t
      - name: tok
        type: int
      - name: v
        type: union oneliner_tokval
      item_type: struct
      name: oneliner_lex
      pos:
        line_end: 274
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.h
    - fields:
      - name: '*ctx'
        type: struct oneliner_ctx
      - name: '*list'
        type: dds_listener_t
      - name: cb_called[DDS_STATUS_ID_MAX + 1]
        type: uint32_t
      - name: cb_topic
        type: dds_entity_t
      - name: cb_inconsistent_topic_status
        type: dds_inconsistent_topic_status_t
      - name: cb_liveliness_changed_status
        type: dds_liveliness_changed_status_t
      - name: cb_liveliness_lost_status
        type: dds_liveliness_lost_status_t
      - name: cb_offered_deadline_missed_status
        type: dds_offered_deadline_missed_status_t
      - name: cb_offered_incompatible_qos_status
        type: dds_offered_incompatible_qos_status_t
      - name: cb_publication_matched_status
        type: dds_publication_matched_status_t
      - name: cb_requested_deadline_missed_status
        type: dds_requested_deadline_missed_status_t
      - name: cb_requested_incompatible_qos_status
        type: dds_requested_incompatible_qos_status_t
      - name: cb_sample_lost_status
        type: dds_sample_lost_status_t
      - name: cb_sample_rejected_status
        type: dds_sample_rejected_status_t
      - name: cb_subscription_matched_status
        type: dds_subscription_matched_status_t
      item_type: struct
      name: oneliner_cb
      pos:
        line_end: 294
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.h
    - fields:
      - name: l
        type: struct oneliner_lex
      - name: es[3 * 9]
        type: dds_entity_t
      - name: tps[3]
        type: dds_entity_t
      - name: doms[3]
        type: dds_entity_t
      - name: esi[3 * 9]
        type: dds_instance_handle_t
      - name: pubrd[3]
        type: dds_entity_t
      - name: subrd[3]
        type: dds_entity_t
      - name: topicname[100]
        type: char
      - name: '*qos'
        type: dds_qos_t
      - name: '*entqos'
        type: dds_qos_t
      - name: result
        type: int
      - name: msg[256]
        type: char
      - name: jb
        type: jmp_buf
      - name: mprintf_needs_timestamp
        type: int
      - name: g_mutex
        type: ddsrt_mutex_t
      - name: g_cond
        type: ddsrt_cond_mtime_t
      - name: cb[3]
        type: struct oneliner_cb
      - name: '*config_override'
        type: char
      item_type: struct
      name: oneliner_ctx
      pos:
        line_end: 324
        line_start: 296
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.h
    typedefs: []
    union:
    - fields:
      - name: i
        type: int
      - name: d
        type: int64_t
      - name: n[32]
        type: char
      item_type: union
      name: oneliner_tokval
      pos:
        line_end: 267
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsc/tests/test_oneliner.h
- function_names:
  - disposing_init
  - disposing_fini
  source_file: /src/cyclonedds/src/core/ddsc/tests/dispose.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/dispose.c
      type_or_value: '7'
    - item_type: preproc_def
      name: INITIAL_SAMPLES
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/dispose.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - typelookup_init
  - typelookup_fini
  - get_type
  - print_ep
  - find_typeid_match
  - endpoint_info_free
  - reader_wait_for_data
  - test_proxy_rd_matches
  - mod_dep_test
  source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    structs:
    - fields:
      - name: '*type_info'
        type: dds_typeinfo_t
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      item_type: struct
      name: endpoint_info
      pos:
        line_end: 156
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsc/tests/xtypes_typelookup.c
    typedefs: []
    union: []
- function_names:
  - topic_discovery_init
  - topic_discovery_fini
  - check_topic_samples
  - delete_participants_thread
  - delete_topics_thread
  - read_topic_thread
  source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID1
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID2
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId><EnableTopicDiscoveryEndpoints>true</EnableTopicDiscoveryEndpoints></Discovery>"'
    - item_type: preproc_def
      name: NUM_PP
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NUM_TP
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '30'
    - item_type: preproc_def
      name: DELAY_MSECS
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/cyclonedds/src/core/ddsc/tests/topic_discovery.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAR
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(0) '
    - item_type: preproc_def
      name: TOP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(1) '
    - item_type: preproc_def
      name: PUB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(2) '
    - item_type: preproc_def
      name: WRI
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(3) '
    - item_type: preproc_def
      name: SUB
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(4) '
    - item_type: preproc_def
      name: REA
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(5) '
    - item_type: preproc_def
      name: RCD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(6) '
    - item_type: preproc_def
      name: BAD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
      type_or_value: '(7) '
    structs:
    - fields:
      - name: index
        type: unsigned
      - name: exp_res
        type: dds_return_t
      item_type: struct
      name: index_result
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/unsupported.c
    typedefs: []
    union: []
- function_names:
  - config__check_env
  - logger
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sync_reader_writer_impl
  - sync_reader_writer
  - no_sync_reader_writer
  - xcdr2_ser
  - xcdr2_deser
  source_file: /src/cyclonedds/src/core/ddsc/tests/test_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_v0_public.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_entities
  - delete_entities
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/loan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_CNT
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/cyclonedds/src/core/ddsc/tests/loan.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_entity
  - delete_entity
  - entity_qos_get_set
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/entity_api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - null_log_sink
  - intf_init
  - setup
  - teardown
  - check_address_list
  - CU_Test
  - CU_Test
  - CU_Test
  - check_address_present
  source_file: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**expected'
        type: char
      - name: ok
        type: bool
      item_type: struct
      name: check_address_present_arg
      pos:
        line_end: 381
        line_start: 378
        source_file: /src/cyclonedds/src/core/ddsc/tests/nwpart.c
    typedefs: []
    union: []
- function_names:
  - registering_init
  - registering_fini
  source_file: /src/cyclonedds/src/core/ddsc/tests/register.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/register.c
      type_or_value: '7'
    - item_type: preproc_def
      name: INITIAL_SAMPLES
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/register.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fail
  - fail_match
  - fail_addrset
  - fail_valid_data
  - fail_instance_state
  - fail_timestamp
  - fail_content
  - fail_no_data
  - fail_too_much_data
  - create_participant
  - endpoint_has_psmx_enabled
  - psmx_supports_keys
  - reader_unicast_port
  - check_writer_addrset_helper
  - check_writer_addrset_once
  - check_writer_addrset
  - create_endpoint
  - create_reader
  - create_writer
  - print
  - get_current_match_count
  - allmatched
  - istatestr
  - alldataseen
  - wait_for_fastpath_ready
  - getset_fastpath_reader_count
  - getset_fastpath_enabled
  - compare_uint32
  - print_time
  - check_transmit_queue_empty_helper
  - check_transmit_queue_empty
  - dotest
  - eq_PsmxType1
  - eq_DynamicData_Msg
  - eq_DynamicData_KMsg
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - deepcopy_sample_contents
  - get_write_datapointer
  - data_equal
  - CU_Test
  - CU_Test
  - CU_Test
  - check_loan
  - do_multi_psmx_get_loans
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
  types:
    enum:
    - enumerators:
      - name: LDM_NONE
      - name: LDM_FASTPATH
      - name: LDM_SLOWPATH
      item_type: enum
      name: local_delivery_mode
      pos:
        line_end: 607
        line_start: 595
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - enumerators:
      - name: WM_NORMAL
      - name: WM_FORWARDCDR
      - name: WM_LOAN
      item_type: enum
      name: write_mode
      pos:
        line_end: 613
        line_start: 609
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DOMAINS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_READERS_PER_DOMAIN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TRACE_CATEGORY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
      type_or_value: '"trace,rhc"'
    - item_type: preproc_def
      name: TRACE_CATEGORY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
      type_or_value: '"config,discovery"'
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 1216
        line_start: 1215
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
      type_or_value: '8'
    structs:
    - fields:
      - name: a[16]
        type: unsigned char
      item_type: struct
      name: psmx_locator
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: buf[512]
        type: char
      - name: pos
        type: size_t
      item_type: struct
      name: tracebuf
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: ports_seen
        type: uint32_t
      - name: unexpected_present
        type: bool
      - name: '*tb'
        type: struct tracebuf
      - name: nports
        type: int
      - name: '*ports'
        type: uint32_t
      item_type: struct
      name: check_writer_addrset_helper_arg
      pos:
        line_end: 166
        line_start: 160
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: nrd
        type: uint32_t
      - name: '*rdary0'
        type: struct ddsi_reader
      item_type: struct
      name: fastpath_info
      pos:
        line_end: 496
        line_start: 493
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: '*info'
        type: char
      - name: op
        type: enum { OP_WRITE, OP_DISPOSE, OP_WRITEDISPOSE, OP_UNREGISTER }
      - name: istate
        type: dds_instance_state_t
      item_type: struct
      name: "ops[] = {\n        { \"w\", OP_WRITE, DDS_ALIVE_INSTANCE_STATE },\n        {
        \"d\", OP_DISPOSE, DDS_NOT_ALIVE_DISPOSED_INSTANCE_STATE },\n        { \"w\",
        OP_WRITE, DDS_ALIVE_INSTANCE_STATE },\n        { \"wd\", OP_WRITEDISPOSE,
        DDS_NOT_ALIVE_DISPOSED_INSTANCE_STATE },\n        { \"w\", OP_WRITE, DDS_ALIVE_INSTANCE_STATE
        },\n        { \"u\", OP_UNREGISTER, DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
        }\n      }"
      pos:
        line_end: 781
        line_start: 777
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: wr
        type: "struct epspec {\n      uint32_t np;\n      const char *p[2];\n    }"
      - name: '*checkwrp'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 1110
        line_start: 1104
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: np
        type: uint32_t
      - name: '*p[2]'
        type: char
      item_type: struct
      name: epspec
      pos:
        line_end: 1108
        line_start: 1105
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: wrloan_ok
        type: bool
      - name: '*data'
        type: void
      item_type: struct
      name: "cases[] = {\n    { &SC_Model_desc, true, &(SC_Model){ 5, 11, 31 } },\n
        \   { &NSC_Model_desc, false, &(NSC_Model){ \"aap\", \"noot\", \"mies\" }
        }\n  }"
      pos:
        line_end: 1277
        line_start: 1273
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: '*desc'
        type: dds_topic_descriptor_t
      - name: step[2]
        type: "struct {\n      dds_return_t (*op) (dds_entity_t wr, const void *data);\n
          \     const void *data;\n    }"
      item_type: struct
      name: "cases[] = {\n    { &PsmxLoanTest0_desc, {\n      { dds_write, &(PsmxLoanTest0){
        { 0x12345678, 0x55 }, 0x22 } },\n      { dds_dispose, &(PsmxLoanTest0){ {
        0, 0 }, 0x22 } } } },\n    { &PsmxLoanTest1_desc, {\n      { dds_write, &(PsmxLoanTest1){
        { 0x12345678, 0x55 }, 0x22, \"aap\" } },\n      { dds_dispose, &(PsmxLoanTest1){
        { 0, 0, }, 0x22, \"\" } } } },\n    { &PsmxLoanTest2_desc, {\n      { dds_write,
        &(PsmxLoanTest2){ { 0x12345678, 0x55 }, 0x22, \"noot\" } },\n      { dds_dispose,
        &(PsmxLoanTest2){ { 0, 0, }, 0x22, \"noot\" } } } },\n  }"
      pos:
        line_end: 1459
        line_start: 1453
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: '*k'
        type: char
      - name: '*v'
        type: char
      item_type: struct
      name: kv
      pos:
        line_end: 1653
        line_start: 1653
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: nkv
        type: size_t
      - name: '*kv'
        type: kv_t
      item_type: struct
      name: "cases[] = {\n    { \"\", \"\\0INSTANCE_NAME=aa;\\0\", 1,(kv_t[]){{\"INSTANCE_NAME\",\"aa\"}}
        },\n    { \"SERVICE_NAME=bb\", \"SERVICE_NAME=bb;\\0INSTANCE_NAME=bb;\\0\",
        1,(kv_t[]){{\"INSTANCE_NAME\",\"bb\"}} },\n    { \"SERVICE_NAME=\", NULL },\n
        \   { \"SERVICE_NAME=;\", NULL },\n    { \"SERVICE_NAME=\\\\;\", \"SERVICE_NAME=\\\\;;\\0INSTANCE_NAME=\\\\;;\\0\",
        1,(kv_t[]){{\"INSTANCE_NAME\",\";\"}} },\n    { \";\", NULL },\n    { \"X\",
        NULL },\n    { \"=\", NULL },\n    { \"=Y\", NULL },\n    { \"X;Y\", NULL
        },\n    { \"X=\", \"X=;\\0INSTANCE_NAME=aa;\\0\", 2,(kv_t[]){{\"X\",\"\"},{\"INSTANCE_NAME\",\"aa\"}}
        },\n    { \"X=3\", \"X=3;\\0INSTANCE_NAME=aa;\\0\", 2,(kv_t[]){{\"X\",\"3\"},{\"INSTANCE_NAME\",\"aa\"}}
        },\n    { \"X=3;\", \"X=3;\\0INSTANCE_NAME=aa;\\0\", 2,(kv_t[]){{\"X\",\"3\"},{\"INSTANCE_NAME\",\"aa\"}}
        },\n    { \"X=3;;\", NULL },\n    { \"X=3;YY=456\", \"X=3;YY=456;\\0INSTANCE_NAME=aa;\\0\",
        3,(kv_t[]){{\"X\",\"3\"},{\"YY\",\"456\"},{\"INSTANCE_NAME\",\"aa\"}} },\n
        \   { \"X=3;YY=456;\", \"X=3;YY=456;\\0INSTANCE_NAME=aa;\\0\", 3,(kv_t[]){{\"X\",\"3\"},{\"YY\",\"456\"},{\"INSTANCE_NAME\",\"aa\"}}
        },\n    { \"X=3;INSTANCE_NAME=bb;YY=4\\\\56;\", \"X=3;INSTANCE_NAME=bb;YY=4\\\\56;\\0\",
        3,(kv_t[]){{\"X\",\"3\"},{\"YY\",\"456\"},{\"INSTANCE_NAME\", \"bb\"}} },\n
        \   { \"X=3;;YY=4\\\\56;\", NULL },\n    { \"X\\\\=3;\", NULL },\n    { \"X=3;\\\\\",
        NULL },\n    { \"X=3\\\\\", NULL },\n    { \"X=3\\\\\\\\\", \"X=3\\\\\\\\;\\0INSTANCE_NAME=aa;\\0\",
        2,(kv_t[]){{\"X\",\"3\\\\\"},{\"INSTANCE_NAME\", \"aa\"}} },\n    { \"X=3\\\\;Y=\",
        \"X=3\\\\;Y=;\\0INSTANCE_NAME=aa;\\0\", 2,(kv_t[]){{\"X\",\"3;Y=\"},{\"INSTANCE_NAME\",
        \"aa\"}} },\n    { \"CYCLONEDDS_=\", NULL },\n    { \"CYCLONEDDS_X=\", NULL
        },\n    { \"X=3;CYCLONEDDS_=\", NULL },\n    { \"X=3;CYCLONEDDS_X=\", NULL
        }\n  }"
      pos:
        line_end: 1654
        line_start: 1654
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/sertype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsc_waitset_basic_init
  - ddsc_waitset_basic_fini
  - ddsc_waitset_init
  - ddsc_waitset_fini
  - ddsc_waitset_attached_init
  - ddsc_waitset_attached_fini
  - CU_Test
  - CU_Test
  - cw_trig_write
  - cw_trig_waitset
  - check_waitset_trigger
  - waiting_thread
  - thread_reached_state
  - waiting_thread_start
  - waiting_thread_expect_exit
  - listener_nop
  - listener_take_expecting_data
  - listener_waitset_thread
  source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
  types:
    enum:
    - enumerators:
      - name: STARTING
      - name: STOPPED
      - name: WAITING
      item_type: enum
      name: thread_state_t
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ENTITIES_CNT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
      type_or_value: (10)
    structs:
    - fields:
      - name: tid
        type: ddsrt_thread_t
      - name: state
        type: ddsrt_atomic_uint32_t
      - name: expected
        type: dds_entity_t
      item_type: struct
      name: thread_arg_t
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    - fields:
      - name: '*flags'
        type: ddsrt_atomic_uint32_t
      - name: ws
        type: dds_entity_t
      - name: abstimeout
        type: dds_time_t
      item_type: struct
      name: listener_waitset_thread_arg
      pos:
        line_end: 812
        line_start: 808
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset.c
    typedefs: []
    union: []
- function_names:
  - SAMPLE_IST
  - SAMPLE_VST
  - SAMPLE_SST
  - readcondition_init
  - readcondition_fini
  - check_expected_long_1
  - X
  - sst_str
  - vst_str
  - ist_str
  - readcondition_readtake
  - CU_Test
  - CU_Test
  - writethread
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SAMPLE_ALIVE_IST_CNT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: (3)
    - item_type: preproc_def
      name: SAMPLE_DISPOSED_IST_CNT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_NO_WRITER_IST_CNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_LAST_READ_SST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: (2)
    - item_type: preproc_def
      name: SAMPLE_LAST_OLD_VST
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: (3)
    - item_type: preproc_def
      name: F
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_NOT_READ_SAMPLE_STATE // "fresh" = not read
    - item_type: preproc_def
      name: S
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_READ_SAMPLE_STATE // "stale" = read
    - item_type: preproc_def
      name: N
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_NEW_VIEW_STATE
    - item_type: preproc_def
      name: O
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_NOT_NEW_VIEW_STATE // "old" = not-new
    - item_type: preproc_def
      name: A
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_ALIVE_INSTANCE_STATE
    - item_type: preproc_def
      name: D
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_NOT_ALIVE_DISPOSED_INSTANCE_STATE
    - item_type: preproc_def
      name: U
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE // "unregistered"
    - item_type: preproc_def
      name: NCONDS
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
      type_or_value: '10'
    structs:
    - fields:
      - name: sst
        type: uint32_t
      - name: mask
        type: uint32_t
      - name: expn
        type: int
      - name: '*exp'
        type: int
      item_type: struct
      name: readtake_tab
      pos:
        line_end: 375
        line_start: 370
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    - fields:
      - name: wr
        type: dds_entity_t
      - name: stop
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: writethread_arg
      pos:
        line_end: 516
        line_start: 513
        source_file: /src/cyclonedds/src/core/ddsc/tests/readcondition.c
    typedefs: []
    union: []
- function_names:
  - whc_init
  - whc_fini
  - create_and_sync_reader
  - get_writer_whc_state
  - check_intermediate_whc_state
  - check_whc_state
  - test_whc_end_state
  - ARRAY_LEN
  source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DOMAINID_PUB
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DOMAINID_SUB
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: DDS_CONFIG_NO_PORT_GAIN_LOG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: '"${CYCLONEDDS_URI}${CYCLONEDDS_URI:+,}<Tracing><OutputFile>cyclonedds_whc_test.${CYCLONEDDS_DOMAIN_ID}.${CYCLONEDDS_PID}.log</OutputFile><Verbosity>finest</Verbosity></Tracing><Discovery><ExternalDomainId>0</ExternalDomainId></Discovery>"'
    - item_type: preproc_def
      name: SAMPLE_COUNT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DEADLINE_DURATION
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_MSECS(1)
    - item_type: preproc_def
      name: V
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_DURABILITY_VOLATILE
    - item_type: preproc_def
      name: TL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_DURABILITY_TRANSIENT_LOCAL
    - item_type: preproc_def
      name: R
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_RELIABILITY_RELIABLE
    - item_type: preproc_def
      name: BE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_RELIABILITY_BEST_EFFORT
    - item_type: preproc_def
      name: KA
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_HISTORY_KEEP_ALL
    - item_type: preproc_def
      name: KL
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsc/tests/whc.c
      type_or_value: DDS_HISTORY_KEEP_LAST
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_public.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: _maximum
        type: size_t
      - name: _length
        type: size_t
      - name: '* _buffer'
        type: void
      item_type: struct
      name: dynamic_array_s
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_public.h
    - fields:
      - name: cnt_create_psmx
        type: int
      - name: cnt_type_qos_supported
        type: int
      - name: cnt_create_topic
        type: int
      - name: cnt_delete_topic
        type: int
      - name: cnt_deinit
        type: int
      - name: cnt_get_node_id
        type: int
      - name: cnt_supported_features
        type: int
      - name: cnt_create_endpoint
        type: int
      - name: cnt_delete_endpoint
        type: int
      - name: cnt_request_loan
        type: int
      - name: cnt_write
        type: int
      - name: cnt_take
        type: int
      - name: cnt_on_data_available
        type: int
      - name: supports_shared_memory
        type: bool
      - name: fail_create_topic
        type: bool
      - name: '* config'
        type: char
      - name: topics
        type: dynamic_array_t
      - name: endpoints
        type: dynamic_array_t
      - name: loans
        type: dynamic_array_t
      - name: loan
        type: dds_loaned_sample_t
      - name: loan_metadata
        type: dds_psmx_metadata_t
      - name: '* create_endpoint_rcv_topic'
        type: dds_psmx_topic_t
      - name: '* delete_endpoint_rcv_endpt'
        type: dds_psmx_endpoint_t
      - name: '* request_loan_rcv_endpt'
        type: dds_psmx_endpoint_t
      - name: '* write_rcv_endpt'
        type: dds_psmx_endpoint_t
      - name: '* write_rcv_loan'
        type: dds_loaned_sample_t
      item_type: struct
      name: dummy_mockstats_s
      pos:
        line_end: 62
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/psmx_dummy_public.h
    typedefs: []
    union: []
- function_names:
  - init_prng
  - choose_index
  - pick_a_subscriber
  - pick_a_reader
  - index_to_counter_index
  - guardcond_create_delete_thread
  - waitset_create_delete_thread
  - guardcond_trigger_thread
  - waitset_attach_detach_thread
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_WAITSETS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '20'
    - item_type: preproc_def
      name: N_ENTITIES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '32'
    - item_type: preproc_def
      name: N_GUARDCONDS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '20'
    - item_type: preproc_def
      name: N_SUBSCRIBERS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '4'
    - item_type: preproc_def
      name: N_READERS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '4'
    - item_type: preproc_def
      name: N_READCONDS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RESERVED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/tests/waitset_torture.c
      type_or_value: ((uint32_t) 0xffffffffu)
    structs: []
    typedefs: []
    union: []
- function_names:
  - loan_pool_expand_cap
  - dds_loan_pool_create
  - dds_loan_pool_free
  - dds_loan_pool_add_loan
  - dds_loan_pool_find_and_remove_loan
  - dds_loan_pool_get_loan
  - dds_loaned_sample_copy
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_loaned_sample.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_entity_deriver_dummy_interrupt
  - dds_entity_deriver_dummy_close
  - dds_entity_deriver_dummy_delete
  - dds_entity_deriver_dummy_set_qos
  - dds_entity_deriver_dummy_validate_status
  - dds_entity_deriver_dummy_create_statistics
  - dds_entity_deriver_dummy_refresh_statistics
  - dds_entity_deriver_dummy_invoke_cbs_for_pending_events
  - compare_instance_handle
  - entity_is_builtin_topic
  - dds_entity_add_ref_locked
  - dds_entity_drop_ref
  - dds_entity_unpin_and_drop_ref
  - entity_has_status
  - entity_may_have_children
  - entity_kind_has_qos
  - dds_entity_init
  - dds_entity_init_complete
  - dds_entity_register_child
  - get_next_child
  - delete_children
  - entity_kindstr
  - print_delete
  - dds_delete
  - dds_entity_final_deinit_before_free
  - dds_delete_impl
  - dds_delete_impl_pinned
  - really_delete_pinned_closed_locked
  - dds_entity_in_scope
  - dds_get_parent
  - dds_entity_participant
  - dds_entity_participant_guid
  - dds_get_participant
  - dds_get_children
  - entity_kind_qos_mask
  - dds_get_qos_builtin_topic
  - dds_get_qos
  - dds_set_qos_locked_raw
  - dds_set_qos_locked_impl
  - pushdown_pubsub_qos
  - pushdown_topic_qos
  - dds_set_qos
  - dds_get_listener
  - pushdown_listener
  - dds_set_listener
  - dds_enable
  - dds_get_status_mask
  - dds_set_status_mask
  - dds_readtake_status
  - dds_read_status
  - dds_take_status
  - dds_get_status_changes
  - dds_get_domainid
  - dds_get_instance_handle
  - dds_get_guid
  - dds_entity_pin_with_origin
  - dds_entity_pin
  - dds_entity_pin_for_delete
  - dds_entity_unpin
  - dds_entity_lock
  - dds_entity_unlock
  - dds_triggered
  - in_observer_list_p
  - dds_entity_observer_register
  - dds_entity_observer_unregister
  - dds_entity_observers_signal
  - dds_entity_observers_signal_delete
  - dds_entity_status_signal
  - dds_entity_status_set
  - dds_get_topic
  - dds_generic_unimplemented_operation_manykinds
  - dds_generic_unimplemented_operation
  - dds_assert_liveliness
  - dds_request_loan
  - dds_loan_sample
  - dds_return_loan
  - dds_get_typeinfo
  - dds_free_typeinfo
  - dds_get_typeinfo
  - dds_free_typeinfo
  - dds_get_entity_sertype
  - pushdown_write_flush
  - dds_write_flush
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRACE_DELETE
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_entity.c
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - SYSDEF_TRACE
  - SYSDEF_ERROR
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYSDEF_SCOPE_TYPE_LIB
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 0u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_QOS_LIB
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 1u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_DOMAIN_LIB
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 2u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_PARTICIPANT_LIB
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 3u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_APPLICATION_LIB
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 4u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_NODE_LIB
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 5u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_DEPLOYMENT_LIB
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: (1u << 6u)
    - item_type: preproc_def
      name: SYSDEF_SCOPE_ALL_LIB
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: "( \\\n  SYSDEF_SCOPE_TYPE_LIB        |\\\n  SYSDEF_SCOPE_QOS_LIB
        \        |\\\n  SYSDEF_SCOPE_DOMAIN_LIB      |\\\n  SYSDEF_SCOPE_PARTICIPANT_LIB
        |\\\n  SYSDEF_SCOPE_APPLICATION_LIB |\\\n  SYSDEF_SCOPE_NODE_LIB        |\\\n
        \ SYSDEF_SCOPE_DEPLOYMENT_LIB  \\\n)"
    - item_type: preproc_def
      name: SYSDEF_RET_OK
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SYSDEF_RET_FAILURE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_OK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_ERR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_SYNTAX_ERR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_OUT_OF_RESOURCES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_NOT_SUPPORTED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-4'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_INVALID_REF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-5'
    - item_type: preproc_def
      name: SD_PARSE_RESULT_DUPLICATE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '-6'
    - item_type: preproc_def
      name: SD_REF_SEPARATOR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_parser.h
      type_or_value: '"::"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_create_querycondition
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_querycond.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__domain.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds__create_builtin_qos
  - dds__get_builtin_topic_name_typename
  - dds__create_builtin_subscriber
  - dds__get_builtin_subscriber
  - dds__builtin_is_builtintopic
  - dds__builtin_is_visible
  - dds__builtin_get_tkmap_entry
  - dds__builtin_make_sample_endpoint
  - dds__builtin_make_sample_topic_impl
  - dds__builtin_make_sample_topic
  - dds__builtin_make_sample_proxy_topic
  - dds__builtin_write_endpoint
  - dds__builtin_write_topic
  - unref_builtin_types
  - dds__builtin_init
  - dds__builtin_fini
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pseudo_handle
        type: dds_entity_t
      - name: '*name'
        type: char
      - name: '*typename'
        type: char
      item_type: struct
      name: "builtin_topic_list[] = {\n  { DDS_BUILTIN_TOPIC_DCPSPARTICIPANT, DDS_BUILTIN_TOPIC_PARTICIPANT_NAME,
        \"org::eclipse::cyclonedds::builtin::DCPSParticipant\" },\n  { DDS_BUILTIN_TOPIC_DCPSTOPIC,
        DDS_BUILTIN_TOPIC_TOPIC_NAME, \"org::eclipse::cyclonedds::builtin::DCPSTopic\"
        },\n  { DDS_BUILTIN_TOPIC_DCPSPUBLICATION, DDS_BUILTIN_TOPIC_PUBLICATION_NAME,
        \"org::eclipse::cyclonedds::builtin::DCPSPublication\" },\n  { DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION,
        DDS_BUILTIN_TOPIC_SUBSCRIPTION_NAME, \"org::eclipse::cyclonedds::builtin::DCPSSubscription\"
        }\n}"
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_builtin.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__loaned_sample.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**samples'
        type: dds_loaned_sample_t
      - name: n_samples_cap
        type: uint32_t
      - name: n_samples
        type: uint32_t
      item_type: struct
      name: dds_loan_pool
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__loaned_sample.h
    typedefs:
    - item_type: typedef
      name: dds_loan_pool_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__loaned_sample.h
      type: dds_loan_pool
    union: []
- function_names:
  - dds_read_collect_sample_arg_init
  - dds_read_collect_sample
  - dds_read_collect_sample_loan_zerocopy
  - dds_read_collect_sample_loan
  - dds_read_collect_sample_refs
  - dds_read_impl_setup
  - dds_read_impl_common
  - dds_read_with_collector_impl
  - dds_readcdr_impl
  - dds_read_impl
  - dds_peek
  - dds_peek_mask
  - dds_peek_instance
  - dds_peek_instance_mask
  - dds_peek_next
  - dds_read
  - dds_read_wl
  - dds_read_mask
  - dds_read_mask_wl
  - dds_read_instance
  - dds_read_instance_wl
  - dds_read_instance_mask
  - dds_read_instance_mask_wl
  - dds_read_next
  - dds_read_next_wl
  - dds_take
  - dds_take_wl
  - dds_take_mask
  - dds_take_mask_wl
  - dds_take_instance
  - dds_take_instance_wl
  - dds_take_instance_mask
  - dds_take_instance_mask_wl
  - dds_take_next
  - dds_take_next_wl
  - dds_peekcdr
  - dds_peekcdr_instance
  - dds_readcdr
  - dds_readcdr_instance
  - dds_takecdr
  - dds_takecdr_instance
  - dds_peek_with_collector
  - dds_read_with_collector
  - dds_take_with_collector
  - return_reader_loan_locked_onesample
  - return_reader_loan_locked_loop
  - return_reader_loan_locked
  - dds_return_reader_loan
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_read.c
  types:
    enum:
    - enumerators:
      - name: READ_OPER_PEEK
      - name: READ_OPER_TAKE
      - name: READ_OPER_READ
      item_type: enum
      name: dds_read_impl_common_oper
      pos:
        line_end: 149
        line_start: 145
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_read.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_TOPIC_QOS_MASK
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_TOPIC_DATA | DDSI_QP_DURABILITY | DDSI_QP_DURABILITY_SERVICE
        |                   \\\n   DDSI_QP_DEADLINE | DDSI_QP_LATENCY_BUDGET | DDSI_QP_OWNERSHIP
        | DDSI_QP_LIVELINESS |     \\\n   DDSI_QP_RELIABILITY | DDSI_QP_TRANSPORT_PRIORITY
        | DDSI_QP_LIFESPAN |                    \\\n   DDSI_QP_DESTINATION_ORDER |
        DDSI_QP_HISTORY | DDSI_QP_RESOURCE_LIMITS |                  \\\n   DDSI_QP_DATA_REPRESENTATION
        | DDSI_QP_ENTITY_NAME)"
    - item_type: preproc_def
      name: DDS_PARTICIPANT_QOS_MASK
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_USER_DATA | DDSI_QP_ADLINK_ENTITY_FACTORY | DDSI_QP_CYCLONE_IGNORELOCAL
        |        \\\n   DDSI_QP_PROPERTY_LIST | DDSI_QP_LIVELINESS | DDSI_QP_ENTITY_NAME)
        // liveliness is a Cyclone DDS special"
    - item_type: preproc_def
      name: DDS_PUBLISHER_QOS_MASK
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_PARTITION | DDSI_QP_PRESENTATION | DDSI_QP_GROUP_DATA
        |                          \\\n   DDSI_QP_ADLINK_ENTITY_FACTORY | DDSI_QP_CYCLONE_IGNORELOCAL
        | DDSI_QP_ENTITY_NAME)"
    - item_type: preproc_def
      name: DDS_READER_QOS_MASK
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_USER_DATA | DDSI_QP_DURABILITY | DDSI_QP_DEADLINE |
        DDSI_QP_LATENCY_BUDGET |     \\\n   DDSI_QP_OWNERSHIP | DDSI_QP_LIVELINESS
        | DDSI_QP_TIME_BASED_FILTER |                     \\\n   DDSI_QP_RELIABILITY
        | DDSI_QP_DESTINATION_ORDER | DDSI_QP_HISTORY |                      \\\n
        \  DDSI_QP_RESOURCE_LIMITS | DDSI_QP_ADLINK_READER_DATA_LIFECYCLE |                         \\\n
        \  DDSI_QP_CYCLONE_IGNORELOCAL | DDSI_QP_PROPERTY_LIST |                                    \\\n
        \  DDSI_QP_TYPE_CONSISTENCY_ENFORCEMENT | DDSI_QP_DATA_REPRESENTATION |                     \\\n
        \  DDSI_QP_ENTITY_NAME | DDSI_QP_PSMX)"
    - item_type: preproc_def
      name: DDS_SUBSCRIBER_QOS_MASK
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_PARTITION | DDSI_QP_PRESENTATION | DDSI_QP_GROUP_DATA
        |                          \\\n   DDSI_QP_ADLINK_ENTITY_FACTORY | DDSI_QP_CYCLONE_IGNORELOCAL
        | DDSI_QP_ENTITY_NAME)"
    - item_type: preproc_def
      name: DDS_WRITER_QOS_MASK
      pos:
        line_end: 57
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos.h
      type_or_value: "(DDSI_QP_USER_DATA | DDSI_QP_DURABILITY | DDSI_QP_DURABILITY_SERVICE
        | DDSI_QP_DEADLINE | \\\n   DDSI_QP_LATENCY_BUDGET | DDSI_QP_OWNERSHIP | DDSI_QP_OWNERSHIP_STRENGTH
        |                \\\n   DDSI_QP_LIVELINESS | DDSI_QP_RELIABILITY | DDSI_QP_TRANSPORT_PRIORITY
        |                  \\\n   DDSI_QP_LIFESPAN | DDSI_QP_DESTINATION_ORDER | DDSI_QP_HISTORY
        |                         \\\n   DDSI_QP_RESOURCE_LIMITS | DDSI_QP_ADLINK_WRITER_DATA_LIFECYCLE
        |                         \\\n   DDSI_QP_CYCLONE_IGNORELOCAL | DDSI_QP_PROPERTY_LIST
        | DDSI_QP_DATA_REPRESENTATION |      \\\n   DDSI_QP_ENTITY_NAME | DDSI_QP_PSMX
        | DDSI_QP_CYCLONE_WRITER_BATCHING)"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__readcond.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_valid_name
  - dds_topic_status_validate
  - topic_guid_map_refc_impl
  - topic_guid_map_ref
  - topic_guid_map_unref
  - dds_topic_status_cb
  - dds_topic_pin_with_origin
  - dds_topic_pin
  - dds_topic_unpin
  - dds_topic_defer_set_qos
  - dds_topic_allow_set_qos
  - ktopic_unref
  - dds_topic_close
  - dds_topic_qos_set
  - dupdef_qos_ok
  - lookup_and_check_ktopic
  - create_topic_pp_locked
  - register_topic_type_for_discovery
  - ktopic_type_guid_equal
  - ktopic_type_guid_hash
  - register_topic_type_for_discovery
  - create_psmx_topics
  - dds_create_topic_impl
  - dds_create_topic_sertype
  - dds_create_topic
  - pin_if_matching_topic
  - find_local_topic_pp
  - find_local_topic_impl
  - find_remote_topic_impl
  - dds_find_topic_impl
  - dds_find_topic
  - dds_find_topic_scoped
  - dds_set_topic_filter_extended
  - dds_set_topic_filter_and_arg
  - dds_get_topic_filter_extended
  - dds_get_topic_filter_and_arg
  - dds_get_name
  - dds_get_type_name
  - dds_create_topic_descriptor
  - dds_delete_topic_descriptor
  - dds_create_topic_descriptor
  - dds_delete_topic_descriptor
  - dds_cdrstream_desc_from_topic_desc
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_TOPIC_STATUS_MASK
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
      type_or_value: (DDS_INCONSISTENT_TOPIC_STATUS)
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: refc
        type: uint32_t
      - name: '*st'
        type: struct ddsi_sertype
      item_type: struct
      name: topic_sertype_node
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_topic.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__init.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cmp_ktopic_name
  - dds_participant_status_validate
  - dds_participant_delete
  - dds_participant_qos_set
  - create_participant_flags_guid
  - dds_create_participant_guid
  - dds_create_participant
  - dds_lookup_participant
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_PARTICIPANT_STATUS_MASK
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_participant.c
      type_or_value: (0u)
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDS_GET_STATUS_LOCKED
  - DDS_GET_STATUS_COMMON
  - DDS_GET_STATUS
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__get_status.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_writer_status_validate
  - update_offered_deadline_missed
  - update_offered_incompatible_qos
  - update_liveliness_lost
  - update_publication_matched
  - dds_writer_status_cb
  - dds_writer_invoke_cbs_for_pending_events
  - dds_writer_interrupt
  - dds_writer_close
  - dds_return_t::dds_writer_delete
  - validate_writer_qos
  - dds_writer_qos_set
  - dds_writer_create_statistics
  - dds_writer_refresh_statistics
  - dds_create_writer_int
  - dds_create_writer
  - dds_create_writer_guid
  - dds_get_publisher
  - dds__ddsi_writer_wait_for_acks
  - dds_writer_request_psmx_loan
  - dds_request_writer_loan
  - dds_return_writer_loan
  - dds_writer_psmx_loan_raw
  - dds_writer_psmx_loan_from_serdata
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_WRITER_STATUS_MASK
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
      type_or_value: "(DDS_LIVELINESS_LOST_STATUS              |\\\n                         DDS_OFFERED_DEADLINE_MISSED_STATUS
        \     |\\\n                         DDS_OFFERED_INCOMPATIBLE_QOS_STATUS     |\\\n
        \                        DDS_PUBLICATION_MATCHED_STATUS)"
    structs:
    - fields:
      - name: identifier
        type: uint16_t
      item_type: struct
      name: header
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_writer.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__builtin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_sertype_builtintopic_impl
  - dds_new_sertype_builtintopic
  - sertype_builtin_free
  - sertype_builtin_equal
  - sertype_builtin_hash
  - free_pp
  - dds_new_sertype_builtintopic_topic
  - free_topic
  - free_endpoint
  - get_size
  - sertype_builtin_zero_samples
  - sertype_builtin_realloc_samples
  - sertype_builtin_free_samples
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_builtintopic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_check_interface_version
  - dds_add_psmx_topic_to_list
  - dds_remove_psmx_topic_from_list
  - dds_add_psmx_endpoint_to_list
  - dds_remove_psmx_endpoint_from_list
  - dds_psmx_init_generic
  - dds_psmx_cleanup_generic
  - dds_psmx_topic_init
  - dds_psmx_topic_init_generic
  - dds_psmx_topic_cleanup_generic
  - dds_psmx_endpoint_request_loan_v0_bincompat_wrapper
  - dds_psmx_endpoint_request_loan_v0_wrapper
  - dds_psmx_endpoint_request_loan_v1_wrapper
  - get_psmx_instance_id
  - check_config_type_name
  - dds_pubsub_message_exchange_configstr
  - value_size
  - extract_value
  - get_config_option_value_1
  - dds_psmx_get_config_option_value
  - node_id_from_string
  - psmx_instance_init
  - psmx_create_topic_v0_bincompat_wrapper
  - psmx_create_topic_v0_wrapper
  - psmx_create_topic_v1_wrapper
  - psmx_delete_topic_wrapper
  - psmx_delete_psmx_v0_bincompat_wrapper
  - psmx_delete_psmx_v0_wrapper
  - psmx_delete_psmx_v1_wrapper
  - new_psmx_int
  - psmx_instance_load
  - qsort_cmp_psmx_prio_descending
  - dds_pubsub_message_exchange_init
  - dds_pubsub_message_exchange_fini
  - dds_psmx_endpoint_write_wrapper
  - dds_psmx_endpoint_write_with_key_wrapper
  - new_psmx_endpoint_int
  - psmx_create_endpoint_v0_bincompat_wrapper
  - psmx_create_endpoint_v0_wrapper
  - psmx_create_endpoint_v1_wrapper
  - psmx_delete_endpoint
  - dds_endpoint_add_psmx_endpoint
  - dds_endpoint_remove_psmx_endpoints
  - dds_get_psmx_locators_set
  - dds_psmx_locators_set_free
  - dds_psmx_supported_features
  - endpoint_is_shm
  - dds_is_shared_memory_available
  - endpoint_is_loan_available
  - dds_is_loan_available
  - dds_request_loan_of_size
  - dds_psmx_set_loan_writeinfo
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_psmx.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__rhc_default.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__subscriber.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__reader.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_begin_coherent
  - dds_end_coherent
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_coherent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - common_cleanup
  - cyclonedds_entity_ready
  - dds_init
  - dds_close
  - dds_fini
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CDDS_STATE_ZERO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
      type_or_value: 0u
    - item_type: preproc_def
      name: CDDS_STATE_STARTING
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
      type_or_value: 1u
    - item_type: preproc_def
      name: CDDS_STATE_READY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
      type_or_value: 2u
    - item_type: preproc_def
      name: CDDS_STATE_STOPPING
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_init.c
      type_or_value: 3u
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__participant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__statistics.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: kind
        type: enum dds_stat_kind
      item_type: struct
      name: dds_stat_keyvalue_descriptor
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__statistics.h
    - fields:
      - name: count
        type: size_t
      - name: '*kv'
        type: struct dds_stat_keyvalue_descriptor
      item_type: struct
      name: dds_stat_descriptor
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__statistics.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__publisher.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE
  - TRACE
  - lwreg_hash
  - lwreg_equals
  - lwregs_init
  - lwregs_fini
  - lwregs_contains
  - lwregs_add
  - lwregs_delete
  - lwregs_dump
  - qmask_of_sample
  - qmask_of_invsample
  - inst_nsamples
  - inst_nread
  - inst_is_empty
  - inst_has_read
  - inst_has_unread
  - untyped_to_clean_invsample
  - instance_iid_hash
  - instance_iid_eq
  - add_inst_to_nonempty_list
  - remove_inst_from_nonempty_list
  - oldest_nonempty_instance
  - latest_nonempty_instance
  - next_nonempty_instance
  - drop_expired_samples
  - dds_rhc_default_sample_expired_cb
  - dds_rhc_default_deadline_missed_cb
  - dds_rhc_default_new_xchecks
  - dds_rhc_default_new
  - dds_rhc_default_associate
  - dds_rhc_default_set_qos
  - eval_predicate_sample
  - eval_predicate_invsample
  - alloc_sample
  - free_sample
  - inst_clear_invsample
  - inst_clear_invsample_if_exists
  - inst_set_invsample
  - free_empty_instance
  - free_instance_rhc_free
  - free_instance_rhc_free_wrap
  - dds_rhc_default_free
  - init_trigger_info_cmn_nonmatch
  - get_trigger_info_cmn
  - get_trigger_info_pre
  - init_trigger_info_qcond
  - trigger_info_differs
  - add_sample
  - content_filter_make_sampleinfo
  - content_filter_accepts
  - inst_accepts_sample_by_writer_guid
  - inst_accepts_sample
  - update_inst_common
  - update_inst_have_wr_iid
  - update_inst_no_wr_iid
  - drop_instance_noupdate_no_writers
  - dds_rhc_register
  - account_for_empty_to_nonempty_transition
  - account_for_nonempty_to_empty_transition
  - rhc_unregister_delete_registration
  - rhc_unregister_updateinst
  - dds_rhc_unregister
  - alloc_new_instance
  - rhc_store_new_instance
  - postprocess_instance_update
  - update_viewstate_and_disposedness
  - dds_rhc_default_store
  - dds_rhc_default_unregister_wr
  - dds_rhc_default_relinquish_ownership
  - qmask_of_inst
  - qmask_from_dcpsquery
  - qmask_from_mask_n_cond
  - get_absolute_generation_rank
  - make_sample_info
  - make_sample_info_invsample
  - read_sample_update_conditions
  - take_sample_update_conditions
  - readtake_w_qminv_inst_get_rank_info_shortcut
  - readtake_w_qminv_inst_get_rank_info
  - read_w_qminv_inst_validsamples
  - take_w_qminv_inst_validsamples
  - read_w_qminv_inst
  - take_w_qminv_inst
  - read_w_qminv
  - take_w_qminv
  - rhc_get_cond_trigger
  - cond_is_sample_state_dependent
  - dds_rhc_default_add_readcondition
  - dds_rhc_default_remove_readcondition
  - update_conditions_locked
  - make_readtake_w_qminv_inst_state
  - dds_rhc_default_peek
  - dds_rhc_default_read
  - dds_rhc_default_take
  - rhc_check_counts_locked
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
  types:
    enum:
    - enumerators:
      - name: RHC_STORED
      - name: RHC_REJECTED
      - name: RHC_FILTERED
      item_type: enum
      name: rhc_store_result
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    preproc_defs:
    - item_type: preproc_def
      name: USE_VALGRIND
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VALGRIND
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_ATTACHED_QUERYCONDS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
      type_or_value: (CHAR_BIT * sizeof (dds_querycond_mask_t))
    - item_type: preproc_def
      name: INCLUDE_TRACE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CHECK_MAX_CONDS
      pos:
        line_end: 2834
        line_start: 2833
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
      type_or_value: '64'
    structs:
    - fields:
      - name: iid
        type: uint64_t
      - name: wr_iid
        type: uint64_t
      item_type: struct
      name: lwreg
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: '* regs'
        type: struct ddsrt_ehh
      item_type: struct
      name: lwregs
      pos:
        line_end: 180
        line_start: 177
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: '*sample'
        type: struct ddsi_serdata
      - name: '*next'
        type: struct rhc_sample
      - name: wr_iid
        type: uint64_t
      - name: conds
        type: dds_querycond_mask_t
      - name: isread
        type: bool
      - name: disposed_gen
        type: uint32_t
      - name: no_writers_gen
        type: uint32_t
      item_type: struct
      name: rhc_sample
      pos:
        line_end: 251
        line_start: 239
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: iid
        type: uint64_t
      - name: wr_iid
        type: uint64_t
      - name: '*latest'
        type: struct rhc_sample
      - name: nvsamples
        type: uint32_t
      - name: nvread
        type: uint32_t
      - name: conds
        type: dds_querycond_mask_t
      - name: wrcount
        type: uint32_t
      - name: isnew
        type: unsigned
      - name: a_sample_free
        type: unsigned
      - name: isdisposed
        type: unsigned
      - name: autodispose
        type: unsigned
      - name: wr_iid_islive
        type: unsigned
      - name: inv_exists
        type: unsigned
      - name: inv_isread
        type: unsigned
      - name: deadline_reg
        type: unsigned
      - name: disposed_gen
        type: uint32_t
      - name: no_writers_gen
        type: uint32_t
      - name: strength
        type: int32_t
      - name: wr_guid
        type: ddsi_guid_t
      - name: tstamp
        type: ddsrt_wctime_t
      - name: nonempty_list
        type: struct ddsrt_circlist_elem
      - name: '*tk'
        type: struct ddsi_tkmap_instance
      - name: a_sample
        type: struct rhc_sample
      item_type: struct
      name: rhc_instance
      pos:
        line_end: 280
        line_start: 253
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: common
        type: struct dds_rhc
      - name: '*instances'
        type: struct ddsrt_hh
      - name: nonempty_instances
        type: struct ddsrt_circlist
      - name: registrations
        type: struct lwregs
      - name: max_instances
        type: int32_t
      - name: max_samples
        type: int32_t
      - name: max_samples_per_instance
        type: int32_t
      - name: minimum_separation
        type: dds_duration_t
      - name: n_instances
        type: uint32_t
      - name: n_nonempty_instances
        type: uint32_t
      - name: n_not_alive_disposed
        type: uint32_t
      - name: n_not_alive_no_writers
        type: uint32_t
      - name: n_new
        type: uint32_t
      - name: n_vsamples
        type: uint32_t
      - name: n_vread
        type: uint32_t
      - name: n_invsamples
        type: uint32_t
      - name: n_invread
        type: uint32_t
      - name: by_source_ordering
        type: bool
      - name: exclusive_ownership
        type: bool
      - name: reliable
        type: bool
      - name: xchecks
        type: bool
      - name: '*reader'
        type: dds_reader
      - name: '*tkmap'
        type: struct ddsi_tkmap
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*type'
        type: struct ddsi_sertype
      - name: history_depth
        type: uint32_t
      - name: lock
        type: ddsrt_mutex_t
      - name: '* conds'
        type: dds_readcond
      - name: nconds
        type: uint32_t
      - name: nqconds
        type: uint32_t
      - name: qconds_samplest
        type: dds_querycond_mask_t
      - name: '*qcond_eval_samplebuf'
        type: void
      item_type: struct
      name: dds_rhc_default
      pos:
        line_end: 334
        line_start: 288
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: qminst
        type: uint32_t
      - name: has_read
        type: bool
      - name: has_not_read
        type: bool
      item_type: struct
      name: trigger_info_cmn
      pos:
        line_end: 340
        line_start: 336
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: c
        type: struct trigger_info_cmn
      item_type: struct
      name: trigger_info_pre
      pos:
        line_end: 344
        line_start: 342
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: dec_invsample_read
        type: bool
      - name: dec_sample_read
        type: bool
      - name: inc_invsample_read
        type: bool
      - name: inc_sample_read
        type: bool
      - name: dec_conds_invsample
        type: dds_querycond_mask_t
      - name: dec_conds_sample
        type: dds_querycond_mask_t
      - name: inc_conds_invsample
        type: dds_querycond_mask_t
      - name: inc_conds_sample
        type: dds_querycond_mask_t
      item_type: struct
      name: trigger_info_qcond
      pos:
        line_end: 357
        line_start: 346
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: c
        type: struct trigger_info_cmn
      item_type: struct
      name: trigger_info_post
      pos:
        line_end: 361
        line_start: 359
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    - fields:
      - name: '*rhc'
        type: struct dds_rhc_default
      - name: '*limit'
        type: int32_t
      - name: qminv
        type: uint32_t
      - name: qcmask
        type: dds_querycond_mask_t
      - name: collect_sample
        type: dds_read_with_collector_fn_t
      - name: '*collect_sample_arg'
        type: void
      item_type: struct
      name: readtake_w_qminv_inst_state
      pos:
        line_end: 2007
        line_start: 2000
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_rhc_default.c
    typedefs: []
    union: []
- function_names:
  - dds_writedispose
  - dds_dispose
  - dds_dispose_ih
  - dds_instance_find
  - dds_instance_remove
  - dds_register_instance
  - dds_unregister_instance
  - dds_unregister_instance_ih
  - dds_unregister_instance_ts
  - dds_unregister_instance_ih_ts
  - dds_writedispose_ts
  - dds_dispose_impl
  - dds_dispose_ts
  - dds_dispose_ih_ts
  - dds_lookup_instance
  - dds_instance_get_key
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_instance.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_publisher_qos_set
  - dds_publisher_status_validate
  - dds__create_publisher_l
  - dds_create_publisher
  - dds_suspend
  - dds_resume
  - dds_wait_for_acks
  - dds_publisher_begin_coherent
  - dds_publisher_end_coherent
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_PUBLISHER_STATUS_MASK
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_publisher.c
      type_or_value: (0u)
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE
  - whc_seq_entry_hash
  - whc_seq_entry_eq
  - whc_node_hash
  - whc_node_eq
  - whc_idxnode_hash_key
  - whc_idxnode_eq_key
  - compare_seq
  - whc_findmax_procedurally
  - check_whc
  - insert_whcn_in_hash
  - remove_whcn_from_hash
  - whc_findseq
  - whc_findkey
  - whc_sample_expired_cb
  - whc_deadline_missed_cb
  - dds_whc_make_wrinfo
  - dds_whc_free_wrinfo
  - dds_whc_new
  - free_whc_node_contents
  - whc_default_free
  - get_state_locked
  - whc_default_get_state
  - find_nextseq_intv
  - whc_default_next_seq
  - delete_one_sample_from_idx
  - free_one_instance_from_idx
  - delete_one_instance_from_idx
  - whcn_in_tlidx
  - whcn_size
  - whc_delete_one_intv
  - whc_delete_one
  - free_deferred_free_list
  - whc_default_free_deferred_free_list
  - whc_default_remove_acked_messages_noidx
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_EHH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_FREELIST_SIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: common
        type: struct ddsi_whc_node
      - name: '*next_seq'
        type: struct dds_whc_default_node
      - name: '*prev_seq'
        type: struct dds_whc_default_node
      - name: '*idxnode'
        type: struct whc_idxnode
      - name: idxnode_pos
        type: uint32_t
      - name: total_bytes
        type: uint64_t
      - name: size
        type: size_t
      - name: unacked
        type: unsigned
      - name: borrowed
        type: unsigned
      - name: last_rexmit_ts
        type: ddsrt_mtime_t
      - name: rexmit_count
        type: uint32_t
      - name: '*serdata'
        type: struct ddsi_serdata
      item_type: struct
      name: dds_whc_default_node
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: min
        type: ddsi_seqno_t
      - name: maxp1
        type: ddsi_seqno_t
      - name: '*first'
        type: struct dds_whc_default_node
      - name: '*last'
        type: struct dds_whc_default_node
      item_type: struct
      name: whc_intvnode
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: iid
        type: uint64_t
      - name: prune_seq
        type: ddsi_seqno_t
      - name: '*tk'
        type: struct ddsi_tkmap_instance
      - name: headidx
        type: uint32_t
      - name: '*hist[]'
        type: struct dds_whc_default_node
      item_type: struct
      name: whc_idxnode
      pos:
        line_end: 76
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: seq
        type: ddsi_seqno_t
      - name: '*whcn'
        type: struct dds_whc_default_node
      item_type: struct
      name: whc_seq_entry
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: '* writer'
        type: dds_writer
      - name: is_transient_local
        type: unsigned
      - name: has_deadline
        type: unsigned
      - name: hdepth
        type: uint32_t
      - name: tldepth
        type: uint32_t
      - name: idxdepth
        type: uint32_t
      item_type: struct
      name: whc_writer_info
      pos:
        line_end: 92
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: common
        type: struct ddsi_whc
      - name: lock
        type: ddsrt_mutex_t
      - name: seq_size
        type: uint32_t
      - name: unacked_bytes
        type: size_t
      - name: sample_overhead
        type: size_t
      - name: fragment_size
        type: uint32_t
      - name: total_bytes
        type: uint64_t
      - name: xchecks
        type: unsigned
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*tkmap'
        type: struct ddsi_tkmap
      - name: wrinfo
        type: struct whc_writer_info
      - name: max_drop_seq
        type: ddsi_seqno_t
      - name: '*open_intv'
        type: struct whc_intvnode
      - name: '*maxseq_node'
        type: struct dds_whc_default_node
      - name: n_instances
        type: uint32_t
      - name: '*idx_hash'
        type: struct ddsrt_hh
      - name: seq
        type: ddsrt_avl_tree_t
      item_type: struct
      name: whc_impl
      pos:
        line_end: 123
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    - fields:
      - name: c
        type: struct ddsi_whc_sample_iter_base
      - name: first
        type: bool
      item_type: struct
      name: ddsi_whc_sample_iter_impl
      pos:
        line_end: 128
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc.c
    typedefs: []
    union: []
- function_names:
  - bwhc_free
  - bwhc_sample_iter_init
  - is_visible
  - bwhc_sample_iter_borrow_next_proxy_topic
  - init_proxy_topic_iteration
  - make_sample
  - bwhc_sample_iter_borrow_next
  - bwhc_get_state
  - bwhc_insert
  - bwhc_remove_acked_messages
  - bwhc_free_deferred_free_list
  - dds_builtintopic_whc_new
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
  types:
    enum:
    - enumerators:
      - name: BIS_INIT_LOCAL
      - name: BIS_PROXY
      - name: BIS_INIT_PROXY
      - name: BIS_LOCAL
      item_type: enum
      name: bwhc_iter_state
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: struct ddsi_whc
      - name: entity_kind
        type: enum ddsi_sertype_builtintopic_entity_kind
      - name: '*entidx'
        type: struct ddsi_entity_index
      item_type: struct
      name: bwhc
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    - fields:
      - name: c
        type: struct ddsi_whc_sample_iter_base
      - name: st
        type: enum bwhc_iter_state
      - name: have_sample
        type: bool
      - name: it
        type: struct ddsi_entity_enum
      item_type: struct
      name: bwhc_iter
      pos:
        line_end: 48
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_whc_builtintopic.c
    typedefs: []
    union: []
- function_names:
  - dds_source_timestamp_is_valid_ddsi_time
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__write.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_WR_KEY_BIT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__write.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DDS_WR_DISPOSE_BIT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__write.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DDS_WR_UNREGISTER_BIT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__write.h
      type_or_value: '0x04'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_create_guardcondition
  - dds_set_guardcondition
  - dds_read_guardcondition
  - dds_take_guardcondition
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_guardcond.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__listener.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_domain_compare
  - dds_domain_init
  - dds_domain_find_locked
  - dds_domain_create_internal_xml_or_raw
  - dds_domain_create_internal
  - dds_create_domain
  - dds_create_domain_with_rawconfig
  - dds_domain_free
  - dds_domain_set_deafmute
  - pushdown_set_batch
  - dds_write_set_batch
  - dds_get_typeobj
  - dds_free_typeobj
  - dds_get_typeobj
  - dds_free_typeobj
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kind
        type: enum { CFGKIND_XML, CFGKIND_RAW }
      - name: u
        type: "union {\n    const char *xml;\n    const struct ddsi_config *raw;\n
          \ }"
      item_type: struct
      name: config_source
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_domain.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__heap_loan.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__whc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEFINE_ENTITY_LOCK_UNLOCK
  - _unlock
  - DECL_ENTITY_LOCK_UNLOCK
  - dds_entity_from_handle_link
  - dds_entity_is_enabled
  - dds_entity_status_reset
  - dds_entity_status_reset_ov
  - dds_entity_kind
  - DDS_RESET_STATUS_FIELDS_1
  - DDS_RESET_STATUS_FIELDS_2
  - DDS_RESET_STATUS_FIELDS_MSVC_WORKAROUND
  - DDS_RESET_STATUS_FIELDS_N1
  - DDS_RESET_STATUS_FIELDS_N
  - STATUS_CB_IMPL_INVOKE
  - STATUS_CB_IMPL
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
  types:
    enum:
    - enumerators:
      - name: DIS_USER
      - name: DIS_EXPLICIT
      - name: DIS_FROM_PARENT
      - name: DIS_IMPLICIT
      item_type: enum
      name: delete_impl_state
      pos:
        line_end: 188
        line_start: 183
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: inconsistent_topic
        type: dds_inconsistent_topic_status_t
      - name: liveliness_changed
        type: dds_liveliness_changed_status_t
      - name: liveliness_lost
        type: dds_liveliness_lost_status_t
      - name: offered_deadline_missed
        type: dds_offered_deadline_missed_status_t
      - name: offered_incompatible_qos
        type: dds_offered_incompatible_qos_status_t
      - name: publication_matched
        type: dds_publication_matched_status_t
      - name: requested_deadline_missed
        type: dds_requested_deadline_missed_status_t
      - name: requested_incompatible_qos
        type: dds_requested_incompatible_qos_status_t
      - name: sample_lost
        type: dds_sample_lost_status_t
      - name: sample_rejected
        type: dds_sample_rejected_status_t
      - name: subscription_matched
        type: dds_subscription_matched_status_t
      item_type: union
      name: dds_status_union
      pos:
        line_end: 114
        line_start: 102
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__entity.h
- function_names:
  - dds_qos_data_copy_in
  - dds_qos_data_copy_out
  - dds_create_qos
  - dds_reset_qos
  - dds_delete_qos
  - dds_copy_qos
  - dds_merge_qos
  - dds_qos_equal
  - dds_qset_userdata
  - dds_qset_topicdata
  - dds_qset_groupdata
  - dds_qset_durability
  - dds_qset_history
  - dds_qset_resource_limits
  - dds_qset_presentation
  - dds_qset_lifespan
  - dds_qset_deadline
  - dds_qset_latency_budget
  - dds_qset_ownership
  - dds_qset_ownership_strength
  - dds_qset_liveliness
  - dds_qset_time_based_filter
  - dds_qset_partition
  - dds_qset_partition1
  - dds_qset_reliability
  - dds_qset_transport_priority
  - dds_qset_destination_order
  - dds_qset_writer_data_lifecycle
  - dds_qset_reader_data_lifecycle
  - dds_qset_writer_batching
  - dds_qset_durability_service
  - dds_qset_ignorelocal
  - dds_qprop_init
  - DDS_QPROP_GET_INDEX
  - DDS_QUNSET_PROP
  - dds_qset_prop
  - dds_qset_bprop
  - dds_qset_entity_name
  - dds_qset_type_consistency
  - dds_qset_data_representation
  - dds_qset_psmx_instances
  - dds_qget_userdata
  - dds_qget_topicdata
  - dds_qget_groupdata
  - dds_qget_durability
  - dds_qget_history
  - dds_qget_resource_limits
  - dds_qget_presentation
  - dds_qget_lifespan
  - dds_qget_deadline
  - dds_qget_latency_budget
  - dds_qget_ownership
  - dds_qget_ownership_strength
  - dds_qget_liveliness
  - dds_qget_time_based_filter
  - dds_qget_partition
  - dds_qget_reliability
  - dds_qget_transport_priority
  - dds_qget_destination_order
  - dds_qget_writer_data_lifecycle
  - dds_qget_reader_data_lifecycle
  - dds_qget_writer_batching
  - dds_qget_durability_service
  - dds_qget_ignorelocal
  - DDS_QGET_PROPNAMES
  - dds_qget_prop
  - dds_qget_bprop
  - dds_qget_type_consistency
  - dds_qget_data_representation
  - dds_ensure_valid_data_representation
  - dds_qget_psmx_instances
  - dds_ensure_valid_psmx_instances
  - dds_qos_has_psmx_instances
  - dds_qget_entity_name
  - dds_apply_entity_naming
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_validation.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__read.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: next_idx
        type: uint32_t
      - name: '**ptrs'
        type: void
      - name: '*infos'
        type: dds_sample_info_t
      - name: '*loan_pool'
        type: struct dds_loan_pool
      - name: '*heap_loan_cache'
        type: struct dds_loan_pool
      item_type: struct
      name: dds_read_collect_sample_arg
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__read.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type_qos_supported
        type: dds_psmx_type_qos_supported_fn
      - name: create_topic
        type: dds_psmx_create_topic_fn
      - name: delete_topic
        type: dds_psmx_delete_topic_fn
      - name: deinit
        type: dds_psmx_deinit_fn
      - name: get_node_id
        type: dds_psmx_get_node_identifier_fn
      - name: supported_features
        type: dds_psmx_supported_features_fn
      item_type: struct
      name: dds_psmx_ops_v0
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: request_loan
        type: dds_psmx_endpoint_request_loan_fn
      - name: write
        type: dds_psmx_endpoint_write_fn
      - name: take
        type: dds_psmx_endpoint_take_fn
      - name: on_data_available
        type: dds_psmx_endpoint_on_data_available_fn
      item_type: struct
      name: dds_psmx_endpoint_ops_v0
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: ops
        type: dds_psmx_ops_v0_t
      - name: '*instance_name'
        type: char
      - name: priority
        type: int32_t
      - name: '*locator'
        type: struct ddsi_locator
      - name: instance_id
        type: dds_psmx_instance_id_t
      - name: '*psmx_topics'
        type: void
      item_type: struct
      name: dds_psmx_v0
      pos:
        line_end: 67
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: ops
        type: dds_psmx_endpoint_ops_v0_t
      - name: '*psmx_topic'
        type: struct dds_psmx_topic
      - name: endpoint_type
        type: dds_psmx_endpoint_type_t
      item_type: struct
      name: dds_psmx_endpoint_v0
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: type_qos_supported
        type: dds_psmx_type_qos_supported_fn
      - name: delete_topic
        type: dds_psmx_delete_topic_int_fn
      - name: get_node_id
        type: dds_psmx_get_node_identifier_fn
      - name: supported_features
        type: dds_psmx_supported_features_fn
      - name: create_topic_with_type
        type: dds_psmx_create_topic_with_type_int_fn
      - name: delete_psmx
        type: dds_psmx_delete_int_fn
      item_type: struct
      name: dds_psmx_int_ops
      pos:
        line_end: 148
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: ops
        type: dds_psmx_int_ops_t
      - name: '*ext'
        type: struct dds_psmx
      - name: '*instance_name'
        type: char
      - name: priority
        type: int32_t
      - name: locator
        type: struct ddsi_locator
      - name: instance_id
        type: dds_psmx_instance_id_t
      item_type: struct
      name: dds_psmx_int
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: create_endpoint
        type: dds_psmx_create_endpoint_int_fn
      - name: delete_endpoint
        type: dds_psmx_delete_endpoint_fn
      item_type: struct
      name: dds_psmx_topic_int_ops
      pos:
        line_end: 185
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: ops
        type: dds_psmx_topic_int_ops_t
      - name: '*ext'
        type: struct dds_psmx_topic
      - name: '*psmx_instance'
        type: struct dds_psmx_int
      - name: data_type_props
        type: dds_data_type_properties_t
      item_type: struct
      name: dds_psmx_topic_int
      pos:
        line_end: 196
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: request_loan
        type: dds_psmx_endpoint_request_loan_int_fn
      - name: take
        type: dds_psmx_endpoint_take_fn
      - name: on_data_available
        type: dds_psmx_endpoint_on_data_available_fn
      - name: write_with_key
        type: dds_psmx_endpoint_write_with_key_int_fn
      item_type: struct
      name: dds_psmx_endpoint_int_ops
      pos:
        line_end: 273
        line_start: 268
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    - fields:
      - name: ops
        type: dds_psmx_endpoint_int_ops_t
      - name: '*ext'
        type: struct dds_psmx_endpoint
      - name: '*psmx_topic'
        type: struct dds_psmx_topic_int
      - name: endpoint_type
        type: dds_psmx_endpoint_type_t
      - name: wants_key
        type: bool
      item_type: struct
      name: dds_psmx_endpoint_int
      pos:
        line_end: 285
        line_start: 279
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
    typedefs:
    - item_type: typedef
      name: (*dds_psmx_delete_int_fn) (struct dds_psmx_int *psmx)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: void
    - item_type: typedef
      name: "* (*dds_psmx_create_topic_with_type_int_fn) (\n    struct dds_psmx_int
        *psmx,\n    struct dds_ktopic *ktp,\n    struct ddsi_sertype *sertype,\n    struct
        ddsi_type *type)"
      pos:
        line_end: 118
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: dds_psmx_topic_int
    - item_type: typedef
      name: (*dds_psmx_delete_topic_int_fn) (struct dds_psmx_topic_int *psmx_topic)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: void
    - item_type: typedef
      name: '* (*dds_psmx_create_endpoint_int_fn) (const struct dds_psmx_topic_int
        *psmx_topic, const struct dds_qos *qos, dds_psmx_endpoint_type_t endpoint_type)'
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: dds_psmx_endpoint_int
    - item_type: typedef
      name: '* (*dds_psmx_endpoint_request_loan_int_fn) (const struct dds_psmx_endpoint_int
        *psmx_endpoint, uint32_t size_requested)'
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: dds_loaned_sample_t
    - item_type: typedef
      name: (*dds_psmx_endpoint_write_with_key_int_fn) (const struct dds_psmx_endpoint_int
        *psmx_endpoint, dds_loaned_sample_t *data, size_t keysz, const void *key)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: dds_return_t
    - item_type: typedef
      name: "(*dds_psmx_create_fn) (\n  struct dds_psmx **psmx_instance,\n  dds_psmx_instance_id_t
        identifier,\n  const char *config)"
      pos:
        line_end: 303
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__psmx.h
      type: dds_return_t
    union: []
- function_names:
  - heap_loan_free
  - dds_heap_loan_reset
  - dds_heap_loan
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: c
        type: dds_loaned_sample_t
      - name: metadata
        type: struct dds_psmx_metadata
      - name: '*m_stype'
        type: struct ddsi_sertype
      item_type: struct
      name: dds_heap_loan
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_heap_loan.c
    typedefs: []
    union: []
- function_names:
  - sertype_default_equal
  - sertype_default_typeid
  - sertype_default_typemap
  - sertype_default_typeinfo
  - sertype_default_hash
  - sertype_default_free
  - sertype_default_zero_samples
  - sertype_default_realloc_samples
  - type_may_contain_ptr
  - sertype_default_free_samples
  - sertype_default_derive_sertype
  - sertype_default_get_serialized_size
  - sertype_default_serialize_into
  - dds_sertype_default_init
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_sertype_default.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QOSPROV_ERROR
  - QOSPROV_WARN
  - QOSPROV_TRACE
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROVIDER_ITEM_SEP
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
      type_or_value: '"::"'
    - item_type: preproc_def
      name: PROVIDER_ITEM_SCOPE_NONE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
      type_or_value: '"*"'
    structs:
    - fields:
      - name: '*full_name'
        type: char
      - name: '*qos'
        type: dds_qos_t
      - name: kind
        type: enum dds_qos_kind
      item_type: struct
      name: dds_qos_item
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
    - fields:
      - name: '* file_path'
        type: char
      - name: '*keyed_qos'
        type: struct ddsrt_hh
      item_type: struct
      name: dds_qos_provider
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__qos_provider.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__topic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_create_listener
  - dds_delete_listener
  - dds_reset_listener
  - dds_copy_listener
  - dds_combine_listener_merge
  - dds_combine_listener_override_inherited
  - copy_bits
  - combine_reset_on_invoke
  - dds_combine_listener
  - C
  - dds_override_inherited_listener
  - dds_inherit_listener
  - dds_merge_listener
  - DDS_SET_LISTENER_ARG
  - DDS_SET_LISTENER
  - DDS_GET_LISTENER_ARG
  - DDS_GET_LISTENER
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_listener.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_entity_deriver_interrupt
  - dds_entity_deriver_close
  - dds_entity_deriver_delete
  - dds_entity_deriver_set_qos
  - dds_entity_deriver_validate_status
  - dds_entity_supports_set_qos
  - dds_entity_supports_validate_status
  - dds_entity_deriver_create_statistics
  - dds_entity_deriver_refresh_statistics
  - dds_entity_deriver_invoke_cbs_for_pending_events
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
  types:
    enum:
    - enumerators:
      - name: DDS_PSMX_INTERFACE_VERSION_0_BINCOMPAT
      - name: DDS_PSMX_INTERFACE_VERSION_1
      - name: DDS_PSMX_INTERFACE_VERSION_0
      item_type: enum
      name: dds_psmx_interface_version
      pos:
        line_end: 276
        line_start: 272
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    preproc_defs:
    - item_type: preproc_def
      name: SAM_STATUS_MASK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: 0xffffu
    - item_type: preproc_def
      name: SAM_ENABLED_MASK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: 0xffff0000u
    - item_type: preproc_def
      name: SAM_ENABLED_SHIFT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDS_HEADBANG_TIMEOUT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: (DDS_MSECS (10))
    - item_type: preproc_def
      name: DDS_ENTITY_ENABLED
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: '((uint32_t) 0x1) '
    - item_type: preproc_def
      name: DDS_ENTITY_IMPLICIT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: '((uint32_t) 0x2) '
    - item_type: preproc_def
      name: DDS_SUB_MATERIALIZE_DATA_ON_READERS_MASK
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: 0x7fffffffu
    - item_type: preproc_def
      name: DDS_SUB_MATERIALIZE_DATA_ON_READERS_FLAG
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type_or_value: 0x80000000u
    structs:
    - fields:
      - name: inherited
        type: uint32_t
      - name: reset_on_invoke
        type: uint32_t
      - name: on_inconsistent_topic
        type: dds_on_inconsistent_topic_fn
      - name: '*on_inconsistent_topic_arg'
        type: void
      - name: on_liveliness_lost
        type: dds_on_liveliness_lost_fn
      - name: '*on_liveliness_lost_arg'
        type: void
      - name: on_offered_deadline_missed
        type: dds_on_offered_deadline_missed_fn
      - name: '*on_offered_deadline_missed_arg'
        type: void
      - name: on_offered_incompatible_qos
        type: dds_on_offered_incompatible_qos_fn
      - name: '*on_offered_incompatible_qos_arg'
        type: void
      - name: on_data_on_readers
        type: dds_on_data_on_readers_fn
      - name: '*on_data_on_readers_arg'
        type: void
      - name: on_sample_lost
        type: dds_on_sample_lost_fn
      - name: '*on_sample_lost_arg'
        type: void
      - name: on_data_available
        type: dds_on_data_available_fn
      - name: '*on_data_available_arg'
        type: void
      - name: on_sample_rejected
        type: dds_on_sample_rejected_fn
      - name: '*on_sample_rejected_arg'
        type: void
      - name: on_liveliness_changed
        type: dds_on_liveliness_changed_fn
      - name: '*on_liveliness_changed_arg'
        type: void
      - name: on_requested_deadline_missed
        type: dds_on_requested_deadline_missed_fn
      - name: '*on_requested_deadline_missed_arg'
        type: void
      - name: on_requested_incompatible_qos
        type: dds_on_requested_incompatible_qos_fn
      - name: '*on_requested_incompatible_qos_arg'
        type: void
      - name: on_publication_matched
        type: dds_on_publication_matched_fn
      - name: '*on_publication_matched_arg'
        type: void
      - name: on_subscription_matched
        type: dds_on_subscription_matched_fn
      - name: '*on_subscription_matched_arg'
        type: void
      item_type: struct
      name: dds_listener
      pos:
        line_end: 96
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: (*interrupt) (struct dds_entity *e)
        type: void
      - name: (*close) (struct dds_entity *e)
        type: void
      - name: (*delete) (struct dds_entity *e)
        type: dds_return_t
      - name: (*set_qos) (struct dds_entity *e, const dds_qos_t *qos, bool enabled)
        type: dds_return_t
      - name: (*validate_status) (uint32_t mask)
        type: dds_return_t
      - name: '* (*create_statistics) (const struct dds_entity *e)'
        type: struct dds_statistics
      - name: (*refresh_statistics) (const struct dds_entity *e, struct dds_statistics
          *s)
        type: void
      - name: (*invoke_cbs_for_pending_events) (struct dds_entity *e, uint32_t status)
        type: void
      item_type: struct
      name: dds_entity_deriver
      pos:
        line_end: 121
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_cb
        type: dds_entity_callback_t
      - name: m_delete_cb
        type: dds_entity_delete_callback_t
      - name: '*m_observer'
        type: struct dds_waitset
      - name: '*m_next'
        type: struct dds_entity_observer
      item_type: struct
      name: dds_entity_observer
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_hdllink
        type: struct dds_handle_link
      - name: m_kind
        type: dds_entity_kind_t
      - name: '*m_next'
        type: struct dds_entity
      - name: '*m_parent'
        type: struct dds_entity
      - name: m_avlnode_child
        type: ddsrt_avl_node_t
      - name: m_children
        type: ddsrt_avl_tree_t
      - name: '*m_domain'
        type: struct dds_domain
      - name: '*m_qos'
        type: dds_qos_t
      - name: m_guid
        type: ddsi_guid_t
      - name: m_iid
        type: dds_instance_handle_t
      - name: m_flags
        type: uint32_t
      - name: m_mutex
        type: ddsrt_mutex_t
      - name: m_cond
        type: ddsrt_cond_t
      - name: m_status
        type: "union {\n    status_and_enabled_t m_status_and_mask; /* for most entities;
          readers use DATA_ON_READERS in mask in a weird way */\n    ddsrt_atomic_uint32_t
          m_trigger;        /* for conditions & waitsets */\n  }"
      - name: m_observers_lock
        type: ddsrt_mutex_t
      - name: m_observers_cond
        type: ddsrt_cond_t
      - name: m_listener
        type: dds_listener_t
      - name: m_cb_count
        type: uint32_t
      - name: m_cb_pending_count
        type: uint32_t
      - name: '*m_observers'
        type: dds_entity_observer
      item_type: struct
      name: dds_entity
      pos:
        line_end: 170
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: m_mutex
        type: ddsrt_mutex_t
      - name: m_cond
        type: ddsrt_cond_t
      - name: m_domains
        type: ddsrt_avl_tree_t
      - name: threadmon_count
        type: uint32_t
      - name: '*threadmon'
        type: struct ddsi_threadmon
      item_type: struct
      name: dds_cyclonedds_entity
      pos:
        line_end: 270
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: '*instance'
        type: struct dds_psmx_int
      - name: interface_version
        type: enum dds_psmx_interface_version
      - name: lib_handle
        type: ddsrt_dynlib_t
      item_type: struct
      name: dds_psmx_set_elem
      pos:
        line_end: 282
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: length
        type: uint32_t
      - name: elems[DDS_MAX_PSMX_INSTANCES]
        type: struct dds_psmx_set_elem
      item_type: struct
      name: dds_psmx_set
      pos:
        line_end: 287
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: m_node
        type: ddsrt_avl_node_t
      - name: m_id
        type: dds_domainid_t
      - name: '*cfgst'
        type: struct ddsi_cfgst
      - name: '*builtin_participant_type'
        type: struct ddsi_sertype
      - name: '*builtin_reader_type'
        type: struct ddsi_sertype
      - name: '*builtin_writer_type'
        type: struct ddsi_sertype
      - name: '*builtintopic_writer_participant'
        type: struct ddsi_local_orphan_writer
      - name: '*builtintopic_writer_publications'
        type: struct ddsi_local_orphan_writer
      - name: '*builtintopic_writer_subscriptions'
        type: struct ddsi_local_orphan_writer
      - name: btif
        type: struct ddsi_builtin_topic_interface
      - name: gv
        type: struct ddsi_domaingv
      - name: '*serpool'
        type: struct dds_serdatapool
      - name: psmx_instances
        type: struct dds_psmx_set
      item_type: struct
      name: dds_domain
      pos:
        line_end: 318
        line_start: 289
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: materialize_data_on_readers
        type: uint32_t
      item_type: struct
      name: dds_subscriber
      pos:
        line_end: 339
        line_start: 320
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      item_type: struct
      name: dds_publisher
      pos:
        line_end: 346
        line_start: 344
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: '*type_id'
        type: ddsi_typeid_t
      - name: refc
        type: uint32_t
      - name: guid
        type: ddsi_guid_t
      - name: '*tp'
        type: struct ddsi_topic
      item_type: struct
      name: ktopic_type_guid
      pos:
        line_end: 356
        line_start: 351
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*topics[DDS_MAX_PSMX_INSTANCES]'
        type: struct dds_psmx_topic_int
      item_type: struct
      name: dds_psmx_topics_set
      pos:
        line_end: 362
        line_start: 359
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: pp_ktopics_avlnode
        type: ddsrt_avl_node_t
      - name: refc
        type: uint32_t
      - name: defer_set_qos
        type: uint32_t
      - name: '*qos'
        type: dds_qos_t
      - name: '*name'
        type: char
      - name: psmx_topics
        type: struct dds_psmx_topics_set
      item_type: struct
      name: dds_ktopic
      pos:
        line_end: 381
        line_start: 364
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: m_builtin_subscriber
        type: dds_entity_t
      - name: m_ktopics
        type: ddsrt_avl_tree_t
      item_type: struct
      name: dds_participant
      pos:
        line_end: 387
        line_start: 383
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*endpoints[DDS_MAX_PSMX_INSTANCES]'
        type: struct dds_psmx_endpoint_int
      item_type: struct
      name: dds_psmx_endpoints_set
      pos:
        line_end: 392
        line_start: 389
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: psmx_endpoints
        type: struct dds_psmx_endpoints_set
      item_type: struct
      name: dds_endpoint
      pos:
        line_end: 396
        line_start: 394
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: m_endpoint
        type: struct dds_endpoint
      - name: '*m_topic'
        type: struct dds_topic
      - name: '*m_rhc'
        type: struct dds_rhc
      - name: '*m_rd'
        type: struct ddsi_reader
      - name: '*m_loans'
        type: struct dds_loan_pool
      - name: '*m_heap_loan_cache'
        type: struct dds_loan_pool
      - name: m_sample_rejected_status
        type: dds_sample_rejected_status_t
      - name: m_liveliness_changed_status
        type: dds_liveliness_changed_status_t
      - name: m_requested_deadline_missed_status
        type: dds_requested_deadline_missed_status_t
      - name: m_requested_incompatible_qos_status
        type: dds_requested_incompatible_qos_status_t
      - name: m_sample_lost_status
        type: dds_sample_lost_status_t
      - name: m_subscription_matched_status
        type: dds_subscription_matched_status_t
      item_type: struct
      name: dds_reader
      pos:
        line_end: 414
        line_start: 398
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: m_endpoint
        type: struct dds_endpoint
      - name: '*m_topic'
        type: struct dds_topic
      - name: '*m_xp'
        type: struct ddsi_xpack
      - name: '*m_wr'
        type: struct ddsi_writer
      - name: '*m_whc'
        type: struct ddsi_whc
      - name: whc_batch
        type: bool
      - name: '*m_loans'
        type: struct dds_loan_pool
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: m_liveliness_lost_status
        type: dds_liveliness_lost_status_t
      - name: m_offered_deadline_missed_status
        type: dds_offered_deadline_missed_status_t
      - name: m_offered_incompatible_qos_status
        type: dds_offered_incompatible_qos_status_t
      - name: m_publication_matched_status
        type: dds_publication_matched_status_t
      item_type: struct
      name: dds_writer
      pos:
        line_end: 433
        line_start: 416
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: struct dds_entity
      - name: '*m_name'
        type: char
      - name: '*m_stype'
        type: struct ddsi_sertype
      - name: '*m_ktopic'
        type: struct dds_ktopic
      - name: m_filter
        type: struct dds_topic_filter
      - name: m_inconsistent_topic_status
        type: dds_inconsistent_topic_status_t
      item_type: struct
      name: dds_topic
      pos:
        line_end: 442
        line_start: 435
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: dds_entity
      - name: m_qminv
        type: uint32_t
      - name: m_sample_states
        type: uint32_t
      - name: m_view_states
        type: uint32_t
      - name: m_instance_states
        type: uint32_t
      - name: '*m_next'
        type: struct dds_readcond
      - name: m_query
        type: "struct {\n    dds_querycondition_filter_fn m_filter;\n    dds_querycond_mask_t
          m_qcmask; /* condition mask in RHC*/\n  }"
      item_type: struct
      name: dds_readcond
      pos:
        line_end: 457
        line_start: 446
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: dds_entity
      item_type: struct
      name: dds_guardcond
      pos:
        line_end: 461
        line_start: 459
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: '*entity'
        type: dds_entity
      - name: handle
        type: dds_entity_t
      - name: arg
        type: dds_attach_t
      item_type: struct
      name: dds_attachment
      pos:
        line_end: 467
        line_start: 463
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    - fields:
      - name: m_entity
        type: dds_entity
      - name: wait_lock
        type: ddsrt_mutex_t
      - name: wait_cond
        type: ddsrt_cond_etime_t
      - name: nentities
        type: size_t
      - name: ntriggered
        type: size_t
      - name: '*entities'
        type: dds_attachment
      item_type: struct
      name: dds_waitset
      pos:
        line_end: 482
        line_start: 469
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
    typedefs:
    - item_type: typedef
      name: status_mask_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: uint16_t
    - item_type: typedef
      name: status_and_enabled_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: ddsrt_atomic_uint32_t
    - item_type: typedef
      name: (*dds_querycondition_filter_with_ctx_fn) (const void * sample, const void
        *ctx)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: bool
    - item_type: typedef
      name: (*dds_entity_callback_t) (struct dds_waitset *observer, dds_entity_t observed)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: void
    - item_type: typedef
      name: (*dds_entity_attach_callback_t) (struct dds_waitset *observer, struct
        dds_entity *observed, void *attach_arg)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: bool
    - item_type: typedef
      name: (*dds_entity_delete_callback_t) (struct dds_waitset *observer, dds_entity_t
        observed)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: void
    - item_type: typedef
      name: dds_querycond_mask_t
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__types.h
      type: uint32_t
    union: []
- function_names:
  - dds_readcond_close
  - dds_create_readcond_impl
  - dds_create_readcondition
  - dds_get_datareader
  - dds_get_mask
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_readcond.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_handle_is_closed
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HDL_FLAG_CLOSING
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x8000000000000000)
    - item_type: preproc_def
      name: HDL_FLAG_DELETE_DEFERRED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x4000000000000000)
    - item_type: preproc_def
      name: HDL_FLAG_PENDING
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x2000000000000000)
    - item_type: preproc_def
      name: HDL_FLAG_IMPLICIT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x1000000000000000)
    - item_type: preproc_def
      name: HDL_FLAG_ALLOW_CHILDREN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: 'UINT64_C(0x0800000000000000) '
    - item_type: preproc_def
      name: HDL_FLAG_NO_USER_ACCESS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x0400000000000000)
    - item_type: preproc_def
      name: HDL_REFCOUNT_MASK
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x0003ffffff000000)
    - item_type: preproc_def
      name: HDL_REFCOUNT_UNIT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x0000000001000000)
    - item_type: preproc_def
      name: HDL_REFCOUNT_SHIFT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: '24'
    - item_type: preproc_def
      name: HDL_PINCOUNT_MASK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: UINT64_C(0x0000000000ffffff)
    - item_type: preproc_def
      name: HDL_FLAG_CLOSING
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x80000000u)
    - item_type: preproc_def
      name: HDL_FLAG_DELETE_DEFERRED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x40000000u)
    - item_type: preproc_def
      name: HDL_FLAG_PENDING
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x20000000u)
    - item_type: preproc_def
      name: HDL_FLAG_IMPLICIT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x10000000u)
    - item_type: preproc_def
      name: HDL_FLAG_ALLOW_CHILDREN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: '(0x08000000u) '
    - item_type: preproc_def
      name: HDL_FLAG_NO_USER_ACCESS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x04000000u)
    - item_type: preproc_def
      name: HDL_REFCOUNT_MASK
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x03fffc00u)
    - item_type: preproc_def
      name: HDL_REFCOUNT_UNIT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x00000400u)
    - item_type: preproc_def
      name: HDL_REFCOUNT_SHIFT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: '10'
    - item_type: preproc_def
      name: HDL_PINCOUNT_MASK
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type_or_value: (0x000003ffu)
    structs:
    - fields:
      - name: hdl
        type: dds_handle_t
      - name: cnt_flags
        type: ddsrt_atomic_uintptr_t
      item_type: struct
      name: dds_handle_link
      pos:
        line_end: 99
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
    typedefs:
    - item_type: typedef
      name: dds_handle_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__handles.h
      type: int32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__guid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
  types:
    enum:
    - enumerators:
      - name: DSBT_PARTICIPANT
      - name: DSBT_TOPIC
      - name: DSBT_WRITER
      - name: DSBT_READER
      item_type: enum
      name: ddsi_sertype_builtintopic_entity_kind
      pos:
        line_end: 30
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    preproc_defs: []
    structs:
    - fields:
      - name: c
        type: struct ddsi_serdata
      - name: key
        type: union { unsigned char raw[16]; ddsi_guid_t guid; }
      - name: xqos
        type: dds_qos_t
      item_type: struct
      name: ddsi_serdata_builtintopic
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    - fields:
      - name: common
        type: struct ddsi_serdata_builtintopic
      - name: pphandle
        type: dds_instance_handle_t
      item_type: struct
      name: ddsi_serdata_builtintopic_participant
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    - fields:
      - name: common
        type: struct ddsi_serdata_builtintopic
      item_type: struct
      name: ddsi_serdata_builtintopic_topic
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    - fields:
      - name: common
        type: struct ddsi_serdata_builtintopic
      - name: pphandle
        type: dds_instance_handle_t
      item_type: struct
      name: ddsi_serdata_builtintopic_endpoint
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    - fields:
      - name: c
        type: struct ddsi_sertype
      - name: entity_kind
        type: enum ddsi_sertype_builtintopic_entity_kind
      item_type: struct
      name: ddsi_sertype_builtintopic
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_builtintopic.h
    typedefs: []
    union: []
- function_names:
  - get_entity_gv
  - xtkind_to_typekind
  - get_dtype_complete
  - get_dtype_complete_c
  - get_dtype_complete_addr
  - get_dtype_minimal
  - get_dtype_minimal_c
  - get_dtype_minimal_addr
  - dyntype_from_typespec
  - typespec_valid
  - union_disc_valid
  - typename_valid
  - membername_valid
  - dds_dynamic_type_create
  - check_type_param
  - dds_dynamic_type_add_enum_literal
  - dds_dynamic_type_add_bitmask_field
  - dds_dynamic_type_add_member
  - dds_dynamic_type_set_extensibility
  - dds_dynamic_type_set_nested
  - dds_dynamic_type_set_autoid
  - dds_dynamic_type_set_bit_bound
  - set_member_bool_prop
  - dds_dynamic_member_set_key
  - dds_dynamic_member_set_optional
  - dds_dynamic_member_set_external
  - dds_dynamic_member_set_hashid
  - dds_dynamic_member_set_must_understand
  - dds_dynamic_type_register
  - dds_dynamic_type_ref
  - dds_dynamic_type_unref
  - dds_dynamic_type_dup
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*set_struct_prop_fn) (struct ddsi_type *type, uint32_t member_id, bool
        is_key)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_dynamic_type.c
      type: dds_return_t
    union: []
- function_names:
  - read_sysdef
  - qos_item_hash_fn
  - qos_item_equals_fn
  - cleanup_qos_items
  - read_validate_sysdef
  - init_qos_provider
  - dds_create_qos_provider
  - dds_qos_provider_get_qos
  - fill_token
  - fill_tokens_str
  - empty_tokens_str
  - resolve_token
  - dds_create_qos_provider_scope
  - dds_delete_qos_provider
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROVIDER_ALLOWED_QOS_MASK
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_qos_provider.c
      type_or_value: "(DDS_TOPIC_QOS_MASK | DDS_READER_QOS_MASK | DDS_WRITER_QOS_MASK
        | \\\n   DDS_SUBSCRIBER_QOS_MASK | DDS_PUBLISHER_QOS_MASK | DDS_PARTICIPANT_QOS_MASK)
        ^ \\\n  (DDSI_QP_ENTITY_NAME | DDSI_QP_CYCLONE_IGNORELOCAL | DDSI_QP_PSMX)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_triggered
  - dds_waitset_wait_impl
  - dds_waitset_interrupt
  - dds_waitset_close
  - dds_waitset_delete
  - dds_create_waitset
  - dds_waitset_get_entities
  - dds_waitset_observer
  - dds_waitset_attach_observer
  - dds_waitset_delete_observer
  - dds_waitset_attach
  - dds_waitset_detach
  - dds_waitset_wait_until
  - dds_waitset_wait
  - dds_waitset_set_trigger
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: x
        type: dds_attach_t
      item_type: struct
      name: dds_waitset_attach_observer_arg
      pos:
        line_end: 242
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_waitset.c
    typedefs: []
    union: []
- function_names:
  - dds_subscriber_qos_set
  - dds_subscriber_status_validate
  - dds__create_subscriber_l
  - dds_create_subscriber
  - dds_notify_readers
  - dds_subscriber_begin_coherent
  - dds_subscriber_end_coherent
  - dds_subscriber_compute_data_on_readers_locked
  - dds_subscriber_adjust_materialize_data_on_readers
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SUBSCRIBER_STATUS_MASK
      pos:
        line_end: 25
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_subscriber.c
      type_or_value: (DDS_DATA_ON_READERS_STATUS)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_get_matched_subscriptions
  - dds_get_matched_publications
  - make_builtintopic_endpoint
  - dds_get_matched_subscription_data
  - dds_get_matched_publication_data
  - dds_builtintopic_get_endpoint_type_info
  - dds_builtintopic_free_endpoint
  - dds_builtintopic_free_topic
  - dds_builtintopic_free_participant
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_matched.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QOS_POLICY_SYSDEF_STRUCT
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
  types:
    enum:
    - enumerators:
      - name: ELEMENT_KIND_UNDEFINED
      - name: ELEMENT_KIND_QOS_READER
      - name: ELEMENT_KIND_QOS_POLICY_ENTITYFACTORY
      - name: ELEMENT_KIND_QOS_POLICY_OWNERSHIP
      - name: ELEMENT_KIND_QOS_POLICY_WRITERDATALIFECYCLE_AUTODISPOSE_UNREGISTERED_INSTANCES
      - name: ELEMENT_KIND_QOS_POLICY_RELIABILITY_MAX_BLOCKING_TIME
      - name: ELEMENT_KIND_NODE
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_VLAN_TAG
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_DSCP
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_LISTENER
      - name: ELEMENT_KIND_TYPE_LIB
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITY
      - name: ELEMENT_KIND_QOS_POLICY_TIMEBASEDFILTER
      - name: ELEMENT_KIND_QOS_POLICY_PRESENTATION
      - name: ELEMENT_KIND_PARTICIPANT_LIB
      - name: ELEMENT_KIND_DEPLOYMENT_LIB
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_SOURCE_IP_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_MAX_BYTES_PER_SAMPLE
      - name: ELEMENT_KIND_QOS_POLICY_LIVELINESS_KIND
      - name: ELEMENT_KIND_QOS_POLICY_USERDATA_VALUE
      - name: ELEMENT_KIND_QOS_TOPIC
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_RESOURCE_LIMIT_MAX_INSTANCES
      - name: ELEMENT_KIND_QOS_POLICY_RELIABILITY
      - name: ELEMENT_KIND_APPLICATION
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_SOURCE_IP_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_NETWORK_REQUIREMENTS_NUM_SEAMLESS_TREES
      - name: ELEMENT_KIND_QOS_POLICY_PARTITION_NAME
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS_MAX_INSTANCES
      - name: ELEMENT_KIND_QOS_POLICY_DESTINATIONORDER
      - name: ELEMENT_KIND_QOS_POLICY_HISTORY_KIND
      - name: ELEMENT_KIND_REGISTER_TYPE
      - name: ELEMENT_KIND_NODE_IPV6_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_MAC_ADDRESSES_SOURCE_MAC_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_PERIODICITY
      - name: ELEMENT_KIND_QOS_POLICY_DEADLINE_PERIOD
      - name: ELEMENT_KIND_QOS_POLICY_HISTORY
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS_MAX_SAMPLES
      - name: ELEMENT_KIND_QOS_POLICY_PARTITION
      - name: ELEMENT_KIND_DOMAIN
      - name: ELEMENT_KIND_NODE_IPV4_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_MAC_ADDRESSES_DESTINATION_MAC_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC
      - name: ELEMENT_KIND_QOS_POLICY_TRANSPORTPRIORITY
      - name: ELEMENT_KIND_QOS_POLICY_READERDATALIFECYCLE
      - name: ELEMENT_KIND_QOS_PARTICIPANT
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_HISTORY_KIND
      - name: ELEMENT_KIND_QOS_POLICY_LIFESPAN
      - name: ELEMENT_KIND_WRITER
      - name: ELEMENT_KIND_DEPLOYMENT_APPLICATION_REF
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_SOURCE_PORT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_TIME_AWARE_LATEST_TRANSMIT_OFFSET
      - name: ELEMENT_KIND_QOS_DURATION_NSEC
      - name: ELEMENT_KIND_QOS_POLICY_GROUPDATA
      - name: ELEMENT_KIND_QOS_POLICY_OWNERSHIPSTRENGTH
      - name: ELEMENT_KIND_QOS_POLICY_WRITERBATCHING_BATCH_UPDATES
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS_INITIAL_INSTANCES
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_VLAN_TAG_VLAN_ID
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_SOURCE_PORT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_LISTENER_NETWORK_REQUIREMENTS_NUM_SEAMLESS_TREES
      - name: ELEMENT_KIND_QOS_POLICY_PRESENTATION_COHERENT_ACCESS
      - name: ELEMENT_KIND_QOS_POLICY_TOPICDATA
      - name: ELEMENT_KIND_QOS_LIB
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE
      - name: ELEMENT_KIND_QOS_POLICY_LATENCYBUDGET
      - name: ELEMENT_KIND_PUBLISHER
      - name: ELEMENT_KIND_DEPLOYMENT_NODE_REF
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_DSCP
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_TIME_AWARE
      - name: ELEMENT_KIND_TYPE_REF_EXTERNAL
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITY_KIND
      - name: ELEMENT_KIND_QOS_POLICY_TIMEBASEDFILTER_MINIMUM_SEPARATION
      - name: ELEMENT_KIND_QOS_POLICY_PRESENTATION_ACCESS_SCOPE
      - name: ELEMENT_KIND_PARTICIPANT
      - name: ELEMENT_KIND_DEPLOYMENT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_DESTINATION_IP_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_TRANSMISSION_SELECTION
      - name: ELEMENT_KIND_QOS_POLICY_LIVELINESS_LEASE_DURATION
      - name: ELEMENT_KIND_QOS_WRITER
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_RESOURCE_LIMIT_MAX_SAMPLES_PER_INSTANCE
      - name: ELEMENT_KIND_QOS_POLICY_WRITERDATALIFECYCLE
      - name: ELEMENT_KIND_QOS_POLICY_RELIABILITY_KIND
      - name: ELEMENT_KIND_NODE_LIB
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_DESTINATION_IP_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_NETWORK_REQUIREMENTS_MAX_LATENCY
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS_MAX_SAMPLES_PER_INSTANCE
      - name: ELEMENT_KIND_DDS
      - name: ELEMENT_KIND_QOS_POLICY_DESTINATIONORDER_KIND
      - name: ELEMENT_KIND_QOS_POLICY_HISTORY_DEPTH
      - name: ELEMENT_KIND_QOS_POLICY_PARTITION_NAME_ELEMENT
      - name: ELEMENT_KIND_TOPIC
      - name: ELEMENT_KIND_NODE_MAC_ADDRESS
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_SAMPLES_PER_PERIOD
      - name: ELEMENT_KIND_QOS_POLICY_READERDATALIFECYCLE_AUTOPURGE_DISPOSED_SAMPLES_DELAY
      - name: ELEMENT_KIND_QOS_SUBSCRIBER
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_RESOURCE_LIMIT_MAX_SAMPLES
      - name: ELEMENT_KIND_QOS_POLICY_LIVELINESS
      - name: ELEMENT_KIND_QOS_POLICY_USERDATA
      - name: ELEMENT_KIND_APPLICATION_LIB
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_NETWORK_REQUIREMENTS
      - name: ELEMENT_KIND_QOS_PUBLISHER
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_HISTORY_DEPTH
      - name: ELEMENT_KIND_QOS_POLICY_LIFESPAN_DURATION
      - name: ELEMENT_KIND_QOS_POLICY_TRANSPORTPRIORITY_VALUE
      - name: ELEMENT_KIND_QOS_POLICY_READERDATALIFECYCLE_AUTOPURGE_NOWRITER_SAMPLES_DELAY
      - name: ELEMENT_KIND_READER
      - name: ELEMENT_KIND_DEPLOYMENT_CONF
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_DESTINATION_PORT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_TIME_AWARE_JITTER
      - name: ELEMENT_KIND_QOS_POLICY_DEADLINE
      - name: ELEMENT_KIND_QOS_POLICY_GROUPDATA_VALUE
      - name: ELEMENT_KIND_QOS_POLICY_OWNERSHIPSTRENGTH_VALUE
      - name: ELEMENT_KIND_DOMAIN_LIB
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS_INITIAL_SAMPLES
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_MAC_ADDRESSES
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_DESTINATION_PORT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_LISTENER_NETWORK_REQUIREMENTS_MAX_LATENCY
      - name: ELEMENT_KIND_QOS_POLICY_PRESENTATION_ORDERED_ACCESS
      - name: ELEMENT_KIND_QOS_POLICY_TOPICDATA_VALUE
      - name: ELEMENT_KIND_QOS_PROFILE
      - name: ELEMENT_KIND_QOS_POLICY_DURABILITYSERVICE_SERVICE_CLEANUP_DELAY
      - name: ELEMENT_KIND_QOS_POLICY_LATENCYBUDGET_DURATION
      - name: ELEMENT_KIND_SUBSCRIBER
      - name: ELEMENT_KIND_DEPLOYMENT_APPLICATION_LIST
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV4_TUPLE_PROTOCOL
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_TRAFFIC_SPEC_TIME_AWARE_EARLIEST_TRANSMIT_OFFSET
      - name: ELEMENT_KIND_QOS_POLICY_OWNERSHIP_KIND
      - name: ELEMENT_KIND_QOS_DURATION_SEC
      - name: ELEMENT_KIND_QOS_POLICY_ENTITYFACTORY_AUTOENABLE_CREATED_ENTITIES
      - name: ELEMENT_KIND_QOS_POLICY_RESOURCELIMITS
      - name: ELEMENT_KIND_QOS_POLICY_WRITERBATCHING
      - name: ELEMENT_KIND_NODE_HOSTNAME
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_VLAN_TAG_PRIORITY_CODE_POINT
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_TALKER_DATA_FRAME_SPEC_IPV6_TUPLE_PROTOCOL
      - name: ELEMENT_KIND_DEPLOYMENT_CONF_TSN_LISTENER_NETWORK_REQUIREMENTS
      item_type: enum
      name: element_kind
      pos:
        line_end: 202
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: ELEMENT_DATA_TYPE_GENERIC
      - name: ELEMENT_DATA_TYPE_DURATION
      item_type: enum
      name: element_data_type
      pos:
        line_end: 207
        line_start: 204
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: DDS_SYSDEF_TYPE_REF_EXTERNAL
      item_type: enum
      name: dds_sysdef_type_kind
      pos:
        line_end: 226
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: DDS_SYSDEF_TOPIC_QOS
      - name: DDS_SYSDEF_SUBSCRIBER_QOS
      - name: DDS_SYSDEF_WRITER_QOS
      - name: DDS_SYSDEF_READER_QOS
      - name: DDS_SYSDEF_PUBLISHER_QOS
      - name: DDS_SYSDEF_PARTICIPANT_QOS
      item_type: enum
      name: dds_sysdef_qos_kind
      pos:
        line_end: 248
        line_start: 241
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: DDS_SYSDEF_TYPEREG_PARENT_KIND_DOMAIN
      - name: DDS_SYSDEF_TYPEREG_PARENT_KIND_PARTICIPANT
      item_type: enum
      name: dds_sysdef_register_type_parent_kind
      pos:
        line_end: 427
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: DDS_SYSDEF_PARTICIPANT_PARENT_KIND_APPLICATION
      - name: DDS_SYSDEF_PARTICIPANT_PARENT_KIND_PARTICIPANTLIB
      item_type: enum
      name: dds_sysdef_participant_parent_kind
      pos:
        line_end: 500
        line_start: 497
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - enumerators:
      - name: DDS_SYSDEF_TSN_TRAFFIC_TRANSMISSION_STRICT_PRIORITY
      - name: DDS_SYSDEF_TSN_TRAFFIC_TRANSMISSION_ATS_TRANSMISSION_SELECTION
      - name: DDS_SYSDEF_TSN_TRAFFIC_TRANSMISSION_ENHANCED_TRANSMISSION_SELECTION
      - name: DDS_SYSDEF_TSN_TRAFFIC_TRANSMISSION_CREDIT_BASED_SHAPER
      item_type: enum
      name: dds_sysdef_tsn_traffic_transmission_selection
      pos:
        line_end: 577
        line_start: 572
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_HASH_LENGTH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: '14'
    - item_type: preproc_def
      name: QOS_POLICY_DEADLINE_PARAM_PERIOD
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_DEADLINE_REQUIRED_PARAMS
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_DEADLINE_PARAM_PERIOD)
    - item_type: preproc_def
      name: QOS_POLICY_DESTINATIONORDER_PARAM_KIND
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_DESTINATIONORDER_REQUIRED_PARAMS
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_DESTINATIONORDER_PARAM_KIND)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITY_PARAM_KIND
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITY_REQUIRED_PARAMS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_DURABILITY_PARAM_KIND)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_SERVICE_CLEANUP_DELAY
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_HISTORY_KIND
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_HISTORY_DEPTH
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_RESOURCE_LIMIT_MAX_SAMPLES
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 3u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_RESOURCE_LIMIT_MAX_INSTANCES
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 4u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_PARAM_RESOURCE_LIMIT_MAX_SAMPLES_PER_INSTANCE
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 5u)
    - item_type: preproc_def
      name: QOS_POLICY_DURABILITYSERVICE_REQUIRED_PARAMS
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0u)
    - item_type: preproc_def
      name: QOS_POLICY_ENTITYFACTORY_PARAM_AUTOENABLE_CREATED_ENTITIES
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_ENTITYFACTORY_REQUIRED_PARAMS
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_ENTITYFACTORY_PARAM_AUTOENABLE_CREATED_ENTITIES)
    - item_type: preproc_def
      name: QOS_POLICY_HISTORY_PARAM_KIND
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_HISTORY_PARAM_DEPTH
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_HISTORY_REQUIRED_PARAMS
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0u)
    - item_type: preproc_def
      name: QOS_POLICY_LATENCYBUDGET_PARAM_DURATION
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_LATENCYBUDGET_REQUIRED_PARAMS
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_LATENCYBUDGET_PARAM_DURATION)
    - item_type: preproc_def
      name: QOS_POLICY_LIFESPAN_PARAM_DURATION
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_LIFESPAN_REQUIRED_PARAMS
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_LIFESPAN_PARAM_DURATION)
    - item_type: preproc_def
      name: QOS_POLICY_LIVELINESS_PARAM_KIND
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_LIVELINESS_PARAM_LEASE_DURATION
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_LIVELINESS_REQUIRED_PARAMS
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_LIVELINESS_PARAM_KIND | QOS_POLICY_LIVELINESS_PARAM_LEASE_DURATION)
    - item_type: preproc_def
      name: QOS_POLICY_OWNERSHIP_PARAM_KIND
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_OWNERSHIP_REQUIRED_PARAMS
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_OWNERSHIP_PARAM_KIND)
    - item_type: preproc_def
      name: QOS_POLICY_OWNERSHIPSTRENGTH_PARAM_VALUE
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_OWNERSHIPSTRENGTH_REQUIRED_PARAMS
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_OWNERSHIPSTRENGTH_PARAM_VALUE)
    - item_type: preproc_def
      name: QOS_POLICY_PARTITION_PARAM_NAME
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_PARTITION_REQUIRED_PARAMS
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_PARTITION_PARAM_NAME)
    - item_type: preproc_def
      name: QOS_POLICY_PRESENTATION_PARAM_ACCESS_SCOPE
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_PRESENTATION_PARAM_COHERENT_ACCESS
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_PRESENTATION_PARAM_ORDERED_ACCESS
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: QOS_POLICY_PRESENTATION_REQUIRED_PARAMS
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_PRESENTATION_PARAM_ACCESS_SCOPE | QOS_POLICY_PRESENTATION_PARAM_COHERENT_ACCESS
        | QOS_POLICY_PRESENTATION_PARAM_ORDERED_ACCESS)
    - item_type: preproc_def
      name: QOS_POLICY_READERDATALIFECYCLE_PARAM_AUTOPURGE_NOWRITER_SAMPLES_DELAY
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_READERDATALIFECYCLE_PARAM_AUTOPURGE_DISPOSED_SAMPLES_DELAY
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_READERDATALIFECYCLE_REQUIRED_PARAMS
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_READERDATALIFECYCLE_PARAM_AUTOPURGE_NOWRITER_SAMPLES_DELAY
        | QOS_POLICY_READERDATALIFECYCLE_PARAM_AUTOPURGE_DISPOSED_SAMPLES_DELAY)
    - item_type: preproc_def
      name: QOS_POLICY_RELIABILITY_PARAM_KIND
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_RELIABILITY_PARAM_MAX_BLOCKING_TIME
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_RELIABILITY_REQUIRED_PARAMS
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_RELIABILITY_PARAM_KIND)
    - item_type: preproc_def
      name: QOS_POLICY_RESOURCELIMITS_PARAM_MAX_SAMPLES
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_RESOURCELIMITS_PARAM_MAX_INSTANCES
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: QOS_POLICY_RESOURCELIMITS_PARAM_MAX_SAMPLES_PER_INSTANCE
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: QOS_POLICY_RESOURCELIMITS_REQUIRED_PARAMS
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0u)
    - item_type: preproc_def
      name: QOS_POLICY_TIMEBASEDFILTER_PARAM_MINIMUM_SEPARATION
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_TIMEBASEDFILTER_REQUIRED_PARAMS
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_TIMEBASEDFILTER_PARAM_MINIMUM_SEPARATION)
    - item_type: preproc_def
      name: QOS_POLICY_TRANSPORTPRIORITY_PARAM_VALUE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_TRANSPORTPRIORITY_REQUIRED_PARAMS
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_TRANSPORTPRIORITY_PARAM_VALUE)
    - item_type: preproc_def
      name: QOS_POLICY_WRITERDATALIFECYCLE_PARAM_AUTODISPOSE_UNREGISTERED_INSTANCES
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_WRITERDATALIFECYCLE_REQUIRED_PARAMS
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_WRITERDATALIFECYCLE_PARAM_AUTODISPOSE_UNREGISTERED_INSTANCES)
    - item_type: preproc_def
      name: QOS_POLICY_WRITERBATCHING_PARAM_BATCH_UPDATES
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_WRITERBATCHING_REQUIRED_PARAMS
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (QOS_POLICY_WRITERBATCHING_PARAM_BATCH_UPDATES)
    - item_type: preproc_def
      name: QOS_POLICY_GROUPDATA_PARAM_VALUE
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_GROUPDATA_REQUIRED_PARAMS
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0U)
    - item_type: preproc_def
      name: QOS_POLICY_TOPICDATA_PARAM_VALUE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_TOPICDATA_REQUIRED_PARAMS
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0U)
    - item_type: preproc_def
      name: QOS_POLICY_USERDATA_PARAM_VALUE
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_POLICY_USERDATA_REQUIRED_PARAMS
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (0U)
    - item_type: preproc_def
      name: QOS_LENGTH_UNLIMITED
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: '"LENGTH_UNLIMITED"'
    - item_type: preproc_def
      name: QOS_DURATION_INFINITY
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: '"DURATION_INFINITY"'
    - item_type: preproc_def
      name: QOS_DURATION_INFINITY_SEC
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: '"DURATION_INFINITE_SEC"'
    - item_type: preproc_def
      name: QOS_DURATION_INFINITY_NSEC
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: '"DURATION_INFINITE_NSEC"'
    - item_type: preproc_def
      name: QOS_DURATION_PARAM_SEC
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: QOS_DURATION_PARAM_NSEC
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_DOMAIN_DOMAIN_ID_PARAM_VALUE
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_DOMAIN_PARAMS
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (SYSDEF_DOMAIN_DOMAIN_ID_PARAM_VALUE)
    - item_type: preproc_def
      name: SYSDEF_TSN_TIME_AWARE_EARLIEST_TRANSMIT_OFFSET_PARAM_VALUE
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_TSN_TIME_AWARE_LATEST_TRANSMIT_OFFSET_PARAM_VALUE
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_TSN_TIME_JITTER_PARAM_VALUE
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: SYSDEF_TSN_TRAFFIC_SPEC_SAMPLES_PER_PERIOD_PARAM_VALUE
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_TSN_TRAFFIC_SPEC_MAX_BYTES_PER_SAMPLE_PARAM_VALUE
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_TSN_TRAFFIC_SPEC_TRANSMISSION_SELECTION_PARAM_VALUE
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: SYSDEF_TSN_NETWORK_REQ_NUM_SEAMLESS_TREES_PARAM_VALUE
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_TSN_NETWORK_REQ_MAX_LATENCY_PARAM_VALUE
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_TSN_VLAN_TAG_PRIORITY_CODE_POINT_PARAM_VALUE
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_TSN_VLAN_TAG_VLAN_ID_PARAM_VALUE
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_TSN_IP_TUPLE_DSCP_PARAM_VALUE
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 0u)
    - item_type: preproc_def
      name: SYSDEF_TSN_IP_TUPLE_PROTOCOL_PARAM_VALUE
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 1u)
    - item_type: preproc_def
      name: SYSDEF_TSN_IP_TUPLE_SOURCE_PORT_PARAM_VALUE
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 2u)
    - item_type: preproc_def
      name: SYSDEF_TSN_IP_TUPLE_DESTINATION_PORT_PARAM_VALUE
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type_or_value: (1 << 3u)
    structs:
    - fields:
      - name: '*type_name'
        type: char
      - name: type_info_cdr_sz
        type: size_t
      - name: '*type_info_cdr'
        type: unsigned char
      - name: type_map_cdr_sz
        type: size_t
      - name: '*type_map_cdr'
        type: unsigned char
      item_type: struct
      name: dds_sysdef_type_metadata
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: '*m'
        type: struct ddsrt_hh
      item_type: struct
      name: dds_sysdef_type_metadata_admin
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: '*parent'
        type: struct xml_element
      - name: kind
        type: enum element_kind
      - name: data_type
        type: enum element_data_type
      - name: retain
        type: bool
      - name: handle_close
        type: bool
      - name: '*next'
        type: struct xml_element
      - name: fini
        type: fini_fn
      item_type: struct
      name: xml_element
      pos:
        line_end: 221
        line_start: 212
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: kind
        type: enum dds_sysdef_type_kind
      - name: '*parent'
        type: struct dds_sysdef_type_lib
      item_type: struct
      name: dds_sysdef_type
      pos:
        line_end: 233
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*types'
        type: struct dds_sysdef_type
      item_type: struct
      name: dds_sysdef_type_lib
      pos:
        line_end: 238
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*element'
        type: char
      item_type: struct
      name: dds_sysdef_QOS_POLICY_PARTITION_NAME_ELEMENT
      pos:
        line_end: 313
        line_start: 310
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*elements'
        type: struct dds_sysdef_QOS_POLICY_PARTITION_NAME_ELEMENT
      item_type: struct
      name: dds_sysdef_QOS_POLICY_PARTITION_NAME
      pos:
        line_end: 318
        line_start: 315
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: struct dds_sysdef_QOS_POLICY_PARTITION_NAME
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_QOS_POLICY_PARTITION
      pos:
        line_end: 324
        line_start: 320
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      item_type: struct
      name: dds_sysdef_qos_generic_property
      pos:
        line_end: 378
        line_start: 376
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: sec
        type: dds_duration_t
      - name: nsec
        type: dds_duration_t
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_qos_duration_property
      pos:
        line_end: 392
        line_start: 387
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: kind
        type: enum dds_sysdef_qos_kind
      - name: '*qos'
        type: dds_qos_t
      - name: '*name'
        type: char
      - name: '*base_profile'
        type: struct dds_sysdef_qos_profile
      item_type: struct
      name: dds_sysdef_qos
      pos:
        line_end: 400
        line_start: 394
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: '*base_profile'
        type: struct dds_sysdef_qos_profile
      item_type: struct
      name: dds_sysdef_qos_profile
      pos:
        line_end: 407
        line_start: 402
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos_profiles'
        type: struct dds_sysdef_qos_profile
      item_type: struct
      name: dds_sysdef_qos_lib
      pos:
        line_end: 413
        line_start: 409
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: '*register_type_ref'
        type: struct dds_sysdef_register_type
      item_type: struct
      name: dds_sysdef_topic
      pos:
        line_end: 422
        line_start: 416
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*type_ref'
        type: struct dds_sysdef_type
      - name: parent_kind
        type: enum dds_sysdef_register_type_parent_kind
      item_type: struct
      name: dds_sysdef_register_type
      pos:
        line_end: 434
        line_start: 429
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: domain_id
        type: uint32_t
      - name: '*name'
        type: char
      - name: '*register_types'
        type: struct dds_sysdef_register_type
      - name: '*topics'
        type: struct dds_sysdef_topic
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_domain
      pos:
        line_end: 445
        line_start: 438
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*domains'
        type: struct dds_sysdef_domain
      item_type: struct
      name: dds_sysdef_domain_lib
      pos:
        line_end: 451
        line_start: 447
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      item_type: struct
      name: dds_sysdef_entity
      pos:
        line_end: 457
        line_start: 454
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*topic'
        type: struct dds_sysdef_topic
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_writer
      pos:
        line_end: 465
        line_start: 459
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*topic'
        type: struct dds_sysdef_topic
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_reader
      pos:
        line_end: 475
        line_start: 469
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: '*writers'
        type: struct dds_sysdef_writer
      item_type: struct
      name: dds_sysdef_publisher
      pos:
        line_end: 484
        line_start: 479
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: '*readers'
        type: struct dds_sysdef_reader
      item_type: struct
      name: dds_sysdef_subscriber
      pos:
        line_end: 493
        line_start: 488
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*qos'
        type: struct dds_sysdef_qos
      - name: '*domain_ref'
        type: struct dds_sysdef_domain
      - name: '*base'
        type: struct dds_sysdef_participant
      - name: '*register_types'
        type: struct dds_sysdef_register_type
      - name: '*topics'
        type: struct dds_sysdef_topic
      - name: '*publishers'
        type: struct dds_sysdef_publisher
      - name: '*subscribers'
        type: struct dds_sysdef_subscriber
      - name: parent_kind
        type: enum dds_sysdef_participant_parent_kind
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_participant
      pos:
        line_end: 516
        line_start: 502
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*participants'
        type: struct dds_sysdef_participant
      item_type: struct
      name: dds_sysdef_participant_lib
      pos:
        line_end: 522
        line_start: 518
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*participants'
        type: struct dds_sysdef_participant
      item_type: struct
      name: dds_sysdef_application
      pos:
        line_end: 529
        line_start: 525
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*applications'
        type: struct dds_sysdef_application
      item_type: struct
      name: dds_sysdef_application_lib
      pos:
        line_end: 535
        line_start: 531
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: addr[6]
        type: uint8_t
      item_type: struct
      name: dds_sysdef_mac_addr
      pos:
        line_end: 540
        line_start: 538
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: addr
        type: struct sockaddr_storage
      item_type: struct
      name: dds_sysdef_ip_addr
      pos:
        line_end: 544
        line_start: 541
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*hostname'
        type: char
      - name: '*ipv4_addrs'
        type: struct dds_sysdef_ip_addr
      - name: '*ipv6_addrs'
        type: struct dds_sysdef_ip_addr
      - name: '*mac_addr'
        type: struct dds_sysdef_mac_addr
      item_type: struct
      name: dds_sysdef_node
      pos:
        line_end: 552
        line_start: 545
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*nodes'
        type: struct dds_sysdef_node
      item_type: struct
      name: dds_sysdef_node_lib
      pos:
        line_end: 558
        line_start: 554
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: earliest_transmit_offset
        type: uint32_t
      - name: latest_transmit_offset
        type: uint32_t
      - name: jitter
        type: uint32_t
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_tsn_time_aware
      pos:
        line_end: 570
        line_start: 564
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: periodicity
        type: dds_duration_t
      - name: samples_per_period
        type: uint16_t
      - name: max_bytes_per_sample
        type: uint16_t
      - name: transmission_selection
        type: enum dds_sysdef_tsn_traffic_transmission_selection
      - name: '*time_aware'
        type: struct dds_sysdef_tsn_time_aware
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_tsn_traffic_specification
      pos:
        line_end: 590
        line_start: 582
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: num_seamless_trees
        type: uint8_t
      - name: max_latency
        type: uint32_t
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_tsn_network_requirements
      pos:
        line_end: 599
        line_start: 594
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*destination_mac_address'
        type: struct dds_sysdef_mac_addr
      - name: '*source_mac_address'
        type: struct dds_sysdef_mac_addr
      item_type: struct
      name: dds_sysdef_tsn_ieee802_mac_addresses
      pos:
        line_end: 605
        line_start: 601
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: priority_code_point
        type: uint8_t
      - name: vlan_id
        type: uint16_t
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_tsn_ieee802_vlan_tag
      pos:
        line_end: 614
        line_start: 609
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*source_ip_address'
        type: char
      - name: '*destination_ip_address'
        type: char
      - name: dscp
        type: uint8_t
      - name: protocol
        type: uint16_t
      - name: source_port
        type: uint16_t
      - name: destination_port
        type: uint16_t
      - name: populated
        type: uint32_t
      item_type: struct
      name: dds_sysdef_tsn_ip_tuple
      pos:
        line_end: 629
        line_start: 620
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*mac_addresses'
        type: struct dds_sysdef_tsn_ieee802_mac_addresses
      - name: '*vlan_tag'
        type: struct dds_sysdef_tsn_ieee802_vlan_tag
      - name: '*ipv4_tuple'
        type: struct dds_sysdef_tsn_ip_tuple
      - name: '*ipv6_tuple'
        type: struct dds_sysdef_tsn_ip_tuple
      item_type: struct
      name: dds_sysdef_tsn_data_frame_specification
      pos:
        line_end: 637
        line_start: 631
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*stream_name'
        type: char
      - name: '*writer'
        type: struct dds_sysdef_writer
      - name: '*traffic_specification'
        type: struct dds_sysdef_tsn_traffic_specification
      - name: '*network_requirements'
        type: struct dds_sysdef_tsn_network_requirements
      - name: '*data_frame_specification'
        type: struct dds_sysdef_tsn_data_frame_specification
      item_type: struct
      name: dds_sysdef_tsn_talker_configuration
      pos:
        line_end: 647
        line_start: 639
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*stream_name'
        type: char
      - name: '*reader'
        type: struct dds_sysdef_reader
      - name: '*network_requirements'
        type: struct dds_sysdef_tsn_network_requirements
      item_type: struct
      name: dds_sysdef_tsn_listener_configuration
      pos:
        line_end: 655
        line_start: 649
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*tsn_talker_configurations'
        type: struct dds_sysdef_tsn_talker_configuration
      - name: '*tsn_listener_configurations'
        type: struct dds_sysdef_tsn_listener_configuration
      item_type: struct
      name: dds_sysdef_tsn_configuration
      pos:
        line_end: 661
        line_start: 657
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*tsn_configuration'
        type: struct dds_sysdef_tsn_configuration
      item_type: struct
      name: dds_sysdef_configuration
      pos:
        line_end: 666
        line_start: 663
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*application'
        type: struct dds_sysdef_application
      item_type: struct
      name: dds_sysdef_application_ref
      pos:
        line_end: 671
        line_start: 668
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*application_refs'
        type: struct dds_sysdef_application_ref
      item_type: struct
      name: dds_sysdef_application_list
      pos:
        line_end: 676
        line_start: 673
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*node'
        type: struct dds_sysdef_node
      - name: '*application_list'
        type: struct dds_sysdef_application_list
      - name: '*configuration'
        type: struct dds_sysdef_configuration
      item_type: struct
      name: dds_sysdef_deployment
      pos:
        line_end: 684
        line_start: 678
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*name'
        type: char
      - name: '*deployments'
        type: struct dds_sysdef_deployment
      item_type: struct
      name: dds_sysdef_deployment_lib
      pos:
        line_end: 690
        line_start: 686
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    - fields:
      - name: xmlnode
        type: struct xml_element
      - name: '*type_libs'
        type: struct dds_sysdef_type_lib
      - name: '*qos_libs'
        type: struct dds_sysdef_qos_lib
      - name: '*domain_libs'
        type: struct dds_sysdef_domain_lib
      - name: '*participant_libs'
        type: struct dds_sysdef_participant_lib
      - name: '*application_libs'
        type: struct dds_sysdef_application_lib
      - name: '*node_libs'
        type: struct dds_sysdef_node_lib
      - name: '*deployment_libs'
        type: struct dds_sysdef_deployment_lib
      item_type: struct
      name: dds_sysdef_system
      pos:
        line_end: 701
        line_start: 692
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
    typedefs:
    - item_type: typedef
      name: (* init_fn) (struct parse_sysdef_state * const pstate, struct xml_element
        *element)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type: int
    - item_type: typedef
      name: (* fini_fn) (struct xml_element *element)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__sysdef_model.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__whc_builtintopic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_write_impl_psmx_key_init
  - dds_write_impl_psmx_get_key
  - dds_write_impl_psmx_get_key_untyped_serdata
  - dds_write_impl_psmx_key_fini
  - dds_write
  - dds_writecdr
  - dds_forwardcdr
  - dds_write_ts
  - local_make_sample
  - local_on_delivery_failure_fastpath
  - deliver_locally
  - convert_serdata
  - deliver_data_network
  - deliver_data_any
  - dds_writecdr_impl_validate_loan
  - dds_writecdr_impl_ensureloan
  - dds_writecdr_impl_common
  - evaluate_topic_filter
  - dds_return_t::dds_write_impl_deliver_via_ddsi
  - dds_write_impl_use_only_psmx
  - ddsrt_nonnull_all
  - dds_write_impl_serialize_into_loan
  - dds_write_impl_make_serdata
  - ddsrt_nonnull_all
  - dds_write_impl
  - dds_writecdr_impl
  - dds_write_flush_impl
  - dds_writecdr_local_orphan_impl
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: p
        type: struct ddsi_serdata
      item_type: struct
      name: ddsi_serdata_plain
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - fields:
      - name: a
        type: struct ddsi_serdata
      item_type: struct
      name: ddsi_serdata_any
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - fields:
      - name: '*ksd'
        type: struct ddsi_serdata
      - name: '*ksdref'
        type: struct ddsi_serdata
      - name: key_iov
        type: ddsrt_iovec_t
      - name: '*type'
        type: struct ddsi_sertype
      - name: '*sample'
        type: void
      item_type: struct
      name: dds_write_impl_psmx_key
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    - fields:
      - name: '*src_type'
        type: struct ddsi_sertype
      - name: '*src_payload'
        type: struct ddsi_serdata
      - name: '*src_tk'
        type: struct ddsi_tkmap_instance
      - name: timeout
        type: ddsrt_mtime_t
      item_type: struct
      name: local_sourceinfo
      pos:
        line_end: 177
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_write.c
    typedefs: []
    union: []
- function_names:
  - CHECK_DUPLICATE
  - CHECK_NULL_ATTR
  - free_partitions
  - is_wildcard_partition
  - validate_qos
  - dds_validate_qos_lib
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_validation.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_alloc_statistics
  - dds_create_statistics
  - dds_refresh_statistics
  - dds_lookup_statistic
  - dds_delete_statistics
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_statistics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_alloc
  - dds_realloc
  - dds_realloc_zero
  - dds_free
  - dds_string_alloc
  - dds_string_dup
  - dds_string_free
  - dds_sample_free_key
  - dds_sample_free
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_alloc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__writer.h
  types:
    enum:
    - enumerators:
      - name: DDS_WRITER_LOAN_REGULAR
      - name: DDS_WRITER_LOAN_RAW
      item_type: enum
      name: dds_writer_loan_type
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__writer.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_guid
  - fix_serdata_builtin
  - serdata_builtin_eqkey
  - serdata_builtin_free
  - serdata_builtin_sizeof
  - serdata_builtin_new
  - format_address
  - ddsi_format_addrset
  - add_pp_addresses_to_xqos
  - from_entity_pp
  - from_entity_proxypp
  - from_qos
  - from_entity_rd
  - from_entity_wr
  - from_proxy_endpoint_common
  - from_entity_proxy_rd
  - from_entity_proxy_wr
  - dds_serdata_builtin_from_endpoint
  - ddsi_serdata_builtin_from_sample
  - serdata_builtin_to_untyped
  - dds_string_dup_reuse
  - dds_qos_from_xqos_reuse
  - to_sample_pp
  - to_sample_endpoint
  - to_sample_topic
  - serdata_builtin_untyped_to_sample
  - serdata_builtin_to_sample
  - serdata_builtin_get_size
  - serdata_builtin_to_ser
  - serdata_builtin_to_ser_ref
  - serdata_builtin_to_ser_unref
  - serdata_builtin_type_print
  - dds_serdata_builtin_from_topic_definition
  - ddsi_serdata_builtin_from_sample_topic
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: buf_pos
        type: size_t
      - name: buf_size
        type: size_t
      - name: first
        type: bool
      item_type: struct
      name: format_address_arg
      pos:
        line_end: 115
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
    typedefs: []
    union:
    - fields:
      - name: guid
        type: ddsi_guid_t
      - name: key
        type: dds_builtintopic_topic_key_t
      item_type: union
      name: x
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_builtintopic.c
- function_names:
  - dds_reader_close
  - dds_return_t::dds_reader_delete
  - validate_reader_qos
  - dds_reader_qos_set
  - dds_reader_status_validate
  - data_avail_cb_enter_listener_exclusive_access
  - data_avail_cb_leave_listener_exclusive_access
  - data_avail_cb_invoke_dor
  - data_avail_cb_set_status
  - data_avail_cb_trigger_waitsets
  - da_or_dor_cb_invoke
  - dds_reader_data_available_cb
  - update_requested_deadline_missed
  - update_requested_incompatible_qos
  - update_sample_lost
  - update_sample_rejected
  - update_liveliness_changed
  - update_subscription_matched
  - dds_reader_status_cb
  - dds_reader_invoke_cbs_for_pending_events
  - dds_reader_create_statistics
  - dds_reader_refresh_statistics
  - dds_create_reader_int
  - get_writer_info
  - dds_reader_store_loaned_sample_impl
  - dds_reader_store_loaned_sample
  - dds_reader_store_loaned_sample_wr_metadata
  - dds_create_reader
  - dds_create_reader_guid
  - dds_create_reader_rhc
  - dds_reader_wait_for_historical_data
  - dds_get_subscriber
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_READER_STATUS_MASK
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
      type_or_value: "(DDS_SAMPLE_REJECTED_STATUS              |\\\n                         DDS_LIVELINESS_CHANGED_STATUS
        \          |\\\n                         DDS_REQUESTED_DEADLINE_MISSED_STATUS
        \   |\\\n                         DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS   |\\\n
        \                        DDS_DATA_AVAILABLE_STATUS               |\\\n                         DDS_SAMPLE_LOST_STATUS
        \                 |\\\n                         DDS_SUBSCRIPTION_MATCHED_STATUS)"
    structs:
    - fields:
      - name: ownership_strength
        type: int32_t
      - name: autodispose_unregistered_instances
        type: bool
      - name: lifespan_duration
        type: dds_duration_t
      item_type: struct
      name: writer_metadata
      pos:
        line_end: 721
        line_start: 716
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_reader.c
    typedefs: []
    union: []
- function_names:
  - dds_guid_to_ddsi_guid
  - dds_guid_from_ddsi_guid
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_guid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDS_SERDATA_DEFAULT_PAD
  - DDS_SERDATA_DEFAULT_PAD
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYBUFTYPE_UNSET
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: 0u
    - item_type: preproc_def
      name: KEYBUFTYPE_STATIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: 1u // uses u.stbuf
    - item_type: preproc_def
      name: KEYBUFTYPE_DYNALIAS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: 2u // points into payload
    - item_type: preproc_def
      name: KEYBUFTYPE_DYNALLOC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: 3u // dynamically allocated
    - item_type: preproc_def
      name: SERDATA_DEFAULT_KEYSIZE_MASK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: 0x3FFFFFFFu
    - item_type: preproc_def
      name: DDS_SERDATA_DEFAULT_DEBUG_FIELDS
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: bool fixed;
    - item_type: preproc_def
      name: DDS_SERDATA_DEFAULT_PREPAD
      pos:
        line_end: 80
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: "struct ddsi_serdata c;              \\\n  uint32_t pos;                       \\\n
        \ uint32_t size;                      \\\n  DDS_SERDATA_DEFAULT_DEBUG_FIELDS
        \   \\\n  struct dds_serdata_default_key key; \\\n  struct dds_serdatapool
        *serpool;    \\\n  struct dds_serdata_default *next "
    - item_type: preproc_def
      name: DDS_SERDATA_DEFAULT_POSTPAD
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: "struct dds_cdr_header hdr;          \\\n  DDSRT_WARNING_MSVC_OFF(4200)
        \       \\\n  char data[];                        \\\n  DDSRT_WARNING_MSVC_ON(4200)"
    - item_type: preproc_def
      name: DDS_SERDATA_DEFAULT_POSTPAD
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
      type_or_value: "struct dds_cdr_header hdr;          \\\n  char data[]"
    structs:
    - fields:
      - name: buftype
        type: unsigned
      - name: keysize
        type: unsigned
      - name: u
        type: "union {\n    unsigned char stbuf[DDS_FIXED_KEY_MAX_SIZE];\n    unsigned
          char *dynbuf;\n  }"
      item_type: struct
      name: dds_serdata_default_key
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    - fields:
      - name: freelist
        type: struct ddsi_freelist
      item_type: struct
      name: dds_serdatapool
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    - fields: []
      item_type: struct
      name: dds_serdata_default_unpadded
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    - fields:
      - name: pad[DDS_SERDATA_DEFAULT_PAD (8 - (offsetof (struct dds_serdata_default_unpadded,
          data) % 8))]
        type: char
      item_type: struct
      name: dds_serdata_default
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    - fields:
      - name: sz
        type: uint32_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dds_sertype_default_cdr_data
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    - fields:
      - name: c
        type: struct ddsi_sertype
      - name: encoding_format
        type: uint16_t
      - name: write_encoding_version
        type: uint16_t
      - name: '*serpool'
        type: struct dds_serdatapool
      - name: type
        type: struct dds_cdrstream_desc
      - name: typeinfo_ser
        type: struct dds_sertype_default_cdr_data
      - name: typemap_ser
        type: struct dds_sertype_default_cdr_data
      item_type: struct
      name: dds_sertype_default
      pos:
        line_end: 132
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsc/src/dds__serdata_default.h
    typedefs: []
    union: []
- function_names:
  - ispowerof2_size
  - dds_serdatapool_new
  - serdata_free_wrap
  - dds_serdatapool_free
  - alignup_size
  - serdata_default_append
  - serdata_default_append_blob
  - serdata_default_keybuf
  - fix_serdata_default
  - fix_serdata_default_nokey
  - serdata_default_get_size
  - serdata_default_eqkey
  - serdata_default_eqkey_nokey
  - serdata_default_free
  - serdata_default_init
  - serdata_default_allocnew
  - serdata_default_new_size
  - serdata_default_new
  - is_valid_xcdr1_id
  - is_valid_xcdr2_id
  - is_valid_xcdr_id
  - is_topic_fixed_key_impl
  - is_topic_fixed_key
  - is_topic_fixed_key_keyhash
  - gen_serdata_key
  - gen_serdata_key_from_sample
  - gen_serdata_key_from_cdr
  - serdata_default_from_ser_common
  - serdata_default_from_ser_iov_common
  - serdata_default_from_ser
  - serdata_default_from_ser_iov
  - serdata_default_from_ser_nokey
  - serdata_default_from_ser_iov_nokey
  - serdata_default_from_keyhash_cdr
  - serdata_default_from_keyhash_cdr_nokey
  - istream_from_serdata_default
  - ostream_from_serdata_default
  - ostream_add_to_serdata_default
  - serdata_default_from_sample_cdr_common
  - serdata_default_from_sample_data_representation
  - serdata_default_from_sample_cdr
  - serdata_default_from_sample_xcdr2
  - serdata_default_from_sample_cdr_nokey
  - serdata_default_from_sample_xcdr2_nokey
  - serdata_default_to_untyped
  - serdata_default_to_ser
  - serdata_default_to_ser_ref
  - serdata_default_to_ser_unref
  - serdata_default_to_sample_cdr
  - serdata_default_untyped_to_sample_cdr
  - serdata_default_untyped_to_sample_cdr_nokey
  - serdata_default_print_cdr
  - serdata_default_get_keyhash
  - loaned_sample_state_to_serdata_kind
  - serdata_default_from_loaned_sample
  - serdata_default_from_psmx
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
  types:
    enum:
    - enumerators:
      - name: GSKIK_SAMPLE
      - name: GSKIK_CDRKEY
      - name: GSKIK_CDRSAMPLE
      item_type: enum
      name: gen_serdata_key_input_kind
      pos:
        line_end: 250
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_POOL_SIZE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: MAX_SIZE_FOR_POOL
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
      type_or_value: '256'
    - item_type: preproc_def
      name: DEFAULT_NEW_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
      type_or_value: '128'
    - item_type: preproc_def
      name: CHUNK_SIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_serdata_default.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _STR
  - STR
  - QOS_POLICY_MAPPING
  - PARSER_ERROR
  - CHECK_PARENT_NULL
  - CHECK_PARENT_KIND
  - _CREATE_NODE
  - CREATE_NODE_LIST
  - CREATE_NODE_SINGLE
  - CREATE_NODE_CUSTOM
  - CREATE_NODE_VALUE
  - CREATE_NODE_DURATION
  - CREATE_NODE_DURATION_SEC
  - CREATE_NODE_DURATION_NSEC
  - CREATE_NODE_QOS
  - ASSERT_DEFAULT_QOS_EQUAL
  - str_to_int32
  - str_to_uint8
  - str_to_uint16
  - str_to_uint32
  - str_to_int64
  - str_to_bool
  - new_node
  - free_node
  - fini_type
  - fini_type_lib
  - fini_qos_groupdata
  - fini_qos_topicdata
  - fini_qos_userdata
  - fini_qos_partition
  - fini_qos_partition_name
  - fini_qos_partition_name_element
  - fini_qos
  - fini_qos_profile
  - fini_qos_lib
  - fini_register_type
  - fini_topic
  - fini_domain
  - fini_domain_lib
  - fini_publisher
  - fini_writer
  - fini_subscriber
  - fini_reader
  - fini_participant
  - fini_participant_lib
  - fini_application
  - fini_application_lib
  - fini_node
  - fini_node_lib
  - fini_conf
  - fini_conf_tsn
  - fini_conf_tsn_talker
  - fini_conf_tsn_traffic_specification
  - fini_conf_tsn_ip_tuple
  - fini_conf_tsn_mac_addresses
  - fini_conf_tsn_data_frame_specification
  - fini_conf_tsn_listener
  - fini_application_list
  - fini_deployment
  - fini_deployment_lib
  - fini_sysdef
  - init_qos
  - INIT_QOS_POLICY_DATA
  - init_type_external_ref
  - PROC_ATTR_STRING
  - PROC_ATTR_NAME
  - PROC_ATTR_TYPE_NAME
  - _PROC_ATTR_INTEGER
  - PROC_ATTR_UINT32
  - PROC_ATTR_INT32
  - _PROC_ATTR_FN
  - PROC_ATTR_FN
  - PROC_ATTR_FN_PARENT
  - proc_attr_resolve_type_ref
  - find_reg_type_impl
  - proc_attr_resolve_register_type_ref
  - proc_attr_resolve_topic_ref
  - split_ref
  - _RESOLVE_LIB
  - _RESOLVE_ENTITY
  - RESOLVE_REF_FNDEF
  - proc_attr_resolve_endpoint_ref
  - proc_attr_resolve_datawriter_ref
  - proc_attr_resolve_datareader_ref
  - dds_sysdef_parse_hex
  - is_valid_type_name
  - is_alpha
  - is_alphanum
  - is_valid_identifier_char
  - dds_sysdef_is_valid_identifier_syntax
  - proc_attr
  - ELEM_CLOSE_QOS_POLICY
  - ELEM_CLOSE_QOS_POLICY_DATA_VALUE
  - ELEM_CLOSE_QOS_POLICY_DATA
  - ELEM_CLOSE_QOS_DURATION_PROPERTY
  - qget_DEADLINE
  - qset_DEADLINE
  - qget_DESTINATIONORDER
  - qset_DESTINATIONORDER
  - qget_DURABILITY
  - qset_DURABILITY
  - qget_DURABILITYSERVICE
  - qset_DURABILITYSERVICE
  - qget_GROUPDATA
  - qset_GROUPDATA
  - qget_TOPICDATA
  - qset_TOPICDATA
  - qget_USERDATA
  - qset_USERDATA
  - qget_HISTORY
  - qset_HISTORY
  - qget_LATENCYBUDGET
  - qset_LATENCYBUDGET
  - qget_LIFESPAN
  - qset_LIFESPAN
  - qget_LIVELINESS
  - qset_LIVELINESS
  - qget_OWNERSHIP
  - qset_OWNERSHIP
  - qget_OWNERSHIPSTRENGTH
  - qset_OWNERSHIPSTRENGTH
  - qget_PARTITION
  - qset_PARTITION
  - qget_PRESENTATION
  - qset_PRESENTATION
  - qget_READERDATALIFECYCLE
  - qset_READERDATALIFECYCLE
  - qget_RELIABILITY
  - qset_RELIABILITY
  - qget_RESOURCELIMITS
  - qset_RESOURCELIMITS
  - qget_TIMEBASEDFILTER
  - qset_TIMEBASEDFILTER
  - qget_TRANSPORTPRIORITY
  - qset_TRANSPORTPRIORITY
  - qget_WRITERDATALIFECYCLE
  - qset_WRITERDATALIFECYCLE
  - qget_WRITERBATCHING
  - qget_ENTITYFACTORY
  - qset_ENTITYFACTORY
  - qset_WRITERBATCHING
  - _ELEM_CLOSE_REQUIRE_ATTR
  - ELEM_CLOSE_REQUIRE_ATTR
  - ELEM_CLOSE_REQUIRE_ATTR_PARENT
  - ELEM_CLOSE_REQUIRE_ATTR_POPULATED
  - proc_elem_close
  - b64_decode
  - QOS_PARAM_SET_NUMERIC_UNLIMITED
  - QOS_PARAM_SET_NUMERIC
  - QOS_PARAM_SET_BOOLEAN
  - QOS_PARAM_SET_STRING
  - QOS_PARAM_SET_BASE64
  - set_DESTINATIONORDER_KIND
  - set_DURABILITY_KIND
  - set_DURABILITYSERVICE_HISTORY_KIND
  - set_HISTORY_KIND
  - set_LIVELINESS_KIND
  - set_OWNERSHIP_KIND
  - set_PRESENTATION_ACCESS_SCOPE
  - set_RELIABILITY_KIND
  - parse_tsn_traffic_transmission_selection
  - QOS_PARAM_DATA
  - PARENT_PARAM_DATA_STRING
  - PARENT_PARAM_DATA_MACADDR
  - PARENT_PARAM_DATA_NUMERIC
  - parse_mac_addr
  - parse_ipv4_addr
  - parse_ipv6_addr
  - proc_elem_data
  - PARSER_ERROR_INVALID_PARENT_KIND
  - proc_elem_open
  - proc_error
  - sysdef_parse
  - sysdef_xmlp_new_file
  - sysdef_xmlp_new_string
  - dds_sysdef_init_sysdef_impl
  - dds_sysdef_init_sysdef
  - dds_sysdef_init_sysdef_str
  - dds_sysdef_fini_sysdef
  - type_equal
  - type_hash
  - free_type_meta_data
  - proc_type_elem_open
  - proc_type_elem_close
  - proc_type_elem_data
  - proc_type_attr
  - proc_type_error
  - dds_sysdef_init_data_types_impl
  - dds_sysdef_init_data_types
  - dds_sysdef_init_data_types_str
  - free_type_meta_data_wrap
  - dds_sysdef_fini_data_types
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
  types:
    enum:
    - enumerators:
      - name: RESOLVE_ENDPOINT_READER
      - name: RESOLVE_ENDPOINT_WRITER
      item_type: enum
      name: resolve_endpoint_kind
      pos:
        line_end: 869
        line_start: 866
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - enumerators:
      - name: PARSE_TYPE_SCOPE_ROOT
      - name: PARSE_TYPE_SCOPE_TYPE_INFO
      - name: PARSE_TYPE_SCOPE_TYPE_MAP
      - name: PARSE_TYPE_SCOPE_TYPES
      - name: PARSE_TYPE_SCOPE_TYPE_ENTRY
      item_type: enum
      name: parse_type_scope
      pos:
        line_end: 2979
        line_start: 2973
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    preproc_defs:
    - item_type: preproc_def
      name: PP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_PARTICIPANT
    - item_type: preproc_def
      name: SUB
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_SUBSCRIBER
    - item_type: preproc_def
      name: PUB
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_PUBLISHER
    - item_type: preproc_def
      name: TP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_TOPIC
    - item_type: preproc_def
      name: WR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_WRITER
    - item_type: preproc_def
      name: RD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: ELEMENT_KIND_QOS_READER
    - item_type: preproc_def
      name: MAX_ERRMSG_SZ
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: '300'
    - item_type: preproc_def
      name: NO_INIT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: NO_FINI
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*sysdef'
        type: struct dds_sysdef_system
      - name: '*current'
        type: struct xml_element
      - name: scope
        type: uint32_t
      - name: has_err
        type: bool
      - name: err_line
        type: int
      - name: err_msg[MAX_ERRMSG_SZ]
        type: char
      item_type: struct
      name: parse_sysdef_state
      pos:
        line_end: 196
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    - fields:
      - name: has_err
        type: bool
      - name: err_line
        type: int
      - name: err_msg[MAX_ERRMSG_SZ]
        type: char
      - name: scope
        type: enum parse_type_scope
      - name: '*type_meta_data'
        type: struct dds_sysdef_type_metadata_admin
      - name: '*current'
        type: struct dds_sysdef_type_metadata
      item_type: struct
      name: parse_type_state
      pos:
        line_end: 2988
        line_start: 2981
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
    typedefs:
    - item_type: typedef
      name: '* (*sysdef_xmlp_new_t) (void *src, void *pstate, struct ddsrt_xmlp_callbacks
        *cb)'
      pos:
        line_end: 2926
        line_start: 2926
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_sysdef_parser.c
      type: ddsrt_xmlp_state
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/src/dds__guardcond.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_hash
  - handle_equal
  - dds_handle_server_init
  - dds_handle_server_fini
  - dds_handle_create_int
  - dds_handle_create
  - dds_handle_register_special
  - dds_handle_unpend
  - dds_handle_delete
  - dds_handle_pin_int
  - dds_handle_pin
  - dds_handle_pin_with_origin
  - dds_handle_pin_for_delete
  - dds_handle_drop_childref_and_pin
  - dds_handle_pin_and_ref_with_origin
  - dds_handle_repin
  - dds_handle_unpin
  - dds_handle_add_ref
  - dds_handle_drop_ref
  - dds_handle_unpin_and_drop_ref
  - dds_handle_close
  - dds_handle_close_wait
  - dds_handle_is_not_refd
  source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HANDLES
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
      type_or_value: (INT32_MAX / 128)
    structs:
    - fields:
      - name: '*ht'
        type: struct ddsrt_hh
      - name: count
        type: size_t
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      item_type: struct
      name: dds_handle_server
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsc/src/dds_handles.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/ddsc/dds.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
  types:
    enum:
    - enumerators:
      - name: DDS_INCONSISTENT_TOPIC_STATUS_ID
      - name: DDS_OFFERED_INCOMPATIBLE_QOS_STATUS_ID
      - name: DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS_ID
      - name: DDS_REQUESTED_DEADLINE_MISSED_STATUS_ID
      - name: DDS_OFFERED_DEADLINE_MISSED_STATUS_ID
      - name: DDS_SAMPLE_LOST_STATUS_ID
      - name: DDS_SAMPLE_REJECTED_STATUS_ID
      - name: DDS_DATA_ON_READERS_STATUS_ID
      - name: DDS_DATA_AVAILABLE_STATUS_ID
      - name: DDS_LIVELINESS_LOST_STATUS_ID
      - name: DDS_LIVELINESS_CHANGED_STATUS_ID
      - name: DDS_SUBSCRIPTION_MATCHED_STATUS_ID
      - name: DDS_PUBLICATION_MATCHED_STATUS_ID
      item_type: enum
      name: dds_status_id
      pos:
        line_end: 188
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - enumerators:
      - name: DDS_SST_READ
        value: DDS_READ_SAMPLE_STATE
      - name: DDS_SST_NOT_READ
        value: DDS_NOT_READ_SAMPLE_STATE
      item_type: enum
      name: dds_sample_state
      pos:
        line_end: 273
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - enumerators:
      - name: DDS_VST_NEW
        value: DDS_NEW_VIEW_STATE
      - name: DDS_VST_OLD
        value: DDS_NOT_NEW_VIEW_STATE
      item_type: enum
      name: dds_view_state
      pos:
        line_end: 283
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - enumerators:
      - name: DDS_IST_ALIVE
        value: DDS_ALIVE_INSTANCE_STATE
      - name: DDS_IST_NOT_ALIVE_NO_WRITERS
        value: DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
      - name: DDS_IST_NOT_ALIVE_DISPOSED
        value: DDS_NOT_ALIVE_DISPOSED_INSTANCE_STATE
      item_type: enum
      name: dds_instance_state
      pos:
        line_end: 295
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - enumerators:
      - name: DDS_TOPIC_FILTER_NONE
      - name: DDS_TOPIC_FILTER_SAMPLE_ARG
      - name: DDS_TOPIC_FILTER_SAMPLEINFO_ARG
      - name: DDS_TOPIC_FILTER_SAMPLE
      - name: DDS_TOPIC_FILTER_SAMPLE_SAMPLEINFO_ARG
      item_type: enum
      name: dds_topic_filter_mode
      pos:
        line_end: 1618
        line_start: 1612
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_HAS_DDSI_SERTYPE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_DCPSPARTICIPANT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: ((dds_entity_t) (DDS_MIN_PSEUDO_HANDLE + 1))
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_DCPSTOPIC
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: ((dds_entity_t) (DDS_MIN_PSEUDO_HANDLE + 2))
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_DCPSPUBLICATION
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: ((dds_entity_t) (DDS_MIN_PSEUDO_HANDLE + 3))
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_DCPSSUBSCRIPTION
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: ((dds_entity_t) (DDS_MIN_PSEUDO_HANDLE + 4))
    - item_type: preproc_def
      name: DDS_STATUS_ID_MAX
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (DDS_SUBSCRIPTION_MATCHED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_INCONSISTENT_TOPIC_STATUS
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_INCONSISTENT_TOPIC_STATUS_ID)
    - item_type: preproc_def
      name: DDS_OFFERED_DEADLINE_MISSED_STATUS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_OFFERED_DEADLINE_MISSED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_REQUESTED_DEADLINE_MISSED_STATUS
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_REQUESTED_DEADLINE_MISSED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_OFFERED_INCOMPATIBLE_QOS_STATUS
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_OFFERED_INCOMPATIBLE_QOS_STATUS_ID)
    - item_type: preproc_def
      name: DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS_ID)
    - item_type: preproc_def
      name: DDS_SAMPLE_LOST_STATUS
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_SAMPLE_LOST_STATUS_ID)
    - item_type: preproc_def
      name: DDS_SAMPLE_REJECTED_STATUS
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_SAMPLE_REJECTED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_DATA_ON_READERS_STATUS
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_DATA_ON_READERS_STATUS_ID)
    - item_type: preproc_def
      name: DDS_DATA_AVAILABLE_STATUS
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_DATA_AVAILABLE_STATUS_ID)
    - item_type: preproc_def
      name: DDS_LIVELINESS_LOST_STATUS
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_LIVELINESS_LOST_STATUS_ID)
    - item_type: preproc_def
      name: DDS_LIVELINESS_CHANGED_STATUS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_LIVELINESS_CHANGED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_PUBLICATION_MATCHED_STATUS
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_PUBLICATION_MATCHED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_SUBSCRIPTION_MATCHED_STATUS
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: (1u << DDS_SUBSCRIPTION_MATCHED_STATUS_ID)
    - item_type: preproc_def
      name: DDS_HAS_CREATE_TOPIC_SERTYPE
      pos:
        line_end: 1328
        line_start: 1327
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_HAS_READCDR
      pos:
        line_end: 4265
        line_start: 4264
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type_or_value: '1'
    structs:
    - fields:
      - name: sample_state
        type: dds_sample_state_t
      - name: view_state
        type: dds_view_state_t
      - name: instance_state
        type: dds_instance_state_t
      - name: valid_data
        type: bool
      - name: source_timestamp
        type: dds_time_t
      - name: instance_handle
        type: dds_instance_handle_t
      - name: publication_handle
        type: dds_instance_handle_t
      - name: disposed_generation_count
        type: uint32_t
      - name: no_writers_generation_count
        type: uint32_t
      - name: sample_rank
        type: uint32_t
      - name: generation_rank
        type: uint32_t
      - name: absolute_generation_rank
        type: uint32_t
      item_type: struct
      name: dds_sample_info
      pos:
        line_end: 327
        line_start: 299
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - fields:
      - name: key
        type: dds_guid_t
      - name: '*qos'
        type: dds_qos_t
      item_type: struct
      name: dds_builtintopic_participant
      pos:
        line_end: 340
        line_start: 336
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - fields:
      - name: d[16]
        type: unsigned char
      item_type: struct
      name: dds_builtintopic_topic_key
      pos:
        line_end: 349
        line_start: 347
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - fields:
      - name: key
        type: dds_builtintopic_topic_key_t
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      - name: '*qos'
        type: dds_qos_t
      item_type: struct
      name: dds_builtintopic_topic
      pos:
        line_end: 361
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - fields:
      - name: key
        type: dds_guid_t
      - name: participant_key
        type: dds_guid_t
      - name: participant_instance_handle
        type: dds_instance_handle_t
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      - name: '*qos'
        type: dds_qos_t
      item_type: struct
      name: dds_builtintopic_endpoint
      pos:
        line_end: 376
        line_start: 368
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    - fields:
      - name: mode
        type: enum dds_topic_filter_mode
      - name: f
        type: union dds_topic_filter_function_union
      - name: '*arg'
        type: void
      item_type: struct
      name: dds_topic_filter
      pos:
        line_end: 1641
        line_start: 1637
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
    typedefs:
    - item_type: typedef
      name: dds_typeid_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: ddsi_typeid
    - item_type: typedef
      name: dds_typeinfo_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: ddsi_typeinfo
    - item_type: typedef
      name: dds_typeobj_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: ddsi_typeobj
    - item_type: typedef
      name: (*dds_topic_filter_sample_fn) (const void * sample)
      pos:
        line_end: 1565
        line_start: 1565
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: bool
    - item_type: typedef
      name: (*dds_topic_filter_sample_arg_fn) (const void * sample, void * arg)
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: bool
    - item_type: typedef
      name: (*dds_topic_filter_sampleinfo_arg_fn) (const dds_sample_info_t * sampleinfo,
        void * arg)
      pos:
        line_end: 1581
        line_start: 1581
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: bool
    - item_type: typedef
      name: (*dds_topic_filter_sample_sampleinfo_arg_fn) (const void * sample, const
        dds_sample_info_t * sampleinfo, void * arg)
      pos:
        line_end: 1589
        line_start: 1589
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: bool
    - item_type: typedef
      name: dds_topic_filter_fn
      pos:
        line_end: 1597
        line_start: 1597
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: dds_topic_filter_sample_fn
    - item_type: typedef
      name: dds_topic_filter_arg_fn
      pos:
        line_end: 1605
        line_start: 1605
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: dds_topic_filter_sample_arg_fn
    - item_type: typedef
      name: (*dds_querycondition_filter_fn) (const void * sample)
      pos:
        line_end: 2593
        line_start: 2593
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: bool
    - item_type: typedef
      name: dds_attach_t
      pos:
        line_end: 2741
        line_start: 2741
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: intptr_t
    - item_type: typedef
      name: "(*dds_read_with_collector_fn_t) (\n  void *arg,\n  const dds_sample_info_t
        *si,\n  const struct ddsi_sertype *st,\n  struct ddsi_serdata *sd)"
      pos:
        line_end: 4137
        line_start: 4133
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
      type: dds_return_t
    union:
    - fields:
      - name: sample
        type: dds_topic_filter_sample_fn
      - name: sample_arg
        type: dds_topic_filter_sample_arg_fn
      - name: sampleinfo_arg
        type: dds_topic_filter_sampleinfo_arg_fn
      - name: sample_sampleinfo_arg
        type: dds_topic_filter_sample_sampleinfo_arg_fn
      item_type: union
      name: dds_topic_filter_function_union
      pos:
        line_end: 1630
        line_start: 1625
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/dds.h
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos_provider.h
  types:
    enum:
    - enumerators:
      - name: DDS_PARTICIPANT_QOS
      - name: DDS_SUBSCRIBER_QOS
      - name: DDS_PUBLISHER_QOS
      - name: DDS_READER_QOS
      - name: DDS_TOPIC_QOS
      - name: DDS_WRITER_QOS
      item_type: enum
      name: dds_qos_kind
      pos:
        line_end: 41
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos_provider.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dds_qos_kind_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos_provider.h
      type: dds_qos_kind
    - item_type: typedef
      name: dds_qos_provider_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos_provider.h
      type: dds_qos_provider
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_LUNSET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type_or_value: ((void *) 0)
    structs: []
    typedefs:
    - item_type: typedef
      name: (*dds_on_inconsistent_topic_fn) (dds_entity_t topic, const dds_inconsistent_topic_status_t
        status, void* arg)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_liveliness_lost_fn) (dds_entity_t writer, const dds_liveliness_lost_status_t
        status, void* arg)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_offered_deadline_missed_fn) (dds_entity_t writer, const dds_offered_deadline_missed_status_t
        status, void* arg)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_offered_incompatible_qos_fn) (dds_entity_t writer, const dds_offered_incompatible_qos_status_t
        status, void* arg)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_data_on_readers_fn) (dds_entity_t subscriber, void* arg)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_sample_lost_fn) (dds_entity_t reader, const dds_sample_lost_status_t
        status, void* arg)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_data_available_fn) (dds_entity_t reader, void* arg)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_sample_rejected_fn) (dds_entity_t reader, const dds_sample_rejected_status_t
        status, void* arg)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_liveliness_changed_fn) (dds_entity_t reader, const dds_liveliness_changed_status_t
        status, void* arg)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_requested_deadline_missed_fn) (dds_entity_t reader, const dds_requested_deadline_missed_status_t
        status, void* arg)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_requested_incompatible_qos_fn) (dds_entity_t reader, const dds_requested_incompatible_qos_status_t
        status, void* arg)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_publication_matched_fn) (dds_entity_t writer, const dds_publication_matched_status_t  status,
        void* arg)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: (*dds_on_subscription_matched_fn) (dds_entity_t reader, const dds_subscription_matched_status_t  status,
        void* arg)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: void
    - item_type: typedef
      name: dds_listener_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_listener.h
      type: dds_listener
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
  types:
    enum:
    - enumerators:
      - name: DDS_WRITERDATALIFECYCLE_QOS_POLICY_ID
      - name: DDS_TOPICDATA_QOS_POLICY_ID
      - name: DDS_TRANSPORTPRIORITY_QOS_POLICY_ID
      - name: DDS_DURABILITYSERVICE_QOS_POLICY_ID
      - name: DDS_TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID
      - name: DDS_OWNERSHIP_QOS_POLICY_ID
      - name: DDS_OWNERSHIPSTRENGTH_QOS_POLICY_ID
      - name: DDS_PARTITION_QOS_POLICY_ID
      - name: DDS_HISTORY_QOS_POLICY_ID
      - name: DDS_ENTITYFACTORY_QOS_POLICY_ID
      - name: DDS_RESOURCELIMITS_QOS_POLICY_ID
      - name: DDS_INVALID_QOS_POLICY_ID
      - name: DDS_DURABILITY_QOS_POLICY_ID
      - name: DDS_READERDATALIFECYCLE_QOS_POLICY_ID
      - name: DDS_GROUPDATA_QOS_POLICY_ID
      - name: DDS_LIFESPAN_QOS_POLICY_ID
      - name: DDS_PROPERTY_QOS_POLICY_ID
      - name: DDS_DEADLINE_QOS_POLICY_ID
      - name: DDS_USERDATA_QOS_POLICY_ID
      - name: DDS_PRESENTATION_QOS_POLICY_ID
      - name: DDS_LATENCYBUDGET_QOS_POLICY_ID
      - name: DDS_LIVELINESS_QOS_POLICY_ID
      - name: DDS_TIMEBASEDFILTER_QOS_POLICY_ID
      - name: DDS_DESTINATIONORDER_QOS_POLICY_ID
      - name: DDS_RELIABILITY_QOS_POLICY_ID
      - name: DDS_DATA_REPRESENTATION_QOS_POLICY_ID
      item_type: enum
      name: dds_qos_policy_id
      pos:
        line_end: 58
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_DURABILITY_VOLATILE
      - name: DDS_DURABILITY_TRANSIENT
      - name: DDS_DURABILITY_TRANSIENT_LOCAL
      - name: DDS_DURABILITY_PERSISTENT
      item_type: enum
      name: dds_durability_kind
      pos:
        line_end: 78
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_HISTORY_KEEP_LAST
      - name: DDS_HISTORY_KEEP_ALL
      item_type: enum
      name: dds_history_kind
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_OWNERSHIP_SHARED
      - name: DDS_OWNERSHIP_EXCLUSIVE
      item_type: enum
      name: dds_ownership_kind
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_LIVELINESS_AUTOMATIC
      - name: DDS_LIVELINESS_MANUAL_BY_TOPIC
      - name: DDS_LIVELINESS_MANUAL_BY_PARTICIPANT
      item_type: enum
      name: dds_liveliness_kind
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_RELIABILITY_BEST_EFFORT
      - name: DDS_RELIABILITY_RELIABLE
      item_type: enum
      name: dds_reliability_kind
      pos:
        line_end: 123
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_DESTINATIONORDER_BY_RECEPTION_TIMESTAMP
      - name: DDS_DESTINATIONORDER_BY_SOURCE_TIMESTAMP
      item_type: enum
      name: dds_destination_order_kind
      pos:
        line_end: 134
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_PRESENTATION_INSTANCE
      - name: DDS_PRESENTATION_GROUP
      - name: DDS_PRESENTATION_TOPIC
      item_type: enum
      name: dds_presentation_access_scope_kind
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_IGNORELOCAL_NONE
      - name: DDS_IGNORELOCAL_PARTICIPANT
      - name: DDS_IGNORELOCAL_PROCESS
      item_type: enum
      name: dds_ignorelocal_kind
      pos:
        line_end: 158
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    - enumerators:
      - name: DDS_TYPE_CONSISTENCY_DISALLOW_TYPE_COERCION
      - name: DDS_TYPE_CONSISTENCY_ALLOW_TYPE_COERCION
      item_type: enum
      name: dds_type_consistency_kind
      pos:
        line_end: 169
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_LENGTH_UNLIMITED
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
      type_or_value: '-1'
    structs: []
    typedefs:
    - item_type: typedef
      name: dds_qos_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
      type: dds_qos
    - item_type: typedef
      name: dds_data_representation_id_t
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qosdefs.h
      type: int16_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_HAS_PROPERTY_LIST_QOS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_qos.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_err_nr
  - dds_err_line
  - dds_err_file_id
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_ERR_NR_MASK
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
      type_or_value: '0x000000ff'
    - item_type: preproc_def
      name: DDS_ERR_LINE_MASK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
      type_or_value: '0x003fff00'
    - item_type: preproc_def
      name: DDS_ERR_FILE_ID_MASK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_error.h
      type_or_value: '0x7fc00000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_statistics.h
  types:
    enum:
    - enumerators:
      - name: DDS_STAT_KIND_UINT32
      - name: DDS_STAT_KIND_LENGTHTIME
      - name: DDS_STAT_KIND_UINT64
      item_type: enum
      name: dds_stat_kind
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_statistics.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: kind
        type: enum dds_stat_kind
      - name: u
        type: "union {\n    uint32_t u32; /**< used if kind == DDS_STAT_KIND_UINT32
          */\n    uint64_t u64; /**< used if kind == DDS_STAT_KIND_UINT64 */\n    uint64_t
          lengthtime; /**< used if kind == DDS_STAT_KIND_LENGTHTIME */\n  }"
      item_type: struct
      name: dds_stat_keyvalue
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_statistics.h
    - fields:
      - name: entity
        type: dds_entity_t
      - name: opaque
        type: uint64_t
      - name: time
        type: dds_time_t
      - name: count
        type: size_t
      - name: kv[]
        type: struct dds_stat_keyvalue
      item_type: struct
      name: dds_statistics
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_statistics.h
    typedefs: []
    union: []
- function_names:
  - DDS_OP
  - DDS_OP_TYPE
  - DDS_OP_TYPE_FLAGS
  - DDS_OP_SUBTYPE
  - DDS_OP_FLAGS
  - DDS_OP_ADR_JSR
  - DDS_OP_ADR_PLM
  - DDS_OP_LENGTH
  - DDS_OP_JUMP
  - DDS_OP_ADR_JMP
  - DDS_JEQ_TYPE
  - DDS_JEQ_TYPE_FLAGS
  - DDS_PLM_FLAGS
  - DDS_OP_FLAGS_SZ
  - DDS_OP_TYPE_SZ
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
  types:
    enum:
    - enumerators:
      - name: DDS_OP_RTS
        value: 0x00 << 24
      - name: DDS_OP_JEQ
        value: 0x03 << 24
      - name: DDS_OP_ADR
        value: 0x01 << 24
      - name: DDS_OP_DLC
        value: 0x04 << 24
      - name: DDS_OP_JSR
        value: 0x02 << 24
      - name: DDS_OP_PLC
        value: 0x05 << 24
      - name: DDS_OP_PLM
        value: 0x06 << 24
      - name: DDS_OP_KOF
        value: 0x07 << 24
      - name: DDS_OP_JEQ4
        value: 0x08 << 24
      - name: DDS_OP_MID
        value: 0x09 << 24
      item_type: enum
      name: dds_stream_opcode
      pos:
        line_end: 386
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    - enumerators:
      - name: DDS_OP_VAL_1BY
        value: '0x01'
      - name: DDS_OP_VAL_2BY
        value: '0x02'
      - name: DDS_OP_VAL_4BY
        value: '0x03'
      - name: DDS_OP_VAL_8BY
        value: '0x04'
      - name: DDS_OP_VAL_STR
        value: '0x05'
      - name: DDS_OP_VAL_BST
        value: '0x06'
      - name: DDS_OP_VAL_SEQ
        value: '0x07'
      - name: DDS_OP_VAL_ARR
        value: '0x08'
      - name: DDS_OP_VAL_UNI
        value: '0x09'
      - name: DDS_OP_VAL_STU
        value: '0x0a'
      - name: DDS_OP_VAL_EXT
        value: '0x0d'
      - name: DDS_OP_VAL_BSQ
        value: '0x0b'
      - name: DDS_OP_VAL_ENU
        value: '0x0c'
      - name: DDS_OP_VAL_BWSTR
        value: '0x11'
      - name: DDS_OP_VAL_BMK
        value: '0x0f'
      - name: DDS_OP_VAL_WSTR
        value: '0x10'
      - name: DDS_OP_VAL_WCHAR
        value: '0x12'
      - name: DDS_OP_VAL_BLN
        value: '0x0e'
      item_type: enum
      name: dds_stream_typecode
      pos:
        line_end: 411
        line_start: 392
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    - enumerators:
      - name: DDS_OP_TYPE_1BY
        value: DDS_OP_VAL_1BY << 16
      - name: DDS_OP_TYPE_8BY
        value: DDS_OP_VAL_8BY << 16
      - name: DDS_OP_TYPE_STR
        value: DDS_OP_VAL_STR << 16
      - name: DDS_OP_TYPE_2BY
        value: DDS_OP_VAL_2BY << 16
      - name: DDS_OP_TYPE_4BY
        value: DDS_OP_VAL_4BY << 16
      - name: DDS_OP_TYPE_BST
        value: DDS_OP_VAL_BST << 16
      - name: DDS_OP_TYPE_SEQ
        value: DDS_OP_VAL_SEQ << 16
      - name: DDS_OP_TYPE_ARR
        value: DDS_OP_VAL_ARR << 16
      - name: DDS_OP_TYPE_UNI
        value: DDS_OP_VAL_UNI << 16
      - name: DDS_OP_TYPE_STU
        value: DDS_OP_VAL_STU << 16
      - name: DDS_OP_TYPE_ENU
        value: DDS_OP_VAL_ENU << 16
      - name: DDS_OP_TYPE_EXT
        value: DDS_OP_VAL_EXT << 16
      - name: DDS_OP_TYPE_BMK
        value: DDS_OP_VAL_BMK << 16
      - name: DDS_OP_TYPE_BLN
        value: DDS_OP_VAL_BLN << 16
      - name: DDS_OP_TYPE_BWSTR
        value: DDS_OP_VAL_BWSTR << 16
      - name: DDS_OP_TYPE_WCHAR
        value: DDS_OP_VAL_WCHAR << 16
      - name: DDS_OP_TYPE_WSTR
        value: DDS_OP_VAL_WSTR << 16
      - name: DDS_OP_TYPE_BSQ
        value: DDS_OP_VAL_BSQ << 16
      item_type: enum
      name: dds_stream_typecode_primary
      pos:
        line_end: 437
        line_start: 418
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    - enumerators:
      - name: DDS_OP_SUBTYPE_1BY
        value: DDS_OP_VAL_1BY << 8
      - name: DDS_OP_SUBTYPE_STR
        value: DDS_OP_VAL_STR << 8
      - name: DDS_OP_SUBTYPE_2BY
        value: DDS_OP_VAL_2BY << 8
      - name: DDS_OP_SUBTYPE_8BY
        value: DDS_OP_VAL_8BY << 8
      - name: DDS_OP_SUBTYPE_4BY
        value: DDS_OP_VAL_4BY << 8
      - name: DDS_OP_SUBTYPE_BST
        value: DDS_OP_VAL_BST << 8
      - name: DDS_OP_SUBTYPE_SEQ
        value: DDS_OP_VAL_SEQ << 8
      - name: DDS_OP_SUBTYPE_ARR
        value: DDS_OP_VAL_ARR << 8
      - name: DDS_OP_SUBTYPE_UNI
        value: DDS_OP_VAL_UNI << 8
      - name: DDS_OP_SUBTYPE_STU
        value: DDS_OP_VAL_STU << 8
      - name: DDS_OP_SUBTYPE_BLN
        value: DDS_OP_VAL_BLN << 8
      - name: DDS_OP_SUBTYPE_ENU
        value: DDS_OP_VAL_ENU << 8
      - name: DDS_OP_SUBTYPE_WSTR
        value: DDS_OP_VAL_WSTR << 8
      - name: DDS_OP_SUBTYPE_BMK
        value: DDS_OP_VAL_BMK << 8
      - name: DDS_OP_SUBTYPE_WCHAR
        value: DDS_OP_VAL_WCHAR << 8
      - name: DDS_OP_SUBTYPE_BWSTR
        value: DDS_OP_VAL_BWSTR << 8
      - name: DDS_OP_SUBTYPE_BSQ
        value: DDS_OP_VAL_BSQ << 8
      item_type: enum
      name: dds_stream_typecode_subtype
      pos:
        line_end: 477
        line_start: 459
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_OP_MASK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0xff000000'
    - item_type: preproc_def
      name: DDS_OP_TYPE_FLAGS_MASK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x00800000'
    - item_type: preproc_def
      name: DDS_OP_TYPE_MASK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x007f0000'
    - item_type: preproc_def
      name: DDS_OP_SUBTYPE_MASK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x0000ff00'
    - item_type: preproc_def
      name: DDS_OP_JMP_MASK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x0000ffff'
    - item_type: preproc_def
      name: DDS_OP_FLAGS_MASK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x000000ff'
    - item_type: preproc_def
      name: DDS_JEQ_TYPE_FLAGS_MASK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x00800000'
    - item_type: preproc_def
      name: DDS_JEQ_TYPE_MASK
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x007f0000'
    - item_type: preproc_def
      name: DDS_PLM_FLAGS_MASK
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x00ff0000'
    - item_type: preproc_def
      name: DDS_KOF_OFFSET_MASK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x0000ffff'
    - item_type: preproc_def
      name: DDS_MID_OFFSET_MASK
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: '0x0000ffff'
    - item_type: preproc_def
      name: DDS_OP_FLAG_EXT
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 23)
    - item_type: preproc_def
      name: DDS_OP_FLAG_KEY
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: DDS_OP_FLAG_DEF
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: DDS_OP_FLAG_FP
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: DDS_OP_FLAG_SGN
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: DDS_OP_FLAG_MU
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: DDS_OP_FLAG_BASE
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: DDS_OP_FLAG_OPT
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 5)
    - item_type: preproc_def
      name: DDS_OP_FLAG_SZ_SHIFT
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (6)
    - item_type: preproc_def
      name: DDS_OP_FLAG_SZ_MASK
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (3u << DDS_OP_FLAG_SZ_SHIFT)
    - item_type: preproc_def
      name: DDS_TOPIC_NO_OPTIMIZE
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: DDS_TOPIC_FIXED_KEY
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: DDS_TOPIC_CONTAINS_UNION
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: DDS_TOPIC_FIXED_SIZE
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: DDS_TOPIC_FIXED_KEY_XCDR2
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 5)
    - item_type: preproc_def
      name: DDS_TOPIC_XTYPES_METADATA
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 6)
    - item_type: preproc_def
      name: DDS_TOPIC_RESTRICT_DATA_REPRESENTATION
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 7)
    - item_type: preproc_def
      name: DDS_TOPIC_KEY_MUTABLE
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 8)
    - item_type: preproc_def
      name: DDS_TOPIC_KEY_APPENDABLE
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 9)
    - item_type: preproc_def
      name: DDS_TOPIC_FIXED_KEY_XCDR2_KEYHASH
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 10)
    - item_type: preproc_def
      name: DDS_TOPIC_KEY_SEQUENCE
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 11)
    - item_type: preproc_def
      name: DDS_TOPIC_KEY_ARRAY_NONPRIM
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (1u << 12)
    - item_type: preproc_def
      name: DDS_FIXED_KEY_MAX_SIZE
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_opcodes.h
      type_or_value: (16)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_loaned_sample_ref
  - dds_loaned_sample_unref
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
  types:
    enum:
    - enumerators:
      - name: DDS_LOANED_SAMPLE_STATE_UNITIALIZED
      - name: DDS_LOANED_SAMPLE_STATE_RAW_KEY
      - name: DDS_LOANED_SAMPLE_STATE_SERIALIZED_KEY
      - name: DDS_LOANED_SAMPLE_STATE_RAW_DATA
      - name: DDS_LOANED_SAMPLE_STATE_SERIALIZED_DATA
      item_type: enum
      name: dds_loaned_sample_state
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    - enumerators:
      - name: DDS_LOAN_ORIGIN_KIND_HEAP
      - name: DDS_LOAN_ORIGIN_KIND_PSMX
      item_type: enum
      name: dds_loaned_sample_origin_kind
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    preproc_defs: []
    structs:
    - fields:
      - name: free
        type: dds_loaned_sample_free_f
      item_type: struct
      name: dds_loaned_sample_ops
      pos:
        line_end: 68
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    - fields:
      - name: origin_kind
        type: enum dds_loaned_sample_origin_kind
      - name: '*psmx_endpoint'
        type: struct dds_psmx_endpoint
      item_type: struct
      name: dds_loaned_sample_origin
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    - fields:
      - name: ops
        type: dds_loaned_sample_ops_t
      - name: loan_origin
        type: struct dds_loaned_sample_origin
      - name: '* metadata'
        type: struct dds_psmx_metadata
      - name: '* sample_ptr'
        type: void
      - name: refc
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: dds_loaned_sample
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
    typedefs:
    - item_type: typedef
      name: dds_loan_data_type_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
      type: uint32_t
    - item_type: typedef
      name: (*dds_loaned_sample_free_f) (struct dds_loaned_sample *loaned_sample)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_loaned_sample.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: last_instance_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_offered_deadline_missed_status
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: last_policy_id
        type: uint32_t
      item_type: struct
      name: dds_offered_incompatible_qos_status
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: current_count
        type: uint32_t
      - name: current_count_change
        type: int32_t
      - name: last_subscription_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_publication_matched_status
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      item_type: struct
      name: dds_liveliness_lost_status
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: current_count
        type: uint32_t
      - name: current_count_change
        type: int32_t
      - name: last_publication_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_subscription_matched_status
      pos:
        line_end: 92
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: last_reason
        type: dds_sample_rejected_status_kind
      - name: last_instance_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_sample_rejected_status
      pos:
        line_end: 120
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: alive_count
        type: uint32_t
      - name: not_alive_count
        type: uint32_t
      - name: alive_count_change
        type: int32_t
      - name: not_alive_count_change
        type: int32_t
      - name: last_publication_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_liveliness_changed_status
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: last_instance_handle
        type: dds_instance_handle_t
      item_type: struct
      name: dds_requested_deadline_missed_status
      pos:
        line_end: 148
        line_start: 143
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      - name: last_policy_id
        type: uint32_t
      item_type: struct
      name: dds_requested_incompatible_qos_status
      pos:
        line_end: 161
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      item_type: struct
      name: dds_sample_lost_status
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    - fields:
      - name: total_count
        type: uint32_t
      - name: total_count_change
        type: int32_t
      item_type: struct
      name: dds_inconsistent_topic_status
      pos:
        line_end: 185
        line_start: 181
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_status.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
  types:
    enum:
    - enumerators:
      - name: DDS_PSMX_ENDPOINT_TYPE_UNSET
      - name: DDS_PSMX_ENDPOINT_TYPE_READER
      - name: DDS_PSMX_ENDPOINT_TYPE_WRITER
      item_type: enum
      name: dds_psmx_endpoint_type
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_MAX_PSMX_INSTANCES
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type_or_value: 8 // No particular reason for this specific number, except that
        it's probably enough, usually.
    - item_type: preproc_def
      name: DDS_PSMX_FEATURE_SHARED_MEMORY
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type_or_value: '1ul << 0 '
    - item_type: preproc_def
      name: DDS_PSMX_FEATURE_ZERO_COPY
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type_or_value: '1ul << 1 '
    structs:
    - fields:
      - name: sample_state
        type: dds_loaned_sample_state_t
      - name: data_type
        type: dds_loan_data_type_t
      - name: instance_id
        type: dds_psmx_instance_id_t
      - name: sample_size
        type: uint32_t
      - name: guid
        type: dds_guid_t
      - name: timestamp
        type: dds_time_t
      - name: statusinfo
        type: uint32_t
      - name: cdr_identifier
        type: uint16_t
      - name: cdr_options
        type: uint16_t
      item_type: struct
      name: dds_psmx_metadata
      pos:
        line_end: 230
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: x[16]
        type: uint8_t
      item_type: struct
      name: dds_psmx_node_identifier
      pos:
        line_end: 238
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: type_qos_supported
        type: dds_psmx_type_qos_supported_fn
      - name: create_topic
        type: dds_psmx_create_topic_fn
      - name: delete_topic
        type: dds_psmx_delete_topic_fn
      - name: deinit
        type: dds_psmx_deinit_fn
      - name: get_node_id
        type: dds_psmx_get_node_identifier_fn
      - name: supported_features
        type: dds_psmx_supported_features_fn
      - name: create_topic_with_type
        type: dds_psmx_create_topic_with_type_fn
      - name: delete_psmx
        type: dds_psmx_delete_fn
      item_type: struct
      name: dds_psmx_ops
      pos:
        line_end: 397
        line_start: 388
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: create_endpoint
        type: dds_psmx_create_endpoint_fn
      - name: delete_endpoint
        type: dds_psmx_delete_endpoint_fn
      item_type: struct
      name: dds_psmx_topic_ops
      pos:
        line_end: 445
        line_start: 442
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: request_loan
        type: dds_psmx_endpoint_request_loan_fn
      - name: write
        type: dds_psmx_endpoint_write_fn
      - name: take
        type: dds_psmx_endpoint_take_fn
      - name: on_data_available
        type: dds_psmx_endpoint_on_data_available_fn
      - name: write_with_key
        type: dds_psmx_endpoint_write_with_key_fn
      item_type: struct
      name: dds_psmx_endpoint_ops
      pos:
        line_end: 571
        line_start: 565
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: ops
        type: dds_psmx_ops_t
      - name: '*instance_name'
        type: char
      - name: priority
        type: int32_t
      - name: '*locator'
        type: struct ddsi_locator
      - name: instance_id
        type: dds_psmx_instance_id_t
      - name: '*psmx_topics'
        type: void
      item_type: struct
      name: dds_psmx
      pos:
        line_end: 588
        line_start: 581
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: ops
        type: dds_psmx_topic_ops_t
      - name: '*psmx_instance'
        type: struct dds_psmx
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      - name: data_type
        type: dds_loan_data_type_t
      - name: '*psmx_endpoints'
        type: void
      - name: data_type_props
        type: dds_data_type_properties_t
      item_type: struct
      name: dds_psmx_topic
      pos:
        line_end: 602
        line_start: 594
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    - fields:
      - name: ops
        type: dds_psmx_endpoint_ops_t
      - name: '*psmx_topic'
        type: struct dds_psmx_topic
      - name: endpoint_type
        type: dds_psmx_endpoint_type_t
      item_type: struct
      name: dds_psmx_endpoint
      pos:
        line_end: 612
        line_start: 608
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
    typedefs:
    - item_type: typedef
      name: dds_psmx_instance_id_t
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: uint32_t
    - item_type: typedef
      name: dds_psmx_features_t
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: uint32_t
    - item_type: typedef
      name: (*dds_psmx_type_qos_supported_fn) (struct dds_psmx *psmx_instance, dds_psmx_endpoint_type_t
        forwhat, dds_data_type_properties_t data_type_props, const struct dds_qos
        *qos)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: bool
    - item_type: typedef
      name: "* (*dds_psmx_create_topic_with_type_fn) (\n    struct dds_psmx *psmx_instance,\n
        \   const char *topic_name,\n    const char *type_name,\n    dds_data_type_properties_t
        data_type_props,\n    const struct ddsi_type *type_definition,\n    uint32_t
        sizeof_type)"
      pos:
        line_end: 288
        line_start: 282
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_psmx_topic
    - item_type: typedef
      name: (*dds_psmx_delete_topic_fn) (struct dds_psmx_topic *psmx_topic)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    - item_type: typedef
      name: "* (*dds_psmx_create_topic_fn) (\n    struct dds_psmx * psmx_instance,\n
        \   const char * topic_name,\n    const char * type_name,\n    dds_data_type_properties_t
        data_type_props)"
      pos:
        line_end: 327
        line_start: 323
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_psmx_topic
    - item_type: typedef
      name: (*dds_psmx_delete_fn) (struct dds_psmx *psmx_instance)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: void
    - item_type: typedef
      name: (*dds_psmx_deinit_fn) (struct dds_psmx *psmx_instance)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    - item_type: typedef
      name: (*dds_psmx_get_node_identifier_fn) (const struct dds_psmx *psmx_instance)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_psmx_node_identifier_t
    - item_type: typedef
      name: (*dds_psmx_supported_features_fn) (const struct dds_psmx *psmx_instance)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_psmx_features_t
    - item_type: typedef
      name: '* (*dds_psmx_create_endpoint_fn) (struct dds_psmx_topic *psmx_topic,
        const struct dds_qos *qos, dds_psmx_endpoint_type_t endpoint_type)'
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_psmx_endpoint
    - item_type: typedef
      name: (*dds_psmx_delete_endpoint_fn) (struct dds_psmx_endpoint *psmx_endpoint)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    - item_type: typedef
      name: '* (*dds_psmx_endpoint_request_loan_fn) (struct dds_psmx_endpoint *psmx_endpoint,
        uint32_t size_requested)'
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_loaned_sample_t
    - item_type: typedef
      name: (*dds_psmx_endpoint_write_with_key_fn) (struct dds_psmx_endpoint *psmx_endpoint,
        dds_loaned_sample_t *data, size_t keysz, const void *key)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    - item_type: typedef
      name: (*dds_psmx_endpoint_write_fn) (struct dds_psmx_endpoint *psmx_endpoint,
        dds_loaned_sample_t *data)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    - item_type: typedef
      name: '* (*dds_psmx_endpoint_take_fn) (struct dds_psmx_endpoint *psmx_endpoint)'
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_loaned_sample_t
    - item_type: typedef
      name: (*dds_psmx_endpoint_on_data_available_fn) (struct dds_psmx_endpoint *psmx_endpoint,
        dds_entity_t reader)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_psmx.h
      type: dds_return_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_internal_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_PARTICIPANT_FLAGS_NO_DISCOVERY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_internal_api.h
      type_or_value: (1u | 2u)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_MIN_PSEUDO_HANDLE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
      type_or_value: ((dds_entity_t)0x7fff0000)
    - item_type: preproc_def
      name: DDS_CYCLONEDDS_HANDLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
      type_or_value: ((dds_entity_t)(DDS_MIN_PSEUDO_HANDLE + 256))
    structs:
    - fields:
      - name: v[16]
        type: uint8_t
      item_type: struct
      name: dds_builtintopic_guid
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
    typedefs:
    - item_type: typedef
      name: dds_entity_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
      type: int32_t
    - item_type: typedef
      name: dds_guid_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_basic_types.h
      type: dds_builtintopic_guid
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_UNION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_BITMASK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_ENUM
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_STRUCT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_STRING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_BSTRING
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_WSTRING
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_SEQUENCE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_BSEQUENCE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_ARRAY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_OPTIONAL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0x1ull << 10)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_EXTERNAL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_BWSTRING
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_WCHAR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0ull)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_APPENDABLE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0x1ull << 15)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_MUTABLE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0x1ull << 16)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_DEFAULTS_TO_XCDR2
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (DDS_DATA_TYPE_CONTAINS_OPTIONAL)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_DEFAULTS_TO_XCDR2_MASK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (DDS_DATA_TYPE_CONTAINS_OPTIONAL | DDS_DATA_TYPE_CONTAINS_APPENDABLE
        | DDS_DATA_TYPE_CONTAINS_MUTABLE)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_CONTAINS_KEY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0x1ull << 12)
    - item_type: preproc_def
      name: DDS_DATA_TYPE_IS_MEMCPY_SAFE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type_or_value: (0x1ull << 63)
    structs: []
    typedefs:
    - item_type: typedef
      name: dds_data_type_properties_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_data_type_properties.h
      type: uint64_t
    union: []
- function_names:
  - DDS_DYNAMIC_TYPE_SPEC
  - DDS_DYNAMIC_TYPE_SPEC_PRIM
  - DDS_DYNAMIC_MEMBER_
  - DDS_DYNAMIC_MEMBER_ID
  - DDS_DYNAMIC_MEMBER_ID_PRIM
  - DDS_DYNAMIC_MEMBER
  - DDS_DYNAMIC_MEMBER_PRIM
  - DDS_DYNAMIC_UNION_MEMBER_
  - DDS_DYNAMIC_UNION_MEMBER_ID
  - DDS_DYNAMIC_UNION_MEMBER_ID_PRIM
  - DDS_DYNAMIC_UNION_MEMBER
  - DDS_DYNAMIC_UNION_MEMBER_PRIM
  - DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID
  - DDS_DYNAMIC_UNION_MEMBER_DEFAULT_ID_PRIM
  - DDS_DYNAMIC_UNION_MEMBER_DEFAULT
  - DDS_DYNAMIC_UNION_MEMBER_DEFAULT_PRIM
  - DDS_DYNAMIC_ENUM_LITERAL_VALUE
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
  types:
    enum:
    - enumerators:
      - name: DDS_DYNAMIC_INT32
      - name: DDS_DYNAMIC_UINT64
      - name: DDS_DYNAMIC_INT8
      - name: DDS_DYNAMIC_STRING8
      - name: DDS_DYNAMIC_ALIAS
      - name: DDS_DYNAMIC_STRUCTURE
      - name: DDS_DYNAMIC_BITSET
      - name: DDS_DYNAMIC_NONE
      - name: DDS_DYNAMIC_INT16
      - name: DDS_DYNAMIC_UINT32
      - name: DDS_DYNAMIC_FLOAT128
      - name: DDS_DYNAMIC_CHAR16
      - name: DDS_DYNAMIC_BITMASK
      - name: DDS_DYNAMIC_MAP
      - name: DDS_DYNAMIC_BYTE
      - name: DDS_DYNAMIC_UINT16
      - name: DDS_DYNAMIC_FLOAT64
      - name: DDS_DYNAMIC_CHAR8
      - name: DDS_DYNAMIC_ENUMERATION
      - name: DDS_DYNAMIC_SEQUENCE
      - name: DDS_DYNAMIC_BOOLEAN
      - name: DDS_DYNAMIC_INT64
      - name: DDS_DYNAMIC_FLOAT32
      - name: DDS_DYNAMIC_STRING16
      - name: DDS_DYNAMIC_UINT8
      - name: DDS_DYNAMIC_ARRAY
      - name: DDS_DYNAMIC_UNION
      item_type: enum
      name: dds_dynamic_type_kind
      pos:
        line_end: 103
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - enumerators:
      - name: DDS_DYNAMIC_TYPE_KIND_UNSET
      - name: DDS_DYNAMIC_TYPE_KIND_DEFINITION
      - name: DDS_DYNAMIC_TYPE_KIND_PRIMITIVE
      item_type: enum
      name: dds_dynamic_type_spec_kind
      pos:
        line_end: 176
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - enumerators:
      - name: DDS_DYNAMIC_TYPE_EXT_FINAL
      - name: DDS_DYNAMIC_TYPE_EXT_APPENDABLE
      - name: DDS_DYNAMIC_TYPE_EXT_MUTABLE
      item_type: enum
      name: dds_dynamic_type_extensibility
      pos:
        line_end: 238
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - enumerators:
      - name: DDS_DYNAMIC_TYPE_AUTOID_SEQUENTIAL
      - name: DDS_DYNAMIC_TYPE_AUTOID_HASH
      item_type: enum
      name: dds_dynamic_type_autoid
      pos:
        line_end: 248
        line_start: 245
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - enumerators:
      - name: DDS_DYNAMIC_ENUM_LITERAL_VALUE_NEXT_AVAIL
      - name: DDS_DYNAMIC_ENUM_LITERAL_VALUE_EXPLICIT
      item_type: enum
      name: dds_dynamic_type_enum_value_kind
      pos:
        line_end: 258
        line_start: 255
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DYNAMIC_MEMBER_ID_INVALID
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: 0xf000000u
    - item_type: preproc_def
      name: DDS_DYNAMIC_MEMBER_ID_AUTO
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: DDS_DYNAMIC_MEMBER_ID_INVALID
    - item_type: preproc_def
      name: DDS_DYNAMIC_MEMBER_INDEX_START
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: 0u
    - item_type: preproc_def
      name: DDS_DYNAMIC_MEMBER_INDEX_END
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDS_DYNAMIC_ENUM_LITERAL_VALUE_AUTO
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: ((dds_dynamic_enum_literal_value_t) { DDS_DYNAMIC_ENUM_LITERAL_VALUE_NEXT_AVAIL,
        0 })
    - item_type: preproc_def
      name: DDS_DYNAMIC_BITMASK_POSITION_AUTO
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
      type_or_value: (UINT16_MAX)
    structs:
    - fields:
      - name: '* x[2]'
        type: void
      - name: ret
        type: dds_return_t
      item_type: struct
      name: dds_dynamic_type
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - fields:
      - name: kind
        type: dds_dynamic_type_spec_kind_t
      - name: type
        type: "union {\n    dds_dynamic_type_t type;\n    dds_dynamic_type_kind_t
          primitive;\n  }"
      item_type: struct
      name: dds_dynamic_type_spec
      pos:
        line_end: 191
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - fields:
      - name: kind
        type: dds_dynamic_type_kind_t
      - name: '* name'
        type: char
      - name: base_type
        type: dds_dynamic_type_spec_t
      - name: discriminator_type
        type: dds_dynamic_type_spec_t
      - name: num_bounds
        type: uint32_t
      - name: '*bounds'
        type: uint32_t
      - name: element_type
        type: dds_dynamic_type_spec_t
      - name: key_element_type
        type: dds_dynamic_type_spec_t
      item_type: struct
      name: dds_dynamic_type_descriptor
      pos:
        line_end: 209
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - fields:
      - name: '* name'
        type: char
      - name: id
        type: uint32_t
      - name: type
        type: dds_dynamic_type_spec_t
      - name: '*default_value'
        type: char
      - name: index
        type: uint32_t
      - name: num_labels
        type: uint32_t
      - name: '*labels'
        type: int32_t
      - name: default_label
        type: bool
      item_type: struct
      name: dds_dynamic_member_descriptor
      pos:
        line_end: 227
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    - fields:
      - name: value_kind
        type: enum dds_dynamic_type_enum_value_kind
      - name: value
        type: int32_t
      item_type: struct
      name: dds_dynamic_enum_literal_value
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_dynamic_type.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_loan_api.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_return_t::dds_rhc_associate
  - dds_rhc_store
  - dds_rhc_unregister_wr
  - dds_rhc_relinquish_ownership
  - dds_rhc_set_qos
  - dds_rhc_free
  - dds_rhc_peek
  - dds_rhc_read
  - dds_rhc_take
  - dds_rhc_add_readcondition
  - dds_rhc_remove_readcondition
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_RHC_NO_STATE_MASK_SET
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
      type_or_value: (DDS_ANY_STATE + 1)
    structs:
    - fields:
      - name: rhc_ops
        type: struct ddsi_rhc_ops
      - name: peek
        type: dds_rhc_read_take_t
      - name: read
        type: dds_rhc_read_take_t
      - name: take
        type: dds_rhc_read_take_t
      - name: add_readcondition
        type: dds_rhc_add_readcondition_t
      - name: remove_readcondition
        type: dds_rhc_remove_readcondition_t
      - name: associate
        type: dds_rhc_associate_t
      item_type: struct
      name: dds_rhc_ops
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    - fields:
      - name: common
        type: "union {\n    const struct dds_rhc_ops *ops;\n    struct ddsi_rhc rhc;\n
          \ }"
      item_type: struct
      name: dds_rhc
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
    typedefs:
    - item_type: typedef
      name: (*dds_rhc_associate_t) (struct dds_rhc *rhc, struct dds_reader *reader,
        const struct ddsi_sertype *type, struct ddsi_tkmap *tkmap)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
      type: dds_return_t
    - item_type: typedef
      name: (*dds_rhc_read_take_t) (struct dds_rhc *rhc, int32_t max_samples, uint32_t
        mask, dds_instance_handle_t handle, struct dds_readcond *cond, dds_read_with_collector_fn_t
        collect_sample, void *collect_sample_arg)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
      type: int32_t
    - item_type: typedef
      name: (*dds_rhc_add_readcondition_t) (struct dds_rhc *rhc, struct dds_readcond
        *cond)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
      type: bool
    - item_type: typedef
      name: (*dds_rhc_remove_readcondition_t) (struct dds_rhc *rhc, struct dds_readcond
        *cond)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_rhc.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_FREE_KEY_BIT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DDS_FREE_CONTENTS_BIT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DDS_FREE_ALL_BIT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type_or_value: '0x04'
    structs:
    - fields:
      - name: '* (*malloc) (size_t size)'
        type: void
      - name: '* (*realloc) (void *ptr, size_t size)'
        type: void
      - name: (*free) (void *ptr)
        type: void
      item_type: struct
      name: dds_allocator
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
    typedefs:
    - item_type: typedef
      name: '* (*dds_alloc_fn_t) (size_t p)'
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type: void
    - item_type: typedef
      name: '* (*dds_realloc_fn_t) (void * a, size_t b)'
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type: void
    - item_type: typedef
      name: (*dds_free_fn_t) (void *p)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_alloc.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
  types:
    enum:
    - enumerators:
      - name: DDS_KIND_DONTCARE
      - name: DDS_KIND_READER
      - name: DDS_KIND_PARTICIPANT
      - name: DDS_KIND_TOPIC
      - name: DDS_KIND_WRITER
      - name: DDS_KIND_SUBSCRIBER
      - name: DDS_KIND_PUBLISHER
      - name: DDS_KIND_COND_READ
      - name: DDS_KIND_COND_QUERY
      - name: DDS_KIND_COND_GUARD
      - name: DDS_KIND_DOMAIN
      - name: DDS_KIND_WAITSET
      - name: DDS_KIND_CYCLONEDDS
      item_type: enum
      name: dds_entity_kind
      pos:
        line_end: 293
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    - enumerators:
      - name: DDS_FIND_SCOPE_GLOBAL
      - name: DDS_FIND_SCOPE_PARTICIPANT
      - name: DDS_FIND_SCOPE_LOCAL_DOMAIN
      item_type: enum
      name: dds_find_scope
      pos:
        line_end: 323
        line_start: 318
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    - enumerators:
      - name: DDS_TYPEID_MINIMAL
      - name: DDS_TYPEID_COMPLETE
      item_type: enum
      name: dds_typeid_kind
      pos:
        line_end: 334
        line_start: 330
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_XCDR1
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_XML
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_XCDR2
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_FLAG_XCDR1
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (1u << DDS_DATA_REPRESENTATION_XCDR1)
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_FLAG_XML
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (1u << DDS_DATA_REPRESENTATION_XML)
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_FLAG_XCDR2
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (1u << DDS_DATA_REPRESENTATION_XCDR2)
    - item_type: preproc_def
      name: DDS_DATA_REPRESENTATION_RESTRICT_DEFAULT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (DDS_DATA_REPRESENTATION_FLAG_XCDR1 | DDS_DATA_REPRESENTATION_FLAG_XCDR2)
    - item_type: preproc_def
      name: DDS_READ_SAMPLE_STATE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 1u
    - item_type: preproc_def
      name: DDS_NOT_READ_SAMPLE_STATE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 2u
    - item_type: preproc_def
      name: DDS_ANY_SAMPLE_STATE
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (1u | 2u)
    - item_type: preproc_def
      name: DDS_NEW_VIEW_STATE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 4u
    - item_type: preproc_def
      name: DDS_NOT_NEW_VIEW_STATE
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 8u
    - item_type: preproc_def
      name: DDS_ANY_VIEW_STATE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (4u | 8u)
    - item_type: preproc_def
      name: DDS_ALIVE_INSTANCE_STATE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 16u
    - item_type: preproc_def
      name: DDS_NOT_ALIVE_DISPOSED_INSTANCE_STATE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 32u
    - item_type: preproc_def
      name: DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: 64u
    - item_type: preproc_def
      name: DDS_ANY_INSTANCE_STATE
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (16u | 32u | 64u)
    - item_type: preproc_def
      name: DDS_ANY_STATE
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: (DDS_ANY_SAMPLE_STATE | DDS_ANY_VIEW_STATE | DDS_ANY_INSTANCE_STATE)
    - item_type: preproc_def
      name: DDS_DOMAIN_DEFAULT
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: ((uint32_t) 0xffffffffu)
    - item_type: preproc_def
      name: DDS_HANDLE_NIL
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_ENTITY_NIL
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_KIND_MAX
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type_or_value: DDS_KIND_CYCLONEDDS
    structs:
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '* _buffer'
        type: uint8_t
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    - fields:
      - name: '* m_name'
        type: char
      - name: m_offset
        type: uint32_t
      - name: m_idx
        type: uint32_t
      item_type: struct
      name: dds_key_descriptor
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    - fields:
      - name: '* data'
        type: unsigned char
      - name: sz
        type: uint32_t
      item_type: struct
      name: dds_type_meta_ser
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    - fields:
      - name: m_size
        type: uint32_t
      - name: m_align
        type: uint32_t
      - name: m_flagset
        type: uint32_t
      - name: m_nkeys
        type: uint32_t
      - name: '* m_typename'
        type: char
      - name: '* m_keys'
        type: dds_key_descriptor_t
      - name: m_nops
        type: uint32_t
      - name: '* m_ops'
        type: uint32_t
      - name: '* m_meta'
        type: char
      - name: type_information
        type: struct dds_type_meta_ser
      - name: type_mapping
        type: struct dds_type_meta_ser
      - name: restrict_data_representation
        type: uint32_t
      item_type: struct
      name: dds_topic_descriptor
      pos:
        line_end: 170
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
    typedefs:
    - item_type: typedef
      name: dds_instance_handle_t
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type: uint64_t
    - item_type: typedef
      name: dds_domainid_t
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/cyclonedds/src/core/ddsc/include/dds/ddsc/dds_public_impl.h
      type: uint32_t
    union: []
- function_names:
  - ddsi_config_init_default
  source_file: /src/cyclonedds/src/core/ddsi/defconfig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - setup_and_start
  - stop_and_teardown
  - sertype_free
  - whc_free
  - whc_get_state
  - whc_remove_acked_messages
  - whc_free_deferred_free_list
  - ddsi_wraddrset_some_cases
  - UNILOC
  - PSMXLOC
  - UNILOC1
  - UNILOCS
  - PLIST_PP
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nrds[4]
        type: int
      - name: cost
        type: int
      item_type: struct
      name: "cases[] = {\n    {{0, 0, 0, 0}, 7},\n    {{1, 0, 0, 0}, 7},\n    {{2,
        0, 0, 0}, 7},\n    {{0, 1, 1, 0}, 7},\n    {{1, 1, 0, 0}, 8},\n    {{1, 1,
        1, 0}, 8},\n    {{2, 1, 0, 0}, 12},\n    {{2, 1, 1, 0}, 16},\n    {{3, 1,
        1, 0}, 16},\n    {{2, 1, 1, 1}, 20}\n  }"
      pos:
        line_end: 259
        line_start: 256
        source_file: /src/cyclonedds/src/core/ddsi/tests/wraddrset.c
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - setup_and_start
  - stop_and_teardown
  - serdata_free
  - serdata_from_ser
  - serdata_to_untyped
  - serdata_eqkey
  - serdata_get_size
  - sertype_free
  - sertype_hash
  - sertype_equal
  - sertype_new
  - rhc_free
  - rhc_store
  - rhc_unregister_wr
  - rhc_relinquish_ownership
  - rhc_set_qos
  - isnullguid
  - receive_packet_init
  - UNILOC
  - UNILOC1
  - UNILOCS
  - PLIST_PP
  - receive_packet_fini
  - ddsi_guid_from_octets
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: c
        type: struct ddsi_serdata
      - name: size
        type: uint32_t
      item_type: struct
      name: serdata
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    - fields:
      - name: c
        type: struct ddsi_rhc
      - name: stored
        type: bool
      item_type: struct
      name: rhc
      pos:
        line_end: 183
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsi/tests/receive_packet.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/security_msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: desc[20]
        type: enum ddsi_pserop
      - name: '*data'
        type: void
      - name: exp_sersize
        type: size_t
      - name: '*exp_ser'
        type: unsigned char
      - name: '*exp_data'
        type: void
      item_type: struct
      name: desc
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    - fields:
      - name: desc[20]
        type: enum ddsi_pserop
      - name: sersize
        type: size_t
      - name: '*ser'
        type: unsigned char
      item_type: struct
      name: desc_invalid
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    typedefs:
    - item_type: typedef
      name: raw[]
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
      type: unsigned char
    - item_type: typedef
      name: raw32[]
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
      type: uint32_t
    - item_type: typedef
      name: raw64[]
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
      type: uint64_t
    - item_type: typedef
      name: oseq
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
      type: ddsi_octetseq_t
    union:
    - fields:
      - name: u
        type: uint64_t
      - name: '*p'
        type: void
      - name: buf[256]
        type: char
      item_type: union
      name: mem
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    - fields:
      - name: u
        type: uint64_t
      - name: '*p'
        type: void
      - name: buf[256]
        type: char
      item_type: union
      name: mem
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    - fields:
      - name: u
        type: uint64_t
      - name: '*p'
        type: void
      - name: buf[256]
        type: char
      item_type: union
      name: mem
      pos:
        line_end: 273
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
    - fields:
      - name: u
        type: uint64_t
      - name: '*p'
        type: void
      - name: buf[256]
        type: char
      item_type: union
      name: mem
      pos:
        line_end: 299
        line_start: 295
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_generic.c
- function_names:
  - ishexdigit
  - looks_like_stackframe
  - logger
  - setup
  - teardown
  - log_stacktrace_helper
  - log_stacktrace_thread
  source_file: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
  types:
    enum:
    - enumerators:
      - name: STL_INIT
      - name: STL_FOLLOWS
      - name: STL_FRAMES
      - name: STL_TEST_PASSED
      - name: STL_TEST_FAILED
      item_type: enum
      name: loggerstate
      pos:
        line_end: 25
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    - enumerators:
      - name: WS_OR_PUNCT
      - name: WS_HEX
      - name: WS_WORD_OR_HEX
      - name: WS_ZERO
      - name: WS_WORD
      - name: WS_MESSY
      item_type: enum
      name: state
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    preproc_defs: []
    structs:
    - fields:
      - name: incallback
        type: int
      - name: stop
        type: int
      - name: cond
        type: ddsrt_cond_t
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: log_stacktrace_thread_arg
      pos:
        line_end: 147
        line_start: 142
        source_file: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: key
        type: int
      item_type: struct
      name: helper_node
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/tests/sysdeps.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: res
        type: enum ddsi_nearby_address_result
      - name: interf_index
        type: size_t
      - name: loc
        type: struct ddsi_locator
      item_type: struct
      name: "locs[] = {\n    { DNAR_SELF, 0, { .kind = DDSI_LOCATOR_KIND_UDPv4, .port
        = 0, .address = { [12] = 192, [13] = 168, [14] = 1, [15] = 70 } } },\n    {
        DNAR_SELF, 1, { .kind = DDSI_LOCATOR_KIND_UDPv4, .port = 0, .address = { [12]
        = 192, [13] = 168, [14] = 2, [15] = 70 } } },\n    { DNAR_LOCAL, 0, { .kind
        = DDSI_LOCATOR_KIND_UDPv4, .port = 0, .address = { [12] = 192, [13] = 168,
        [14] = 1, [15] = 80 } } },\n    { DNAR_LOCAL, 1, { .kind = DDSI_LOCATOR_KIND_UDPv4,
        .port = 0, .address = { [12] = 192, [13] = 168, [14] = 2, [15] = 80 } } },\n
        \   { DNAR_DISTANT, 0, { .kind = DDSI_LOCATOR_KIND_UDPv4, .port = 0, .address
        = { [12] = 10, [13] = 10, [14] = 10, [15] = 10 } } },\n    { DNAR_UNREACHABLE,
        1, { .kind = DDSI_LOCATOR_KIND_UDPv6 } }\n  }"
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/tests/ipaddr.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - HDR
  - setup
  - teardown
  - CU_Test
  - UDPLOCATOR
  - TCPLOCATOR
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/plist.c
  types:
    enum:
    - enumerators:
      - name: REJ_SHORT_20
      - name: REJ_PORT_64k
      - name: REJ_SHORT_23
      - name: REJ_PORT_0
      - name: REJ_GARBAGE
      item_type: enum
      name: reject_case
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist.c
    preproc_defs:
    - item_type: preproc_def
      name: UNKNOWN_KIND
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist.c
      type_or_value: '0x33221133'
    - item_type: preproc_def
      name: UNKLOCATOR
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist.c
      type_or_value: SER32BE(UNKNOWN_KIND), SER32BE(1), SER32BE(0), SER32BE(0), SER32BE(0),
        SER32BE(0)
    structs:
    - fields:
      - name: pid
        type: uint16_t
      - name: pp_flag
        type: uint64_t
      - name: pp_offset
        type: size_t
      item_type: struct
      name: "pids[] = {\n      { DDSI_PID_UNICAST_LOCATOR, PP_UNICAST_LOCATOR, offsetof
        (ddsi_plist_t, unicast_locators) },\n      { DDSI_PID_MULTICAST_LOCATOR, PP_MULTICAST_LOCATOR,
        offsetof (ddsi_plist_t, multicast_locators) },\n      { DDSI_PID_DEFAULT_UNICAST_LOCATOR,
        PP_DEFAULT_UNICAST_LOCATOR, offsetof (ddsi_plist_t, default_unicast_locators)
        },\n      { DDSI_PID_DEFAULT_MULTICAST_LOCATOR, PP_DEFAULT_MULTICAST_LOCATOR,
        offsetof (ddsi_plist_t, default_multicast_locators) },\n      { DDSI_PID_METATRAFFIC_UNICAST_LOCATOR,
        PP_METATRAFFIC_UNICAST_LOCATOR, offsetof (ddsi_plist_t, metatraffic_unicast_locators)
        },\n      { DDSI_PID_METATRAFFIC_MULTICAST_LOCATOR, PP_METATRAFFIC_MULTICAST_LOCATOR,
        offsetof (ddsi_plist_t, metatraffic_multicast_locators) }\n    }"
      pos:
        line_end: 407
        line_start: 403
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist.c
    typedefs: []
    union: []
- function_names:
  - null_log_sink
  - setup
  - teardown
  - insert_gap
  - check_reorder
  - insert_sample
  source_file: /src/cyclonedds/src/core/ddsi/tests/radmin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - prefix_zero
  - check_ipv4_address
  - check_ipv64_address
  - init
  - fini
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/core/ddsi/tests/locators.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HDR
  - RLD
  - RLL
  - LD
  - LL
  - setup
  - teardown
  - UDPLOCATOR
  - setup_and_start
  - stop_and_teardown
  - ddsi_plist_leasedur_new_proxypp_impl
  - ddsi_plist_leasedur_new_proxyrd_impl
  source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
      type_or_value: HDR(DDSI_PID_SENTINEL, 0)
    - item_type: preproc_def
      name: TEST_GUIDPREFIX_BYTES
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
      type_or_value: 7,7,3,4, 5,6,7,8, 9,10,11,12
    structs:
    - fields:
      - name: valid
        type: bool
      - name: present
        type: bool
      - name: kind
        type: dds_liveliness_kind_t
      - name: lease_duration
        type: dds_duration_t
      item_type: struct
      name: plist_valid
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    - fields:
      - name: spdp
        type: struct plist_valid
      - name: cdr[44]
        type: unsigned char
      item_type: struct
      name: plist_cdr
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/tests/plist_leasedur.c
    typedefs: []
    union: []
- function_names:
  - HDR
  - UDPLOCATOR
  - setup
  - teardown
  - logger
  - setup_and_start
  - stop_and_teardown
  - wait_for_dqueue_helper_cb
  - wait_for_dqueue
  - create_fake_proxy_participant
  - send_pmd_message
  source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
      type_or_value: HDR(DDSI_PID_SENTINEL, 0)
    - item_type: preproc_def
      name: TEST_GUIDPREFIX_BYTES
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
      type_or_value: 7,7,3,4, 5,6,7,8, 9,10,11,12
    structs:
    - fields:
      - name: match
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: logger_arg
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      - name: ready
        type: int
      item_type: struct
      name: wait_for_dqueue_helper_arg
      pos:
        line_end: 132
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/tests/pmd_message.c
    typedefs: []
    union: []
- function_names:
  - sertype_plist_equal
  - sertype_plist_hash
  - sertype_plist_free
  - sertype_plist_zero_samples
  - sertype_plist_realloc_samples
  - sertype_plist_free_samples
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_plist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_omg_security_enabled
  - ddsi_omg_participant_is_access_protected
  - ddsi_omg_participant_is_rtps_protected
  - ddsi_omg_participant_is_liveliness_protected
  - ddsi_omg_participant_is_discovery_protected
  - ddsi_omg_proxy_participant_is_secure
  - ddsi_determine_subscription_writer
  - ddsi_determine_publication_writer
  - ddsi_determine_topic_writer
  - ddsi_is_proxy_participant_deletion_allowed
  - ddsi_omg_is_similar_participant_security_info
  - ddsi_omg_participant_allow_unauthenticated
  - ddsi_omg_security_check_create_participant
  - ddsi_omg_security_deregister_participant
  - ddsi_omg_security_get_local_participant_handle
  - ddsi_omg_security_register_writer
  - ddsi_omg_security_deregister_writer
  - ddsi_omg_security_register_reader
  - ddsi_omg_security_deregister_reader
  - ddsi_omg_security_is_remote_rtps_protected
  - ddsi_omg_security_init_remote_participant
  - ddsi_omg_security_check_remote_participant_permissions
  - ddsi_omg_security_register_remote_participant
  - ddsi_omg_security_deregister_remote_participant
  - ddsi_omg_security_participant_send_tokens
  - ddsi_omg_security_get_remote_participant_handle
  - ddsi_omg_security_match_remote_writer_enabled
  - ddsi_omg_security_match_remote_reader_enabled
  - ddsi_omg_get_proxy_writer_security_info
  - ddsi_omg_writer_is_discovery_protected
  - ddsi_omg_writer_is_submessage_protected
  - ddsi_omg_writer_is_payload_protected
  - ddsi_omg_security_check_remote_writer_permissions
  - ddsi_omg_security_deregister_remote_writer_match
  - ddsi_omg_reader_is_discovery_protected
  - ddsi_omg_reader_is_submessage_protected
  - ddsi_omg_security_check_remote_reader_permissions
  - ddsi_set_proxy_participant_security_info
  - ddsi_set_proxy_writer_security_info
  - ddsi_security_decode_data
  - ddsi_security_decode_datafrag
  - ddsi_security_encode_datareader_submsg
  - ddsi_security_encode_datawriter_submsg
  - ddsi_security_validate_msg_decoding
  - ddsi_security_decode_sec_prefix
  - ddsi_security_decode_rtps_message
  - ddsi_omg_security_load
  - ddsi_omg_is_security_loaded
  - ddsi_omg_security_deregister_remote_reader_match
  - ddsi_omg_plist_keyhash_is_protected
  - ddsi_omg_is_endpoint_protected
  - ddsi_omg_log_endpoint_protection
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: encoded
        type: unsigned
      - name: use_rtps_encoding
        type: unsigned
      - name: src_pp_handle
        type: int64_t
      - name: dst_pp_handle
        type: int64_t
      item_type: struct
      name: ddsi_msg_sec_info
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: proxypp_guid
        type: ddsi_guid_t
      - name: proxypp_crypto_handle
        type: DDS_Security_ParticipantCryptoHandle
      item_type: struct
      name: ddsi_pp_proxypp_match
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: pp_guid
        type: ddsi_guid_t
      - name: pp_crypto_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: permissions_handle
        type: DDS_Security_PermissionsHandle
      - name: shared_secret
        type: DDS_Security_SharedSecretHandle
      - name: authenticated
        type: bool
      item_type: struct
      name: ddsi_proxypp_pp_match
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: pp_guid
        type: ddsi_guid_t
      - name: attr
        type: DDS_Security_ParticipantSecurityAttributes
      - name: local_identity_handle
        type: DDS_Security_IdentityHandle
      - name: permissions_handle
        type: DDS_Security_PermissionsHandle
      - name: crypto_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: plugin_attr
        type: bool
      - name: lock
        type: ddsrt_mutex_t
      - name: proxy_participants
        type: ddsrt_avl_ctree_t
      - name: initialized
        type: bool
      item_type: struct
      name: ddsi_participant_sec_attributes
      pos:
        line_end: 81
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: '*sc'
        type: struct dds_security_context
      - name: remote_identity_handle
        type: DDS_Security_IdentityHandle
      - name: crypto_handle
        type: DDS_Security_ParticipantCryptoHandle
      - name: lock
        type: ddsrt_mutex_t
      - name: participants
        type: ddsrt_avl_tree_t
      - name: initialized
        type: bool
      item_type: struct
      name: ddsi_proxy_participant_sec_attributes
      pos:
        line_end: 90
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: attr
        type: DDS_Security_EndpointSecurityAttributes
      - name: crypto_handle
        type: DDS_Security_DatawriterCryptoHandle
      - name: plugin_attr
        type: bool
      item_type: struct
      name: ddsi_writer_sec_attributes
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    - fields:
      - name: attr
        type: DDS_Security_EndpointSecurityAttributes
      - name: crypto_handle
        type: DDS_Security_DatareaderCryptoHandle
      - name: plugin_attr
        type: bool
      item_type: struct
      name: ddsi_reader_sec_attributes
      pos:
        line_end: 102
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_omg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__acknack.h
  types:
    enum:
    - enumerators:
      - name: AANR_SILENT_ACK
      - name: AANR_NACK
      - name: AANR_SILENT_NACK
      - name: AANR_ACK
      - name: AANR_SUPPRESSED_NACK
      - name: AANR_NACKFRAG_ONLY
      item_type: enum
      name: ddsi_add_acknack_result
      pos:
        line_end: 35
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__acknack.h
    preproc_defs: []
    structs:
    - fields:
      - name: nack_sent_on_nackdelay
        type: bool
      - name: acknack
        type: "struct {\n    struct ddsi_sequence_number_set_header set;\n    uint32_t
          bits[DDSI_FRAGMENT_NUMBER_SET_MAX_BITS / 32];\n  }"
      - name: nackfrag
        type: "struct {\n    ddsi_seqno_t seq;\n    struct ddsi_fragment_number_set_header
          set;\n    uint32_t bits[DDSI_FRAGMENT_NUMBER_SET_MAX_BITS / 32];\n  }"
      item_type: struct
      name: ddsi_add_acknack_info
      pos:
        line_end: 52
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__acknack.h
    - fields:
      - name: pwr_guid
        type: ddsi_guid_t
      - name: rd_guid
        type: ddsi_guid_t
      item_type: struct
      name: ddsi_acknack_xevent_cb_arg
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__acknack.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
  types:
    enum:
    - enumerators:
      - name: DDSI_NONASSIGN_ASSIGNABLE
      - name: DDSI_NONASSIGN_INCOMPATIBLE_TYPE
      - name: DDSI_NONASSIGN_TYPE_UNRESOLVED
      - name: DDSI_NONASSIGN_WR_TYPE_NOT_DELIMITED
      - name: DDSI_NONASSIGN_DIFFERENT_EXTENSIBILITY
      - name: DDSI_NONASSIGN_NAME_HASH_DIFFERS
      - name: DDSI_NONASSIGN_MISSING_CASE
      - name: DDSI_NONASSIGN_NUMBER_OF_MEMBERS
      - name: DDSI_NONASSIGN_KEY_DIFFERS
      - name: DDSI_NONASSIGN_NO_OVERLAP
      - name: DDSI_NONASSIGN_STRUCT_MUST_UNDERSTAND
      - name: DDSI_NONASSIGN_STRUCT_OPTIONAL
      - name: DDSI_NONASSIGN_BOUND
      - name: DDSI_NONASSIGN_UNKNOWN
      - name: DDSI_NONASSIGN_KEY_INCOMPATIBLE
      - name: DDSI_NONASSIGN_STRUCT_MEMBER_MISMATCH
      item_type: enum
      name: ddsi_non_assignability_code
      pos:
        line_end: 86
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
    preproc_defs:
    - item_type: preproc_def
      name: XT_FLAG_EXTENSIBILITY_MASK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
      type_or_value: '0x7'
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_INVALID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_DISCARD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
      type_or_value: DDS_XTypes_TRY_CONSTRUCT1
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_USE_DEFAULT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
      type_or_value: DDS_XTypes_TRY_CONSTRUCT2
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_TRIM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
      type_or_value: (DDS_XTypes_TRY_CONSTRUCT1 | DDS_XTypes_TRY_CONSTRUCT2)
    structs:
    - fields:
      - name: code
        type: enum ddsi_non_assignability_code
      - name: t1_id
        type: DDS_XTypes_TypeIdentifier
      - name: t2_id
        type: DDS_XTypes_TypeIdentifier
      - name: t1_typekind
        type: uint8_t
      - name: t2_typekind
        type: uint8_t
      - name: id
        type: uint32_t
      item_type: struct
      name: ddsi_non_assignability_reason
      pos:
        line_end: 95
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typewrap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tcp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_writer_read_seq_xmit
  - ddsi_writer_update_seq_xmit
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: ldur
        type: dds_duration_t
      item_type: struct
      name: ddsi_ldur_fhnode
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xt_typeinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - instance_deadline_missed_cb
  - ddsi_deadline_compute_deadlines_missed
  - ddsi_deadline_next_missed_locked
  - ddsi_deadline_init
  - ddsi_deadline_stop
  - ddsi_deadline_clear
  - ddsi_deadline_fini
  - ddsi_deadline_register_instance_real
  - ddsi_deadline_reregister_instance_real
  - ddsi_deadline_unregister_instance_real
  - ddsi_deadline_renew_instance_real
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*deadline_adm'
        type: struct ddsi_deadline_adm
      item_type: struct
      name: instance_deadline_missed_cb_arg
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deadline.c
    typedefs: []
    union: []
- function_names:
  - participant_builtin_writers_ready
  - get_typelookup_writer
  - tl_request_get_deps
  - deps_typeid_equal
  - deps_typeid_hash
  - create_tl_request_msg
  - ddsi_tl_request_type
  - create_tl_reply_msg
  - write_typelookup_reply
  - from_guid
  - from_seqno
  - ddsi_tl_handle_request
  - ddsi_tl_add_types
  - ddsi_tl_handle_reply
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelookup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wildcard_wildcard_match
  - get_partition_search_pattern
  - ddsi_find_nwpart_mapping
  - ddsi_is_ignored_nwpart_one
  - get_partition_set_from_xqos
  - ddsi_is_ignored_nwpart
  - ddsi_get_nwpart_from_mapping_one
  - ddsi_get_nwpart_from_mapping
  - ddsi_free_config_nwpart_addresses_one
  - ddsi_free_config_nwpart_addresses
  - nwpart_iter_init
  - nwpart_iter_error
  - nwpart_iter_next
  - nwpart_iter_ok
  - nwpart_iter_append_address
  - nwpart_iter_fini
  - convert_network_partition_addresses_one
  - convert_network_partition_addresses
  - convert_network_partition_interfaces
  - nwpart_has_multicast
  - mc_capable_ifs_exist
  - mc_capable_ifs_used_in_nwpart
  - check_nwpart_address_consistency
  - correct_nwpart_aux_locator
  - ddsi_convert_nwpart_config
  - ddsi_free_config_nwpart_addresses
  - ddsi_is_ignored_nwpart
  - ddsi_convert_nwpart_config
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*msgtag'
        type: char
      - name: '*next_nwp'
        type: struct ddsi_config_networkpartition_listelem
      - name: ok
        type: bool
      - name: '**nextp_uc'
        type: struct ddsi_networkpartition_address
      - name: '**nextp_asm'
        type: struct ddsi_networkpartition_address
      item_type: struct
      name: nwpart_iter
      pos:
        line_end: 36
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
    typedefs: []
    union:
    - fields:
      - name: ip
        type: struct sockaddr_in
      - name: x
        type: struct sockaddr_storage
      item_type: union
      name: ip
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwpart.c
- function_names:
  - ddsi_serdata_init
  - ddsi_serdata_copy_as_type
  - ddsi_serdata_ref_as_type
  - ddsi_serdata_keyhash_from_fragchain
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typelookup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_REQUEST
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: '"dds.sec.auth_request"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: '"dds.sec.auth"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_VERSION_MAJOR
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_VERSION_MINOR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_TOKEN_CLASS_ID_BASE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: '"DDS:Auth:PKI-DH:"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_TOKEN_CLASS_ID
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID_BASE DDSRT_STRINGIFY(DDS_SECURITY_AUTH_VERSION_MAJOR)
        "." DDSRT_STRINGIFY(DDS_SECURITY_AUTH_VERSION_MINOR)
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_REQUEST_TOKEN_CLASS_ID
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+AuthReq"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_REQUEST_TOKEN_ID
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Req"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_REPLY_TOKEN_ID
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Reply"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_FINAL_TOKEN_ID
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Final"
    structs:
    - fields:
      - name: source_guid
        type: ddsi_guid_t
      - name: sequence_number
        type: ddsi_seqno_t
      item_type: struct
      name: ddsi_message_identity
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
    - fields:
      - name: message_identity
        type: ddsi_message_identity_t
      - name: related_message_identity
        type: ddsi_message_identity_t
      - name: destination_participant_guid
        type: ddsi_guid_t
      - name: destination_endpoint_guid
        type: ddsi_guid_t
      - name: source_endpoint_guid
        type: ddsi_guid_t
      - name: '*message_class_id'
        type: char
      - name: message_data
        type: ddsi_dataholderseq_t
      item_type: struct
      name: ddsi_participant_generic_message
      pos:
        line_end: 61
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_msg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__spdp_schedule.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_spdp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: def_uni[MAX_XMIT_CONNS]
        type: struct ddsi_locators_one
      - name: def_multi
        type: struct ddsi_locators_one
      item_type: struct
      name: ddsi_participant_builtin_topic_data_locators
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_spdp.h
    typedefs: []
    union: []
- function_names:
  - DDSI_DECL_TRAN_WRITE_MSGFRAGS_PTR
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_MSVC_WORKAROUND
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_1
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_2
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_3
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR3_4
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR2
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR1
  - DDSI_DECL_CONST_TRAN_WRITE_MSGFRAGS_PTR
  - ddsi_factory_supports
  - ddsi_tran_get_locator_port
  - ddsi_tran_get_locator_aux
  - ddsi_tran_set_locator_port
  - ddsi_tran_set_locator_aux
  - ddsi_is_valid_port
  - ddsi_receive_buffer_size
  - ddsi_factory_create_conn
  - ddsi_factory_create_listener
  - ddsi_tran_handle
  - ddsi_conn_handle
  - ddsi_conn_type
  - ddsi_conn_port
  - ddsi_conn_locator
  - ddsi_conn_write
  - ddsi_conn_read
  - ddsi_listener_locator
  - ddsi_listener_listen
  - ddsi_listener_accept
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
  types:
    enum:
    - enumerators:
      - name: DDSI_TRAN_QOS_XMIT_UC
      - name: DDSI_TRAN_QOS_RECV_UC
      - name: DDSI_TRAN_QOS_RECV_MC
      - name: DDSI_TRAN_QOS_XMIT_MC
      item_type: enum
      name: ddsi_tran_qos_purpose
      pos:
        line_end: 94
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - enumerators:
      - name: DNAR_UNREACHABLE
      - name: DNAR_SELF
      - name: DNAR_DISTANT
      - name: DNAR_LOCAL
      item_type: enum
      name: ddsi_nearby_address_result
      pos:
        line_end: 137
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - enumerators:
      - name: AFSR_OK
      - name: AFSR_MISMATCH
      - name: AFSR_INVALID
      - name: AFSR_UNKNOWN
      item_type: enum
      name: ddsi_locator_from_string_result
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_TRAN_CONN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_TRAN_LISTENER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSI_TRAN_ON_CONNECT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DDSI_TRAN_RANDOM_PORT_NUMBER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_TRAN_RESERVED_IOV_SLOTS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type_or_value: '1'
    structs:
    - fields:
      - name: niov
        type: size_t
      - name: tran_reserved[DDSI_TRAN_RESERVED_IOV_SLOTS]
        type: ddsrt_iovec_t
      - name: iov[]
        type: ddsrt_iovec_t
      item_type: struct
      name: ddsi_tran_write_msgfrags
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: src
        type: ddsi_locator_t
      - name: dst
        type: ddsi_locator_t
      - name: if_index
        type: uint32_t
      item_type: struct
      name: ddsi_network_packet_info
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: m_port
        type: uint32_t
      - name: m_trantype
        type: uint32_t
      - name: m_multicast
        type: bool
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: m_handle_fn
        type: ddsi_tran_handle_fn_t
      item_type: struct
      name: ddsi_tran_base
      pos:
        line_end: 169
        line_start: 157
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: m_base
        type: struct ddsi_tran_base
      - name: m_read_fn
        type: ddsi_tran_read_fn_t
      - name: m_write_fn
        type: ddsi_tran_write_fn_t
      - name: m_peer_locator_fn
        type: ddsi_tran_peer_locator_fn_t
      - name: m_disable_multiplexing_fn
        type: ddsi_tran_disable_multiplexing_fn_t
      - name: m_locator_fn
        type: ddsi_tran_locator_fn_t
      - name: m_server
        type: bool
      - name: m_connless
        type: bool
      - name: m_stream
        type: bool
      - name: m_closed
        type: bool
      - name: m_count
        type: ddsrt_atomic_uint32_t
      - name: '*m_interf'
        type: struct ddsi_network_interface
      - name: '* m_factory'
        type: struct ddsi_tran_factory
      - name: '* m_listener'
        type: struct ddsi_tran_listener
      - name: '* m_conn'
        type: struct ddsi_tran_conn
      item_type: struct
      name: ddsi_tran_conn
      pos:
        line_end: 197
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: m_base
        type: struct ddsi_tran_base
      - name: m_listen_fn
        type: ddsi_tran_listen_fn_t
      - name: m_accept_fn
        type: ddsi_tran_accept_fn_t
      - name: m_locator_fn
        type: ddsi_tran_locator_fn_t
      - name: '* m_connections'
        type: struct ddsi_tran_conn
      - name: '* m_factory'
        type: struct ddsi_tran_factory
      - name: '* m_listener'
        type: struct ddsi_tran_listener
      item_type: struct
      name: ddsi_tran_listener
      pos:
        line_end: 212
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: m_create_conn_fn
        type: ddsi_tran_create_conn_fn_t
      - name: m_create_listener_fn
        type: ddsi_tran_create_listener_fn_t
      - name: m_release_conn_fn
        type: ddsi_tran_release_conn_fn_t
      - name: m_close_conn_fn
        type: ddsi_tran_close_conn_fn_t
      - name: m_unblock_listener_fn
        type: ddsi_tran_unblock_listener_fn_t
      - name: m_release_listener_fn
        type: ddsi_tran_release_listener_fn_t
      - name: m_supports_fn
        type: ddsi_tran_supports_fn_t
      - name: m_free_fn
        type: ddsi_tran_free_fn_t
      - name: m_join_mc_fn
        type: ddsi_tran_join_mc_fn_t
      - name: m_leave_mc_fn
        type: ddsi_tran_leave_mc_fn_t
      - name: m_is_loopbackaddr_fn
        type: ddsi_is_loopbackaddr_fn_t
      - name: m_is_mcaddr_fn
        type: ddsi_is_mcaddr_fn_t
      - name: m_is_ssm_mcaddr_fn
        type: ddsi_is_ssm_mcaddr_fn_t
      - name: m_is_nearby_address_fn
        type: ddsi_is_nearby_address_fn_t
      - name: m_locator_from_string_fn
        type: ddsi_locator_from_string_fn_t
      - name: m_locator_to_string_fn
        type: ddsi_locator_to_string_fn_t
      - name: m_enumerate_interfaces_fn
        type: ddsi_enumerate_interfaces_fn_t
      - name: m_is_valid_port_fn
        type: ddsi_is_valid_port_fn_t
      - name: m_receive_buffer_size_fn
        type: ddsi_receive_buffer_size_fn_t
      - name: m_locator_from_sockaddr_fn
        type: ddsi_locator_from_sockaddr_fn_t
      - name: m_get_locator_port_fn
        type: m_get_locator_port_fn_t
      - name: m_set_locator_port_fn
        type: m_set_locator_port_fn_t
      - name: m_get_locator_aux_fn
        type: m_get_locator_aux_fn_t
      - name: m_set_locator_aux_fn
        type: m_set_locator_aux_fn_t
      - name: '*m_typename'
        type: char
      - name: m_connless
        type: bool
      - name: m_stream
        type: bool
      - name: m_enable
        type: bool
      - name: m_enable_spdp
        type: bool
      - name: '*m_default_spdp_address'
        type: char
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '* m_factory'
        type: struct ddsi_tran_factory
      item_type: struct
      name: ddsi_tran_factory
      pos:
        line_end: 276
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    - fields:
      - name: m_purpose
        type: enum ddsi_tran_qos_purpose
      - name: m_diffserv
        type: int
      - name: '*m_interface'
        type: struct ddsi_network_interface
      item_type: struct
      name: ddsi_tran_qos
      pos:
        line_end: 283
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_tran_read_fn_t) (struct ddsi_tran_conn *, unsigned char *, size_t,
        bool, struct ddsi_network_packet_info *pktinfo)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ssize_t
    - item_type: typedef
      name: (*ddsi_tran_write_fn_t) (struct ddsi_tran_conn *, const ddsi_locator_t
        *, const ddsi_tran_write_msgfrags_t *, uint32_t)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ssize_t
    - item_type: typedef
      name: (*ddsi_tran_locator_fn_t) (struct ddsi_tran_factory *, struct ddsi_tran_base
        *, ddsi_locator_t *)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_tran_supports_fn_t) (const struct ddsi_tran_factory *, int32_t)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: bool
    - item_type: typedef
      name: (*ddsi_tran_handle_fn_t) (struct ddsi_tran_base *)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ddsrt_socket_t
    - item_type: typedef
      name: (*ddsi_tran_listen_fn_t) (struct ddsi_tran_listener *)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_tran_free_fn_t) (struct ddsi_tran_factory *)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_peer_locator_fn_t) (struct ddsi_tran_conn *, ddsi_locator_t
        *)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_disable_multiplexing_fn_t) (struct ddsi_tran_conn *)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: '* (*ddsi_tran_accept_fn_t) (struct ddsi_tran_listener *)'
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ddsi_tran_conn
    - item_type: typedef
      name: (*ddsi_tran_create_conn_fn_t) (struct ddsi_tran_conn **conn, struct ddsi_tran_factory
        * fact, uint32_t, const struct ddsi_tran_qos *)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: dds_return_t
    - item_type: typedef
      name: (*ddsi_tran_create_listener_fn_t) (struct ddsi_tran_listener **listener,
        struct ddsi_tran_factory * fact, uint32_t port, const struct ddsi_tran_qos
        *)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: dds_return_t
    - item_type: typedef
      name: (*ddsi_tran_release_conn_fn_t) (struct ddsi_tran_conn *)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_close_conn_fn_t) (struct ddsi_tran_conn *)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_unblock_listener_fn_t) (struct ddsi_tran_listener *)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_release_listener_fn_t) (struct ddsi_tran_listener *)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_tran_join_mc_fn_t) (struct ddsi_tran_conn *, const ddsi_locator_t
        *srcip, const ddsi_locator_t *mcip, const struct ddsi_network_interface *interf)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_tran_leave_mc_fn_t) (struct ddsi_tran_conn *, const ddsi_locator_t
        *srcip, const ddsi_locator_t *mcip, const struct ddsi_network_interface *interf)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_is_loopbackaddr_fn_t) (const struct ddsi_tran_factory *tran, const
        ddsi_locator_t *loc)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_is_mcaddr_fn_t) (const struct ddsi_tran_factory *tran, const ddsi_locator_t
        *loc)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_is_ssm_mcaddr_fn_t) (const struct ddsi_tran_factory *tran, const
        ddsi_locator_t *loc)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_is_valid_port_fn_t) (const struct ddsi_tran_factory *tran, uint32_t
        port)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: (*ddsi_receive_buffer_size_fn_t) (const struct ddsi_tran_factory *fact)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: uint32_t
    - item_type: typedef
      name: (*m_get_locator_port_fn_t) (const struct ddsi_tran_factory *factory, const
        ddsi_locator_t *loc)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: uint32_t
    - item_type: typedef
      name: (*m_set_locator_port_fn_t) (const struct ddsi_tran_factory *factory, ddsi_locator_t
        *loc, uint32_t port)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*m_get_locator_aux_fn_t) (const struct ddsi_tran_factory *factory, const
        ddsi_locator_t *loc)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: uint32_t
    - item_type: typedef
      name: (*m_set_locator_aux_fn_t) (const struct ddsi_tran_factory *factory, ddsi_locator_t
        *loc, uint32_t aux)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: void
    - item_type: typedef
      name: (*ddsi_is_nearby_address_fn_t) (const ddsi_locator_t *loc, size_t ninterf,
        const struct ddsi_network_interface *interf, size_t *interf_idx)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ddsi_nearby_address_result
    - item_type: typedef
      name: (*ddsi_locator_from_string_fn_t) (const struct ddsi_tran_factory *tran,
        ddsi_locator_t *loc, const char *str)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: ddsi_locator_from_string_result
    - item_type: typedef
      name: (*ddsi_locator_from_sockaddr_fn_t) (const struct ddsi_tran_factory *tran,
        ddsi_locator_t *loc, const struct sockaddr *sockaddr)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    - item_type: typedef
      name: '* (*ddsi_locator_to_string_fn_t) (char *dst, size_t sizeof_dst, const
        ddsi_locator_t *loc, struct ddsi_tran_conn * conn, int with_port)'
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: char
    - item_type: typedef
      name: (*ddsi_enumerate_interfaces_fn_t) (struct ddsi_tran_factory * tran, enum
        ddsi_transport_selector transport_selector, ddsrt_ifaddrs_t **interfs)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__tran.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xt_typemap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_guid_prefix_zero
  - ddsi_guid_prefix_eq
  - ddsi_guid_eq
  - ddsi_patmatch
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__nwinterfaces.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_rhc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_list_genptr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - root_rdmatch
  - ddsi_writer_hbcontrol_init
  - writer_hbcontrol_note_hb
  - ddsi_writer_hbcontrol_intv
  - ddsi_writer_hbcontrol_note_asyncwrite
  - ddsi_writer_hbcontrol_must_send
  - ddsi_writer_hbcontrol_create_heartbeat
  - writer_hbcontrol_ack_required_generic
  - ddsi_writer_hbcontrol_ack_required
  - ddsi_writer_hbcontrol_piggyback
  - ddsi_writer_hbcontrol_p2p
  - ddsi_add_heartbeat
  - send_heartbeat_to_all_readers_check_and_sched
  - send_heartbeat_to_all_readers
  - ddsi_heartbeat_xevent_cb
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_hbcontrol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__mcgroup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_thread_vtime_trace
  - ddsrt_malloc_aligned_cacheline
  - ddsrt_free_aligned
  - ddsi_thread_states_init
  - ddsi_thread_states_fini
  - find_thread_state
  - cleanup_thread_state
  - lazy_create_thread_state
  - ddsi_lookup_thread_state_real
  - create_thread_wrapper
  - ddsi_lookup_thread_properties
  - grow_thread_states
  - get_available_thread_slot
  - init_thread_state
  - create_thread_int
  - ddsi_create_thread_with_properties
  - ddsi_create_thread
  - reap_thread_state
  - ddsi_join_thread
  - ddsi_log_stack_traces
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_thread.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_entry_locked
  - ddsi_sock_waitset_new
  - ddsi_sock_waitset_free
  - ddsi_sock_waitset_trigger
  - ddsi_sock_waitset_add
  - ddsi_sock_waitset_purge
  - ddsi_sock_waitset_remove
  - ddsi_sock_waitset_wait
  - ddsi_sock_waitset_next_event
  - add_entry_locked
  - ddsi_sock_waitset_new
  - ddsi_sock_waitset_free
  - ddsi_sock_waitset_trigger
  - ddsi_sock_waitset_add
  - ddsi_sock_waitset_purge
  - ddsi_sock_waitset_remove
  - ddsi_sock_waitset_wait
  - ddsi_sock_waitset_next_event
  - ddsi_sock_waitset_new
  - ddsi_sock_waitset_free
  - ddsi_sock_waitset_purge
  - ddsi_sock_waitset_remove
  - ddsi_sock_waitset_trigger
  - ddsi_sock_waitset_add
  - ddsi_sock_waitset_wait
  - ddsi_sock_waitset_next_event
  - make_pipe
  - make_pipe
  - make_pipe
  - make_pipe
  - ddsi_sock_waitset_new_set
  - ddsi_sock_waitset_free_set
  - ddsi_sock_waitset_new_ctx
  - ddsi_sock_waitset_free_ctx
  - ddsi_sock_waitset_new
  - ddsi_sock_waitset_grow
  - ddsi_sock_waitset_free
  - ddsi_sock_waitset_trigger
  - ddsi_sock_waitset_add
  - ddsi_sock_waitset_purge
  - ddsi_sock_waitset_remove
  - ddsi_sock_waitset_wait
  - ddsi_sock_waitset_next_event
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WAITSET_DELTA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MODE_KQUEUE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MODE_SELECT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MODE_WFMEVS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MODE_EPOLL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MODE_SEL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: MODE_KQUEUE
    - item_type: preproc_def
      name: MODE_SEL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: MODE_EPOLL
    - item_type: preproc_def
      name: MODE_SEL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: MODE_WFMEVS
    - item_type: preproc_def
      name: MODE_SEL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: MODE_SELECT
    - item_type: preproc_def
      name: WAIT_IO_COMPLETION
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: 0xc0L
    - item_type: preproc_def
      name: OSPL_PIPENAMESIZE
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
      type_or_value: '26'
    structs:
    - fields:
      - name: '*evs'
        type: struct kevent
      - name: nevs
        type: uint32_t
      - name: evs_sz
        type: uint32_t
      - name: index
        type: uint32_t
      item_type: struct
      name: ddsi_sock_waitset_ctx
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: index
        type: uint32_t
      - name: fd
        type: int
      - name: '* conn'
        type: struct ddsi_tran_conn
      item_type: struct
      name: entry
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: kqueue
        type: int
      - name: pipe[2]
        type: int
      - name: sz
        type: ddsrt_atomic_uint32_t
      - name: '*entries'
        type: struct entry
      - name: ctx
        type: struct ddsi_sock_waitset_ctx
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: ddsi_sock_waitset
      pos:
        line_end: 73
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: '*evs'
        type: struct epoll_event
      - name: nevs
        type: uint32_t
      - name: evs_sz
        type: uint32_t
      - name: index
        type: uint32_t
      item_type: struct
      name: ddsi_sock_waitset_ctx
      pos:
        line_end: 299
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: index
        type: uint32_t
      - name: fd
        type: int
      - name: '* conn'
        type: struct ddsi_tran_conn
      item_type: struct
      name: entry
      pos:
        line_end: 305
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: epfd
        type: int
      - name: pipe[2]
        type: int
      - name: sz
        type: ddsrt_atomic_uint32_t
      - name: '*entries'
        type: struct entry
      - name: ctx
        type: struct ddsi_sock_waitset_ctx
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: ddsi_sock_waitset
      pos:
        line_end: 315
        line_start: 307
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: '* conns[MAXIMUM_WAIT_OBJECTS]'
        type: struct ddsi_tran_conn
      - name: events[MAXIMUM_WAIT_OBJECTS]
        type: WSAEVENT
      - name: index
        type: int
      - name: n
        type: unsigned
      item_type: struct
      name: ddsi_sock_waitset_ctx
      pos:
        line_end: 540
        line_start: 534
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: mutex
        type: ddsrt_mutex_t
      - name: ctx
        type: struct ddsi_sock_waitset_ctx
      - name: ctx0
        type: struct ddsi_sock_waitset_ctx
      item_type: struct
      name: ddsi_sock_waitset
      pos:
        line_end: 547
        line_start: 542
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: '** conns'
        type: struct ddsi_tran_conn
      - name: '* fds'
        type: ddsrt_socket_t
      - name: sz
        type: unsigned
      - name: n
        type: unsigned
      item_type: struct
      name: ddsi_sock_waitset_set
      pos:
        line_end: 777
        line_start: 771
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: set
        type: ddsi_sock_waitset_set_t
      - name: index
        type: unsigned
      - name: rdset
        type: fd_set
      item_type: struct
      name: ddsi_sock_waitset_ctx
      pos:
        line_end: 784
        line_start: 779
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    - fields:
      - name: pipe[2]
        type: ddsrt_socket_t
      - name: mutex
        type: ddsrt_mutex_t
      - name: fdmax_plus_1
        type: int
      - name: set
        type: ddsi_sock_waitset_set_t
      - name: ctx
        type: struct ddsi_sock_waitset_ctx
      item_type: struct
      name: ddsi_sock_waitset
      pos:
        line_end: 793
        line_start: 786
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sockwaitset.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__raweth.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_stacktrace_sigh
  - ddsi_log_stacktrace
  - really_do_stacktrace
  - init_stackframe
  - copy_thread_context
  - ddsi_log_stacktrace
  - ddsi_log_stacktrace
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: depth
        type: int
      - name: '*stk[64]'
        type: void
      item_type: struct
      name: log_stacktrace_stk
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
    typedefs: []
    union:
    - fields:
      - name: buffer[sizeof (SYMBOL_INFO) + MAX_SYM_NAME * sizeof (TCHAR)]
        type: char
      - name: sym
        type: SYMBOL_INFO
      item_type: union
      name: symbol
      pos:
        line_end: 243
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sysdeps.c
- function_names:
  - compare_ldur
  - ddsi_deleted_participants_admin_new
  - ddsi_deleted_participants_admin_free
  - ddsi_prune_deleted_participant_guids_unlocked
  - ddsi_prune_deleted_participant_guids
  - ddsi_remember_deleted_participant_guid
  - ddsi_is_deleted_participant_guid
  - ddsi_remove_deleted_participant_guid
  - ddsi_participant_allocate_entityid
  - ddsi_participant_release_entityid
  - add_security_builtin_endpoints
  - connect_participant_secure
  - disconnect_participant_secure
  - add_builtin_endpoints
  - ddsi_gc_participant_lease
  - participant_replace_minl
  - ddsi_participant_add_wr_lease_locked
  - ddsi_participant_remove_wr_lease_locked
  - check_and_load_security_config
  - update_pp_refc
  - delete_builtin_endpoint
  - ddsi_ref_participant
  - ddsi_unref_participant
  - update_participant_spdp_sample_locked
  - update_participant_spdp_sample
  - ddsi_new_participant
  - ddsi_generate_participant_guid
  - ddsi_update_participant_plist
  - gc_delete_participant
  - gcreq_participant
  - ddsi_delete_participant
  - ddsi_get_builtin_writer
  - ddsi_participant_get_pmd_interval
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: u64
        type: uint64_t
      - name: u32[2]
        type: uint32_t
      item_type: union
      name: u
      pos:
        line_end: 965
        line_start: 965
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_participant.c
- function_names:
  - ddsi_tcp_cmp_conn
  - ddsi_tcp_cmp_conn_wrap
  - sockaddr_to_string_with_port
  - get_socket_port
  - ddsi_tcp_conn_set_socket
  - ddsi_tcp_sock_free
  - ddsi_tcp_sock_new
  - ddsi_tcp_node_free
  - ddsi_tcp_conn_connect
  - ddsi_tcp_cache_add
  - ddsi_tcp_cache_remove
  - ddsi_tcp_cache_find
  - ddsi_tcp_conn_read_plain
  - ddsi_tcp_conn_read_ssl
  - ddsi_tcp_select
  - addrfam_to_locator_kind
  - ddsi_tcp_conn_write_plain
  - ddsi_tcp_conn_write_ssl
  - iovlen_sum
  - set_msghdr_iov
  - ddsi_tcp_conn_write
  - ddsi_tcp_conn_handle
  - ddsi_tcp_supports
  - ddsi_tcp_locator
  - ddsi_tcp_create_conn
  - ddsi_tcp_listen
  - ddsi_tcp_accept
  - ddsi_tcp_listener_handle
  - addr_to_loc
  - ddsi_tcp_conn_peer_locator
  - ddsi_tcp_base_init
  - ddsi_tcp_new_conn
  - ddsi_tcp_create_listener
  - ddsi_tcp_conn_delete
  - ddsi_tcp_close_conn
  - ddsi_tcp_release_conn
  - ddsi_tcp_unblock_listener
  - ddsi_tcp_release_listener
  - ddsi_tcp_release_factory
  - ddsi_tcp_address_from_string
  - ddsi_tcp_is_loopbackaddr
  - ddsi_tcp_is_mcaddr
  - ddsi_tcp_is_ssm_mcaddr
  - ddsi_tcp_is_nearby_address
  - ddsi_tcp_is_valid_port
  - ddsi_tcp_receive_buffer_size
  - ddsi_tcp_locator_to_string
  - ddsi_tcp_locator_from_sockaddr
  - ddsi_tcp_init
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INVALID_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
      type_or_value: (~0u)
    structs:
    - fields:
      - name: m_base
        type: struct ddsi_tran_conn
      - name: m_peer_addr
        type: union addr
      - name: m_peer_port
        type: uint32_t
      - name: m_mutex
        type: ddsrt_mutex_t
      - name: m_sock
        type: ddsrt_socket_t
      item_type: struct
      name: ddsi_tcp_conn
      pos:
        line_end: 61
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - fields:
      - name: m_base
        type: struct ddsi_tran_listener
      - name: m_sock
        type: ddsrt_socket_t
      item_type: struct
      name: ddsi_tcp_listener
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - fields:
      - name: fact
        type: struct ddsi_tran_factory
      - name: m_kind
        type: int32_t
      - name: ddsi_tcp_cache_lock_g
        type: ddsrt_mutex_t
      - name: ddsi_tcp_cache_g
        type: ddsrt_avl_tree_t
      - name: ddsi_tcp_conn_client
        type: struct ddsi_tcp_conn
      item_type: struct
      name: ddsi_tran_factory_tcp
      pos:
        line_end: 80
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - fields:
      - name: m_avlnode
        type: ddsrt_avl_node_t
      - name: m_conn
        type: ddsi_tcp_conn_t
      item_type: struct
      name: ddsi_tcp_node
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    typedefs: []
    union:
    - fields:
      - name: a
        type: struct sockaddr
      - name: a4
        type: struct sockaddr_in
      item_type: union
      name: addr
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
    - fields:
      - name: x
        type: struct sockaddr_storage
      - name: a
        type: union addr
      item_type: union
      name: dstaddr
      pos:
        line_end: 623
        line_start: 620
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tcp.c
- function_names:
  - maybe_update_as_disc_for_proxypp
  - proxy_participant_replace_minl
  - create_proxy_builtin_endpoint_impl
  - create_proxy_builtin_endpoints
  - add_proxy_builtin_endpoints
  - TE
  - LTE
  - ddsi_proxy_participant_add_pwr_lease_locked
  - ddsi_proxy_participant_remove_pwr_lease_locked
  - free_proxy_participant
  - ddsi_new_proxy_participant
  - ddsi_update_proxy_participant_plist_locked
  - ddsi_ref_proxy_participant_begin
  - ddsi_ref_proxy_participant_complete
  - ddsi_unref_proxy_participant
  - gc_delete_proxy_participant
  - gcreq_proxy_participant
  - delete_proxy_participant
  - purge_helper
  - ddsi_purge_proxy_participants
  - ddsi_delete_proxy_participant_by_guid
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
  types:
    enum:
    - enumerators:
      - name: MUADFPOP_ADD
      - name: MUADFPOP_REMOVE_ON_DELETE
      - name: MUADFPOP_REMOVE_ON_EXPIRY
      item_type: enum
      name: maybe_update_as_disc_for_proxypp_op
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*proxypp'
        type: struct ddsi_proxy_participant
      - name: '*loc'
        type: ddsi_xlocator_t
      - name: timestamp
        type: ddsrt_wctime_t
      item_type: struct
      name: proxy_purge_data
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_participant.c
    typedefs: []
    union: []
- function_names:
  - HSTRACE
  - HSWARNING
  - HSERROR
  - HSEXCEPTION
  - TRACE
  - TRACE_FUNC
  - compare_handshake
  - validate_handshake
  - handshake_fsm_debug
  - send_handshake_message
  - validate_remote_identity_impl
  - func_validate_remote_identity
  - func_handshake_init_message_resend
  - begin_handshake_reply_impl
  - func_begin_handshake_reply
  - func_validate_remote_and_begin_reply
  - func_begin_handshake_request
  - func_process_handshake
  - func_send_crypto_tokens
  - func_send_crypto_tokens_final
  - func_handshake_message_resend
  - func_validation_ok
  - func_validation_failed
  - func_handshake_timeout
  - ddsi_handshake_create
  - ddsi_handshake_release
  - ddsi_handshake_crypto_tokens_received
  - ddsi_handshake_get_shared_secret
  - ddsi_handshake_get_handle
  - ddsi_handshake_admin_create
  - release_handshake
  - ddsi_handshake_find_locked
  - gc_delete_handshale
  - ddsi_handshake_remove
  - ddsi_handshake_find
  - ddsi_handshake_register
  - ddsi_handshake_admin_init
  - ddsi_handshake_admin_deinit
  - ddsi_handshake_admin_stop
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RETRY_TIMEOUT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
      type_or_value: DDS_SECS(1)
    - item_type: preproc_def
      name: RESEND_TIMEOUT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
      type_or_value: DDS_SECS(1)
    - item_type: preproc_def
      name: SEND_TOKENS_TIMEOUT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
      type_or_value: DDS_MSECS(100)
    - item_type: preproc_def
      name: AUTHENTICATION_TIMEOUT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
      type_or_value: DDS_SECS(100)
    - item_type: preproc_def
      name: INITIAL_DELAY
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
      type_or_value: DDS_MSECS(10)
    structs:
    - fields:
      - name: lguid
        type: ddsi_guid_t
      - name: rguid
        type: ddsi_guid_t
      item_type: struct
      name: handshake_entities
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: state
        type: enum ddsi_handshake_state
      - name: participants
        type: struct handshake_entities
      - name: handshake_handle
        type: DDS_Security_HandshakeHandle
      - name: refc
        type: ddsrt_atomic_uint32_t
      - name: deleting
        type: ddsrt_atomic_uint32_t
      - name: end_cb
        type: ddsi_handshake_end_cb_t
      - name: lock
        type: ddsrt_mutex_t
      - name: '*fsm'
        type: struct dds_security_fsm
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*auth'
        type: dds_security_authentication
      - name: handshake_message_in_token
        type: DDS_Security_HandshakeMessageToken
      - name: handshake_message_in_id
        type: ddsi_message_identity_t
      - name: '*handshake_message_out'
        type: DDS_Security_HandshakeMessageToken
      - name: local_auth_request_token
        type: DDS_Security_AuthRequestMessageToken
      - name: '*remote_auth_request_token'
        type: DDS_Security_AuthRequestMessageToken
      - name: pdata
        type: DDS_Security_OctetSeq
      - name: shared_secret
        type: int64_t
      item_type: struct
      name: ddsi_handshake
      pos:
        line_end: 91
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: handshakes
        type: ddsrt_avl_tree_t
      - name: '*fsm_control'
        type: struct dds_security_fsm_control
      item_type: struct
      name: ddsi_hsadmin
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_handshake.c
    typedefs: []
    union: []
- function_names:
  - ddsi_ipaddr_compare
  - ipaddr_prefixlen
  - ddsi_ipaddr_is_nearby_address
  - ddsi_ipaddr_from_string
  - ddsi_ipaddr_to_string
  - ddsi_ipaddr_to_loc
  - ddsi_ipaddr_from_loc
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ipaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - root_rdmatch
  - have_reliable_subs
  - ddsi_create_fragment_message_simple
  - ddsi_create_fragment_message
  - create_HeartbeatFrag
  - ddsi_write_hb_liveliness
  - must_skip_frag
  - transmit_sample_lgmsg_unlocks_wr
  - transmit_sample_unlocks_wr
  - ddsi_enqueue_spdp_sample_wrlock_held
  - ddsi_enqueue_sample_wrlock_held
  - insert_sample_in_whc
  - writer_may_continue
  - throttle_writer
  - maybe_grow_whc
  - ddsi_write_sample_p2p_wrlock_held
  - write_sample
  - ddsi_write_sample_gc
  - ddsi_write_sample_nogc
  - ddsi_write_sample_gc_notk
  - ddsi_write_sample_nogc_notk
  - ddsi_write_and_fini_plist
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_KEYHASH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_transmit.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_bitset_isset
  - ddsi_bitset_set
  - ddsi_bitset_clear
  - ddsi_bitset_zero
  - ddsi_bitset_one
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__bitset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__participant.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_DELETED_PPGUID_LOCAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__participant.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_DELETED_PPGUID_REMOTE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__participant.h
      type_or_value: '2'
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: guid
        type: ddsi_guid_t
      - name: t_prune
        type: ddsrt_mtime_t
      item_type: struct
      name: ddsi_deleted_participant
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__participant.h
    - fields:
      - name: deleted_participants_lock
        type: ddsrt_mutex_t
      - name: deleted_participants
        type: ddsrt_avl_tree_t
      - name: '*logcfg'
        type: ddsrt_log_cfg_t
      - name: delay
        type: int64_t
      item_type: struct
      name: ddsi_deleted_participants_admin
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__participant.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vnet.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _PUSH
  - PUSH_OP
  - PUSH_ARG
  - OR_OP
  - SET_OP
  - DDSI_LIST_TYPES_TMPL
  - typebuilder_struct_fini
  - typebuilder_union_fini
  - typebuilder_aggrtype_fini
  - typebuilder_ops_fini
  - typebuilder_data_free
  - get_extensibility
  - get_bitbound_flags
  - align_to
  - typebuilder_find_aggrtype
  - ALGN
  - SZ
  - type_unalias
  - typebuilder_add_type
  - supported_key_type
  - typebuilder_add_struct
  - typebuilder_add_union
  - typebuilder_add_aggrtype
  - push_op_impl
  - set_op
  - push_op
  - push_op_arg
  - or_op
  - get_type_flags
  - get_ops_type
  - aggrtype_has_key
  - get_ops_struct
  - get_ops_union_case
  - get_ops_union
  - get_ops_aggrtype
  - typebuilder_get_ops
  - resolve_ops_offsets_type
  - resolve_ops_offsets_struct
  - resolve_ops_offsets_union
  - resolve_ops_offsets_aggrtype
  - typebuilder_resolve_ops_offsets
  - path_free
  - extend_path
  - get_keys_struct
  - get_keys_aggrtype
  - key_id_cmp
  - typebuilder_get_keys_push_ops
  - typebuilder_get_keys_make_name
  - typebuilder_get_keys_build_descriptor
  - typebuilder_get_keys
  - set_implicit_keys_collection
  - set_implicit_keys_struct
  - set_implicit_keys_aggrtype
  - get_descriptor_flagset
  - add_memberids_collection
  - add_memberids_struct
  - add_memberids_union
  - add_memberids_aggrtype
  - typebuilder_add_mid_table
  - get_topic_descriptor
  - ddsi_topic_descriptor_from_type
  - ddsi_topic_descriptor_fini
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
  types:
    enum:
    - enumerators:
      - name: KEY_PATH_PART_REGULAR
      - name: KEY_PATH_PART_INHERIT
      - name: KEY_PATH_PART_INHERIT_MUTABLE
      item_type: enum
      name: key_path_part_kind
      pos:
        line_end: 162
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    preproc_defs:
    - item_type: preproc_def
      name: OPS_CHUNK_SZ
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
      type_or_value: 100u
    - item_type: preproc_def
      name: XCDR1_MAX_ALIGN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
      type_or_value: '8'
    - item_type: preproc_def
      name: XCDR2_MAX_ALIGN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
      type_or_value: '4'
    - item_type: preproc_def
      name: STRUCT_BASE_MEMBER_NAME
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
      type_or_value: '"parent"'
    - item_type: preproc_def
      name: KEY_NAME_SEP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
      type_or_value: '"."'
    structs:
    - fields:
      - name: '*ops'
        type: uint32_t
      - name: index
        type: uint32_t
      - name: maximum
        type: uint32_t
      - name: n_ops
        type: uint32_t
      item_type: struct
      name: typebuilder_ops
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: '*type'
        type: struct typebuilder_aggregated_type
      - name: ref_insn
        type: uint32_t
      - name: ref_base
        type: uint32_t
      item_type: struct
      name: typebuilder_aggregated_type_ref
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: '*type'
        type: struct typebuilder_type
      item_type: struct
      name: typebuilder_type_ref
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: type_code
        type: enum dds_stream_typecode
      - name: size
        type: uint32_t
      - name: align
        type: uint32_t
      - name: args
        type: "union {\n    struct {\n      bool is_signed;\n      bool is_fp;\n    }
          prim_args;\n    struct {\n      uint32_t bound;\n      uint32_t elem_sz;\n
          \     uint32_t elem_align;\n      struct typebuilder_type_ref element_type;\n
          \   } collection_args;\n    struct {\n      uint32_t bit_bound;\n      uint32_t
          max;\n    } enum_args;\n    struct {\n      uint32_t bit_bound;\n      uint32_t
          bits_h;\n      uint32_t bits_l;\n    } bitmask_args;\n    struct {\n      uint32_t
          max_size;\n    } string_args;\n    struct\n    {\n      struct typebuilder_aggregated_type_ref
          external_type;\n    } external_type_args;\n  }"
      item_type: struct
      name: typebuilder_type
      pos:
        line_end: 98
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: type
        type: struct typebuilder_type
      - name: '*parent'
        type: struct typebuilder_aggregated_type
      - name: '*member_name'
        type: char
      - name: member_index
        type: uint32_t
      - name: member_id
        type: uint32_t
      - name: member_offset
        type: uint32_t
      - name: insn_offs
        type: uint32_t
      - name: plm_insn_offs
        type: uint32_t
      - name: is_key
        type: bool
      - name: is_must_understand
        type: bool
      - name: is_external
        type: bool
      - name: is_optional
        type: bool
      item_type: struct
      name: typebuilder_struct_member
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: n_members
        type: uint32_t
      - name: '*members'
        type: struct typebuilder_struct_member
      item_type: struct
      name: typebuilder_struct
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: type
        type: struct typebuilder_type
      - name: disc_value
        type: uint32_t
      - name: is_external
        type: bool
      - name: is_default
        type: bool
      - name: is_last_label
        type: bool
      item_type: struct
      name: typebuilder_union_member
      pos:
        line_end: 129
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: disc_type
        type: struct typebuilder_type
      - name: disc_size
        type: uint32_t
      - name: disc_is_key
        type: bool
      - name: member_offs
        type: uint32_t
      - name: n_cases
        type: uint32_t
      - name: '*cases'
        type: struct typebuilder_union_member
      item_type: struct
      name: typebuilder_union
      pos:
        line_end: 139
        line_start: 131
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: '*type_name'
        type: char
      - name: id
        type: ddsi_typeid_t
      - name: '*base_type'
        type: struct typebuilder_type
      - name: extensibility
        type: uint16_t
      - name: kind
        type: DDS_XTypes_TypeKind
      - name: size
        type: uint32_t
      - name: align
        type: uint32_t
      - name: insn_offs
        type: uint32_t
      - name: has_explicit_key
        type: bool
      - name: detail
        type: "union {\n    struct typebuilder_struct _struct;\n    struct typebuilder_union
          _union;\n  }"
      item_type: struct
      name: typebuilder_aggregated_type
      pos:
        line_end: 156
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: kind
        type: key_path_part_kind_t
      - name: '*member'
        type: struct typebuilder_struct_member
      item_type: struct
      name: typebuilder_key_path_part
      pos:
        line_end: 167
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: n_parts
        type: uint32_t
      - name: '*parts'
        type: struct typebuilder_key_path_part
      - name: name_len
        type: size_t
      item_type: struct
      name: typebuilder_key_path
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: key_index
        type: uint32_t
      - name: kof_idx
        type: uint32_t
      - name: '*path'
        type: struct typebuilder_key_path
      item_type: struct
      name: typebuilder_key
      pos:
        line_end: 180
        line_start: 175
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    - fields:
      - name: '*aggrtype'
        type: struct typebuilder_aggregated_type
      - name: '*next'
        type: struct visited_aggrtype
      item_type: struct
      name: visited_aggrtype
      pos:
        line_end: 1738
        line_start: 1735
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typebuilder.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__topic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_rhc_unregister_wr
  - ddsi_rhc_relinquish_ownership
  - ddsi_rhc_set_qos
  - ddsi_rhc_free
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__rhc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_is_builtin_volatile_endpoint
  - ddsi_is_builtin_endpoint
  - ddsi_is_local_orphan_endpoint
  - ddsi_is_writer_entityid
  - ddsi_is_reader_entityid
  - ddsi_is_keyed_endpoint_entityid
  - ddsi_make_writer_info_params
  - ddsi_make_writer_info
  - get_min_receive_buffer_size
  - ddsi_rebuild_writer_addrset
  - nwpart_includes_ssm_enabled_interfaces
  - writer_get_alive_state_locked
  - ddsi_writer_get_alive_state
  - reader_update_notify_alive_state_invoke_cb
  - ddsi_reader_update_notify_wr_alive_state
  - ddsi_reader_update_notify_wr_alive_state_guid
  - ddsi_reader_update_notify_pwr_alive_state
  - ddsi_reader_update_notify_pwr_alive_state_guid
  - ddsi_update_reader_init_acknack_count
  - ddsi_deliver_historical_data
  - new_reader_writer_common
  - is_onlylocal_endpoint
  - endpoint_common_init
  - endpoint_common_fini
  - augment_wr_prd_match
  - ddsi_writer_max_drop_seq
  - ddsi_writer_must_have_hb_scheduled
  - ddsi_writer_set_retransmitting
  - ddsi_writer_clear_retransmitting
  - ddsi_remove_acked_messages
  - writer_notify_liveliness_change_may_unlock
  - ddsi_writer_set_alive_may_unlock
  - writer_set_notalive_locked
  - ddsi_writer_set_notalive
  - ddsi_new_writer
  - ddsi_generate_writer_guid
  - ddsi_new_local_orphan_writer
  - ddsi_update_writer_qos
  - gc_delete_writer
  - gc_delete_writer_throttlewait
  - gcreq_writer
  - writer_set_state
  - ddsi_unblock_throttled_writer
  - ddsi_writer_wait_for_acks
  - delete_writer_nolinger_locked
  - ddsi_delete_writer_nolinger
  - ddsi_delete_local_orphan_writer
  - ddsi_delete_writer_xevent_cb
  - ddsi_delete_writer
  - joinleave_mcast_helper
  - join_mcast_helper
  - leave_mcast_helper
  - reader_init_network_partition
  - ddsi_new_reader
  - ddsi_generate_reader_guid
  - gc_delete_reader
  - gcreq_reader
  - ddsi_delete_reader
  - ddsi_update_reader_qos
  - ddsi_writer_first_in_sync_reader
  - ddsi_writer_next_in_sync_reader
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: wr_guid
        type: ddsi_guid_t
      item_type: struct
      name: ddsi_delete_writer_xevent_cb_arg
      pos:
        line_end: 1326
        line_start: 1324
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: entity
        type: "union {\n#ifdef DDS_HAS_TOPIC_DISCOVERY\n    struct ddsi_topic tp;\n#endif\n
          \   struct ddsi_writer wr;\n    struct ddsi_reader rd;\n    struct ddsi_entity_common
          e;\n    struct ddsi_generic_proxy_endpoint gpe;\n  }"
      - name: xqos
        type: struct dds_qos
      item_type: struct
      name: ddsi_match_entities_range_key
      pos:
        line_end: 43
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_participant
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_writer
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_reader
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_proxy_participant
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_proxy_writer
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_proxy_reader
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    - fields:
      - name: st
        type: struct ddsi_entity_enum
      item_type: struct
      name: ddsi_entity_enum_topic
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity_index.h
    typedefs: []
    union: []
- function_names:
  - ddsi_hton_guid_prefix
  - ddsi_ntoh_guid_prefix
  - ddsi_hton_guid
  - ddsi_ntoh_guid
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_guid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ispowerof2_size
  - alignup_size
  - serdata_cdr_append
  - serdata_cdr_append_blob
  - fix_serdata_cdr
  - serdata_cdr_get_size
  - serdata_cdr_eqkey
  - serdata_cdr_free
  - serdata_cdr_init
  - serdata_cdr_allocnew
  - serdata_cdr_new_size
  - serdata_cdr_new
  - is_valid_xcdr_id
  - serdata_cdr_from_ser_common
  - serdata_cdr_from_ser
  - istream_from_serdata_cdr
  - ostream_from_serdata_cdr
  - ostream_add_to_serdata_cdr
  - serdata_cdr_from_sample_cdr_common
  - serdata_cdr_from_sample
  - serdata_cdr_to_untyped
  - serdata_cdr_to_ser
  - serdata_cdr_to_ser_ref
  - serdata_cdr_to_ser_unref
  - serdata_cdr_to_sample_cdr
  - serdata_cdr_untyped_to_sample_cdr
  - serdata_cdr_print_cdr
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_NEW_SIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
      type_or_value: '128'
    - item_type: preproc_def
      name: CHUNK_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_cdr.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DU
  - PF
  - DUPF
  - DF
  - DI
  - ELEMENT
  - DEPRECATED
  - MEMBER
  - MEMBEROF
  - FUNCTIONS
  - MOVED
  - NOP
  - EXPAND
  - BOOL
  - INT
  - STRING
  - ENUM
  - LIST
  - GROUP
  - cfgst_push_maybe_reservespace
  - cfgst_push
  - cfgst_push_nofail
  - cfgst_push_errorhandling
  - cfgst_pop
  - cfgst_tos_w_isattr
  - cfgst_tos
  - cfgst_parent
  - cfg_note_vsnprintf
  - cfg_note_snprintf
  - cfg_note
  - cfg_warning
  - cfg_error
  - cfg_logelem
  - list_index
  - lookup_multiplier
  - cfg_address
  - cfg_list_address
  - cfg_deref_address
  - if_common
  - if_thread_properties
  - if_network_interfaces
  - if_psmx
  - if_network_partition
  - if_ignored_partition
  - if_partition_mapping
  - if_peer
  - if_omg_security
  - ff_free
  - uf_nop
  - pf_nop
  - do_uint32_bitset
  - uint32_popcnt
  - do_print_uint32_bitset
  - uf_int64_unit
  - pf_int64_unit
  - GENERIC_ENUM_CTYPE_UF
  - GENERIC_ENUM_CTYPE_PF
  - GENERIC_ENUM_CTYPE
  - GENERIC_ENUM_UF
  - GENERIC_ENUM
  - uf_tracemask
  - uf_verbosity
  - pf_tracemask
  - uf_xcheck
  - pf_xcheck
  - uf_min_tls_version
  - pf_min_tls_version
  - uf_protocol_version
  - pf_protocol_version
  - uf_string
  - pf_string
  - uf_memsize
  - pf_memsize
  - uf_memsize16
  - pf_memsize16
  - uf_tracingOutputFileName
  - uf_random_seed
  - pf_random_seed
  - uf_ipv4
  - uf_networkAddress
  - pf_networkAddress
  - uf_networkAddresses_simple
  - uf_networkAddresses
  - pf_networkAddresses
  - ff_networkAddresses
  - uf_allow_multicast
  - pf_allow_multicast
  - uf_maybe_int32
  - pf_maybe_int32
  - uf_maybe_memsize
  - pf_maybe_memsize
  - uf_int
  - uf_int_min_max
  - pf_int
  - uf_dyn_port
  - uf_natint
  - uf_natint_255
  - uf_uint
  - uf_pos_uint
  - pf_uint
  - uf_duration_gen
  - uf_maybe_duration_gen
  - uf_duration_inf
  - uf_duration_ms_1hr
  - uf_maybe_duration_ms_1hr
  - uf_maybe_duration_inf
  - uf_nop_duration_ms_1hr
  - uf_duration_ms_1s
  - uf_duration_us_1s
  - uf_duration_100ms_1hr
  - pf_duration
  - pf_maybe_duration
  - uf_domainId
  - pf_domainId
  - uf_participantIndex
  - pf_participantIndex
  - uf_deaf_mute
  - uf_uint32_array
  - ff_uint32_array
  - pf_uint32_array
  - lookup_or_create_elem_record
  - do_update
  - set_default
  - set_defaults
  - print_configitems
  - free_all_elements
  - free_configured_element
  - free_configured_elements
  - matching_name_index
  - lookup_element
  - find_cfgelem_by_name
  - proc_elem_open
  - proc_update_cfgelem
  - proc_attr
  - proc_elem_data
  - proc_elem_close
  - proc_error
  - cfgst_node_cmp
  - config_open_file
  - reverse_config_list
  - reverse_lists
  - count_commas
  - split_at_comma
  - network_interface_find_or_append
  - psmx_append
  - setup_network_partitions
  - convert_networkinterfaceaddress
  - convert_assumemulticastcapable
  - convert_deprecated_interface_specification
  - convert_deprecated_sharedmemory
  - ddsi_config_init
  - ddsi_config_print_cfgst
  - ddsi_config_print_rawconfig
  - ddsi_config_free_source_info
  - ddsi_config_fini
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
  types:
    enum:
    - enumerators:
      - name: URES_SUCCESS
      - name: URES_ERROR
      - name: URES_SKIP_ELEMENT
      item_type: enum
      name: update_result
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - enumerators:
      - name: ITL_DISALLOWED
        value: '-1'
      - name: ITL_ALLOWED
        value: '0'
      - name: ITL_INSERTED_1
        value: '1'
      - name: ITL_INSERTED_2
        value: '2'
      item_type: enum
      name: implicit_toplevel
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PATH_DEPTH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: NOMEMBER
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: 0, 0
    - item_type: preproc_def
      name: NOFUNCTIONS
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: 0, 0, 0, 0
    - item_type: preproc_def
      name: NODATA
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: 1, NULL, NOMEMBER, NOFUNCTIONS
    - item_type: preproc_def
      name: END_MARKER
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '{ NULL, NULL, NULL, NODATA }'
    - item_type: preproc_def
      name: WILDCARD
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '{ "*", NULL, NULL, NODATA }'
    - item_type: preproc_def
      name: IOX_CONFIG_INSTANCE_NAME
      pos:
        line_end: 2562
        line_start: 2561
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '"INSTANCE_NAME"'
    - item_type: preproc_def
      name: IOX_CONFIG_LOG_LEVEL
      pos:
        line_end: 2563
        line_start: 2562
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '"LOG_LEVEL"'
    - item_type: preproc_def
      name: IOX_CONFIG_LOCATOR
      pos:
        line_end: 2564
        line_start: 2563
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '"LOCATOR"'
    - item_type: preproc_def
      name: IOX_CONFIG_LOG_LEVEL_MAX_VALUE_LEN
      pos:
        line_end: 2565
        line_start: 2564
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type_or_value: '7'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: multiplier
        type: int64_t
      item_type: struct
      name: unit
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - fields:
      - name: '*name'
        type: char
      - name: '*children'
        type: struct cfgelem
      - name: '*attributes'
        type: struct cfgelem
      - name: multiplicity
        type: int
      - name: '*defvalue'
        type: char
      - name: relative_offset
        type: int
      - name: elem_offset
        type: int
      - name: init
        type: init_fun_t
      - name: update
        type: update_fun_t
      - name: free
        type: free_fun_t
      - name: print
        type: print_fun_t
      item_type: struct
      name: cfgelem
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - fields:
      - name: '*e'
        type: struct cfgelem
      - name: '*p'
        type: void
      item_type: struct
      name: ddsi_cfgst_nodekey
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: key
        type: struct ddsi_cfgst_nodekey
      - name: count
        type: int
      - name: sources
        type: uint32_t
      - name: failed
        type: int
      item_type: struct
      name: ddsi_cfgst_node
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - fields:
      - name: found
        type: ddsrt_avl_tree_t
      - name: '*cfg'
        type: struct ddsi_config
      - name: '*logcfg'
        type: struct ddsrt_log_cfg
      - name: error
        type: int
      - name: first_data_in_source
        type: bool
      - name: implicit_toplevel
        type: enum implicit_toplevel
      - name: partial_match_allowed
        type: bool
      - name: source
        type: uint32_t
      - name: '*input'
        type: char
      - name: line
        type: int
      - name: path_depth
        type: int
      - name: isattr[MAX_PATH_DEPTH]
        type: int
      - name: '*path[MAX_PATH_DEPTH]'
        type: struct cfgelem
      - name: '*parent[MAX_PATH_DEPTH]'
        type: void
      item_type: struct
      name: ddsi_cfgst
      pos:
        line_end: 134
        line_start: 93
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    - fields:
      - name: bufpos
        type: size_t
      - name: bufsize
        type: size_t
      - name: '*buf'
        type: char
      item_type: struct
      name: cfg_note_buf
      pos:
        line_end: 399
        line_start: 395
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
    typedefs:
    - item_type: typedef
      name: (*init_fun_t) (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
        const * const cfgelem)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type: int
    - item_type: typedef
      name: (*update_fun_t) (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
        const * const cfgelem, int first, const char *value)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type: update_result
    - item_type: typedef
      name: (*free_fun_t) (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
        const * const cfgelem)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type: void
    - item_type: typedef
      name: (*print_fun_t) (struct ddsi_cfgst *cfgst, void *parent, struct cfgelem
        const * const cfgelem, uint32_t sources)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_config.c
      type: void
    union: []
- function_names:
  - ddsi_factory_add
  - ddsi_tran_factories_fini
  - type_is_numeric
  - ddsi_factory_find_with_len
  - ddsi_factory_find
  - ddsi_factory_find_supported_kind
  - ddsi_factory_free
  - ddsi_conn_free
  - ddsi_conn_add_ref
  - ddsi_factory_conn_init
  - ddsi_conn_disable_multiplexing
  - ddsi_conn_peer_locator
  - ddsi_conn_join_mc
  - ddsi_conn_leave_mc
  - ddsi_tran_free
  - ddsi_listener_unblock
  - ddsi_listener_free
  - ddsi_is_loopbackaddr
  - ddsi_is_mcaddr
  - ddsi_is_ssm_mcaddr
  - ddsi_is_nearby_address
  - ddsi_locator_from_string
  - ddsi_locator_from_sockaddr
  - kindstr
  - ddsi_xlocator_to_string_impl
  - ddsi_xlocator_to_string_no_port_impl
  - ddsi_xlocator_to_string
  - ddsi_locator_to_string
  - ddsi_xlocator_to_string_no_port
  - ddsi_locator_to_string_no_port
  - ddsi_enumerate_interfaces
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tran.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - force_lease_check
  - ddsi_compare_lease_tsched
  - ddsi_compare_lease_tdur
  - ddsi_lease_management_init
  - ddsi_lease_management_term
  - ddsi_lease_new
  - ddsi_lease_clone
  - ddsi_lease_register
  - ddsi_lease_unregister
  - ddsi_lease_free
  - trace_lease_renew
  - ddsi_lease_renew
  - ddsi_lease_set_expiry
  - ddsi_check_and_handle_lease_expiration
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TSCHED_NOT_ON_HEAP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lease.c
      type_or_value: INT64_MIN
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSI_SERDATA_PLIST_PAD
  - DDSI_SERDATA_PLIST_PAD
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_SERDATA_PLIST_PREPAD
      pos:
        line_end: 35
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
      type_or_value: "struct ddsi_serdata c;              \\\n  uint32_t pos;                       \\\n
        \ uint32_t size;                      \\\n  ddsi_vendorid_t vendorid;             \\\n
        \ ddsi_protocol_version_t protoversion; \\\n  ddsi_keyhash_t keyhash"
    - item_type: preproc_def
      name: DDSI_SERDATA_PLIST_POSTPAD
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
      type_or_value: "uint16_t identifier;                \\\n  uint16_t options;
        \                  \\\n  char data[]"
    structs:
    - fields: []
      item_type: struct
      name: ddsi_serdata_plist_unpadded
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
    - fields:
      - name: pad[DDSI_SERDATA_PLIST_PAD (8 - (offsetof (struct ddsi_serdata_plist_unpadded,
          data) % 8))]
        type: char
      item_type: struct
      name: ddsi_serdata_plist
      pos:
        line_end: 55
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
    - fields:
      - name: c
        type: struct ddsi_sertype
      - name: encoding_format
        type: uint16_t
      - name: keyparam
        type: ddsi_parameterid_t
      item_type: struct
      name: ddsi_sertype_plist
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_plist.h
    typedefs: []
    union: []
- function_names:
  - ddsi_whc_next_seq
  - ddsi_whc_get_state
  - ddsi_whc_borrow_sample
  - ddsi_whc_borrow_sample_key
  - ddsi_whc_return_sample
  - ddsi_whc_sample_iter_init
  - ddsi_whc_sample_iter_borrow_next
  - ddsi_whc_free
  - ddsi_whc_insert
  - ddsi_whc_remove_acked_messages
  - ddsi_whc_free_deferred_free_list
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__whc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_omg_shallow_copy_StringSeq
  - ddsi_omg_shallow_free_StringSeq
  - ddsi_omg_copy_PropertySeq
  - ddsi_omg_shallow_copyin_PropertySeq
  - ddsi_omg_shallow_copyout_PropertySeq
  - ddsi_omg_shallow_free_PropertySeq
  - ddsi_omg_shallow_free_dds_propertyseq
  - ddsi_omg_shallow_copyin_BinaryPropertySeq
  - ddsi_omg_shallow_copyout_BinaryPropertySeq
  - ddsi_omg_shallow_free_BinaryPropertySeq
  - ddsi_omg_shallow_free_dds_binarypropertyseq
  - ddsi_omg_shallow_copy_PropertyQosPolicy
  - ddsi_omg_shallow_copy_security_qos
  - ddsi_omg_shallow_free_PropertyQosPolicy
  - ddsi_omg_shallow_free_security_qos
  - ddsi_omg_security_dataholder_copyin
  - ddsi_omg_security_dataholder_copyout
  - ddsi_omg_shallow_copyin_DataHolder
  - ddsi_omg_shallow_copyout_DataHolder
  - ddsi_omg_shallow_free_DataHolder
  - ddsi_omg_shallow_free_ddsi_dataholder
  - ddsi_omg_shallow_copyin_DataHolderSeq
  - ddsi_omg_copyin_DataHolderSeq
  - ddsi_omg_shallow_copyout_DataHolderSeq
  - ddsi_omg_shallow_free_DataHolderSeq
  - ddsi_omg_shallow_free_ddsi_dataholderseq
  - convert_duration
  - g_omg_shallow_copy_octSeq
  - g_omg_shallow_free_octSeq
  - ddsi_omg_shallow_copy_ParticipantBuiltinTopicDataSecure
  - ddsi_omg_shallow_free_ParticipantBuiltinTopicDataSecure
  - ddsi_omg_shallow_copy_SubscriptionBuiltinTopicDataSecure
  - ddsi_omg_shallow_free_SubscriptionBuiltinTopicDataSecure
  - ddsi_omg_shallow_copy_PublicationBuiltinTopicDataSecure
  - ddsi_omg_shallow_free_PublicationBuiltinTopicDataSecure
  - ddsi_omg_shallow_copy_TopicBuiltinTopicData
  - ddsi_omg_shallow_free_TopicBuiltinTopicData
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__inverse_uint32_set.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: min
        type: uint32_t
      item_type: struct
      name: ddsi_inverse_uint32_set_node
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__inverse_uint32_set.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__hbcontrol.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: wr_guid
        type: ddsi_guid_t
      item_type: struct
      name: ddsi_heartbeat_xevent_cb_arg
      pos:
        line_end: 52
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__hbcontrol.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__proxy_participant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - serdata_plist_get_size
  - serdata_plist_eqkey
  - serdata_plist_free
  - serdata_plist_new
  - serdata_plist_fix
  - serdata_plist_from_ser
  - serdata_plist_from_ser_iov
  - serdata_plist_from_keyhash
  - get_plist_context_kind
  - serdata_plist_untyped_to_sample
  - serdata_plist_to_sample
  - serdata_plist_to_ser
  - serdata_plist_to_ser_ref
  - serdata_plist_to_ser_unref
  - serdata_plist_from_sample
  - serdata_plist_to_untyped
  - serdata_plist_get_keyhash
  - serdata_plist_print_plist
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: identifier
        type: uint16_t
      - name: par
        type: ddsi_parameter_t
      - name: kh
        type: ddsi_keyhash_t
      - name: sentinel
        type: ddsi_parameter_t
      item_type: struct
      name: "in = {\n    .identifier = DDSI_RTPS_PL_CDR_BE,\n    .options = 0,\n    .par
        = {\n      .parameterid = ddsrt_toBE2u (tp->keyparam),\n      .length = ddsrt_toBE2u
        ((uint16_t) sizeof (*keyhash))\n    },\n    .kh = *keyhash,\n    .sentinel
        = {\n      .parameterid = ddsrt_toBE2u (DDSI_PID_SENTINEL),\n      .length
        = 0\n    }\n  }"
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    - fields:
      - name: identifier
        type: uint16_t
      item_type: struct
      name: header = { ddsi_sertype_get_native_enc_identifier (DDSI_RTPS_CDR_ENC_VERSION_1,
        tp->encoding_format), 0 }
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_plist.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_exchange.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GMCLASSID_SECURITY_PARTICIPANT_CRYPTO_TOKENS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_exchange.h
      type_or_value: '"dds.sec.participant_crypto_tokens"'
    - item_type: preproc_def
      name: GMCLASSID_SECURITY_DATAWRITER_CRYPTO_TOKENS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_exchange.h
      type_or_value: '"dds.sec.datawriter_crypto_tokens"'
    - item_type: preproc_def
      name: GMCLASSID_SECURITY_DATAREADER_CRYPTO_TOKENS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_exchange.h
      type_or_value: '"dds.sec.datareader_crypto_tokens"'
    - item_type: preproc_def
      name: ddsi_volatile_secure_data_filter
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_exchange.h
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PHASH
  - PTYPEID
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PTYPEIDFMT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
      type_or_value: '"[%s %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x]"'
    structs:
    - fields:
      - name: x
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: ddsi_typeid
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: x
        type: struct DDS_XTypes_TypeObject
      item_type: struct
      name: ddsi_typeobj
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: x
        type: struct DDS_XTypes_TypeInformation
      item_type: struct
      name: ddsi_typeinfo
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: x
        type: struct DDS_XTypes_TypeMapping
      item_type: struct
      name: ddsi_typemap
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: '*ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinTypeAnnotations
      - name: '*ann_custom'
        type: struct DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: xt_applied_type_annotations
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: '*ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinMemberAnnotations
      - name: '*ann_custom'
        type: struct DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: xt_applied_member_annotations
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: type_name
        type: DDS_XTypes_QualifiedTypeName
      - name: annotations
        type: struct xt_applied_type_annotations
      item_type: struct
      name: xt_type_detail
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: name
        type: DDS_XTypes_MemberName
      - name: name_hash
        type: DDS_XTypes_NameHash
      - name: annotations
        type: struct xt_applied_member_annotations
      item_type: struct
      name: xt_member_detail
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: bound
        type: DDS_XTypes_LBound
      item_type: struct
      name: xt_string
      pos:
        line_end: 76
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_CollectionTypeFlag
      - name: ek
        type: DDS_XTypes_EquivalenceKind
      - name: detail
        type: struct xt_type_detail
      - name: '*element_type'
        type: struct ddsi_type
      - name: element_flags
        type: DDS_XTypes_CollectionElementFlag
      - name: element_annotations
        type: struct xt_applied_member_annotations
      item_type: struct
      name: xt_collection_common
      pos:
        line_end: 85
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: c
        type: struct xt_collection_common
      - name: bound
        type: DDS_XTypes_LBound
      item_type: struct
      name: xt_seq
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: c
        type: struct xt_collection_common
      - name: bounds
        type: struct DDS_XTypes_LBoundSeq
      item_type: struct
      name: xt_array
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: c
        type: struct xt_collection_common
      - name: bound
        type: DDS_XTypes_LBound
      - name: key_flags
        type: DDS_XTypes_CollectionElementFlag
      - name: '*key_type'
        type: struct ddsi_type
      - name: key_annotations
        type: struct xt_applied_member_annotations
      item_type: struct
      name: xt_map
      pos:
        line_end: 103
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: '*related_type'
        type: struct ddsi_type
      - name: flags
        type: DDS_XTypes_AliasTypeFlag
      - name: related_flags
        type: DDS_XTypes_AliasMemberFlag
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_alias
      pos:
        line_end: 110
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: '*member_type'
        type: struct ddsi_type
      - name: flags
        type: DDS_XTypes_AnnotationParameterFlag
      - name: name
        type: DDS_XTypes_MemberName
      - name: name_hash
        type: DDS_XTypes_NameHash
      - name: default_value
        type: struct DDS_XTypes_AnnotationParameterValue
      item_type: struct
      name: xt_annotation_parameter
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_annotation_parameter
      item_type: struct
      name: xt_annotation_parameter_seq
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: annotation_name
        type: DDS_XTypes_QualifiedTypeName
      - name: '*members'
        type: struct xt_annotation_parameter_seq
      item_type: struct
      name: xt_annotation
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: id
        type: DDS_XTypes_MemberId
      - name: flags
        type: DDS_XTypes_StructMemberFlag
      - name: '*type'
        type: struct ddsi_type
      - name: detail
        type: struct xt_member_detail
      item_type: struct
      name: xt_struct_member
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_struct_member
      item_type: struct
      name: xt_struct_member_seq
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_StructTypeFlag
      - name: '*base_type'
        type: struct ddsi_type
      - name: members
        type: struct xt_struct_member_seq
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_struct
      pos:
        line_end: 143
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: id
        type: DDS_XTypes_MemberId
      - name: flags
        type: DDS_XTypes_UnionMemberFlag
      - name: '*type'
        type: struct ddsi_type
      - name: label_seq
        type: struct DDS_XTypes_UnionCaseLabelSeq
      - name: detail
        type: struct xt_member_detail
      item_type: struct
      name: xt_union_member
      pos:
        line_end: 151
        line_start: 145
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_union_member
      item_type: struct
      name: xt_union_member_seq
      pos:
        line_end: 155
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_UnionTypeFlag
      - name: '*disc_type'
        type: struct ddsi_type
      - name: disc_flags
        type: DDS_XTypes_UnionDiscriminatorFlag
      - name: disc_annotations
        type: struct xt_applied_type_annotations
      - name: members
        type: struct xt_union_member_seq
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_union
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: position
        type: uint16_t
      - name: flags
        type: DDS_XTypes_BitsetMemberFlag
      - name: bitcount
        type: uint8_t
      - name: holder_type
        type: DDS_XTypes_TypeKind
      - name: detail
        type: struct xt_member_detail
      item_type: struct
      name: xt_bitfield
      pos:
        line_end: 171
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_bitfield
      item_type: struct
      name: xt_bitfield_seq
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_BitsetTypeFlag
      - name: fields
        type: struct xt_bitfield_seq
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_bitset
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: value
        type: int32_t
      - name: flags
        type: DDS_XTypes_EnumeratedLiteralFlag
      - name: detail
        type: struct xt_member_detail
      item_type: struct
      name: xt_enum_literal
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_enum_literal
      item_type: struct
      name: xt_enum_literal_seq
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_EnumTypeFlag
      - name: bit_bound
        type: DDS_XTypes_BitBound
      - name: literals
        type: struct xt_enum_literal_seq
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_enum
      pos:
        line_end: 196
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: position
        type: uint16_t
      - name: flags
        type: DDS_XTypes_BitflagFlag
      - name: detail
        type: struct xt_member_detail
      item_type: struct
      name: xt_bitflag
      pos:
        line_end: 202
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: length
        type: uint32_t
      - name: '*seq'
        type: struct xt_bitflag
      item_type: struct
      name: xt_bitflag_seq
      pos:
        line_end: 206
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: flags
        type: DDS_XTypes_BitmaskTypeFlag
      - name: bit_bound
        type: DDS_XTypes_BitBound
      - name: bitflags
        type: struct xt_bitflag_seq
      - name: detail
        type: struct xt_type_detail
      item_type: struct
      name: xt_bitmask
      pos:
        line_end: 212
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: id
        type: ddsi_typeid_t
      - name: kind
        type: ddsi_typeid_kind_t
      - name: sc_component_id
        type: struct DDS_XTypes_StronglyConnectedComponentId
      - name: _d
        type: uint8_t
      - name: _u
        type: "union {\n    // case TK_NONE:\n    // case TK_BOOLEAN:\n    // case
          TK_BYTE:\n    // case TK_INT8:\n    // case TK_INT16:\n    // case TK_INT32:\n
          \   // case TK_INT64:\n    // case TK_UINT8:\n    // case TK_UINT16:\n    //
          case TK_UINT32:\n    // case TK_UINT64:\n    // case TK_FLOAT32:\n    //
          case TK_FLOAT64:\n    // case TK_FLOAT128:\n    // case TK_CHAR8:\n    //
          case TK_CHAR16:\n    //   <empty for primitive types>\n    // case TK_STRING8:\n
          \   struct xt_string str8;\n    // case TK_STRING16:\n    struct xt_string
          str16;\n    // case TK_SEQUENCE:\n    struct xt_seq seq;\n    // case TK_ARRAY:\n
          \   struct xt_array array;\n    // case TK_MAP:\n    struct xt_map map;\n
          \   // case TK_ALIAS:\n    struct xt_alias alias;\n    // case TK_ANNOTATION:\n
          \   struct xt_annotation annotation;\n    // case TK_STRUCTURE:\n    struct
          xt_struct structure;\n    // case TK_UNION:\n    struct xt_union union_type;\n
          \   // case TK_BITSET:\n    struct xt_bitset bitset;\n    // case TK_ENUM:\n
          \   struct xt_enum enum_type;\n    // case TK_BITMASK:\n    struct xt_bitmask
          bitmask;\n  }"
      item_type: struct
      name: xt_type
      pos:
        line_end: 264
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: src_avl_node
        type: ddsrt_avl_node_t
      - name: dep_avl_node
        type: ddsrt_avl_node_t
      - name: src_type_id
        type: ddsi_typeid_t
      - name: dep_type_id
        type: ddsi_typeid_t
      - name: from_type_info
        type: bool
      item_type: struct
      name: ddsi_type_dep
      pos:
        line_end: 275
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    - fields:
      - name: xt
        type: struct xt_type
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: avl_node
        type: ddsrt_avl_node_t
      - name: state
        type: enum ddsi_type_state
      - name: request_seqno
        type: ddsi_seqno_t
      - name: proxy_guids
        type: struct ddsi_type_proxy_guid_list
      - name: refc
        type: uint32_t
      item_type: struct
      name: ddsi_type
      pos:
        line_end: 285
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xt_impl.h
    typedefs: []
    union: []
- function_names:
  - make_uc_sockets
  - make_builtin_endpoint_xqos
  - make_builtin_volatile_endpoint_xqos
  - set_recvips
  - string_to_default_locator
  - set_spdp_address
  - set_default_mc_address
  - set_ext_address_and_mask
  - check_thread_properties
  - ddsi_config_open_trace
  - ddsi_config_prep
  - joinleave_spdp_defmcip_helper
  - joinleave_spdp_defmcip
  - create_multicast_sockets
  - ddsi_term_prep
  - wait_for_receive_threads_helper
  - wait_for_receive_threads
  - make_special_type_pserop
  - make_special_type_plist
  - make_special_type_cdrstream
  - free_special_types
  - make_special_types
  - use_multiple_receive_threads
  - setup_and_start_recv_threads
  - ddsi_sertype_equal_wrap
  - ddsi_sertype_hash_wrap
  - topic_definition_equal_wrap
  - topic_definition_hash_wrap
  - reset_deaf_mute
  - ddsi_set_deafmute
  - free_conns
  - create_vnet_interface_for_psmx
  - set_locator_port_if_not_unspec_locator
  - decide_participant_index_and_add_localhost_to_peers
  - ddsi_init
  - ddsi_start
  - builtins_dqueue_ready_cb
  - ddsi_stop
  - ddsi_fini
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
  types:
    enum:
    - enumerators:
      - name: MUSRET_SUCCESS
      - name: MUSRET_PORTS_IN_USE
      - name: MUSRET_INVALID_PORTS
      - name: MUSRET_ERROR
      item_type: enum
      name: make_uc_sockets_ret
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: errcount
        type: int
      - name: dojoin
        type: int
      item_type: struct
      name: joinleave_spdp_defmcip_helper_arg
      pos:
        line_end: 572
        line_start: 568
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - fields:
      - name: count
        type: unsigned
      item_type: struct
      name: wait_for_receive_threads_helper_arg
      pos:
        line_end: 691
        line_start: 689
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      - name: ready
        type: int
      item_type: struct
      name: dq_builtins_ready_arg
      pos:
        line_end: 1751
        line_start: 1747
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_init.c
    typedefs: []
    union: []
- function_names:
  - threads_vtime_gather_for_wait
  - threads_vtime_check
  - ddsi_gcreq_queue_step
  - gcreq_queue_thread
  - ddsi_gcreq_queue_new
  - ddsi_gcreq_queue_start
  - ddsi_gcreq_queue_drain
  - ddsi_gcreq_queue_free
  - ddsi_gcreq_new
  - ddsi_gcreq_free
  - gcreq_enqueue_common
  - ddsi_gcreq_enqueue
  - ddsi_gcreq_requeue
  - ddsi_gcreq_get_arg
  - ddsi_gcreq_set_arg
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: struct ddsi_gcreq
      - name: '*last'
        type: struct ddsi_gcreq
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_etime_t
      - name: terminate
        type: int
      - name: count
        type: int32_t
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*thrst'
        type: struct ddsi_thread_state
      item_type: struct
      name: ddsi_gcreq_queue
      pos:
        line_end: 35
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_gc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typelib.h
  types:
    enum:
    - enumerators:
      - name: DDSI_TYPE_UNRESOLVED
      - name: DDSI_TYPE_REQUESTED
      - name: DDSI_TYPE_PARTIAL_RESOLVED
      - name: DDSI_TYPE_INVALID
      - name: DDSI_TYPE_RESOLVED
      - name: DDSI_TYPE_CONSTRUCTING
      item_type: enum
      name: ddsi_type_state
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__typelib.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plist_alignof
  - pserop_seralign
  - alignN
  - align2
  - align4
  - align8
  - deser_generic_dst
  - deser_generic_src
  - ser_generic_aligned
  - ser_generic_align2
  - ser_generic_align4
  - ser_generic_align8
  - deser_uint16
  - deser_uint32
  - deser_int16
  - deser_int64
  - prtf
  - deser_reliability
  - ser_reliability
  - valid_reliability
  - equal_reliability
  - print_reliability
  - deser_statusinfo
  - ser_statusinfo
  - print_statusinfo
  - deser_locator
  - ser_locator
  - unalias_locator
  - fini_locator
  - pserop_advance
  - print_locator
  - deser_type_consistency
  - ser_type_consistency
  - valid_type_consistency
  - equal_type_consistency
  - print_type_consistency
  - validate_liveliness_kind
  - deser_liveliness
  - ser_liveliness
  - valid_liveliness
  - equal_liveliness
  - print_liveliness
  - deser_data_representation
  - ser_data_representation
  - valid_data_representation
  - equal_data_representation
  - unalias_data_representation
  - fini_data_representation
  - print_data_representation
  - deser_type_information
  - ser_type_information
  - valid_type_information
  - equal_type_information
  - unalias_type_information
  - fini_type_information
  - print_type_information
  - ser_generic_srcsize
  - SIMPLE
  - ddsi_plist_memsize_generic
  - fini_generic_embeddable
  - COMPLEX
  - SIMPLE
  - pserop_memalign
  - deser_generic_r
  - deser_generic
  - ddsi_plist_deser_generic_srcoff
  - ddsi_plist_deser_generic
  - ddsi_plist_ser_generic_size_embeddable
  - COMPLEX
  - SIMPLE1
  - SIMPLE2
  - SIMPLE4
  - SIMPLE8
  - ser_generic_size
  - ser_generic_count
  - ddsi_plist_ser_generic_embeddable
  - ser_generic
  - ddsi_plist_ser_generic
  - ddsi_plist_ser_generic_be
  - unalias_generic
  - COMPLEX
  - SIMPLE
  - ddsi_plist_unalias_generic
  - unalias_generic_required
  - fini_generic_required
  - fini_generic
  - ddsi_plist_fini_generic
  - valid_generic
  - COMPLEX
  - SIMPLE
  - TRIVIAL
  - equal_generic
  - COMPLEX
  - SIMPLE
  - TRIVIAL
  - ddsi_plist_equal_generic
  - isprint_runlen
  - prtf_octetseq
  - print_generic1
  - print_generic
  - membersize
  - ENTRY
  - QPV
  - PPV
  - QP
  - PP
  - PPM
  - protocol_version_is_newer
  - dvx_durability_service
  - dvx_history
  - dvx_resource_limits
  - dvx_participant_guid
  - dvx_group_guid
  - dvx_endpoint_guid
  - dvx_reader_favours_ssm
  - INDEX_ANY
  - INDEX
  - pid_to_index
  - piddesc_cmp_qos_addr
  - ddsi_plist_init_tables_real
  - ddsi_plist_init_tables
  - plist_or_xqos_fini
  - plist_or_xqos_unalias
  - plist_or_xqos_mergein_missing
  - plist_or_xqos_addtomsg
  - ddsi_plist_fini
  - ddsi_plist_fini_mask
  - ddsi_plist_unalias
  - ddsi_xqos_valid_strictness
  - ddsi_xqos_valid
  - plist_or_xqos_delta
  - ddsi_xqos_delta
  - ddsi_plist_delta
  - validate_external_duration
  - history_qospolicy_allzero
  - validate_history_qospolicy
  - resource_limits_qospolicy_allzero
  - validate_resource_limits_qospolicy
  - validate_history_and_resource_limits
  - durability_service_qospolicy_allzero
  - validate_durability_service_qospolicy_acceptzero
  - add_locator
  - locator_address_prefix_zero
  - locator_address_zero
  - is_valid_psmx_instance_id
  - do_locator
  - locator_from_ipv4address_port
  - do_ipv4address
  - do_port
  - return_unrecognized_pid
  - init_one_parameter
  - XA
  - XP
  - ddsi_plist_mergein_missing
  - ddsi_xqos_mergein_missing
  - ddsi_plist_copy
  - ddsi_plist_dup
  - ddsi_plist_init_empty
  - final_validation_qos
  - final_validation
  - ddsi_plist_findparam_checking
  - ddsi_plist_quickscan
  - ddsi_xqos_init_empty
  - ddsi_xqos_copy
  - ddsi_xqos_fini
  - ddsi_xqos_fini_mask
  - ddsi_xqos_unalias
  - ddsi_xqos_dup
  - ddsi_xqos_add_property_if_unset
  - ddsi_xqos_has_prop_prefix
  - ddsi_xqos_find_prop
  - fill_property
  - ddsi_xqos_mergein_security_config
  - partition_is_default
  - partitions_equal_n2
  - strcmp_wrapper
  - partitions_equal_nlogn
  - partitions_equal
  - ddsi_xqos_addtomsg
  - ddsi_plist_addtomsg_bo
  - ddsi_plist_addtomsg
  - plist_or_xqos_print
  - plist_or_xqos_log
  - ddsi_xqos_print
  - ddsi_plist_print
  - ddsi_xqos_log
  - ddsi_plist_log
  - ddsi_plist_print_generic
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
  types:
    enum:
    - enumerators:
      - name: DOLOC_ACCEPTED
      - name: DOLOC_IGNORED
      - name: DOLOC_INVALID
      item_type: enum
      name: do_locator_result
      pos:
        line_end: 138
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - enumerators:
      - name: XE3_PROTO_0
      - name: XE3_PROTO_3
      - name: XE3_PROTO_1
      - name: XE3_PROTO_2
      item_type: enum
      name: xe3_prototype
      pos:
        line_end: 894
        line_start: 894
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    preproc_defs:
    - item_type: preproc_def
      name: PPTMP_MULTICAST_IPADDRESS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PPTMP_DEFAULT_UNICAST_IPADDRESS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: PPTMP_DEFAULT_UNICAST_PORT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: PPTMP_METATRAFFIC_UNICAST_IPADDRESS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: PPTMP_METATRAFFIC_UNICAST_PORT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: PPTMP_METATRAFFIC_MULTICAST_IPADDRESS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: PPTMP_METATRAFFIC_MULTICAST_PORT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: PDF_QOS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: PDF_FUNCTION
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: PDF_ALLOWMULTI
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: DEFAULT_PROC_ARRAY_SIZE
      pos:
        line_end: 2188
        line_start: 2187
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DEFAULT_OMG_PIDS_ARRAY_SIZE
      pos:
        line_end: 2190
        line_start: 2189
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (DDSI_PID_TYPE_INFORMATION + 1)
    - item_type: preproc_def
      name: DEFAULT_OMG_PIDS_ARRAY_SIZE
      pos:
        line_end: 2192
        line_start: 2191
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (DDSI_PID_TYPE_CONSISTENCY_ENFORCEMENT + 1)
    - item_type: preproc_def
      name: SECURITY_OMG_PIDS_ARRAY_SIZE
      pos:
        line_end: 2195
        line_start: 2194
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: (DDSI_PID_IDENTITY_STATUS_TOKEN - DDSI_PID_IDENTITY_TOKEN + 1)
    - item_type: preproc_def
      name: SECURITY_PROC_ARRAY_SIZE
      pos:
        line_end: 2196
        line_start: 2195
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SECURITY_OMG_PIDS_ARRAY_SIZE
      pos:
        line_end: 2198
        line_start: 2197
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SECURITY_PROC_ARRAY_SIZE
      pos:
        line_end: 2199
        line_start: 2198
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
      type_or_value: '0'
    structs:
    - fields:
      - name: present
        type: uint32_t
      - name: multicast_ipaddress
        type: ddsi_ipv4address_t
      - name: default_unicast_ipaddress
        type: ddsi_ipv4address_t
      - name: default_unicast_port
        type: ddsi_port_t
      - name: metatraffic_unicast_ipaddress
        type: ddsi_ipv4address_t
      - name: metatraffic_unicast_port
        type: ddsi_port_t
      - name: metatraffic_multicast_ipaddress
        type: ddsi_ipv4address_t
      - name: metatraffic_multicast_port
        type: ddsi_port_t
      item_type: struct
      name: ddsi_ipaddress_params_tmp
      pos:
        line_end: 88
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - fields:
      - name: '*buf'
        type: unsigned char
      - name: bufsz
        type: size_t
      - name: bswap
        type: unsigned
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: vendorid
        type: ddsi_vendorid_t
      - name: context_kind
        type: enum ddsi_plist_context_kind
      item_type: struct
      name: dd
      pos:
        line_end: 97
        line_start: 90
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - fields:
      - name: '*present'
        type: uint64_t
      - name: '*aliased'
        type: uint64_t
      - name: wanted
        type: uint64_t
      item_type: struct
      name: flagset
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - fields:
      - name: pid
        type: ddsi_parameterid_t
      - name: flags
        type: uint16_t
      - name: present_flag
        type: uint64_t
      - name: '*name'
        type: char
      - name: plist_offset
        type: size_t
      - name: size
        type: size_t
      - name: op
        type: "union {\n    /* descriptor for generic code: 12 is enough for the current
          set of\n       parameters, compiler will warn if one ever tries to use more
          than\n       will fit */\n    const enum ddsi_pserop desc[12];\n    struct
          {\n      dds_return_t (*deser) (void * restrict dst, struct flagset *flagset,
          uint64_t flag, const struct dd *dd, struct ddsi_domaingv const * const gv);\n
          \     dds_return_t (*ser) (struct ddsi_xmsg *xmsg, ddsi_parameterid_t pid,
          const void *src, size_t srcoff, enum ddsrt_byte_order_selector bo, enum
          ddsi_plist_context_kind context_kind);\n      dds_return_t (*unalias) (void
          * restrict dst, size_t * restrict dstoff, bool gen_seq_aliased);\n      dds_return_t
          (*fini) (void * restrict dst, size_t * restrict dstoff, struct flagset *flagset,
          uint64_t flag);\n      dds_return_t (*valid) (const void *src, size_t srcoff);\n
          \     bool (*equal) (const void *srcx, const void *srcy, size_t srcoff);\n
          \     bool (*print) (char * restrict *buf, size_t * restrict bufsize, const
          void *src, size_t srcoff);\n    } f;\n  }"
      - name: (*deser_validate_xform) (void * restrict dst, const struct dd *dd)
        type: dds_return_t
      item_type: struct
      name: piddesc
      pos:
        line_end: 132
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    - fields:
      - name: index_max
        type: size_t
      - name: '**index'
        type: struct piddesc
      - name: '*table'
        type: struct piddesc
      item_type: struct
      name: piddesc_index
      pos:
        line_end: 2174
        line_start: 2167
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_plist.c
    typedefs: []
    union: []
- function_names:
  - ddsi_typeid_copy_impl
  - ddsi_typeid_copy
  - ddsi_typeid_copy_to_impl
  - ddsi_typeid_dup_impl
  - ddsi_typeid_dup_from_impl
  - ddsi_typeid_dup
  - ddsi_typekind_descr
  - plain_collection_header_compare
  - equivalence_hash_compare
  - type_object_hashid_compare
  - strongly_connected_component_id_compare
  - type_id_with_size_equal
  - type_id_with_sizeseq_equal
  - ddsi_type_id_with_deps_equal
  - ddsi_typeid_compare_impl
  - ddsi_typeid_compare
  - ddsi_typeid_ser
  - ddsi_typeid_fini_impl
  - ddsi_typeid_fini
  - ddsi_typeid_is_none_impl
  - ddsi_typeid_is_none
  - ddsi_typeid_is_hash_impl
  - ddsi_typeid_is_hash
  - ddsi_typeid_is_minimal_impl
  - ddsi_typeid_is_minimal
  - ddsi_typeid_is_complete_impl
  - ddsi_typeid_is_complete
  - ddsi_typeid_is_fully_descriptive
  - ddsi_typeid_get_equivalence_hash
  - ddsi_typeobj_get_hash_id_impl
  - ddsi_typeobj_get_hash_id
  - ddsi_typeobj_get_type_name_impl
  - ddsi_typeobj_fini_impl
  - ddsi_typeobj_fini
  - xt_collection_common_init
  - xt_sbounds_to_lbounds
  - xt_lbounds_to_sbounds
  - xt_lbounds_dup
  - ddsi_xt_get_namehash
  - set_member_detail
  - ddsi_xt_is_unresolved
  - ddsi_xt_is_resolved
  - ddsi_xt_unalias
  - xt_valid_struct_base_type
  - xt_valid_union_disc_type
  - xt_member_id_cmp
  - xt_valid_struct_member_ids
  - xt_valid_union_member_ids
  - xt_enum_value_cmp
  - xt_valid_enum_values
  - xt_bitmask_position_cmp
  - xt_valid_bitmask_positions
  - xt_valid_type_flags
  - xt_valid_member_flags
  - xt_valid_array_bounds
  - xt_validate_impl
  - ddsi_xt_validate
  - add_minimal_typeobj
  - add_complete_typeobj
  - ddsi_xt_type_add_typeobj
  - ddsi_xt_type_init_impl
  - ddsi_xt_type_init
  - DDS_XTypes_AppliedVerbatimAnnotation_copy
  - DDS_XTypes_AppliedBuiltinTypeAnnotations_copy
  - DDS_XTypes_AppliedAnnotationParameter_copy
  - DDS_XTypes_AppliedAnnotationParameterSeq_copy
  - DDS_XTypes_AppliedAnnotation_copy
  - DDS_XTypes_AppliedAnnotationSeq_copy
  - DDS_XTypes_AppliedBuiltinMemberAnnotations_copy
  - get_type_detail
  - get_member_detail
  - get_minimal_member_detail
  - xt_applied_member_annotations_fini
  - ddsi_xt_type_fini
  - xt_applied_type_annotations_copy
  - xt_applied_member_annotations_copy
  - xt_annotation_parameter_copy
  - xt_annotation_parameter_seq_copy
  - xt_type_detail_copy
  - xt_collection_common_copy
  - DDS_XTypes_LBoundSeq_copy
  - xt_member_detail_copy
  - xt_struct_member_copy
  - xt_struct_member_seq_copy
  - DDS_XTypes_UnionCaseLabelSeq_copy
  - xt_union_member_copy
  - xt_union_member_seq_copy
  - xt_bitfield_copy
  - xt_bitfield_seq_copy
  - xt_enum_literal_seq_copy
  - xt_bitflag_copy
  - xt_bitflag_seq_copy
  - ddsi_xt_copy
  - xt_dup
  - xt_has_basetype
  - xt_non_assignable
  - xt_is_assignable_check_resolved
  - xt_expand_basetype
  - xt_type_key_erased
  - xt_struct_has_key
  - xt_check_bound
  - xt_type_keyholder
  - xt_is_plain_collection
  - xt_is_plain_collection_equiv_kind
  - xt_is_plain_collection_fully_descriptive_typeid
  - xt_is_equiv_kind_hash_typeid
  - xt_is_minimal_hash_typeid
  - xt_is_primitive
  - xt_is_string
  - xt_string_bound
  - xt_is_fully_descriptive
  - xt_is_enumerated
  - xt_get_extensibility
  - xt_is_delimited
  - xt_is_equivalent_minimal
  - xt_is_strongly_assignable_from
  - xt_bounds_eq
  - xt_namehash_eq
  - xt_union_label_selects
  - xt_union_labels_match
  - xt_is_assignable_from_enum
  - xt_is_assignable_from_union
  - xt_is_assignable_from_struct
  - xt_is_assignable_from_bitmask
  - xt_is_assignable_from_impl
  - ddsi_typeid_kind_impl
  - ddsi_xt_is_assignable_from
  - ddsi_typeid_kind
  - xt_is_non_hash
  - get_plain_collection_element_id
  - ddsi_xt_get_non_hash_id
  - ddsi_xt_get_typeid_impl
  - ddsi_xt_get_typeobject_kind_impl
  - ddsi_xt_get_typeobject_impl
  - ddsi_xt_get_typeobject
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MEMBER_FLAG_COLLECTION_ELEMENT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 1u
    - item_type: preproc_def
      name: MEMBER_FLAG_STRUCT_MEMBER
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 2u
    - item_type: preproc_def
      name: MEMBER_FLAG_UNION_MEMBER
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 3u
    - item_type: preproc_def
      name: MEMBER_FLAG_UNION_DISC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 4u
    - item_type: preproc_def
      name: MEMBER_FLAG_ENUM_LITERAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 5u
    - item_type: preproc_def
      name: MEMBER_FLAG_ANNOTATION_PARAM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 6u
    - item_type: preproc_def
      name: MEMBER_FLAG_ALIAS_MEMBER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 7u
    - item_type: preproc_def
      name: MEMBER_FLAG_BIT_FLAG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 8u
    - item_type: preproc_def
      name: MEMBER_FLAG_BITSET_MEMBER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: 9u
    - item_type: preproc_def
      name: F
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_FINAL
    - item_type: preproc_def
      name: A
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_APPENDABLE
    - item_type: preproc_def
      name: M
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_MUTABLE
    - item_type: preproc_def
      name: N
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_NESTED
    - item_type: preproc_def
      name: H
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_AUTOID_HASH
    - item_type: preproc_def
      name: T1
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_TRY_CONSTRUCT1
    - item_type: preproc_def
      name: T2
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_TRY_CONSTRUCT2
    - item_type: preproc_def
      name: X
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_EXTERNAL
    - item_type: preproc_def
      name: O
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_OPTIONAL
    - item_type: preproc_def
      name: M
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_MUST_UNDERSTAND
    - item_type: preproc_def
      name: K
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_KEY
    - item_type: preproc_def
      name: D
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typewrap.c
      type_or_value: DDS_XTypes_IS_DEFAULT
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXCEPTION_LOG
  - EXCEPTION_VLOG
  - EXCEPTION_ERROR
  - EXCEPTION_WARNING
  - SECURITY_ATTR_IS_VALID
  - SECURITY_ATTR_COMPATIBLE
  - SECURITY_INFO_COMPATIBLE
  - SECURITY_INFO_IS_RTPS_PROTECTED
  - SECURITY_INFO_IS_WRITE_PROTECTED
  - SECURITY_INFO_IS_READ_PROTECTED
  - SECURITY_INFO_IS_RTPS_PROTECTED
  - SECURITY_INFO_USE_RTPS_AUTHENTICATION
  - endpoint_is_DCPSParticipantSecure
  - endpoint_is_DCPSPublicationsSecure
  - endpoint_is_DCPSSubscriptionsSecure
  - endpoint_is_DCPSParticipantStatelessMessage
  - endpoint_is_DCPSParticipantMessageSecure
  - endpoint_is_DCPSParticipantVolatileMessageSecure
  - compare_crypto_handle
  - compare_guid_pair
  - compare_pending_match_exptime
  - ddsi_omg_security_get_secure_context
  - ddsi_omg_participant_get_access_control
  - ddsi_omg_participant_get_authentication
  - ddsi_omg_participant_get_cryptography
  - ddsi_omg_security_get_secure_context_from_proxypp
  - ddsi_omg_vlog_exception
  - ddsi_omg_log_exception
  - free_pending_match
  - find_or_create_pending_entity_match
  - unregister_and_free_pending_match
  - delete_pending_match
  - pending_match_expiry_cb
  - clear_pending_matches_by_local_guid
  - pending_match_index_init
  - pending_match_index_deinit
  - ddsi_pp_proxypp_match_new
  - ddsi_pp_proxypp_match_free
  - ddsi_proxypp_pp_match_new
  - ddsi_proxypp_pp_match_free
  - pp_proxypp_unrelate_locked
  - pp_proxypp_unrelate
  - proxypp_pp_unrelate_locked
  - proxypp_pp_unrelate
  - participant_sec_attributes_new
  - participant_sec_attributes_free
  - writer_sec_attributes_new
  - writer_sec_attributes_free
  - reader_sec_attributes_new
  - reader_sec_attributes_free
  - participant_index_add
  - participant_index_find
  - participant_index_remove
  - get_matched_proxypp_crypto_handles
  - get_first_matched_proxypp_crypto_handle
  - ddsi_omg_is_security_loaded
  - ddsi_omg_security_init
  - release_plugins
  - ddsi_omg_security_stop
  - ddsi_omg_security_deinit
  - ddsi_omg_security_free
  - dds_qos_to_security_plugin_configuration
  - deinit_plugin_config
  - deinit_plugin_suite_config
  - delete_pp_by_handle
  - delete_proxypp_by_handle
  - pp_expired_by_perm
  - proxypp_expired_by_perm
  - pp_expired_by_id
  - proxypp_expired_by_id
  - on_revoke_permissions_cb
  - on_revoke_identity_cb
  - ddsi_omg_security_load
  - notify_handshake_recv_token
  - ddsi_omg_participant_is_secure
  - ddsi_omg_proxy_participant_is_secure
  - ddsi_omg_participant_allow_unauthenticated
  - ddsi_omg_security_check_create_participant
  - ddsi_omg_security_participant_set_initialized
  - ddsi_omg_security_participant_is_initialized
  - cleanup_participant_sec_attributes
  - ddsi_omg_security_deregister_participant
  - ddsi_omg_security_get_local_participant_handle
  - ddsi_omg_participant_is_access_protected
  - ddsi_omg_participant_is_rtps_protected
  - ddsi_omg_participant_is_liveliness_protected
  - ddsi_omg_participant_is_discovery_protected
  - maybe_rtps_protected
  - proxypp_is_rtps_protected
  - ddsi_omg_security_is_remote_rtps_protected
  - ddsi_omg_security_is_local_rtps_protected
  - ddsi_omg_get_participant_security_info
  - ddsi_omg_get_endpoint_security_info
  - is_topic_discovery_protected
  - handle_not_allowed
  - ddsi_omg_security_check_create_topic
  - ddsi_omg_security_check_create_writer
  - ddsi_omg_security_register_writer
  - ddsi_omg_security_deregister_writer
  - ddsi_omg_get_writer_security_info
  - ddsi_omg_security_check_create_reader
  - ddsi_omg_security_register_reader
  - ddsi_omg_security_deregister_reader
  - ddsi_omg_get_reader_security_info
  - ddsi_determine_subscription_writer
  - ddsi_determine_publication_writer
  - ddsi_determine_topic_writer
  - check_remote_participant_permissions
  - send_participant_crypto_tokens
  - get_permissions_handle
  - ddsi_omg_security_init_remote_participant
  - ddsi_omg_security_remote_participant_set_initialized
  - ddsi_omg_security_remote_participant_is_initialized
  - proxypp_is_authenticated
  - match_proxypp_pp
  - ddsi_omg_security_register_remote_participant
  - ddsi_omg_security_set_remote_participant_authenticated
  - is_volatile_secure_endpoint
  - get_ddsi_pp_proxypp_match_if_authenticated
  - ddsi_omg_security_deregister_remote_participant
  - ddsi_is_proxy_participant_deletion_allowed
  - ddsi_omg_is_similar_participant_security_info
  - ddsi_omg_security_set_participant_crypto_tokens
  - ddsi_omg_security_participant_send_tokens
  - ddsi_omg_security_get_remote_participant_handle
  - ddsi_set_proxy_participant_security_info
  - ddsi_omg_writer_is_discovery_protected
  - ddsi_omg_writer_is_submessage_protected
  - ddsi_omg_writer_is_payload_protected
  - ddsi_omg_security_check_remote_writer_permissions
  - send_reader_crypto_tokens
  - ddsi_omg_security_register_remote_writer_match
  - ddsi_omg_security_match_remote_writer_enabled
  - ddsi_omg_security_deregister_remote_writer_match
  - ddsi_omg_security_deregister_remote_writer
  - ddsi_omg_security_check_remote_reader_permissions
  - ddsi_omg_get_proxy_endpoint_security_info
  - ddsi_omg_security_deregister_remote_reader_match
  - ddsi_omg_security_deregister_remote_reader
  - send_writer_crypto_tokens
  - ddsi_omg_security_register_remote_reader_match
  - ddsi_omg_security_match_remote_reader_enabled
  - ddsi_omg_security_set_remote_writer_crypto_tokens
  - ddsi_omg_security_set_remote_reader_crypto_tokens
  - ddsi_omg_reader_is_discovery_protected
  - ddsi_omg_security_encode_datareader_submessage
  - ddsi_omg_security_encode_datawriter_submessage
  - ddsi_omg_security_decode_submessage
  - ddsi_omg_security_encode_serialized_payload
  - ddsi_omg_security_decode_serialized_payload
  - ddsi_omg_security_encode_rtps_message
  - ddsi_omg_security_decode_rtps_message
  - ddsi_omg_reader_is_submessage_protected
  - ddsi_security_encode_payload
  - decode_payload
  - ddsi_security_decode_data
  - ddsi_security_decode_datafrag
  - ddsi_security_encode_datareader_submsg
  - ddsi_security_encode_datawriter_submsg
  - ddsi_security_validate_msg_decoding
  - validate_submsg
  - padding_submsg
  - ddsi_security_decode_sec_prefix_patched_hdr_flags
  - ddsi_security_decode_sec_prefix
  - check_rtps_message_is_secure
  - decode_rtps_message_awake
  - ddsi_security_decode_rtps_message
  - ddsi_security_secure_conn_write
  - ddsi_omg_plist_keyhash_is_protected
  - ddsi_omg_is_endpoint_protected
  - ddsi_omg_log_endpoint_protection
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTH_NAME
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type_or_value: '"Authentication"'
    - item_type: preproc_def
      name: AC_NAME
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type_or_value: '"Access Control"'
    - item_type: preproc_def
      name: CRYPTO_NAME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type_or_value: '"Cryptographic"'
    - item_type: preproc_def
      name: PENDING_MATCH_EXPIRY_TIME
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type_or_value: '300'
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: participants
        type: ddsrt_avl_ctree_t
      item_type: struct
      name: participant_sec_index
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: remote_guid
        type: ddsi_guid_t
      - name: local_guid
        type: ddsi_guid_t
      item_type: struct
      name: guid_pair
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: guids
        type: struct guid_pair
      - name: kind
        type: enum ddsi_entity_kind
      - name: crypto_handle
        type: int64_t
      - name: '*tokens'
        type: DDS_Security_ParticipantCryptoTokenSeq
      - name: expiry
        type: ddsrt_mtime_t
      item_type: struct
      name: pending_match
      pos:
        line_end: 197
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: pending_matches
        type: ddsrt_avl_tree_t
      - name: expiry_timers
        type: ddsrt_fibheap_t
      - name: '*evt'
        type: struct ddsi_xevent
      item_type: struct
      name: pending_match_index
      pos:
        line_end: 205
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: auth_plugin
        type: dds_security_plugin
      - name: ac_plugin
        type: dds_security_plugin
      - name: crypto_plugin
        type: dds_security_plugin
      - name: '*authentication_context'
        type: dds_security_authentication
      - name: '*crypto_context'
        type: dds_security_cryptography
      - name: '*access_control_context'
        type: dds_security_access_control
      - name: omg_security_lock
        type: ddsrt_mutex_t
      - name: next_plugin_id
        type: uint32_t
      - name: security_matches
        type: struct pending_match_index
      - name: partiticpant_index
        type: struct participant_sec_index
      - name: ac_listener
        type: struct dds_security_access_control_listener
      - name: auth_listener
        type: struct dds_security_authentication_listener
      item_type: struct
      name: dds_security_context
      pos:
        line_end: 222
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: '*index'
        type: struct pending_match_index
      item_type: struct
      name: pending_match_expiry_cb_arg
      pos:
        line_end: 411
        line_start: 409
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: '*name'
        type: char
      - name: offset
        type: size_t
      item_type: struct
      name: "tab[] = {\n    { DDS_SEC_PROP_AUTH_LIBRARY_PATH, offsetof (dds_security_plugin_suite_config,
        authentication.library_path) },\n    { DDS_SEC_PROP_AUTH_LIBRARY_INIT, offsetof
        (dds_security_plugin_suite_config, authentication.library_init) },\n    {
        DDS_SEC_PROP_AUTH_LIBRARY_FINALIZE, offsetof (dds_security_plugin_suite_config,
        authentication.library_finalize) },\n    { DDS_SEC_PROP_CRYPTO_LIBRARY_PATH,
        offsetof (dds_security_plugin_suite_config, cryptography.library_path) },\n
        \   { DDS_SEC_PROP_CRYPTO_LIBRARY_INIT, offsetof (dds_security_plugin_suite_config,
        cryptography.library_init) },\n    { DDS_SEC_PROP_CRYPTO_LIBRARY_FINALIZE,
        offsetof (dds_security_plugin_suite_config, cryptography.library_finalize)
        },\n    { DDS_SEC_PROP_ACCESS_LIBRARY_PATH, offsetof (dds_security_plugin_suite_config,
        access_control.library_path) },\n    { DDS_SEC_PROP_ACCESS_LIBRARY_INIT, offsetof
        (dds_security_plugin_suite_config, access_control.library_init) },\n    {
        DDS_SEC_PROP_ACCESS_LIBRARY_FINALIZE, offsetof (dds_security_plugin_suite_config,
        access_control.library_finalize) }\n  }"
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: crypto_handle
        type: int64_t
      item_type: struct
      name: cleanup_participant_sec_attributes_arg
      pos:
        line_end: 1204
        line_start: 1201
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
    typedefs:
    - item_type: typedef
      name: dds_security_context
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type: dds_security_context
    - item_type: typedef
      name: (*expired_pp_check_fn_t)(const struct ddsi_participant * pp, DDS_Security_Handle
        handle)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type: bool
    - item_type: typedef
      name: (*expired_proxypp_check_fn_t)(const struct ddsi_proxy_participant * proxypp,
        DDS_Security_Handle handle)
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_omg.c
      type: bool
    union: []
- function_names:
  - ddsi_bswap_sequence_number_set_hdr
  - ddsi_bswap_sequence_number_set_bitmap
  - ddsi_bswap_fragment_number_set_hdr
  - ddsi_bswap_fragment_number_set_bitmap
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_bswap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cpemitchunk
  - cpf
  - cpfstr
  - cpfguid
  - cpfkstr
  - cpfkguid
  - cpfku64
  - cpfkseqno
  - cpfksize
  - cpfku32
  - cpfki64
  - cpfkbool
  - cpfobj
  - cpfkobj
  - cpfkseq
  - print_address
  - print_addrset
  - print_partition_seq
  - print_any_endpoint_common
  - print_endpoint_common
  - print_proxy_endpoint_common
  - print_nwpart_seq
  - print_reader_wrseq
  - print_reader_pwrseq
  - print_reader
  - print_whc_state
  - print_writer_hb
  - print_writer_ack
  - print_writer_rdseq
  - print_writer_rd
  - print_writer_prdseq
  - print_writer
  - print_reader_seq
  - print_writer_seq
  - print_participant
  - print_participants_seq
  - print_participants
  - print_proxy_reader_wrseq
  - print_proxy_reader
  - print_proxy_reader_seq
  - print_proxy_writer_rd
  - print_proxy_writer_rdseq
  - print_proxy_writer
  - print_proxy_writer_seq
  - print_proxy_participant_flags
  - print_proxy_participant
  - print_proxy_participants_seq
  - print_proxy_participants
  - print_domain
  - debmon_handle_connection
  - debmon_main
  - ddsi_new_debug_monitor
  - ddsi_get_debug_monitor_locator
  - ddsi_free_debug_monitor
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*servts'
        type: struct ddsi_thread_state
      - name: '* tran_factory'
        type: struct ddsi_tran_factory
      - name: '* servsock'
        type: struct ddsi_tran_listener
      - name: servlocator
        type: ddsi_locator_t
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: stop
        type: int
      item_type: struct
      name: ddsi_debug_monitor
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '* conn'
        type: struct ddsi_tran_conn
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: error
        type: bool
      - name: '*comma'
        type: char
      - name: chunkbuf[4096]
        type: char
      - name: pos
        type: uint16_t
      item_type: struct
      name: st
      pos:
        line_end: 63
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*st'
        type: struct st
      item_type: struct
      name: print_address_arg
      pos:
        line_end: 196
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_participant
      - name: '*r'
        type: struct ddsi_reader
      item_type: struct
      name: print_reader_arg
      pos:
        line_end: 248
        line_start: 245
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_participant
      - name: '*w'
        type: struct ddsi_writer
      item_type: struct
      name: print_writer_arg
      pos:
        line_end: 297
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_participant
      - name: '*er'
        type: struct ddsi_entity_enum_reader
      item_type: struct
      name: print_reader_seq_arg
      pos:
        line_end: 392
        line_start: 389
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_participant
      - name: '*ew'
        type: struct ddsi_entity_enum_writer
      item_type: struct
      name: print_writer_seq_arg
      pos:
        line_end: 406
        line_start: 403
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_proxy_participant
      - name: '*r'
        type: struct ddsi_proxy_reader
      item_type: struct
      name: print_proxy_reader_arg
      pos:
        line_end: 462
        line_start: 459
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_proxy_participant
      - name: '*er'
        type: struct ddsi_entity_enum_proxy_reader
      item_type: struct
      name: print_proxy_reader_seq_arg
      pos:
        line_end: 485
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_proxy_participant
      - name: '*w'
        type: struct ddsi_proxy_writer
      item_type: struct
      name: print_proxy_writer_arg
      pos:
        line_end: 530
        line_start: 527
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    - fields:
      - name: '*p'
        type: struct ddsi_proxy_participant
      - name: '*ew'
        type: struct ddsi_entity_enum_proxy_writer
      item_type: struct
      name: print_proxy_writer_seq_arg
      pos:
        line_end: 552
        line_start: 549
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_debmon.c
    typedefs: []
    union: []
- function_names:
  - maybe_set_reader_in_sync
  - valid_sequence_number_set
  - valid_fragment_number_set
  - validate_writer_and_reader_entityid
  - validate_writer_and_reader_or_null_entityid
  - validate_AckNack
  - validate_Gap
  - validate_InfoDST
  - validate_InfoSRC
  - validate_InfoTS
  - validate_Heartbeat
  - validate_HeartbeatFrag
  - validate_NackFrag
  - set_sampleinfo_proxy_writer
  - set_sampleinfo_bswap
  - validate_Data
  - validate_DataFrag
  - ddsi_add_gap
  - grow_gap_to_next_seq
  - acknack_is_nack
  - accept_ack_or_hb_w_timeout
  - ddsi_gap_info_init
  - ddsi_gap_info_update
  - ddsi_gap_info_create_gap
  - defer_heartbeat_to_peer
  - force_heartbeat_to_peer
  - defer_hb_state_init
  - defer_hb_state_fini
  - handle_AckNack
  - handle_forall_destinations
  - handle_Heartbeat_helper
  - handle_Heartbeat
  - handle_HeartbeatFrag
  - handle_NackFrag
  - handle_InfoDST
  - handle_InfoSRC
  - handle_InfoTS
  - handle_one_gap
  - handle_Gap
  - get_serdata
  - remote_make_sample
  - ddsi_normalize_data_datafrag_flags
  - proxy_writer_first_in_sync_reader
  - proxy_writer_next_in_sync_reader
  - remote_on_delivery_failure_fastpath
  - deliver_user_data
  - ddsi_user_dqueue_handler
  - deliver_user_data_synchronously
  - clean_defrag
  - handle_regular
  - handle_SPDP
  - drop_oversize
  - handle_Data
  - handle_DataFrag
  - submsg_name
  - malformed_packet_received_shortmsg
  - malformed_packet_received_fulldump
  - malformed_packet_received
  - rst_cow_if_needed
  - handle_submsg_sequence
  - handle_rtps_message
  - ddsi_handle_rtps_message
  - do_packet
  - local_participant_cmp
  - dedup_sorted_array
  - local_participant_set_init
  - local_participant_set_fini
  - rebuild_local_participant_set
  - ddsi_listen_thread
  - recv_thread_waitset_add_conn
  - ddsi_trigger_recv_threads
  - ddsi_recv_thread
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
  types:
    enum:
    - enumerators:
      - name: VR_MALFORMED
      - name: VR_NOT_UNDERSTOOD
      - name: VR_ACCEPT
      item_type: enum
      name: validation_result
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*m'
        type: struct ddsi_xmsg
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: hbansreq
        type: enum ddsi_hbcontrol_ack_required
      - name: wr_iid
        type: uint64_t
      - name: prd_iid
        type: uint64_t
      item_type: struct
      name: defer_hb_state
      pos:
        line_end: 712
        line_start: 706
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: '*rst'
        type: struct ddsi_receiver_state
      - name: '*msg'
        type: ddsi_rtps_heartbeat_t
      - name: '*pwr'
        type: struct ddsi_proxy_writer
      - name: timestamp
        type: ddsrt_wctime_t
      - name: tnow
        type: ddsrt_etime_t
      - name: tnow_mt
        type: ddsrt_mtime_t
      - name: directed_heartbeat
        type: bool
      item_type: struct
      name: handle_Heartbeat_helper_arg
      pos:
        line_end: 1199
        line_start: 1191
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: set
        type: struct ddsi_fragment_number_set_header
      - name: bits[DDSI_FRAGMENT_NUMBER_SET_MAX_BITS / 32]
        type: uint32_t
      item_type: struct
      name: nackfrag
      pos:
        line_end: 1579
        line_start: 1576
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: '*sampleinfo'
        type: struct ddsi_rsample_info
      - name: data_smhdr_flags
        type: unsigned char
      - name: '*qos'
        type: ddsi_plist_t
      - name: '*fragchain'
        type: struct ddsi_rdata
      - name: statusinfo
        type: unsigned
      - name: tstamp
        type: ddsrt_wctime_t
      item_type: struct
      name: remote_sourceinfo
      pos:
        line_end: 2015
        line_start: 2008
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: x[32]
        type: char
      item_type: struct
      name: submsg_name
      pos:
        line_end: 2790
        line_start: 2788
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: '* m_conn'
        type: struct ddsi_tran_conn
      - name: guid_prefix
        type: ddsi_guid_prefix_t
      item_type: struct
      name: local_participant_desc
      pos:
        line_end: 3403
        line_start: 3399
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    - fields:
      - name: '*ps'
        type: struct local_participant_desc
      - name: nps
        type: uint32_t
      - name: gen
        type: uint32_t
      item_type: struct
      name: local_participant_set
      pos:
        line_end: 3443
        line_start: 3439
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_receive.c
    typedefs: []
    union: []
- function_names:
  - hash_entity_guid
  - hash_entity_guid_wrapper
  - entity_guid_eq
  - entity_guid_eq_wrapper
  - all_entities_compare
  - match_endpoint_range
  - match_entity_kind_min
  - gc_buckets_cb
  - gc_buckets
  - ddsi_entity_index_new
  - ddsi_entity_index_free
  - add_to_all_entities
  - remove_from_all_entities
  - entity_index_insert
  - entity_index_tryremove
  - ddsi_entidx_lookup_guid_untyped
  - entidx_lookup_guid_int
  - ddsi_entidx_lookup_guid
  - ddsi_entidx_insert_participant_guid
  - ddsi_entidx_insert_proxy_participant_guid
  - ddsi_entidx_insert_writer_guid
  - ddsi_entidx_insert_reader_guid
  - ddsi_entidx_insert_proxy_writer_guid
  - ddsi_entidx_insert_proxy_reader_guid
  - ddsi_entidx_tryremove_participant_guid
  - ddsi_entidx_tryremove_proxy_participant_guid
  - ddsi_entidx_tryremove_writer_guid
  - ddsi_entidx_tryremove_reader_guid
  - ddsi_entidx_tryremove_proxy_writer_guid
  - ddsi_entidx_tryremove_proxy_reader_guid
  - ddsi_entidx_lookup_participant_guid
  - ddsi_entidx_lookup_proxy_participant_guid
  - ddsi_entidx_lookup_writer_guid
  - ddsi_entidx_lookup_reader_guid
  - ddsi_entidx_lookup_proxy_writer_guid
  - ddsi_entidx_lookup_proxy_reader_guid
  - entidx_enum_init_minmax_int
  - ddsi_entidx_enum_init_topic
  - ddsi_entidx_enum_init_topic_w_prefix
  - ddsi_entidx_enum_init
  - ddsi_entidx_enum_writer_init
  - ddsi_entidx_enum_reader_init
  - ddsi_entidx_enum_proxy_writer_init
  - ddsi_entidx_enum_proxy_reader_init
  - ddsi_entidx_enum_participant_init
  - ddsi_entidx_enum_proxy_participant_init
  - ddsi_entidx_enum_next
  - ddsi_entidx_enum_next_max
  - ddsi_entidx_enum_writer_next
  - ddsi_entidx_enum_reader_next
  - ddsi_entidx_enum_proxy_writer_next
  - ddsi_entidx_enum_proxy_reader_next
  - ddsi_entidx_enum_participant_next
  - ddsi_entidx_enum_proxy_participant_next
  - ddsi_entidx_enum_fini
  - ddsi_entidx_enum_writer_fini
  - ddsi_entidx_enum_reader_fini
  - ddsi_entidx_enum_proxy_writer_fini
  - ddsi_entidx_enum_proxy_reader_fini
  - ddsi_entidx_enum_participant_fini
  - ddsi_entidx_enum_proxy_participant_fini
  - ddsi_entidx_insert_topic_guid
  - ddsi_entidx_tryremove_topic_guid
  - ddsi_entidx_lookup_topic_guid
  - ddsi_entidx_enum_topic_init
  - ddsi_entidx_enum_topic_next
  - ddsi_entidx_enum_topic_fini
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*guid_hash'
        type: struct ddsrt_chh
      - name: all_entities_lock
        type: ddsrt_mutex_t
      - name: all_entities
        type: ddsrt_avl_tree_t
      item_type: struct
      name: ddsi_entity_index
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity_index.c
    typedefs: []
    union: []
- function_names:
  - cover_size
  - cover_new
  - cover_makeroom
  - cover_update_nreaders
  - cover_get_nreaders
  - cover_get_nlocs
  - cover_free
  - cover_set
  - cover_get
  - costmap_new
  - costmap_free
  - costmap_set
  - costmap_adjust
  - costmap_get
  - locset_new
  - locset_free
  - wras_collect_all_locs
  - wras_flatten_locs_helper
  - wras_flatten_locs_prealloc
  - wras_flatten_locs
  - wras_compare_locs
  - wras_calc_locators
  - sat_cost_add
  - calc_locator_cost
  - isloopback
  - wras_compare_by_interface
  - move_loopback_forward
  - multicast_indicator
  - wras_cover_locatorset
  - wras_calc_cover
  - wras_calc_costmap
  - wras_trace_cover
  - wras_choose_locator
  - wras_add_locator
  - wras_drop_covered_readers
  - is_psmx_locator
  - ddsi_compute_writer_addrset
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CI_STATUS_MASK
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: CI_REACHABLE
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: 0x0 // reachable via this locator
    - item_type: preproc_def
      name: CI_INCLUDED
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: 0x1 // reachable, already included in selected locators
    - item_type: preproc_def
      name: CI_NOMATCH
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: 0x2 // not reached by this locator
    - item_type: preproc_def
      name: CI_LOOPBACK
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: 0x4 // is a loopback locator (set for entire row)
    - item_type: preproc_def
      name: CI_PSMX
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: 0x8 // is a PSMX locator
    - item_type: preproc_def
      name: CI_MULTICAST_MASK
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '0xf0 // 0: no, 1: ASM, 2: SSM, (index+3) if MCGEN'
    - item_type: preproc_def
      name: CI_MULTICAST_SHIFT
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CI_MULTICAST_ASM
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CI_MULTICAST_SSM
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CI_MULTICAST_MCGEN_OFFSET
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type_or_value: '3'
    structs:
    - fields:
      - name: nreaders
        type: int
      - name: nlocs
        type: int
      - name: '*rdnames'
        type: rdname_t
      - name: m[]
        type: cover_info_t
      item_type: struct
      name: cover
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - fields:
      - name: nrds
        type: uint32_t
      - name: cost
        type: cost_t
      item_type: struct
      name: ddsi_readercount_cost
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - fields:
      - name: nlocs
        type: int
      - name: m[]
        type: readercount_cost_t
      item_type: struct
      name: costmap
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - fields:
      - name: nlocs
        type: int
      - name: locs[]
        type: ddsi_xlocator_t
      item_type: struct
      name: locset
      pos:
        line_end: 178
        line_start: 175
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    - fields:
      - name: '*locs'
        type: ddsi_xlocator_t
      - name: idx
        type: int
      item_type: struct
      name: rebuild_flatten_locs_helper_arg
      pos:
        line_end: 223
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
    typedefs:
    - item_type: typedef
      name: cover_info_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type: uint8_t
    - item_type: typedef
      name: rdname_t[3]
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type: char
    - item_type: typedef
      name: cost_t
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type: int32_t
    - item_type: typedef
      name: delta_cost_t
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_wraddrset.c
      type: int32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__wraddrset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_interface_set_init
  - allow_multicast_mask_from_locator
  - ddsi_include_multicast_locator_in_discovery
  - addrset_from_locatorlists_add_one
  - ddsi_addrset_from_locatorlist_allow_loopback
  - ddsi_addrset_from_locatorlists_handle_uc
  - ddsi_addrset_from_locatorlists_intfs_fallback
  - ddsi_addrset_from_locatorlist_handle_mc
  - ddsi_addrset_from_locatorlists
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_addrset.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alive
        type: bool
      - name: vclock
        type: uint32_t
      item_type: struct
      name: ddsi_alive_state
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__entity.h
    typedefs: []
    union: []
- function_names:
  - alias_simple_sequence
  - alias_dataholder
  - alias_dataholderseq
  - ddsi_participant_generic_message_init
  - ddsi_participant_generic_message_deinit
  - ddsi_participant_generic_message_serialize
  - ddsi_participant_generic_message_deseralize
  - ddsi_volatile_secure_data_filter
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynamic_type_ref_deps
  - dynamic_type_complete_type_specific
  - dynamic_type_complete_locked
  - dynamic_type_complete
  - dynamic_type_init
  - ddsi_dynamic_type_is_constructing
  - ddsi_dynamic_type_create_struct
  - ddsi_dynamic_type_create_union
  - ddsi_dynamic_type_create_sequence
  - ddsi_dynamic_type_create_array
  - ddsi_dynamic_type_create_enum
  - ddsi_dynamic_type_create_bitmask
  - ddsi_dynamic_type_create_alias
  - ddsi_dynamic_type_create_string8
  - ddsi_dynamic_type_create_string16
  - ddsi_dynamic_type_create_primitive
  - set_type_flags
  - ddsi_dynamic_type_set_extensibility
  - ddsi_dynamic_type_set_nested
  - ddsi_dynamic_type_set_autoid
  - ddsi_dynamic_type_set_bitbound
  - ddsi_dynamic_type_member_hashid
  - ddsi_dynamic_type_add_struct_member
  - ddsi_dynamic_type_add_union_member
  - ddsi_dynamic_type_add_enum_literal
  - ddsi_dynamic_type_add_bitmask_field
  - find_struct_member
  - find_union_member
  - set_struct_member_flag
  - set_union_member_flag
  - ddsi_dynamic_type_member_set_key
  - ddsi_dynamic_type_member_set_optional
  - ddsi_dynamic_struct_member_set_external
  - ddsi_dynamic_union_member_set_external
  - ddsi_dynamic_type_member_set_must_understand
  - ddsi_dynamic_type_member_set_hashid
  - ddsi_dynamic_type_register
  - ddsi_dynamic_type_dup
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_dynamic_type.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - locator_compare_no_port
  - cmp_group_membership
  - ddsi_new_mcgroup_membership
  - ddsi_free_mcgroup_membership
  - reg_group_membership
  - unreg_group_membership
  - make_joinleave_msg
  - joinleave_mcgroup
  - interface_in_recvips_p
  - joinleave_mcgroups
  - ddsi_join_mc
  - ddsi_leave_mc
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: '* conn'
        type: struct ddsi_tran_conn
      - name: srcloc
        type: ddsi_locator_t
      - name: mcloc
        type: ddsi_locator_t
      - name: count
        type: unsigned
      item_type: struct
      name: ddsi_mcgroup_membership_node
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: mships
        type: ddsrt_avl_tree_t
      item_type: struct
      name: ddsi_mcgroup_membership
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_mcgroup.c
    typedefs: []
    union: []
- function_names:
  - ddsi_typeinfo_equal
  - ddsi_typeinfo_dup
  - ddsi_typeinfo_deser
  - ddsi_typeinfo_typeid
  - ddsi_typeinfo_fini
  - ddsi_typeinfo_free
  - ddsi_typeinfo_minimal_typeid
  - ddsi_typeinfo_complete_typeid
  - typeinfo_dependent_typeids_valid
  - ddsi_typeinfo_present
  - ddsi_typeinfo_valid
  - ddsi_typemap_typeobj
  - ddsi_typemap_get_type_name
  - ddsi_typemap_deser
  - ddsi_typemap_fini
  - ti_to_pairs_equal
  - ti_pairs_equal
  - ddsi_typemap_equal
  - ddsi_type_proxy_guid_exists
  - ddsi_type_proxy_guids_eq
  - ddsi_type_compare
  - ddsi_type_compare_wrap
  - ddsi_typeid_compare_src_dep
  - ddsi_typeid_compare_dep_src
  - type_dep_trace
  - ddsi_type_free
  - ddsi_type_lookup_locked_impl
  - ddsi_type_lookup_locked
  - ddsi_type_lookup
  - ddsi_type_new
  - set_type_invalid
  - ddsi_type_add_typeobj
  - ddsi_type_register_dep_impl
  - ddsi_type_register_dep
  - type_add_deps
  - ddsi_type_ref_locked
  - ddsi_type_ref
  - ddsi_type_ref_id_locked_impl
  - ddsi_type_ref_id_locked
  - valid_top_level_type
  - type_add_ref_impl
  - ddsi_type_add
  - ddsi_type_ref_local
  - ddsi_type_ref_proxy
  - xcdr2_ser
  - get_typeid_with_size
  - DDS_XTypes_TypeIdentifierWithDependencies_deps_init
  - DDS_XTypes_TypeIdentifierWithDependencies_deps_append
  - DDS_XTypes_TypeIdentifierWithDependencies_deps_fini
  - ddsi_typeinfo_deps_init
  - ddsi_typeinfo_deps_append
  - ddsi_typeinfo_deps_fini
  - ddsi_type_get_typeinfo_toplevel
  - get_type_ndeps_hash_r
  - add_type_info_hash_deps_r
  - ddsi_type_get_typeinfo_locked
  - ddsi_type_get_typeinfo_ser
  - typemap_add_type
  - add_type_map_hash_deps_r
  - ddsi_type_get_typemap_locked
  - ddsi_type_get_typemap_ser
  - ddsi_type_get_typeobj
  - ddsi_type_get_gv
  - ddsi_type_get_kind
  - ddsi_type_unref_impl_locked
  - ddsi_type_unreg_proxy
  - ddsi_type_unref_locked
  - ddsi_type_unref
  - ddsi_type_unref_sertype
  - ddsi_type_get_gpe_matches_impl
  - ddsi_type_get_gpe_matches
  - ddsi_type_resolved_locked
  - ddsi_type_resolved
  - ddsi_non_assignability_code_str
  - ddsi_is_assignable_from
  - ddsi_make_typeid_str_impl
  - ddsi_make_typeid_str
  - ddsi_type_pair_minimal_id
  - ddsi_type_pair_complete_id
  - ddsi_type_pair_get_typeinfo
  - ddsi_type_pair_init
  - ddsi_type_pair_free
  - check_type_resolved_impl_locked
  - wait_for_type_resolved_impl_locked
  - ddsi_wait_for_type_resolved
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_typelib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_get_port_int
  - portname
  - ddsi_valid_portmapping
  - ddsi_get_port
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_portmapping.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_locator_to_ps
  - add_xlocator_to_ps
  - add_psmx_locator_to_ps
  - sedp_write_endpoint_impl
  - ddsi_sedp_write_writer
  - ddsi_sedp_write_reader
  - ddsi_sedp_dispose_unregister_writer
  - ddsi_sedp_dispose_unregister_reader
  - durability_to_string
  - addrset_from_locatorlists_collect_interfaces
  - ddsi_get_endpoint_addrset
  - ddsi_handle_sedp_alive_endpoint
  - E
  - ddsi_handle_sedp_dead_endpoint
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*ps'
        type: ddsi_plist_t
      item_type: struct
      name: add_locator_to_ps_arg
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*intfs'
        type: ddsi_interface_set_t
      item_type: struct
      name: ddsi_addrset_from_locatorlists_collect_interfaces_arg
      pos:
        line_end: 360
        line_start: 357
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_endpoint.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__gc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: vtime
        type: ddsi_vtime_t
      item_type: struct
      name: ddsi_idx_vtime
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__gc.h
    - fields:
      - name: '*next'
        type: struct ddsi_gcreq
      - name: '*queue'
        type: struct ddsi_gcreq_queue
      - name: cb
        type: ddsi_gcreq_cb_t
      - name: '*arg'
        type: void
      - name: nvtimes
        type: uint32_t
      - name: vtimes[]
        type: struct ddsi_idx_vtime
      item_type: struct
      name: ddsi_gcreq
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__gc.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__sockwaitset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_vtime_gt
  - ddsi_thread_state_awake_domain_ok
  - ddsi_thread_state_awake_fixed_domain
  - ddsi_thread_state_awake_to_awake_no_nest
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_THREAD_STATE_BATCH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
      type_or_value: '32'
    structs:
    - fields:
      - name: thrst[DDSI_THREAD_STATE_BATCH]
        type: struct ddsi_thread_state
      - name: '*next'
        type: struct ddsi_thread_states_list
      - name: nthreads
        type: uint32_t
      item_type: struct
      name: ddsi_thread_states_list
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
    typedefs:
    - item_type: typedef
      name: ddsi_svtime_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__thread.h
      type: int32_t
    union: []
- function_names:
  - align4u
  - ddsi_xmsgpool_new
  - ddsi_xmsg_realfree_wrap
  - ddsi_xmsgpool_free
  - ddsi_xmsg_reinit
  - ddsi_xmsg_allocnew
  - ddsi_xmsg_new
  - ddsi_xmsg_realfree
  - ddsi_xmsg_free
  - submsg_is_compatible
  - ddsi_xmsg_compare_fragid
  - ddsi_xmsg_size
  - ddsi_xmsg_kind
  - ddsi_xmsg_guid_seq_fragid
  - ddsi_xmsg_payload
  - ddsi_xmsg_payload_to_plistsample
  - ddsi_xmsg_submsg_init
  - ddsi_xmsg_submsg_setnext
  - ddsi_xmsg_submsg_size
  - ddsi_xmsg_submsg_remove
  - ddsi_xmsg_submsg_replace
  - ddsi_xmsg_submsg_append_refd_payload
  - ddsi_xmsg_submsg_from_marker
  - ddsi_xmsg_append_impl
  - ddsi_xmsg_append
  - ddsi_xmsg_shrink
  - ddsi_xmsg_add_timestamp
  - ddsi_xmsg_add_entityid
  - ddsi_xmsg_serdata
  - ddsi_xmsg_setdst1_common
  - ddsi_xmsg_setdst1
  - ddsi_xmsg_setdst1_generic
  - ddsi_xmsg_getdst1_prefix
  - ddsi_xmsg_setdst_prd
  - ddsi_xmsg_setdst_pwr
  - ddsi_xmsg_setdst_addrset
  - ddsi_xmsg_set_data_reader_id
  - clear_readerId
  - load_readerId
  - readerId_compatible
  - ddsi_xmsg_merge_rexmit_destinations_wrlock_held
  - ddsi_xmsg_setmaxdelay
  - ddsi_xmsg_setwriterseq
  - ddsi_xmsg_setwriterseq_fragid
  - ddsi_xmsg_addpar_bo_impl
  - ddsi_xmsg_addpar_bo
  - ddsi_xmsg_addpar
  - ddsi_xmsg_addpar_keyhash
  - ddsi_xmsg_addpar_BE4u
  - ddsi_xmsg_addpar_statusinfo
  - ddsi_xmsg_addpar_sentinel
  - ddsi_xmsg_addpar_sentinel_bo
  - ddsi_xmsg_addpar_sentinel_ifparam
  - ddsi_xmsg_chain_release
  - ddsi_xmsg_chain_add
  - ddsi_xpack_reinit
  - ddsi_xpack_new
  - ddsi_xpack_free
  - ddsi_xpack_send_rtps
  - ddsi_xpack_send1
  - ddsi_xpack_send1v
  - ddsi_xpack_send_real
  - ddsi_xpack_sendq_thread
  - ddsi_xpack_sendq_init
  - ddsi_xpack_sendq_start
  - ddsi_xpack_sendq_stop
  - ddsi_xpack_sendq_fini
  - ddsi_xpack_send
  - copy_addressing_info
  - addressing_info_eq_onesidederr
  - ddsi_xmsg_is_rexmit
  - ddsi_xpack_mayaddmsg
  - ddsi_xpack_addmsg
  - ddsi_xpack_maxdelay
  - ddsi_xpack_packetid
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
  types:
    enum:
    - enumerators:
      - name: NN_XMSG_DST_UNSET
      - name: NN_XMSG_DST_ONE
      - name: NN_XMSG_DST_ALL_UC
      - name: NN_XMSG_DST_ALL
      item_type: enum
      name: ddsi_xmsg_dstmode
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_XMSG_MAX_ALIGN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DDSI_XMSG_CHUNK_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '128'
    - item_type: preproc_def
      name: DDSI_XMSG_MAX_SUBMESSAGE_IOVECS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DDSI_XMSG_MAX_MESSAGE_IOVECS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: (IOV_MAX - DDSI_TRAN_RESERVED_IOV_SLOTS)
    - item_type: preproc_def
      name: DDSI_XMSG_MAX_MESSAGE_IOVECS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_FREELIST_SIZE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: SENDQ_MAX
      pos:
        line_end: 1267
        line_start: 1266
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
      type_or_value: '200'
    structs:
    - fields:
      - name: freelist
        type: struct ddsi_freelist
      - name: protocol_version
        type: ddsi_protocol_version_t
      item_type: struct
      name: ddsi_xmsgpool
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - fields:
      - name: src
        type: ddsi_rtps_info_src_t
      - name: dst
        type: ddsi_rtps_info_dst_t
      - name: payload[]
        type: char
      item_type: struct
      name: ddsi_xmsg_data
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - fields:
      - name: '*older'
        type: struct ddsi_xmsg_chain_elem
      item_type: struct
      name: ddsi_xmsg_chain_elem
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - fields:
      - name: '*pool'
        type: struct ddsi_xmsgpool
      - name: maxsz
        type: size_t
      - name: sz
        type: size_t
      - name: have_params
        type: int
      - name: '*refd_payload'
        type: struct ddsi_serdata
      - name: refd_payload_iov
        type: ddsrt_iovec_t
      - name: maxdelay
        type: int64_t
      - name: kind
        type: enum ddsi_xmsg_kind
      - name: kindspecific
        type: "union {\n    char control;\n    struct {\n      ddsi_guid_t wrguid;\n
          \     ddsi_seqno_t wrseq;\n      ddsi_fragment_number_t wrfragid;\n      /*
          readerId encodes offset to destination readerId or 0 -- used\n         only
          for rexmits, but more convenient to combine both into\n         one struct
          in the union */\n      unsigned readerId_off;\n    } data;\n  }"
      - name: dstmode
        type: enum ddsi_xmsg_dstmode
      - name: dstaddr
        type: "union {\n    struct {\n      ddsi_xlocator_t loc;  /* send just to
          this locator */\n    } one;\n    struct {\n      struct ddsi_addrset *as;
          \      /* send to all addresses in set */\n    } all;\n    struct {\n      struct
          ddsi_addrset *as;       /* send to all unicast addresses in set */\n    }
          all_uc;\n  }"
      - name: link
        type: struct ddsi_xmsg_chain_elem
      - name: '*data'
        type: struct ddsi_xmsg_data
      item_type: struct
      name: ddsi_xmsg
      pos:
        line_end: 112
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - fields:
      - name: '*latest'
        type: struct ddsi_xmsg_chain_elem
      item_type: struct
      name: ddsi_xmsg_chain
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    - fields:
      - name: '*sendq_next'
        type: struct ddsi_xpack
      - name: async_mode
        type: bool
      - name: hdr
        type: ddsi_rtps_header_t
      - name: msg_len
        type: ddsi_rtps_msg_len_t
      - name: '*last_src'
        type: ddsi_guid_prefix_t
      - name: '*last_dst'
        type: ddsi_rtps_info_dst_t
      - name: maxdelay
        type: int64_t
      - name: packetid
        type: unsigned
      - name: calls
        type: ddsrt_atomic_uint32_t
      - name: call_flags
        type: uint32_t
      - name: '*msgfrags'
        type: ddsi_tran_write_msgfrags_t
      - name: dstmode
        type: enum ddsi_xmsg_dstmode
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: dstaddr
        type: "union\n  {\n    ddsi_xlocator_t loc; /* send just to this locator */\n
          \   struct\n    {\n      struct ddsi_addrset *as;        /* send to all
          addresses in set */\n    } all;\n    struct\n    {\n      struct ddsi_addrset
          *as;        /* send to all unicast addresses in set */\n    } all_uc;\n
          \ }"
      - name: includes_rexmit
        type: bool
      - name: included_msgs
        type: struct ddsi_xmsg_chain
      item_type: struct
      name: ddsi_xpack
      pos:
        line_end: 180
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xmsg.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__ssl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*init) (struct ddsi_domaingv *gv)
        type: bool
      - name: (*fini) (void)
        type: void
      - name: (*ssl_free) (SSL *ssl)
        type: void
      - name: (*bio_vfree) (BIO *bio)
        type: void
      - name: (*read) (SSL *ssl, void *buf, size_t len, dds_return_t *err)
        type: ssize_t
      - name: (*write) (SSL *ssl, const void *msg, size_t len, dds_return_t *err)
        type: ssize_t
      - name: '* (*connect) (const struct ddsi_domaingv *gv, ddsrt_socket_t sock)'
        type: SSL
      - name: '* (*listen) (ddsrt_socket_t sock)'
        type: BIO
      - name: '* (*accept) (const struct ddsi_domaingv *gv, BIO *bio, ddsrt_socket_t
          *sock)'
        type: SSL
      item_type: struct
      name: ddsi_ssl_plugins
      pos:
        line_end: 38
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__ssl.h
    typedefs: []
    union: []
- function_names:
  - find_interface_by_name
  - find_interface_by_address
  - compare_interface_priority
  - maybe_add_interface
  - gather_interfaces
  - match_config_interface
  - add_matching_interface
  - log_arbitrary_selection
  - set_and_check_link_local
  - set_and_check_allow_multicast
  - ddsi_gather_network_interfaces
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
  types:
    enum:
    - enumerators:
      - name: FIR_OK
      - name: FIR_NOTFOUND
      - name: FIR_INVALID
      item_type: enum
      name: find_interface_result
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    - enumerators:
      - name: MAI_IGNORED
      - name: MAI_ADDED
      - name: MAI_OUT_OF_MEMORY
      item_type: enum
      name: maybe_add_interface_result
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    preproc_defs: []
    structs:
    - fields:
      - name: match
        type: size_t
      - name: priority
        type: int32_t
      item_type: struct
      name: interface_priority
      pos:
        line_end: 106
        line_start: 103
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_nwinterfaces.c
    typedefs: []
    union: []
- function_names:
  - DDSI_LIST_TYPES_TMPL
  - DDSI_LIST_TMPL_POISON
  - DDSI_LIST_TMPL_POISON
  - DDSI_LIST_DECLS_TMPL
  - DDSI_LIST_CODE_TMPL
  - _insert
  - _append
  - _iter_first
  - _iter_next
  - _iter_elem_addr
  - _iter_d_first
  - _iter_d_next
  - _iter_d_remove
  - _remove
  - _take_first
  - _take_last
  - uint32_t
  - _append_list
  - _index_addr
  - elemT_
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_tmpl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_is_valid_timestamp
  - ddsi_is_valid_timestamp22
  - to_ddsi_time
  - to_ddsi_time22_duration
  - ddsi_wctime_to_ddsi_time
  - ddsi_wctime_to_ddsi_time22
  - from_ddsi_time
  - ddsi_wctime_from_ddsi_time
  - from_ddsi_time22_duration
  - ddsi_wctime_from_ddsi_time22
  - ddsi_duration_from_dds
  - ddsi_duration_to_dds
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_tea_encrypt
  - dds_tea_decrypt
  - ddsi_iid_gen
  - ddsi_iid_init
  - ddsi_iid_fini
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: u64
        type: uint64_t
      - name: u32[2]
        type: uint32_t
      item_type: union
      name: tmp
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
    - fields:
      - name: u64
        type: uint64_t
      - name: u32[2]
        type: uint32_t
      item_type: union
      name: tmp
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_iid.c
- function_names:
  - ddsi_sertype_v0
  - ddsi_sertype_equal
  - ddsi_sertype_hash
  - ddsi_sertype_ref
  - ddsi_sertype_lookup_locked
  - ddsi_sertype_register_locked
  - ddsi_sertype_unref_locked
  - ddsi_sertype_unref_registered_unlocked
  - ddsi_sertype_unref
  - ddsi_sertype_init_props
  - ddsi_sertype_init_flags
  - ddsi_sertype_init
  - ddsi_sertype_fini
  - ddsi_sertype_compute_serdata_basehash
  - ddsi_sertype_get_native_enc_identifier
  - ENC_CONCAT_
  - ENC_CONCAT
  - ddsi_sertype_extensibility_enc_format
  - ddsi_sertype_enc_id_xcdr_version
  - ddsi_sertype_enc_id_enc_format
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUFFIX
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
      type_or_value: _LE
    - item_type: preproc_def
      name: SUFFIX
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype.c
      type_or_value: _BE
    structs: []
    typedefs: []
    union: []
- function_names:
  - compare_lifespan_texp
  - lifespan_rhc_node_exp
  - ddsi_lifespan_next_expired_locked
  - ddsi_lifespan_init
  - ddsi_lifespan_fini
  - ddsi_lifespan_register_sample_real
  - ddsi_lifespan_unregister_sample_real
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*lifespan_adm'
        type: struct ddsi_lifespan_adm
      item_type: struct
      name: lifespan_rhc_node_exp_arg
      pos:
        line_end: 28
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lifespan.c
    typedefs: []
    union: []
- function_names:
  - sertype_pserop_equal
  - sertype_pserop_hash
  - sertype_pserop_free
  - sertype_pserop_zero_samples
  - sertype_pserop_realloc_samples
  - sertype_pserop_free_samples
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_pserop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gc_buckets_impl
  - gc_buckets
  - gc_tkmap_instance_impl
  - gc_tkmap_instance
  - dds_tk_hash
  - dds_tk_hash_void
  - dds_tk_equals
  - dds_tk_equals_void
  - ddsi_tkmap_new
  - free_tkmap_instance
  - ddsi_tkmap_free
  - ddsi_tkmap_lookup
  - ddsi_tkmap_find_by_id
  - ddsi_tkmap_find
  - ddsi_tkmap_lookup_instance_ref
  - ddsi_tkmap_instance_ref
  - ddsi_tkmap_instance_unref
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REFC_DELETE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: REFC_MASK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
      type_or_value: '0x0fffffff'
    - item_type: preproc_def
      name: DDS_DEBUG_KEYHASH
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_DEBUG_KEYHASH
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_DEBUG_KEYHASH
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*m_hh'
        type: struct ddsrt_chh
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: m_lock
        type: ddsrt_mutex_t
      - name: m_cond
        type: ddsrt_cond_t
      item_type: struct
      name: ddsi_tkmap
      pos:
        line_end: 35
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_tkmap.c
    typedefs: []
    union: []
- function_names:
  - ddsi_raweth_to_string
  - set_pktinfo
  - set_ethernet_header
  - ddsi_raweth_conn_read
  - ddsi_raweth_conn_write
  - ddsi_raweth_set_filter
  - ddsi_raweth_create_conn
  - joinleave_asm_mcgroup
  - ddsi_raweth_conn_read
  - ddsi_raweth_conn_write
  - ddsi_raweth_set_filter
  - ddsi_raweth_create_conn
  - joinleave_asm_mcgroup
  - ddsi_raweth_conn_handle
  - ddsi_raweth_supports
  - ddsi_raweth_conn_locator
  - isbroadcast
  - ddsi_raweth_join_mc
  - ddsi_raweth_leave_mc
  - ddsi_raweth_release_conn
  - ddsi_raweth_is_loopbackaddr
  - ddsi_raweth_is_mcaddr
  - ddsi_raweth_is_ssm_mcaddr
  - ddsi_raweth_is_nearby_address
  - ddsi_raweth_address_from_string
  - ddsi_raweth_deinit
  - ddsi_raweth_enumerate_interfaces
  - ddsi_raweth_is_valid_port
  - ddsi_raweth_receive_buffer_size
  - ddsi_raweth_locator_from_sockaddr
  - ddsi_raweth_get_locator_port
  - ddsi_raweth_get_locator_aux
  - ddsi_raweth_set_locator_port
  - ddsi_raweth_set_locator_aux
  - ddsi_raweth_init
  - ddsi_raweth_init
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_ETHERTYPE_VLAN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: ETH_P_8021Q
    - item_type: preproc_def
      name: DDSI_USE_BSD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: (1)
    - item_type: preproc_def
      name: DDSI_BPF_IS_CLONING_DEV
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: (1)
    - item_type: preproc_def
      name: DDSI_ETHERTYPE_VLAN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: ETHERTYPE_VLAN
    - item_type: preproc_def
      name: DDSI_ETH_ADDR_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: ETH_ALEN
    - item_type: preproc_def
      name: DDSI_LINK_FAMILY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: AF_PACKET
    - item_type: preproc_def
      name: DDSI_ETH_ADDR_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: ETHER_ADDR_LEN
    - item_type: preproc_def
      name: DDSI_LINK_FAMILY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: AF_LINK
    - item_type: preproc_def
      name: DEFAULT_BUFFER_SIZE
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
      type_or_value: '1000000'
    structs:
    - fields:
      - name: m_base
        type: struct ddsi_tran_conn
      - name: m_sockext
        type: ddsrt_socket_ext_t
      - name: m_ifindex
        type: int
      item_type: struct
      name: ddsi_raweth_conn
      pos:
        line_end: 83
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    - fields:
      - name: dmac[DDSI_ETH_ADDR_LEN]
        type: unsigned char
      - name: smac[DDSI_ETH_ADDR_LEN]
        type: unsigned char
      - name: proto
        type: unsigned short
      item_type: struct
      name: ddsi_ethernet_header
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    - fields:
      - name: e
        type: struct ddsi_ethernet_header
      - name: vtag
        type: unsigned short
      - name: proto
        type: unsigned short
      item_type: struct
      name: ddsi_vlan_header
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    - fields:
      - name: tag
        type: unsigned short
      - name: proto
        type: unsigned short
      item_type: struct
      name: ddsi_vlan_tag
      pos:
        line_end: 419
        line_start: 416
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
    typedefs: []
    union:
    - fields:
      - name: chdr
        type: struct cmsghdr
      - name: buf[CMSG_SPACE(sizeof(struct tpacket_auxdata))]
        type: char
      item_type: union
      name: ddsi_cmessage
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_raweth.c
- function_names:
  - ddsi_ssl_new
  - ddsi_ssl_error
  - ddsi_ssl_verify
  - ddsi_ssl_read
  - ddsi_ssl_write
  - ddsi_ssl_password
  - ddsi_ssl_ctx_init
  - dds_report_tls_version
  - ddsi_ssl_connect
  - ddsi_ssl_listen
  - ddsi_ssl_accept
  - ddsi_ssl_init
  - ddsi_ssl_fini
  - ddsi_ssl_config_plugin
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__lease.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__proxy_endpoint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__config_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__lat_estim.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_write_auth_handshake_message
  - ddsi_auth_get_serialized_participant_data
  - ddsi_handle_auth_handshake_message
  - write_crypto_exchange_message
  - ddsi_write_crypto_participant_tokens
  - ddsi_write_crypto_writer_tokens
  - ddsi_write_crypto_reader_tokens
  - ddsi_handle_crypto_exchange_message
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_security_exchange.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xt_typelookup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_TIME22_INFINITE_SECONDS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: INT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME22_INFINITE_FRACTION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME22_INFINITE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_time22_t) { DDSI_TIME22_INFINITE_SECONDS, DDSI_TIME22_INFINITE_FRACTION
        })
    - item_type: preproc_def
      name: DDSI_TIME22_INVALID_SECONDS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DDSI_TIME22_INVALID_FRACTION
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME22_INVALID
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_time22_t) { DDSI_TIME22_INVALID_SECONDS, DDSI_TIME22_INVALID_FRACTION
        })
    - item_type: preproc_def
      name: DDSI_TIME_INFINITE_SECONDS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME_INFINITE_FRACTION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: (UINT32_MAX - 1)
    - item_type: preproc_def
      name: DDSI_TIME_INVALID_SECONDS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME_INVALID_FRACTION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_TIME_INFINITE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_time_t) { DDSI_TIME_INFINITE_SECONDS, DDSI_TIME_INFINITE_FRACTION
        })
    - item_type: preproc_def
      name: DDSI_TIME_INVALID
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_time_t) { DDSI_TIME_INVALID_SECONDS, DDSI_TIME_INVALID_FRACTION
        })
    - item_type: preproc_def
      name: DDSI_DURATION_INFINITE_SECONDS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: INT32_MAX
    - item_type: preproc_def
      name: DDSI_DURATION_INFINITE_FRACTION
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_DURATION_INVALID_SECONDS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DDSI_DURATION_INVALID_FRACTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DDSI_DURATION_INFINITE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_duration_t) { DDSI_DURATION_INFINITE_SECONDS, DDSI_DURATION_INFINITE_FRACTION
        })
    - item_type: preproc_def
      name: DDSI_DURATION_INVALID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
      type_or_value: ((ddsi_duration_t) { DDSI_DURATION_INVALID_SECONDS, DDSI_DURATION_INVALID_FRACTION
        })
    structs:
    - fields:
      - name: seconds
        type: int32_t
      - name: fraction
        type: uint32_t
      item_type: struct
      name: ddsi_time22_t
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
    - fields:
      - name: seconds
        type: uint32_t
      - name: fraction
        type: uint32_t
      item_type: struct
      name: ddsi_time_t
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
    - fields:
      - name: seconds
        type: int32_t
      - name: fraction
        type: uint32_t
      item_type: struct
      name: ddsi_duration_t
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__time.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__cfgelems.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist_generic.h
  types:
    enum:
    - enumerators:
      - name: XE2
      - name: XS
      - name: Xi
      - name: Xix4
      - name: Xl
      - name: Xux5
      - name: Xox2
      - name: Xbx3
      - name: XSTOP
      - name: XE3
      - name: XD
      - name: Xu
      - name: Xb
      - name: Xbx4
      - name: XbPROP
      - name: XK
      - name: Xopt
      - name: XE1
      - name: Xs
      - name: Xix2
      - name: Xux3
      - name: Xo
      - name: Xbx5
      - name: XO
      - name: Xix3
      - name: Xux4
      - name: XDx2
      - name: Xux2
      - name: Xbx2
      - name: XbCOND
      - name: XG
      - name: XQ
      item_type: enum
      name: ddsi_pserop
      pos:
        line_end: 46
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist_generic.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compare_xlocators_vwrap
  - compare_spdp_pp
  - add_peer_address_xlocator
  - add_peer_address_ports_interface
  - add_peer_address_ports
  - add_peer_address
  - add_peer_addresses
  - populate_initial_addresses
  - ddsi_spdp_scheduler_new
  - ddsi_spdp_scheduler_delete
  - ddsi_spdp_register_participant
  - ddsi_spdp_unref_locator
  - resend_spdp
  - ddsrt_mtime_t::spdp_do_aging_locators
  - dds_duration_t
  - ddsrt_mtime_t::spdp_do_live_locators
  - ddsi_spdp_handle_aging_locators_xevent_cb
  - ddsi_spdp_handle_live_locators_xevent_cb
  - ddsi_spdp_force_republish
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
  types:
    enum:
    - enumerators:
      - name: RSDK_LOCATOR
      - name: RSDK_PROXY_READER
      item_type: enum
      name: resend_spdp_dst_kind
      pos:
        line_end: 614
        line_start: 611
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    preproc_defs: []
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: xloc
        type: ddsi_xlocator_t
      - name: discovered
        type: bool
      - name: tprune
        type: ddsrt_mtime_t
      item_type: struct
      name: spdp_loc_common
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: c
        type: struct spdp_loc_common
      - name: tsched
        type: ddsrt_mtime_t
      item_type: struct
      name: spdp_loc_aging
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: c
        type: struct spdp_loc_common
      - name: proxypp_refc
        type: uint32_t
      - name: lease_expiry_occurred
        type: bool
      item_type: struct
      name: spdp_loc_live
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: '*pp'
        type: struct ddsi_participant
      - name: tsched
        type: ddsrt_mtime_t
      item_type: struct
      name: spdp_pp
      pos:
        line_end: 132
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*live_xev'
        type: struct ddsi_xevent
      - name: '*aging_xev'
        type: struct ddsi_xevent
      - name: lock
        type: ddsrt_mutex_t
      - name: live
        type: ddsrt_avl_tree_t
      - name: aging
        type: ddsrt_avl_tree_t
      - name: pp
        type: ddsrt_avl_tree_t
      item_type: struct
      name: spdp_admin
      pos:
        line_end: 150
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: '*adm'
        type: struct spdp_admin
      item_type: struct
      name: handle_locators_xevent_arg
      pos:
        line_end: 154
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: kind
        type: enum resend_spdp_dst_kind
      - name: u
        type: "union {\n    const ddsi_xlocator_t *xloc;\n    const struct ddsi_proxy_reader
          *prd;\n  }"
      item_type: struct
      name: resend_spdp_dst
      pos:
        line_end: 622
        line_start: 616
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    typedefs: []
    union:
    - fields:
      - name: c
        type: struct spdp_loc_common
      - name: live
        type: struct spdp_loc_live
      - name: aging
        type: struct spdp_loc_aging
      item_type: union
      name: spdp_loc_union
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
    - fields:
      - name: ip
        type: ddsrt_avl_ipath_t
      - name: dp
        type: ddsrt_avl_dpath_t
      item_type: union
      name: avlpath
      pos:
        line_end: 188
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_spdp_schedule.c
- function_names:
  - DDSI_SERDATA_PSEROP_PAD
  - DDSI_SERDATA_PSEROP_PAD
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_SERDATA_PSEROP_PREPAD
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
      type_or_value: "struct ddsi_serdata c;              \\\n  void *sample;                       \\\n
        \ bool keyless; "
    - item_type: preproc_def
      name: DDSI_SERDATA_PSEROP_POSTPAD
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
      type_or_value: "uint16_t identifier;                \\\n  uint16_t options;
        \                  \\\n  char data[]"
    structs:
    - fields: []
      item_type: struct
      name: ddsi_serdata_pserop_unpadded
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
    - fields:
      - name: pad[DDSI_SERDATA_PSEROP_PAD (8 - (offsetof (struct ddsi_serdata_pserop_unpadded,
          data) % 8))]
        type: char
      item_type: struct
      name: ddsi_serdata_pserop
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
    - fields:
      - name: c
        type: struct ddsi_sertype
      - name: encoding_format
        type: uint16_t
      - name: memsize
        type: size_t
      - name: nops
        type: size_t
      - name: '*ops'
        type: enum ddsi_pserop
      - name: nops_key
        type: size_t
      - name: '*ops_key'
        type: enum ddsi_pserop
      item_type: struct
      name: ddsi_sertype_pserop
      pos:
        line_end: 67
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_pserop.h
    typedefs: []
    union: []
- function_names:
  - serdata_pserop_get_size
  - serdata_pserop_eqkey
  - serdata_pserop_free
  - serdata_pserop_new
  - serdata_pserop_fix
  - serdata_pserop_from_ser
  - serdata_pserop_from_ser_iov
  - serdata_pserop_from_keyhash
  - serdata_pserop_to_sample
  - serdata_pserop_to_ser
  - serdata_pserop_to_ser_ref
  - serdata_pserop_to_ser_unref
  - serdata_pserop_from_sample
  - serdata_pserop_to_untyped
  - serdata_pserop_untyped_to_sample
  - serdata_pserop_get_keyhash
  - serdata_pserop_print_pserop
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: identifier
        type: uint16_t
      - name: kh
        type: ddsi_keyhash_t
      item_type: struct
      name: in = { DDSI_RTPS_CDR_BE, 0, *keyhash }
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    - fields:
      - name: identifier
        type: uint16_t
      item_type: struct
      name: header = { ddsi_sertype_get_native_enc_identifier (DDSI_RTPS_CDR_ENC_VERSION_1,
        tp->encoding_format), 0 }
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_serdata_pserop.c
    typedefs: []
    union: []
- function_names:
  - uint32_t_cmp
  - check
  - ddsi_inverse_uint32_set_init
  - ddsi_inverse_uint32_set_fini
  - inverse_uint32_set_alloc_use_min
  - ddsi_inverse_uint32_set_alloc
  - ddsi_inverse_uint32_set_free
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_inverse_uint32_set.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LOG_THREAD_CPUTIME
  - LOG_THREAD_CPUTIME
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSI_SEQUENCE_NUMBER_SET_BITS_SIZE
  - DDSI_SEQUENCE_NUMBER_SET_SIZE
  - DDSI_FRAGMENT_NUMBER_SET_BITS_SIZE
  - DDSI_FRAGMENT_NUMBER_SET_SIZE
  - DDSI_ACKNACK_SIZE
  - DDSI_GAP_SIZE
  - DDSI_NACKFRAG_SIZE
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_GUID_PREFIX_UNKNOWN_INITIALIZER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '{{0,0,0,0, 0,0,0,0, 0,0,0,0}}'
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_ANNOUNCER
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_DETECTOR
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PUBLICATION_ANNOUNCER
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PUBLICATION_DETECTOR
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_ANNOUNCER
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_SUBSCRIPTION_DETECTOR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 5)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_ANNOUNCER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '(1u << 6) '
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_PROXY_DETECTOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '(1u << 7) '
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_ANNOUNCER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '(1u << 8) '
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_STATE_DETECTOR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '(1u << 9) '
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_WRITER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 10)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_DATA_READER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 11)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_TL_SVC_REQUEST_DATA_WRITER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 12)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_TL_SVC_REQUEST_DATA_READER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 13)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_TL_SVC_REPLY_DATA_WRITER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 14)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_TL_SVC_REPLY_DATA_READER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 15)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PUBLICATION_MESSAGE_SECURE_ANNOUNCER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<16)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PUBLICATION_MESSAGE_SECURE_DETECTOR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<17)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_SUBSCRIPTION_MESSAGE_SECURE_ANNOUNCER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<18)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_SUBSCRIPTION_MESSAGE_SECURE_DETECTOR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<19)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_SECURE_ANNOUNCER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<20)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_MESSAGE_SECURE_DETECTOR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<21)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_STATELESS_MESSAGE_ANNOUNCER
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<22)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_STATELESS_MESSAGE_DETECTOR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<23)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_VOLATILE_SECURE_ANNOUNCER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<24)
    - item_type: preproc_def
      name: DDSI_BUILTIN_ENDPOINT_PARTICIPANT_VOLATILE_SECURE_DETECTOR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u<<25)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_SECURE_ANNOUNCER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 26)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_PARTICIPANT_SECURE_DETECTOR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 27)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_TOPICS_ANNOUNCER
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 28)
    - item_type: preproc_def
      name: DDSI_DISC_BUILTIN_ENDPOINT_TOPICS_DETECTOR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (1u << 29)
    - item_type: preproc_def
      name: DDSI_BES_MASK_NON_SECURITY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xf000ffffu
    - item_type: preproc_def
      name: DDSI_PROTOCOLID_AS_UINT32
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (((uint32_t)'R' << 0) | ((uint32_t)'T' << 8) | ((uint32_t)'P'
        << 16) | ((uint32_t)'S' << 24))
    - item_type: preproc_def
      name: DDSI_PROTOCOLID_AS_UINT32
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (((uint32_t)'R' << 24) | ((uint32_t)'T' << 16) | ((uint32_t)'P'
        << 8) | ((uint32_t)'S' << 0))
    - item_type: preproc_def
      name: DDSI_SEQUENCE_NUMBER_UNKNOWN_HIGH
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DDSI_SEQUENCE_NUMBER_UNKNOWN_LOW
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_SEQUENCE_NUMBER_UNKNOWN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: ((ddsi_seqno_t) (((uint64_t)DDSI_SEQUENCE_NUMBER_UNKNOWN_HIGH
        << 32) | DDSI_SEQUENCE_NUMBER_UNKNOWN_LOW))
    - item_type: preproc_def
      name: DDSI_SEQUENCE_NUMBER_SET_MAX_BITS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (256u)
    - item_type: preproc_def
      name: DDSI_FRAGMENT_NUMBER_SET_MAX_BITS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (256u)
    - item_type: preproc_def
      name: DDSI_DATA_FLAG_INLINE_QOS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x02u
    - item_type: preproc_def
      name: DDSI_DATA_FLAG_DATAFLAG
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x04u
    - item_type: preproc_def
      name: DDSI_DATA_FLAG_KEYFLAG
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x08u
    - item_type: preproc_def
      name: DDSI_DATAFRAG_FLAG_INLINE_QOS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x02u
    - item_type: preproc_def
      name: DDSI_DATAFRAG_FLAG_KEYFLAG
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x04u
    - item_type: preproc_def
      name: DDSI_ACKNACK_FLAG_FINAL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x02u
    - item_type: preproc_def
      name: DDSI_ACKNACK_SIZE_MAX
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: DDSI_ACKNACK_SIZE (DDSI_SEQUENCE_NUMBER_SET_MAX_BITS)
    - item_type: preproc_def
      name: DDSI_GAP_SIZE_MAX
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: DDSI_GAP_SIZE (DDSI_SEQUENCE_NUMBER_SET_MAX_BITS)
    - item_type: preproc_def
      name: DDSI_INFOTS_INVALIDATE_FLAG
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2u
    - item_type: preproc_def
      name: DDSI_HEARTBEAT_FLAG_FINAL
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x02u
    - item_type: preproc_def
      name: DDSI_HEARTBEAT_FLAG_LIVELINESS
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x04u
    - item_type: preproc_def
      name: DDSI_NACKFRAG_SIZE_MAX
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: DDSI_NACKFRAG_SIZE (DDSI_FRAGMENT_NUMBER_SET_MAX_BITS)
    - item_type: preproc_def
      name: DDSI_PID_VENDORSPECIFIC_FLAG
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x8000u
    - item_type: preproc_def
      name: DDSI_PID_UNRECOGNIZED_INCOMPATIBLE_FLAG
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x4000u
    - item_type: preproc_def
      name: DDSI_PID_PAD
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x0u
    - item_type: preproc_def
      name: DDSI_PID_SENTINEL
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1u
    - item_type: preproc_def
      name: DDSI_PID_DOMAIN_ID
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xfu
    - item_type: preproc_def
      name: DDSI_PID_DOMAIN_TAG
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (0x14u | DDSI_PID_UNRECOGNIZED_INCOMPATIBLE_FLAG)
    - item_type: preproc_def
      name: DDSI_PID_USER_DATA
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2cu
    - item_type: preproc_def
      name: DDSI_PID_TOPIC_NAME
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x5u
    - item_type: preproc_def
      name: DDSI_PID_TYPE_NAME
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x7u
    - item_type: preproc_def
      name: DDSI_PID_GROUP_DATA
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2du
    - item_type: preproc_def
      name: DDSI_PID_TOPIC_DATA
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2eu
    - item_type: preproc_def
      name: DDSI_PID_DURABILITY
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1du
    - item_type: preproc_def
      name: DDSI_PID_DURABILITY_SERVICE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1eu
    - item_type: preproc_def
      name: DDSI_PID_DEADLINE
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x23u
    - item_type: preproc_def
      name: DDSI_PID_LATENCY_BUDGET
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x27u
    - item_type: preproc_def
      name: DDSI_PID_LIVELINESS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1bu
    - item_type: preproc_def
      name: DDSI_PID_RELIABILITY
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1au
    - item_type: preproc_def
      name: DDSI_PID_LIFESPAN
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2bu
    - item_type: preproc_def
      name: DDSI_PID_DESTINATION_ORDER
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x25u
    - item_type: preproc_def
      name: DDSI_PID_HISTORY
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x40u
    - item_type: preproc_def
      name: DDSI_PID_RESOURCE_LIMITS
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x41u
    - item_type: preproc_def
      name: DDSI_PID_OWNERSHIP
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1fu
    - item_type: preproc_def
      name: DDSI_PID_OWNERSHIP_STRENGTH
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x6u
    - item_type: preproc_def
      name: DDSI_PID_PRESENTATION
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x21u
    - item_type: preproc_def
      name: DDSI_PID_PARTITION
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x29u
    - item_type: preproc_def
      name: DDSI_PID_TIME_BASED_FILTER
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x4u
    - item_type: preproc_def
      name: DDSI_PID_TRANSPORT_PRIORITY
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x49u
    - item_type: preproc_def
      name: DDSI_PID_PROTOCOL_VERSION
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x15u
    - item_type: preproc_def
      name: DDSI_PID_VENDORID
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x16u
    - item_type: preproc_def
      name: DDSI_PID_UNICAST_LOCATOR
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2fu
    - item_type: preproc_def
      name: DDSI_PID_MULTICAST_LOCATOR
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x30u
    - item_type: preproc_def
      name: DDSI_PID_MULTICAST_IPADDRESS
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x11u
    - item_type: preproc_def
      name: DDSI_PID_DEFAULT_UNICAST_LOCATOR
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x31u
    - item_type: preproc_def
      name: DDSI_PID_DEFAULT_MULTICAST_LOCATOR
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x48u
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_UNICAST_LOCATOR
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x32u
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_MULTICAST_LOCATOR
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x33u
    - item_type: preproc_def
      name: DDSI_PID_DEFAULT_UNICAST_IPADDRESS
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xcu
    - item_type: preproc_def
      name: DDSI_PID_DEFAULT_UNICAST_PORT
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xeu
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_UNICAST_IPADDRESS
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x45u
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_UNICAST_PORT
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xdu
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_MULTICAST_IPADDRESS
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0xbu
    - item_type: preproc_def
      name: DDSI_PID_METATRAFFIC_MULTICAST_PORT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x46u
    - item_type: preproc_def
      name: DDSI_PID_EXPECTS_INLINE_QOS
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x43u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x34u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_BUILTIN_ENDPOINTS
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x44u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_LEASE_DURATION
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x2u
    - item_type: preproc_def
      name: DDSI_PID_CONTENT_FILTER_PROPERTY
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x35u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_GUID
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x50u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_ENTITYID
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x51u
    - item_type: preproc_def
      name: DDSI_PID_GROUP_GUID
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x52u
    - item_type: preproc_def
      name: DDSI_PID_GROUP_ENTITYID
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x53u
    - item_type: preproc_def
      name: DDSI_PID_BUILTIN_ENDPOINT_SET
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x58u
    - item_type: preproc_def
      name: DDSI_PID_PROPERTY_LIST
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x59u
    - item_type: preproc_def
      name: DDSI_PID_TYPE_MAX_SIZE_SERIALIZED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x60u
    - item_type: preproc_def
      name: DDSI_PID_ENTITY_NAME
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x62u
    - item_type: preproc_def
      name: DDSI_PID_KEYHASH
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x70u
    - item_type: preproc_def
      name: DDSI_PID_STATUSINFO
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x71u
    - item_type: preproc_def
      name: DDSI_PID_CONTENT_FILTER_INFO
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x55u
    - item_type: preproc_def
      name: DDSI_PID_COHERENT_SET
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x56u
    - item_type: preproc_def
      name: DDSI_PID_DIRECTED_WRITE
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x57u
    - item_type: preproc_def
      name: DDSI_PID_ORIGINAL_WRITER_INFO
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x61u
    - item_type: preproc_def
      name: DDSI_PID_ENDPOINT_GUID
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: '0x5au '
    - item_type: preproc_def
      name: DDSI_PID_DATA_REPRESENTATION
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x73u
    - item_type: preproc_def
      name: DDSI_PID_TYPE_CONSISTENCY_ENFORCEMENT
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x74u
    - item_type: preproc_def
      name: DDSI_PID_TYPE_INFORMATION
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x75u
    - item_type: preproc_def
      name: DDSI_PID_IDENTITY_TOKEN
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1001u
    - item_type: preproc_def
      name: DDSI_PID_PERMISSIONS_TOKEN
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1002u
    - item_type: preproc_def
      name: DDSI_PID_DATA_TAGS
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1003u
    - item_type: preproc_def
      name: DDSI_PID_ENDPOINT_SECURITY_INFO
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1004u
    - item_type: preproc_def
      name: DDSI_PID_PARTICIPANT_SECURITY_INFO
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1005u
    - item_type: preproc_def
      name: DDSI_PID_IDENTITY_STATUS_TOKEN
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x1006u
    - item_type: preproc_def
      name: DDSI_PID_READER_FAVOURS_SSM
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x72u
    - item_type: preproc_def
      name: DDSI_PID_PERSISTENCE
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x03u
    - item_type: preproc_def
      name: DDSI_PID_TYPE_CHECKSUM
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x08u
    - item_type: preproc_def
      name: DDSI_PID_TYPE2_NAME
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x09u
    - item_type: preproc_def
      name: DDSI_PID_TYPE2_CHECKSUM
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x0au
    - item_type: preproc_def
      name: DDSI_PID_EXPECTS_ACK
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x10u
    - item_type: preproc_def
      name: DDSI_PID_MANAGER_KEY
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x12u
    - item_type: preproc_def
      name: DDSI_PID_SEND_QUEUE_SIZE
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x13u
    - item_type: preproc_def
      name: DDSI_PID_RELIABILITY_ENABLED
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x14u
    - item_type: preproc_def
      name: DDSI_PID_VARGAPPS_SEQUENCE_NUMBER_LAST
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x17u
    - item_type: preproc_def
      name: DDSI_PID_RECV_QUEUE_SIZE
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x18u
    - item_type: preproc_def
      name: DDSI_PID_RELIABILITY_OFFERED
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: 0x19u
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_BUILTIN_ENDPOINT_SET
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x0u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_READER_DATA_LIFECYCLE
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x2u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_WRITER_DATA_LIFECYCLE
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x3u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_ENDPOINT_GUID
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x4u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_SYNCHRONOUS_ENDPOINT
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x5u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_RELAXED_QOS_MATCHING
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | DDSI_PID_UNRECOGNIZED_INCOMPATIBLE_FLAG
        | 0x6u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_PARTICIPANT_VERSION_INFO
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x7u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_NODE_NAME
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x8u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_EXEC_NAME
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x9u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_PROCESS_ID
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xau)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_SERVICE_TYPE
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xbu)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_ENTITY_FACTORY
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xcu)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_WATCHDOG_SCHEDULING
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xdu)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_LISTENER_SCHEDULING
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xeu)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_SUBSCRIPTION_KEYS
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0xfu)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_READER_LIFESPAN
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x10u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_TYPE_DESCRIPTION
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x12u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_LAN
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x13u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_ENDPOINT_GID
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x14u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_GROUP_GID
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x15u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_EOTINFO
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x16u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_PART_CERT_NAME
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x17u)
    - item_type: preproc_def
      name: DDSI_PID_ADLINK_LAN_CERT_NAME
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x18u)
    - item_type: preproc_def
      name: DDSI_PID_CYCLONE_RECEIVE_BUFFER_SIZE
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x19u)
    - item_type: preproc_def
      name: DDSI_PID_CYCLONE_TYPE_INFORMATION
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x1au)
    - item_type: preproc_def
      name: DDSI_PID_CYCLONE_TOPIC_GUID
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x1bu)
    - item_type: preproc_def
      name: DDSI_PID_CYCLONE_REQUESTS_KEYHASH
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x1cu)
    - item_type: preproc_def
      name: DDSI_PID_CYCLONE_REDUNDANT_NETWORKING
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type_or_value: (DDSI_PID_VENDORSPECIFIC_FLAG | 0x1du)
    structs:
    - fields:
      - name: parameterid
        type: ddsi_parameterid_t
      - name: length
        type: uint16_t
      item_type: struct
      name: ddsi_parameter
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: high
        type: int32_t
      - name: low
        type: uint32_t
      item_type: struct
      name: ddsi_sequence_number
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: bitmap_base
        type: ddsi_sequence_number_t
      - name: numbits
        type: uint32_t
      item_type: struct
      name: ddsi_sequence_number_set_header
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: bitmap_base
        type: ddsi_fragment_number_t
      - name: numbits
        type: uint32_t
      item_type: struct
      name: ddsi_fragment_number_set_header
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: entityid
        type: ddsi_entityid_t
      item_type: struct
      name: ddsi_rtps_entityid
      pos:
        line_end: 116
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: guid_prefix
        type: ddsi_guid_prefix_t
      item_type: struct
      name: ddsi_rtps_info_dst
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: extraFlags
        type: uint16_t
      - name: octetsToInlineQos
        type: uint16_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: writerSN
        type: ddsi_sequence_number_t
      item_type: struct
      name: ddsi_rtps_data_datafrag_common
      pos:
        line_end: 130
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: x
        type: ddsi_rtps_data_datafrag_common_t
      item_type: struct
      name: ddsi_rtps_data
      pos:
        line_end: 134
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: x
        type: ddsi_rtps_data_datafrag_common_t
      - name: fragmentStartingNum
        type: ddsi_fragment_number_t
      - name: fragmentsInSubmessage
        type: uint16_t
      - name: fragmentSize
        type: uint16_t
      - name: sampleSize
        type: uint32_t
      item_type: struct
      name: ddsi_rtps_datafrag
      pos:
        line_end: 145
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: readerSNState
        type: ddsi_sequence_number_set_header_t
      - name: bits[]
        type: uint32_t
      item_type: struct
      name: ddsi_rtps_acknack
      pos:
        line_end: 157
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: gapStart
        type: ddsi_sequence_number_t
      - name: gapList
        type: ddsi_sequence_number_set_header_t
      - name: bits[]
        type: uint32_t
      item_type: struct
      name: ddsi_rtps_gap
      pos:
        line_end: 171
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: time
        type: ddsi_time_t
      item_type: struct
      name: ddsi_rtps_info_ts
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: firstSN
        type: ddsi_sequence_number_t
      - name: lastSN
        type: ddsi_sequence_number_t
      - name: count
        type: ddsi_count_t
      item_type: struct
      name: ddsi_rtps_heartbeat
      pos:
        line_end: 189
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: writerSN
        type: ddsi_sequence_number_t
      - name: lastFragmentNum
        type: ddsi_fragment_number_t
      - name: count
        type: ddsi_count_t
      item_type: struct
      name: ddsi_rtps_heartbeatfrag
      pos:
        line_end: 200
        line_start: 193
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: readerId
        type: ddsi_entityid_t
      - name: writerId
        type: ddsi_entityid_t
      - name: writerSN
        type: ddsi_sequence_number_t
      - name: fragmentNumberState
        type: ddsi_fragment_number_set_header_t
      - name: bits[]
        type: uint32_t
      item_type: struct
      name: ddsi_rtps_nackfrag
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
    typedefs:
    - item_type: typedef
      name: ddsi_parameterid_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type: uint16_t
    - item_type: typedef
      name: ddsi_fragment_number_t
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
      type: uint32_t
    union:
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: acknack
        type: ddsi_rtps_acknack_t
      - name: data
        type: ddsi_rtps_data_t
      - name: datafrag
        type: ddsi_rtps_datafrag_t
      - name: infots
        type: ddsi_rtps_info_ts_t
      - name: infodst
        type: ddsi_rtps_info_dst_t
      - name: infosrc
        type: ddsi_rtps_info_src_t
      - name: heartbeat
        type: ddsi_rtps_heartbeat_t
      - name: heartbeatfrag
        type: ddsi_rtps_heartbeatfrag_t
      - name: gap
        type: ddsi_rtps_gap_t
      - name: nackfrag
        type: ddsi_rtps_nackfrag_t
      item_type: union
      name: ddsi_rtps_submessage
      pos:
        line_end: 228
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__protocol.h
- function_names:
  - cmp_type_ptrs
  - free_sample_after_store
  - type_sample_cache_init
  - free_large_entry
  - type_sample_cache_fini
  - type_sample_cache_lookup
  - type_sample_cache_store
  - ddsi_deliver_locally_one
  - deliver_locally_slowpath
  - deliver_locally_fastpath
  - ddsi_deliver_locally_allinsync
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_SAMPLE_CACHE_SIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*sample'
        type: struct ddsi_serdata
      - name: '*tk'
        type: struct ddsi_tkmap_instance
      item_type: struct
      name: type_sample_cache_entry
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: '*type'
        type: struct ddsi_sertype
      - name: '*sample'
        type: struct ddsi_serdata
      - name: '*tk'
        type: struct ddsi_tkmap_instance
      item_type: struct
      name: type_sample_cache_large_entry
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    - fields:
      - name: n
        type: uint32_t
      - name: '*types[TYPE_SAMPLE_CACHE_SIZE]'
        type: struct ddsi_sertype
      - name: samples[TYPE_SAMPLE_CACHE_SIZE]
        type: struct type_sample_cache_entry
      - name: overflow
        type: ddsrt_avl_tree_t
      item_type: struct
      name: type_sample_cache
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_deliver_locally.c
    typedefs: []
    union: []
- function_names:
  - ddsi_vnet_to_string
  - ddsi_vnet_supports
  - ddsi_vnet_conn_handle
  - ddsi_vnet_conn_locator
  - ddsi_vnet_conn_write
  - ddsi_vnet_create_conn
  - ddsi_vnet_release_conn
  - ddsi_vnet_is_not
  - ddsi_vnet_is_nearby_address
  - ddsi_vnet_address_from_string
  - ddsi_vnet_enumerate_interfaces
  - ddsi_vnet_is_valid_port
  - ddsi_vnet_receive_buffer_size
  - ddsi_vnet_locator_from_sockaddr
  - ddsi_vnet_deinit
  - ddsi_vnet_init
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: m_base
        type: struct ddsi_tran_conn
      - name: m_kind
        type: int32_t
      item_type: struct
      name: ddsi_vnet_conn
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    - fields:
      - name: m_base
        type: struct ddsi_tran_factory
      - name: m_kind
        type: int32_t
      item_type: struct
      name: ddsi_vnet_tran_factory
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_vnet.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__debmon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ddsi_debug_monitor_cpf_t) (struct ddsi_tran_conn * conn, const char
        *fmt, ...)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__debmon.h
      type: int
    - item_type: typedef
      name: (*ddsi_debug_monitor_plugin_t) (struct ddsi_tran_conn * conn, ddsi_debug_monitor_cpf_t
        cpf, void *arg)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__debmon.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__portmapping.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_lat_estim_init
  - ddsi_lat_estim_fini
  - cmpfloat
  - ddsi_lat_estim_update
  - ddsi_lat_estim_log
  - ddsi_lat_estim_current
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_lat_estim.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__udp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ipv4
        type: struct in_addr
      - name: base
        type: uint8_t
      - name: count
        type: uint8_t
      - name: idx
        type: uint8_t
      item_type: struct
      name: ddsi_udpv4mcgen_address
      pos:
        line_end: 26
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__udp.h
    typedefs: []
    union: []
- function_names:
  - find_domain
  - update_av_ary
  - threadmon_thread
  - threadmon_domain_hash
  - threadmon_domain_eq
  - ddsi_threadmon_new
  - ddsi_threadmon_start
  - ddsi_threadmon_register_domain
  - ddsi_threadmon_unregister_domain
  - ddsi_threadmon_stop
  - ddsi_threadmon_free
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alive
        type: bool
      - name: vt
        type: ddsi_vtime_t
      item_type: struct
      name: alive_vt
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    - fields:
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: n_not_alive
        type: unsigned
      - name: msgpos
        type: size_t
      - name: msg[2048]
        type: char
      item_type: struct
      name: threadmon_domain
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    - fields:
      - name: keepgoing
        type: int
      - name: av_ary_size
        type: uint32_t
      - name: '*av_ary'
        type: struct alive_vt
      - name: (*renew_cb) (void *arg)
        type: void
      - name: '*renew_arg'
        type: void
      - name: liveliness_monitoring_interval
        type: int64_t
      - name: noprogress_log_stacktraces
        type: bool
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_mtime_t
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: '*domains'
        type: struct ddsrt_hh
      item_type: struct
      name: ddsi_threadmon
      pos:
        line_end: 50
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_threadmon.c
    typedefs: []
    union: []
- function_names:
  - ddsi_get_sedp_writer
  - ddsi_check_sedp_kind_and_guid
  - ddsi_handle_sedp_checks
  - E
  - ddsi_handle_sedp
  - handle_typelookup
  - ddsi_builtins_dqueue_handler
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xmsg.h
  types:
    enum:
    - enumerators:
      - name: DDSI_XMSG_KIND_CONTROL
      - name: DDSI_XMSG_KIND_DATA_REXMIT_NOMERGE
      - name: DDSI_XMSG_KIND_DATA_REXMIT
      - name: DDSI_XMSG_KIND_DATA
      item_type: enum
      name: ddsi_xmsg_kind
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xmsg.h
    preproc_defs: []
    structs:
    - fields:
      - name: offset
        type: size_t
      item_type: struct
      name: ddsi_xmsg_marker
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xmsg.h
    typedefs: []
    union: []
- function_names:
  - builtin_entityid_match
  - writer_qos_mismatch
  - reader_qos_mismatch
  - topickind_qos_match_p_lock
  - ddsi_connect_writer_with_proxy_reader_secure
  - ddsi_connect_reader_with_proxy_writer_secure
  - ignore_local_p
  - connect_writer_with_reader
  - connect_writer_with_proxy_reader_wrapper
  - connect_proxy_writer_with_reader_wrapper
  - connect_writer_with_reader_wrapper
  - generic_do_match_mkind
  - generic_do_match_connect
  - entity_topic_name
  - generic_do_match
  - ddsi_match_writer_with_proxy_readers
  - ddsi_match_writer_with_local_readers
  - ddsi_match_reader_with_proxy_writers
  - ddsi_match_reader_with_local_writers
  - ddsi_match_proxy_writer_with_readers
  - ddsi_match_proxy_reader_with_writers
  - ddsi_free_wr_prd_match
  - ddsi_free_rd_pwr_match
  - ddsi_free_pwr_rd_match
  - ddsi_free_prd_wr_match
  - ddsi_free_rd_wr_match
  - ddsi_free_wr_rd_match
  - connected_via_psmx_bothlocal
  - connected_via_psmx_leftlocal_rightproxy_helper
  - connected_via_psmx_leftlocal_rightproxy
  - connected_via_psmx_leftlocal
  - connected_via_psmx
  - ddsi_writer_add_connection
  - ddsi_writer_add_local_connection
  - ddsi_reader_add_connection
  - ddsi_reader_add_local_connection
  - ddsi_proxy_writer_add_connection
  - ddsi_proxy_reader_add_connection
  - ddsi_writer_drop_connection
  - ddsi_writer_drop_local_connection
  - ddsi_reader_drop_connection
  - ddsi_reader_drop_local_connection
  - ddsi_proxy_writer_drop_connection
  - ddsi_proxy_reader_drop_connection
  - ddsi_local_reader_ary_init
  - ddsi_local_reader_ary_fini
  - ddsi_local_reader_ary_insert
  - ddsi_local_reader_ary_remove
  - ddsi_local_reader_ary_setfastpath_ok
  - ddsi_local_reader_ary_setinvalid
  - downgrade_to_nonsecure
  - ddsi_match_volatile_secure_endpoints
  - get_entity_parent
  - ddsi_update_proxy_participant_endpoint_matching
  - ddsi_handshake_end_cb
  - ddsi_proxy_participant_has_pp_match
  - ddsi_proxy_participant_create_handshakes
  - ddsi_disconnect_proxy_participant_secure
  - ddsi_update_proxy_endpoint_matching
  - ddsi_writer_get_matched_subscriptions
  - ddsi_reader_get_matched_publications
  - ddsi_writer_find_matched_reader
  - ddsi_reader_find_matched_writer
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*full'
        type: char
      - name: '*full_us'
        type: char
      - name: '*abbrev'
        type: char
      item_type: struct
      name: "kindstr[] = {\n    [DDSI_EK_WRITER] = { \"writer\", \"writer\", \"wr\"
        },\n    [DDSI_EK_READER] = { \"reader\", \"reader\", \"rd\" },\n    [DDSI_EK_PROXY_WRITER]
        = { \"proxy writer\", \"proxy_writer\", \"pwr\" },\n    [DDSI_EK_PROXY_READER]
        = { \"proxy reader\", \"proxy_reader\", \"prd\" },\n    [DDSI_EK_PARTICIPANT]
        = { \"participant\", \"participant\", \"pp\" },\n    [DDSI_EK_PROXY_PARTICIPANT]
        = { \"proxy participant\", \"proxy_participant\", \"proxypp\" }\n  }"
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    - fields:
      - name: '*locs'
        type: struct ddsi_psmx_locators_set
      - name: match
        type: bool
      item_type: struct
      name: connected_via_psmx_leftlocal_rightproxy_helper_arg
      pos:
        line_end: 685
        line_start: 682
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_endpoint_match.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist_context_kind.h
  types:
    enum:
    - enumerators:
      - name: DDSI_PLIST_CONTEXT_PARTICIPANT
      - name: DDSI_PLIST_CONTEXT_INLINE_QOS
      - name: DDSI_PLIST_CONTEXT_ENDPOINT
      - name: DDSI_PLIST_CONTEXT_TOPIC
      - name: DDSI_PLIST_CONTEXT_QOS_DISALLOWED
      item_type: enum
      name: ddsi_plist_context_kind
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist_context_kind.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__receive.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gapstart
        type: ddsi_seqno_t
      - name: gapend
        type: ddsi_seqno_t
      - name: gapnumbits
        type: uint32_t
      - name: gapbits[256 / 32]
        type: uint32_t
      item_type: struct
      name: ddsi_gap_info
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__receive.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_vendor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_get_writer_stats
  - ddsi_get_reader_stats
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_statistics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LOCK
  - TRYLOCK
  - UNLOCK
  - ddsi_compare_locators
  - ddsi_compare_xlocators
  - compare_xlocators_vwrap
  - ddsi_new_addrset
  - ddsi_ref_addrset
  - ddsi_unref_addrset
  - ddsi_set_unspec_locator
  - ddsi_set_unspec_xlocator
  - ddsi_is_unspec_locator
  - ddsi_is_unspec_xlocator
  - ddsi_addrset_contains_ssm
  - ddsi_addrset_any_ssm
  - ddsi_addrset_any_non_ssm_mc
  - add_xlocator_to_addrset_impl
  - ddsi_add_xlocator_to_addrset
  - ddsi_add_locator_to_addrset
  - ddsi_remove_from_addrset
  - ddsi_copy_addrset_into_addrset_uc
  - ddsi_copy_addrset_into_addrset_mc
  - ddsi_copy_addrset_into_addrset
  - ddsi_copy_addrset_into_addrset_no_ssm_mc
  - ddsi_copy_addrset_into_addrset_no_ssm
  - ddsi_addrset_count
  - ddsi_addrset_count_uc
  - ddsi_addrset_count_mc
  - ddsi_addrset_empty_uc
  - ddsi_addrset_empty_mc
  - ddsi_addrset_empty
  - ddsi_addrset_contains_non_psmx_uc
  - ddsi_addrset_any_uc
  - ddsi_addrset_any_mc
  - addrset_forall_helper
  - ddsi_addrset_forall_count
  - ddsi_addrset_forall
  - ddsi_addrset_forall_uc_count
  - ddsi_addrset_forone
  - log_addrset_helper
  - ddsi_log_addrset
  - addrset_eq_onesidederr1
  - ddsi_addrset_eq_onesidederr
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: loc
        type: ddsi_xlocator_t
      item_type: struct
      name: ddsi_addrset_node
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    - fields:
      - name: f
        type: ddsi_addrset_forall_fun_t
      - name: '* arg'
        type: void
      item_type: struct
      name: addrset_forall_helper_arg
      pos:
        line_end: 460
        line_start: 456
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    - fields:
      - name: tf
        type: uint32_t
      - name: '*gv'
        type: struct ddsi_domaingv
      item_type: struct
      name: log_addrset_helper_arg
      pos:
        line_end: 528
        line_start: 524
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_addrset.c
    typedefs: []
    union: []
- function_names:
  - is_wildcard_partition
  - partition_patmatch_p
  - partitions_match_default
  - partitions_match_p
  - is_endpoint_type_resolved
  - data_representation_match_p
  - type_pair_has_id
  - ddsi_qos_match_mask_p
  - ddsi_qos_match_p
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_qosmatch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE_CFG
  - TRACE
  - RBPTRACE
  - RBUFTRACE
  - RMSGTRACE
  - RDATATRACE
  - align_rmsg
  - ASSERT_RBUFPOOL_OWNER
  - ASSERT_RBUFPOOL_OWNER
  - max_uint32
  - max_rmsg_size_w_hdr
  - ddsi_rbufpool_new
  - ddsi_rbufpool_setowner
  - ddsi_rbufpool_free
  - ddsi_rbuf_alloc_new
  - ddsi_rbuf_new
  - ddsi_rbuf_release
  - ASSERT_RMSG_UNCOMMITTED
  - ASSERT_RMSG_UNCOMMITTED
  - ddsi_rbuf_alloc
  - init_rmsg_chunk
  - ddsi_rmsg_new
  - ddsi_rmsg_setsize
  - ddsi_rmsg_free
  - commit_rmsg_chunk
  - ddsi_rmsg_commit
  - ddsi_rmsg_addbias
  - ddsi_rmsg_rmbias_and_adjust
  - ddsi_rmsg_unref
  - ddsi_rmsg_alloc
  - ddsi_rdata_new
  - ddsi_rdata_addbias
  - ddsi_rdata_rmbias_and_adjust
  - ddsi_rdata_unref
  - compare_uint32
  - compare_seqno
  - ddsi_defrag_new
  - ddsi_defrag_stats
  - ddsi_fragchain_adjust_refcount
  - ddsi_fragchain_rmbias
  - defrag_rsample_drop
  - ddsi_defrag_free
  - defrag_try_merge_with_succ
  - defrag_rsample_addiv
  - rsample_init_common
  - defrag_rsample_new
  - reorder_rsample_new
  - is_complete
  - rsample_convert_defrag_to_reorder
  - defrag_add_fragment
  - ddsi_rdata_is_fragment
  - defrag_limit_samples
  - ddsi_defrag_rsample
  - ddsi_defrag_notegap
  - ddsi_defrag_nackmap
  - ddsi_defrag_prune
  - ddsi_reorder_new
  - ddsi_reorder_stats
  - ddsi_fragchain_unref
  - ddsi_reorder_free
  - reorder_add_rsampleiv
  - rsample_is_singleton
  - append_rsample_interval
  - reorder_try_append_and_discard
  - ddsi_reorder_rsample_dup_first
  - ddsi_rsample_fragchain
  - reorder_mode_as_char
  - delete_last_sample
  - ddsi_reorder_rsample
  - coalesce_intervals_touching_range
  - ddsi_rdata_newgap
  - reorder_insert_gap
  - ddsi_reorder_gap
  - ddsi_reorder_drop_upto
  - ddsi_reorder_wantsample
  - ddsi_reorder_nackmap
  - ddsi_reorder_next_seq
  - ddsi_reorder_set_next_seq
  - dqueue_elem_kind
  - ddsi_dqueue_step_deaf
  - dqueue_thread
  - ddsi_dqueue_new
  - ddsi_dqueue_start
  - ddsi_dqueue_enqueue_locked
  - ddsi_dqueue_enqueue_deferred_wakeup
  - ddsi_dqueue_enqueue_trigger
  - ddsi_dqueue_enqueue
  - ddsi_dqueue_enqueue_bubble_locked
  - ddsi_dqueue_enqueue_bubble
  - ddsi_dqueue_enqueue_callback
  - ddsi_dqueue_enqueue1
  - ddsi_dqueue_is_full
  - ddsi_dqueue_wait_until_empty_if_full
  - dqueue_free_remaining_elements
  - ddsi_dqueue_free
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
  types:
    enum:
    - enumerators:
      - name: DQEK_DATA
      - name: DQEK_BUBBLE
      - name: DQEK_GAP
      item_type: enum
      name: dqueue_elem_kind
      pos:
        line_end: 2512
        line_start: 2508
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - enumerators:
      - name: DDSI_DQBK_STOP
      - name: DDSI_DQBK_CALLBACK
      - name: DDSI_DQBK_RDGUID
      item_type: enum
      name: ddsi_dqueue_bubble_kind
      pos:
        line_end: 2518
        line_start: 2514
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    preproc_defs:
    - item_type: preproc_def
      name: USE_VALGRIND
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_VALGRIND
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RMSG_REFCOUNT_UNCOMMITTED_BIAS
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: RMSG_REFCOUNT_RDATA_BIAS
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
      type_or_value: (1u << 20)
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: '*current'
        type: struct ddsi_rbuf
      - name: rbuf_size
        type: uint32_t
      - name: max_rmsg_size
        type: uint32_t
      - name: '*logcfg'
        type: struct ddsrt_log_cfg
      - name: trace
        type: bool
      item_type: struct
      name: ddsi_rbufpool
      pos:
        line_end: 287
        line_start: 263
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: n_live_rmsg_chunks
        type: ddsrt_atomic_uint32_t
      - name: size
        type: uint32_t
      - name: max_rmsg_size
        type: uint32_t
      - name: '*rbufpool'
        type: struct ddsi_rbufpool
      - name: trace
        type: bool
      - name: '*freeptr'
        type: unsigned char
      - name: u
        type: "union {\n    int64_t l;\n    double d;\n    void *p;\n  }"
      - name: raw[]
        type: unsigned char
      item_type: struct
      name: ddsi_rbuf
      pos:
        line_end: 424
        line_start: 402
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: min
        type: uint32_t
      - name: '*first'
        type: struct ddsi_rdata
      - name: '*last'
        type: struct ddsi_rdata
      item_type: struct
      name: ddsi_defrag_iv
      pos:
        line_end: 833
        line_start: 828
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: u
        type: "union {\n    struct ddsi_rsample_defrag {\n      ddsrt_avl_node_t avlnode;
          /* for ddsi_defrag::sampletree */\n      ddsrt_avl_tree_t fragtree;\n      struct
          ddsi_defrag_iv *lastfrag;\n      struct ddsi_rsample_info *sampleinfo;\n
          \     ddsi_seqno_t seq;\n    } defrag;\n    struct ddsi_rsample_reorder
          {\n      ddsrt_avl_node_t avlnode;       /* for ddsi_reorder::sampleivtree,
          if head of a chain */\n      struct ddsi_rsample_chain sc; /* this interval's
          samples, covering ... */\n      ddsi_seqno_t min, maxp1;        /* ... seq
          nos: [min,maxp1), but possibly with holes in it */\n      uint32_t n_samples;
          \       /* so this is the actual length of the chain */\n    } reorder;\n
          \ }"
      item_type: struct
      name: ddsi_rsample
      pos:
        line_end: 851
        line_start: 835
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: fragtree
        type: ddsrt_avl_tree_t
      - name: '*lastfrag'
        type: struct ddsi_defrag_iv
      - name: '*sampleinfo'
        type: struct ddsi_rsample_info
      - name: seq
        type: ddsi_seqno_t
      item_type: struct
      name: ddsi_rsample_defrag
      pos:
        line_end: 843
        line_start: 837
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: sc
        type: struct ddsi_rsample_chain
      - name: min
        type: ddsi_seqno_t
      - name: n_samples
        type: uint32_t
      item_type: struct
      name: ddsi_rsample_reorder
      pos:
        line_end: 849
        line_start: 844
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: sampletree
        type: ddsrt_avl_tree_t
      - name: '*max_sample'
        type: struct ddsi_rsample
      - name: n_samples
        type: uint32_t
      - name: max_samples
        type: uint32_t
      - name: drop_mode
        type: enum ddsi_defrag_drop_mode
      - name: discarded_bytes
        type: uint64_t
      - name: '*logcfg'
        type: struct ddsrt_log_cfg
      - name: trace
        type: bool
      item_type: struct
      name: ddsi_defrag
      pos:
        line_end: 862
        line_start: 853
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: sampleivtree
        type: ddsrt_avl_tree_t
      - name: '*max_sampleiv'
        type: struct ddsi_rsample
      - name: next_seq
        type: ddsi_seqno_t
      - name: mode
        type: enum ddsi_reorder_mode
      - name: max_samples
        type: uint32_t
      - name: n_samples
        type: uint32_t
      - name: discarded_bytes
        type: uint64_t
      - name: '*logcfg'
        type: struct ddsrt_log_cfg
      - name: late_ack_mode
        type: bool
      - name: trace
        type: bool
      item_type: struct
      name: ddsi_reorder
      pos:
        line_end: 1663
        line_start: 1652
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_t
      - name: handler
        type: ddsi_dqueue_handler_t
      - name: '*handler_arg'
        type: void
      - name: sc
        type: struct ddsi_rsample_chain
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*name'
        type: char
      - name: max_samples
        type: uint32_t
      - name: nof_samples
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: ddsi_dqueue
      pos:
        line_end: 2506
        line_start: 2493
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    - fields:
      - name: sce
        type: struct ddsi_rsample_chain_elem
      - name: kind
        type: enum ddsi_dqueue_bubble_kind
      - name: u
        type: "union {\n    /* stop */\n    struct {\n      ddsi_dqueue_callback_t
          cb;\n      void *arg;\n    } cb;\n    struct {\n      ddsi_guid_t rdguid;\n
          \     uint32_t count;\n    } rdguid;\n  }"
      item_type: struct
      name: ddsi_dqueue_bubble
      pos:
        line_end: 2537
        line_start: 2520
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_radmin.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__security_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sertype_cdr_equal
  - sertype_cdr_hash
  - sertype_cdr_free
  - sertype_cdr_zero_samples
  - sertype_cdr_realloc_samples
  - type_may_contain_ptr
  - sertype_cdr_free_samples
  - ddsi_sertype_cdr_init
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_sertype_cdr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__pmd.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: participantGuidPrefix
        type: ddsi_guid_prefix_t
      - name: kind
        type: uint32_t
      - name: value
        type: ddsi_octetseq_t
      item_type: struct
      name: ddsi_participant_message_data
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__pmd.h
    - fields:
      - name: pp_guid
        type: ddsi_guid_t
      item_type: struct
      name: ddsi_write_pmd_message_xevent_cb_arg
      pos:
        line_end: 52
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__pmd.h
    typedefs: []
    union: []
- function_names:
  - locators_builder_init
  - locators_add_one
  - ddsi_get_participant_builtin_topic_data
  - get_pp_and_spdp_wr
  - ddsi_spdp_directed_xevent_cb
  - pseudo_random_delay
  - respond_to_spdp
  - handle_spdp_dead
  - find_internal_interface_index
  - accept_packet_from_interface
  - participant_guid_is_known
  - get_builtin_endpoint_set
  - get_locators
  - handle_spdp_alive
  - ddsi_handle_spdp
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
  types:
    enum:
    - enumerators:
      - name: FIIIR_NO_INFO
      - name: FIIIR_MATCH
      - name: FIIIR_NO_MATCH
      item_type: enum
      name: find_internal_interface_index_result
      pos:
        line_end: 368
        line_start: 364
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    - enumerators:
      - name: PGIKR_UNKNOWN
      - name: PGIKR_KNOWN_BUT_INTERESTING
      - name: PGIKR_KNOWN
      item_type: enum
      name: participant_guid_is_known_result
      pos:
        line_end: 415
        line_start: 411
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    - enumerators:
      - name: HSR_NOT_INTERESTING
      - name: HSR_INTERESTING
      item_type: enum
      name: handle_spdp_result
      pos:
        line_end: 547
        line_start: 544
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*dst'
        type: ddsi_locators_t
      - name: '*storage'
        type: struct ddsi_locators_one
      - name: storage_n
        type: size_t
      item_type: struct
      name: locators_builder
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    - fields:
      - name: pp_guid
        type: ddsi_guid_t
      - name: nrepeats
        type: int
      - name: dest_proxypp_guid_prefix
        type: ddsi_guid_prefix_t
      item_type: struct
      name: ddsi_spdp_directed_xevent_cb_arg
      pos:
        line_end: 211
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_spdp.c
    typedefs: []
    union: []
- function_names:
  - ddsi_sedp_write_topic_impl
  - ddsi_sedp_write_topic
  - durability_to_string
  - ddsi_handle_sedp_alive_topic
  - ddsi_handle_sedp_dead_topic
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_discovery_topic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__deliver_locally.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_whc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PP_PROTOCOL_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  0)
    - item_type: preproc_def
      name: PP_VENDORID
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  1)
    - item_type: preproc_def
      name: PP_UNICAST_LOCATOR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  2)
    - item_type: preproc_def
      name: PP_MULTICAST_LOCATOR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  3)
    - item_type: preproc_def
      name: PP_DEFAULT_UNICAST_LOCATOR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  4)
    - item_type: preproc_def
      name: PP_DEFAULT_MULTICAST_LOCATOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  5)
    - item_type: preproc_def
      name: PP_METATRAFFIC_UNICAST_LOCATOR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  6)
    - item_type: preproc_def
      name: PP_METATRAFFIC_MULTICAST_LOCATOR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  7)
    - item_type: preproc_def
      name: PP_EXPECTS_INLINE_QOS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  8)
    - item_type: preproc_def
      name: PP_PARTICIPANT_MANUAL_LIVELINESS_COUNT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 <<  9)
    - item_type: preproc_def
      name: PP_PARTICIPANT_BUILTIN_ENDPOINTS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 10)
    - item_type: preproc_def
      name: PP_CONTENT_FILTER_PROPERTY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 12)
    - item_type: preproc_def
      name: PP_PARTICIPANT_GUID
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 13)
    - item_type: preproc_def
      name: PP_PARTICIPANT_ENTITYID
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 14)
    - item_type: preproc_def
      name: PP_GROUP_GUID
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 15)
    - item_type: preproc_def
      name: PP_GROUP_ENTITYID
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 16)
    - item_type: preproc_def
      name: PP_BUILTIN_ENDPOINT_SET
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 17)
    - item_type: preproc_def
      name: PP_PROPERTIES
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 18)
    - item_type: preproc_def
      name: PP_TYPE_MAX_SIZE_SERIALIZED
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 19)
    - item_type: preproc_def
      name: PP_CYCLONE_REDUNDANT_NETWORKING
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 20)
    - item_type: preproc_def
      name: PP_KEYHASH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 21)
    - item_type: preproc_def
      name: PP_STATUSINFO
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 22)
    - item_type: preproc_def
      name: PP_ORIGINAL_WRITER_INFO
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 23)
    - item_type: preproc_def
      name: PP_ENDPOINT_GUID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 24)
    - item_type: preproc_def
      name: PP_ADLINK_PARTICIPANT_VERSION_INFO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 26)
    - item_type: preproc_def
      name: PP_ADLINK_TYPE_DESCRIPTION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 27)
    - item_type: preproc_def
      name: PP_READER_FAVOURS_SSM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 29)
    - item_type: preproc_def
      name: PP_DOMAIN_ID
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 30)
    - item_type: preproc_def
      name: PP_DOMAIN_TAG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 31)
    - item_type: preproc_def
      name: PP_IDENTITY_TOKEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 32)
    - item_type: preproc_def
      name: PP_PERMISSIONS_TOKEN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 33)
    - item_type: preproc_def
      name: PP_ENDPOINT_SECURITY_INFO
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 34)
    - item_type: preproc_def
      name: PP_PARTICIPANT_SECURITY_INFO
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 35)
    - item_type: preproc_def
      name: PP_IDENTITY_STATUS_TOKEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 36)
    - item_type: preproc_def
      name: PP_DATA_TAGS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 37)
    - item_type: preproc_def
      name: PP_CYCLONE_RECEIVE_BUFFER_SIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 38)
    - item_type: preproc_def
      name: PP_CYCLONE_TOPIC_GUID
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 39)
    - item_type: preproc_def
      name: PP_CYCLONE_REQUESTS_KEYHASH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 40)
    - item_type: preproc_def
      name: PP_INCOMPATIBLE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: ((uint64_t)1 << 63)
    - item_type: preproc_def
      name: DDSI_ADLINK_PARTICIPANT_VERSION_INFO_FIXED_CDRSIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (24)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_KERNEL_SEQUENCE_NUMBER
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_DISCOVERY_INCLUDES_GID
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_PTBES_FIXED_0
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 2)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_DDSI2_PARTICIPANT_FLAG
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 3)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_PARTICIPANT_IS_DDSI2
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 4)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_MINIMAL_BES_MODE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 5)
    - item_type: preproc_def
      name: DDSI_ADLINK_FL_SUPPORTS_STATUSINFOX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 5)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_READ_PROTECTED
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  0)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_WRITE_PROTECTED
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_PROTECTED
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  3)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_PROTECTED
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  4)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_KEY_PROTECTED
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  5)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  6)
    - item_type: preproc_def
      name: DDSI_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_VALID
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: DDSI_PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ENCRYPTED
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  0)
    - item_type: preproc_def
      name: DDSI_PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_PAYLOAD_ENCRYPTED
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDSI_PLUGIN_ENDPOINT_SECURITY_ATTRIBUTES_FLAG_IS_SUBMESSAGE_ORIGIN_AUTHENTICATED
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_PROTECTED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  0)
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_PROTECTED
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_PROTECTED
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_VALID
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_ENCRYPTED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  0)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_ENCRYPTED
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  1)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_ENCRYPTED
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  2)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_RTPS_AUTHENTICATED
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  3)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_DISCOVERY_AUTHENTICATED
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  4)
    - item_type: preproc_def
      name: DDSI_PLUGIN_PARTICIPANT_SECURITY_ATTRIBUTES_FLAG_IS_LIVELINESS_AUTHENTICATED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type_or_value: (1u <<  5)
    structs:
    - fields:
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: vendorid
        type: ddsi_vendorid_t
      - name: encoding
        type: int
      - name: '*buf'
        type: unsigned char
      - name: bufsz
        type: size_t
      - name: strict
        type: bool
      item_type: struct
      name: ddsi_plist_src
      pos:
        line_end: 132
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
    - fields:
      - name: '*blob'
        type: void
      - name: size
        type: size_t
      - name: keyparam
        type: ddsi_parameterid_t
      item_type: struct
      name: ddsi_plist_sample
      pos:
        line_end: 138
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
    typedefs:
    - item_type: typedef
      name: ddsi_ipv4address_t
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type: uint32_t
    - item_type: typedef
      name: ddsi_port_t
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__plist.h
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
  types:
    enum:
    - enumerators:
      - name: PRMSS_SYNC
      - name: PRMSS_TLCATCHUP
      - name: PRMSS_OUT_OF_SYNC
      item_type: enum
      name: ddsi_pwr_rd_match_syncstate
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    preproc_defs: []
    structs:
    - fields:
      - name: besflag
        type: unsigned
      - name: entityid
        type: unsigned
      - name: '*topic_name'
        type: char
      item_type: struct
      name: ddsi_bestab
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: kind
        type: enum ddsi_entity_kind
      - name: id
        type: uint32_t
      item_type: struct
      name: ddsi_setab
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: seq_end_p1
        type: ddsi_seqno_t
      - name: seq_base
        type: ddsi_seqno_t
      - name: frag_end_p1
        type: uint32_t
      - name: frag_base
        type: uint32_t
      item_type: struct
      name: ddsi_last_nack_summary
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: pwr_guid
        type: ddsi_guid_t
      - name: pwr_alive
        type: unsigned
      - name: via_psmx
        type: unsigned
      - name: pwr_alive_vclock
        type: uint32_t
      item_type: struct
      name: ddsi_rd_pwr_match
      pos:
        line_end: 73
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: rd_guid
        type: ddsi_guid_t
      - name: via_psmx
        type: unsigned
      item_type: struct
      name: ddsi_wr_rd_match
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: wr_guid
        type: ddsi_guid_t
      - name: wr_alive
        type: unsigned
      - name: via_psmx
        type: unsigned
      - name: wr_alive_vclock
        type: uint32_t
      item_type: struct
      name: ddsi_rd_wr_match
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: prd_guid
        type: ddsi_guid_t
      - name: assumed_in_sync
        type: unsigned
      - name: has_replied_to_hb
        type: unsigned
      - name: all_have_replied_to_hb
        type: unsigned
      - name: is_reliable
        type: unsigned
      - name: via_psmx
        type: unsigned
      - name: min_seq
        type: ddsi_seqno_t
      - name: max_seq
        type: ddsi_seqno_t
      - name: seq
        type: ddsi_seqno_t
      - name: last_seq
        type: ddsi_seqno_t
      - name: num_reliable_readers_where_seq_equals_max
        type: uint32_t
      - name: arbitrary_unacked_reader
        type: ddsi_guid_t
      - name: prev_acknack
        type: ddsi_count_t
      - name: prev_nackfrag
        type: ddsi_count_t
      - name: t_acknack_accepted
        type: ddsrt_etime_t
      - name: t_nackfrag_accepted
        type: ddsrt_etime_t
      - name: hb_to_ack_latency
        type: struct ddsi_lat_estim
      - name: hb_to_ack_latency_tlastlog
        type: ddsrt_wctime_t
      - name: non_responsive_count
        type: uint32_t
      - name: rexmit_requests
        type: uint32_t
      item_type: struct
      name: ddsi_wr_prd_match
      pos:
        line_end: 114
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: wr_guid
        type: ddsi_guid_t
      - name: via_psmx
        type: unsigned
      item_type: struct
      name: ddsi_prd_wr_match
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: rd_guid
        type: ddsi_guid_t
      - name: tcreate
        type: ddsrt_mtime_t
      - name: count
        type: ddsi_count_t
      - name: prev_heartbeat
        type: ddsi_count_t
      - name: hb_timestamp
        type: ddsrt_wctime_t
      - name: t_heartbeat_accepted
        type: ddsrt_etime_t
      - name: t_last_nack
        type: ddsrt_mtime_t
      - name: t_last_ack
        type: ddsrt_mtime_t
      - name: last_seq
        type: ddsi_seqno_t
      - name: last_nack
        type: struct ddsi_last_nack_summary
      - name: '*acknack_xevent'
        type: struct ddsi_xevent
      - name: in_sync
        type: enum ddsi_pwr_rd_match_syncstate
      - name: ack_requested
        type: unsigned
      - name: heartbeat_since_ack
        type: unsigned
      - name: heartbeatfrag_since_ack
        type: unsigned
      - name: directed_heartbeat
        type: unsigned
      - name: nack_sent_on_nackdelay
        type: unsigned
      - name: via_psmx
        type: unsigned
      - name: filtered
        type: unsigned
      - name: u
        type: "union {\n    struct {\n      ddsi_seqno_t end_of_tl_seq; /* when seq
          >= end_of_tl_seq, it's in sync, =0 when not tl */\n      struct ddsi_reorder
          *reorder; /* can be done (mostly) per proxy writer, but that is harder;
          only when state=OUT_OF_SYNC */\n    } not_in_sync;\n  }"
      item_type: struct
      name: ddsi_pwr_rd_match
      pos:
        line_end: 155
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__endpoint_match.h
    typedefs: []
    union: []
- function_names:
  - ddsi_handshake_register
  - ddsi_handshake_release
  - ddsi_handshake_crypto_tokens_received
  - ddsi_handshake_get_shared_secret
  - ddsi_handshake_get_handle
  - ddsi_handshake_remove
  - ddsi_handshake_find
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
  types:
    enum:
    - enumerators:
      - name: STATE_HANDSHAKE_IN_PROGRESS
      - name: STATE_HANDSHAKE_SEND_TOKENS
      - name: STATE_HANDSHAKE_TIMED_OUT
      - name: STATE_HANDSHAKE_PROCESSED
      - name: STATE_HANDSHAKE_FAILED
      - name: STATE_HANDSHAKE_OK
      item_type: enum
      name: ddsi_handshake_state
      pos:
        line_end: 31
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*ddsi_handshake_end_cb_t)(\n    struct ddsi_handshake *handshake,\n
        \   struct ddsi_participant *pp,\n    struct ddsi_proxy_participant *proxypp,\n
        \   enum ddsi_handshake_state result)"
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__handshake.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__eth.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__dynamic_type.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_DYNAMIC_TYPE_MEMBERID_MASK
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__dynamic_type.h
      type_or_value: 0x0fffffffu
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xqos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xevent.h
  types:
    enum:
    - enumerators:
      - name: DDSI_QXEV_MSG_REXMIT_DROPPED
      - name: DDSI_QXEV_MSG_REXMIT_QUEUED
      - name: DDSI_QXEV_MSG_REXMIT_MERGED
      item_type: enum
      name: ddsi_qxev_msg_rexmit_result
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__xevent.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_from_seqno
  - ddsi_validating_from_seqno
  - ddsi_to_seqno
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__misc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_freelist_init
  - ddsi_freelist_fini
  - ddsi_freelist_push
  - ddsi_freelist_pushmany
  - ddsi_freelist_pop
  - ddsi_freelist_init
  - ddsi_freelist_fini
  - ddsi_freelist_push
  - ddsi_freelist_pushmany
  - ddsi_freelist_pop
  - ddsi_freelist_init
  - get_next
  - ddsi_freelist_fini
  - get_freelist_inner_idx
  - lock_inner
  - ddsi_freelist_push
  - ddsi_freelist_pushmany
  - ddsi_freelist_pop
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_freelist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
  types:
    enum:
    - enumerators:
      - name: DDSI_REORDER_MODE_NORMAL
      - name: DDSI_REORDER_MODE_MONOTONICALLY_INCREASING
      - name: DDSI_REORDER_MODE_ALWAYS_DELIVER
      item_type: enum
      name: ddsi_reorder_mode
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - enumerators:
      - name: DDSI_DEFRAG_DROP_OLDEST
      - name: DDSI_DEFRAG_DROP_LATEST
      item_type: enum
      name: ddsi_defrag_drop_mode
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - enumerators:
      - name: DDSI_DEFRAG_NACKMAP_UNKNOWN_SAMPLE
      - name: DDSI_DEFRAG_NACKMAP_ALL_ADVERTISED_FRAGMENTS_KNOWN
      - name: DDSI_DEFRAG_NACKMAP_FRAGMENTS_MISSING
      item_type: enum
      name: ddsi_defrag_nackmap_result
      pos:
        line_end: 119
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - enumerators:
      - name: DDSI_REORDER_NACKMAP_ACK
      - name: DDSI_REORDER_NACKMAP_NACK
      - name: DDSI_REORDER_NACKMAP_SUPPRESSED_NACK
      item_type: enum
      name: ddsi_reorder_nackmap_result
      pos:
        line_end: 204
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_ALIGNOF_RMSG
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type_or_value: '(dds_alignof(struct ddsi_rmsg) > 8 ? dds_alignof(struct ddsi_rmsg)
        : 8)'
    - item_type: preproc_def
      name: DDSI_REORDER_ACCEPT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: DDSI_REORDER_TOO_OLD
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DDSI_REORDER_REJECT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type_or_value: '-2 '
    structs:
    - fields:
      - name: src_guid_prefix
        type: ddsi_guid_prefix_t
      - name: dst_guid_prefix
        type: ddsi_guid_prefix_t
      - name: '*reply_locators'
        type: struct ddsi_addrset
      - name: forme
        type: uint32_t
      - name: rtps_encoded
        type: uint32_t
      - name: vendor
        type: ddsi_vendorid_t
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: '*conn'
        type: struct ddsi_tran_conn
      - name: pktinfo
        type: struct ddsi_network_packet_info
      - name: '*gv'
        type: struct ddsi_domaingv
      item_type: struct
      name: ddsi_receiver_state
      pos:
        line_end: 62
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - fields:
      - name: seq
        type: ddsi_seqno_t
      - name: '*rst'
        type: struct ddsi_receiver_state
      - name: '*pwr'
        type: struct ddsi_proxy_writer
      - name: size
        type: uint32_t
      - name: fragsize
        type: uint32_t
      - name: timestamp
        type: ddsrt_wctime_t
      - name: reception_timestamp
        type: ddsrt_wctime_t
      - name: statusinfo
        type: unsigned
      - name: bswap
        type: unsigned
      - name: complex_qos
        type: unsigned
      item_type: struct
      name: ddsi_rsample_info
      pos:
        line_end: 75
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - fields:
      - name: '*fragchain'
        type: struct ddsi_rdata
      - name: '*next'
        type: struct ddsi_rsample_chain_elem
      - name: '*sampleinfo'
        type: struct ddsi_rsample_info
      item_type: struct
      name: ddsi_rsample_chain_elem
      pos:
        line_end: 87
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    - fields:
      - name: '*first'
        type: struct ddsi_rsample_chain_elem
      - name: '*last'
        type: struct ddsi_rsample_chain_elem
      item_type: struct
      name: ddsi_rsample_chain
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_dqueue_handler_t) (const struct ddsi_rsample_info *sampleinfo,
        const struct ddsi_rdata *fragchain, const struct ddsi_guid *rdguid, void *qarg)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type: int
    - item_type: typedef
      name: ddsi_reorder_result_t
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type: int32_t
    - item_type: typedef
      name: (*ddsi_dqueue_callback_t) (void *arg)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__radmin.h
      type: void
    union: []
- function_names:
  - ddsi_eth_enumerate_interfaces
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_eth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_write_pmd_message_guid
  - ddsi_write_pmd_message
  - ddsi_handle_pmd_message
  - ddsi_write_pmd_message_xevent_cb
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PMD_DATA_LENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pmd.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__pcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSI_VENDORID_INIT
  - DDSI_VENDORID
  - ddsi_vendor_equals
  - ddsi_vendor_is_eclipse
  - ddsi_vendor_is_rti
  - ddsi_vendor_is_rti_micro
  - ddsi_vendor_is_opensplice
  - ddsi_vendor_is_twinoaks
  - ddsi_vendor_is_eprosima
  - ddsi_vendor_is_cloud
  - ddsi_vendor_is_eclipse_or_opensplice
  - ddsi_vendor_is_adlink
  - ddsi_vendor_is_eclipse_or_adlink
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_RTI
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ADLINK_OSPL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_OCI
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_MILSOFT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_KONGSBERG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_TWINOAKS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_LAKOTA
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ICOUP
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ETRI
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_RTI_MICRO
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ADLINK_JAVA
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ADLINK_GATEWAY
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ADLINK_LITE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_TECHNICOLOR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_EPROSIMA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ECLIPSE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DDSI_VENDORID_MINOR_ADLINK_CLOUD
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: DDSI_VENDORID_INIT_UNKNOWN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: '{{ 0x00, 0x00 }}'
    - item_type: preproc_def
      name: DDSI_VENDORID_UNKNOWN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: ((ddsi_vendorid_t) DDSI_VENDORID_INIT_UNKNOWN)
    - item_type: preproc_def
      name: DDSI_VENDORID_ECLIPSE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__vendor.h
      type_or_value: DDSI_VENDORID(ECLIPSE)
    structs: []
    typedefs: []
    union: []
- function_names:
  - addr_to_loc
  - translate_pktinfo
  - ddsi_udp_conn_read
  - ddsi_udp_conn_write
  - ddsi_udp_disable_multiplexing
  - ddsi_udp_conn_handle
  - ddsi_udp_supports
  - ddsi_udp_conn_locator
  - get_socket_port
  - set_dont_route
  - setsockopt_pktinfo
  - set_socket_buffer
  - set_rcvbuf
  - set_sndbuf
  - set_mc_options_transmit_ipv6
  - set_mc_options_transmit_ipv4_if
  - set_mc_options_transmit_ipv4
  - ddsi_udp_create_conn
  - joinleave_asm_mcgroup
  - joinleave_ssm_mcgroup
  - ddsi_udp_join_mc
  - ddsi_udp_leave_mc
  - ddsi_udp_release_conn
  - ddsi_udp_is_loopbackaddr
  - ddsi_udp_is_mcaddr
  - ddsi_udp_is_ssm_mcaddr
  - mcgen_address_from_string
  - ddsi_udp_address_from_string
  - ddsi_udp_locator_to_string
  - ddsi_udp_fini
  - ddsi_udp_is_valid_port
  - ddsi_udp_receive_buffer_size
  - ddsi_udp_locator_from_sockaddr
  - ddsi_udp_init
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UDP_MC_ADDRESS_PREFIX_BITS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PACKET_DESTINATION_INFO
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PACKET_DESTINATION_INFO
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PACKET_DESTINATION_INFO
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PACKET_DESTINATION_INFO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CMSG_DATA
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
      type_or_value: WSA_CMSG_DATA
    structs:
    - fields:
      - name: m_base
        type: struct ddsi_tran_conn
      - name: m_sockext
        type: ddsrt_socket_ext_t
      - name: m_diffserv
        type: int
      item_type: struct
      name: ddsi_udp_conn
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - fields:
      - name: fact
        type: struct ddsi_tran_factory
      - name: m_kind
        type: int32_t
      - name: receive_buf_size
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: ddsi_udp_tran_factory
      pos:
        line_end: 86
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    typedefs: []
    union:
    - fields:
      - name: x
        type: struct sockaddr_storage
      - name: a
        type: struct sockaddr
      - name: a4
        type: struct sockaddr_in
      item_type: union
      name: addr
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
    - fields: []
      item_type: union
      name: in_pktinfo_4_6
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_udp.c
- function_names:
  - count_local_psmx
  - proxy_is_local_psmx
  - proxy_writer_get_alive_state_locked
  - ddsi_proxy_writer_get_alive_state
  - determine_preferred_uc_locator_helper
  - determine_preferred_uc_locator
  - proxy_endpoint_common_init
  - proxy_endpoint_common_fini
  - addrset_interfaces_allow_ssm_helper
  - addrset_interfaces_allow_ssm
  - ddsi_is_proxy_endpoint
  - ddsi_send_entityid_to_prd
  - ddsi_send_entityid_to_pwr
  - get_proxy_writer_reorder_mode
  - ddsi_new_proxy_writer
  - ddsi_update_proxy_writer
  - gc_delete_proxy_writer
  - gc_delete_proxy_writer_dqueue_bubble_cb
  - gc_delete_proxy_writer_dqueue
  - gcreq_proxy_writer
  - ddsi_delete_proxy_writer
  - proxy_writer_notify_liveliness_change_may_unlock
  - ddsi_proxy_writer_set_alive_may_unlock
  - ddsi_proxy_writer_set_notalive
  - ddsi_new_proxy_reader
  - ddsi_update_proxy_reader
  - proxy_reader_set_delete_and_ack_all_messages
  - gc_delete_proxy_reader
  - gcreq_proxy_reader
  - ddsi_delete_proxy_reader
  - ddsi_entity_common_from_proxy_endpoint_common
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*loc'
        type: ddsi_locator_t
      - name: matches_to_loc
        type: int
      item_type: struct
      name: proxy_is_local_psmx_helper
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_proxy_endpoint.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__addrset.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: refc
        type: ddsrt_atomic_uint32_t
      - name: ucaddrs
        type: ddsrt_avl_ctree_t
      item_type: struct
      name: ddsi_addrset
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__addrset.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_addrset_forone_fun_t) (const ddsi_xlocator_t *loc, void *arg)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__addrset.h
      type: ssize_t
    union: []
- function_names:
  - DDSI_LIST_TYPES_TMPL
  - _free
  - _insert
  - _append
  - _iter_first
  - _iter_next
  - _iter_elem_addr
  - _iter_d_first
  - _iter_d_next
  - _iter_d_remove
  - _remove
  - _take_first
  - _take_last
  - uint32_t
  - _append_list
  - _index_addr
  - elemT_
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__list_genptr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ASSERT_RDLOCK_HELD
  - ASSERT_WRLOCK_HELD
  - ASSERT_MUTEX_HELD
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__sysdeps.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - next_deliv_seq
  - add_acknack_getsource
  - add_acknack_makebitmaps
  - add_NackFrag
  - add_acknack
  - get_acknack_info
  - ddsi_sched_acknack_if_needed
  - need_to_eventually_nack
  - resched_acknack_if_data_missing
  - make_and_resched_acknack
  - preemptive_acknack_interval
  - make_preemptive_acknack
  - ddsi_acknack_xevent_cb
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ACK_REASON_IN_FLAGS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_acknack.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_bitset.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__nwpart.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_topic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_new_pcap_file
  - write_data
  - calc_ipv4_checksum
  - ddsi_write_pcap_received
  - ddsi_write_pcap_sent
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINKTYPE_RAW
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
      type_or_value: '101 '
    - item_type: preproc_def
      name: IPV4_HDR_SIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
      type_or_value: '20'
    - item_type: preproc_def
      name: UDP_HDR_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
      type_or_value: '8'
    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: 30
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    - fields:
      - name: ts_sec
        type: int32_t
      - name: ts_usec
        type: int32_t
      - name: incl_len
        type: uint32_t
      - name: orig_len
        type: uint32_t
      item_type: struct
      name: pcaprec_hdr_s
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    - fields:
      - name: version_hdrlength
        type: unsigned char
      - name: diffserv_congestion
        type: unsigned char
      - name: totallength
        type: uint16_t
      - name: identification
        type: uint16_t
      - name: flags_fragment_offset
        type: uint16_t
      - name: ttl
        type: unsigned char
      - name: proto
        type: unsigned char
      - name: checksum
        type: uint16_t
      - name: srcip
        type: uint32_t
      - name: dstip
        type: uint32_t
      item_type: struct
      name: ipv4_hdr_s
      pos:
        line_end: 50
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    - fields:
      - name: srcport
        type: uint16_t
      - name: dstport
        type: uint16_t
      - name: length
        type: uint16_t
      - name: checksum
        type: uint16_t
      item_type: struct
      name: udp_hdr_s
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    typedefs: []
    union:
    - fields:
      - name: ipv4_hdr
        type: ipv4_hdr_t
      - name: x[10]
        type: uint16_t
      item_type: union
      name: u
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
    - fields:
      - name: ipv4_hdr
        type: ipv4_hdr_t
      - name: x[10]
        type: uint16_t
      item_type: union
      name: u
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_pcap.c
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery.h
  types:
    enum:
    - enumerators:
      - name: SEDP_KIND_READER
      - name: SEDP_KIND_WRITER
      - name: SEDP_KIND_TOPIC
      item_type: enum
      name: ddsi_sedp_kind
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_addrset.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: xs[MAX_XMIT_CONNS]
        type: bool
      item_type: struct
      name: ddsi_interface_set
      pos:
        line_end: 23
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_addrset.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__transmit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EVQTRACE
  - compare_xevent_tsched
  - update_rexmit_counts
  - trace_msg
  - trace_msg
  - lookup_msg
  - remember_msg
  - forget_msg
  - update_non_timed_list_stats
  - add_to_non_timed_xmit_list
  - getnext_from_non_timed_xmit_list
  - non_timed_xmit_list_is_empty
  - nontimed_xevent_in_queue
  - free_xevent
  - ddsi_delete_xevent_nosync
  - ddsi_delete_xevent_sync
  - ddsi_delete_xevent
  - ddsi_resched_xevent_if_earlier
  - ddsi_xevent_is_scheduled
  - ddsi_delete_xevent_pending
  - qxev_common_nt
  - earliest_in_xeventq
  - qxev_insert
  - qxev_insert_nt
  - msg_xevents_cmp
  - ddsi_xeventq_new
  - ddsi_xeventq_start
  - ddsi_xeventq_stop
  - ddsi_xeventq_free
  - handle_timed_xevent
  - handle_nontimed_xevent
  - handle_xevents
  - ddsi_xeventq_step
  - xevent_thread
  - ddsi_qxev_msg
  - ddsi_qxev_nt_callback
  - ddsi_qxev_msg_rexmit_wrlock_held
  - ddsi_qxev_callback
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
  types:
    enum:
    - enumerators:
      - name: CSODS_NO_SYNC_NEEDED
      - name: CSODS_EXECUTING
      - name: CSODS_SCHEDULED
      item_type: enum
      name: cb_sync_on_delete_state
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - enumerators:
      - name: XEVK_MSG
      - name: XEVK_MSG_REXMIT
      - name: XEVK_NT_CALLBACK
      - name: XEVK_MSG_REXMIT_NOMERGE
      item_type: enum
      name: ddsi_xeventkind_nt
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    preproc_defs:
    - item_type: preproc_def
      name: TSCHED_DELETE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
      type_or_value: ((int64_t) ((uint64_t) 1 << 63))
    structs:
    - fields:
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: tsched
        type: ddsrt_mtime_t
      - name: sync_state
        type: enum cb_sync_on_delete_state
      - name: cb
        type: "union {\n    ddsi_xevent_cb_t cb;\n    // ensure alignment of arg is
          good\n    void *p;\n    uint64_t u64;\n    double d;\n  }"
      - name: arg[]
        type: char
      item_type: struct
      name: ddsi_xevent
      pos:
        line_end: 55
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - fields:
      - name: '*next'
        type: struct ddsi_xevent_nt
      item_type: struct
      name: untimed_listelem
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - fields:
      - name: listnode
        type: struct untimed_listelem
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: kind
        type: enum ddsi_xeventkind_nt
      - name: u
        type: "union {\n    struct {\n      /* xmsg is self-contained / relies on
          reference counts */\n      struct ddsi_xmsg *msg;\n    } msg;\n    struct
          {\n      /* xmsg is self-contained / relies on reference counts */\n      struct
          ddsi_xmsg *msg;\n      size_t queued_rexmit_bytes;\n      ddsrt_avl_node_t
          msg_avlnode;\n    } msg_rexmit; /* and msg_rexmit_nomerge */\n    struct
          {\n      void (*cb) (void *arg);\n      void *arg;\n    } callback;\n  }"
      item_type: struct
      name: ddsi_xevent_nt
      pos:
        line_end: 90
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    - fields:
      - name: xevents
        type: ddsrt_fibheap_t
      - name: msg_xevents
        type: ddsrt_avl_tree_t
      - name: '*non_timed_xmit_list_oldest'
        type: struct ddsi_xevent_nt
      - name: '*non_timed_xmit_list_newest'
        type: struct ddsi_xevent_nt
      - name: queued_rexmit_bytes
        type: size_t
      - name: queued_rexmit_msgs
        type: size_t
      - name: max_queued_rexmit_bytes
        type: size_t
      - name: max_queued_rexmit_msgs
        type: size_t
      - name: terminate
        type: int
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_mtime_t
      - name: cum_rexmit_bytes
        type: size_t
      - name: ntxl_length
        type: size_t
      - name: ntxl_t_last_update
        type: ddsrt_mtime_t
      - name: ntxl_length_time
        type: uint64_t
      item_type: struct
      name: ddsi_xeventq
      pos:
        line_end: 116
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_xevent.c
    typedefs: []
    union: []
- function_names:
  - ddsi_bswap_sequence_number
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__bswap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_is_builtin_topic
  - ddsi_is_topic_entityid
  - ddsi_new_topic
  - ddsi_update_topic_qos
  - gc_delete_topic
  - gcreq_topic
  - ddsi_delete_topic
  - gc_delete_topic_definition
  - gcreq_topic_definition
  - delete_topic_definition_locked
  - ddsi_topic_definition_hash
  - set_ddsi_topic_definition_hash
  - ref_topic_definition_locked
  - ref_topic_definition
  - unref_topic_definition_locked
  - unref_topic_definition
  - ddsi_topic_definition_equal
  - new_topic_definition
  - ddsi_lookup_topic_definition
  - ddsi_lookup_proxy_topic
  - ddsi_new_proxy_topic
  - ddsi_update_proxy_topic
  - gc_delete_proxy_topic
  - gcreq_proxy_topic
  - ddsi_delete_proxy_topic_locked
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*proxypp'
        type: struct ddsi_proxy_participant
      - name: '*proxytp'
        type: struct ddsi_proxy_topic
      - name: timestamp
        type: ddsrt_wctime_t
      item_type: struct
      name: gc_proxy_tp
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    - fields:
      - name: '*tpd'
        type: struct ddsi_topic_definition
      - name: timestamp
        type: ddsrt_wctime_t
      item_type: struct
      name: gc_tpd
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_topic.c
    typedefs: []
    union: []
- function_names:
  - ddsi_compare_guid
  - ddsi_compare_entityid
  - ddsi_is_null_guid
  - ddsi_to_entityid
  - ddsi_entity_common_init
  - ddsi_entity_common_fini
  - ddsi_get_entity_vendorid
  - ddsi_is_builtin_entityid
  - ddsi_update_qos_locked
  - ddsi_get_entity_instanceid
  - ddsi_set_xqos_topic_and_type
  - ddsi_hton_entityid
  - ddsi_ntoh_entityid
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi_entity.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__ipaddr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSI_SERDATA_CDR_PAD
  - DDSI_SERDATA_CDR_PAD
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_SERDATA_CDR_PREPAD
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
      type_or_value: "struct ddsi_serdata c;          \\\n  uint32_t pos;                   \\\n
        \ uint32_t size"
    - item_type: preproc_def
      name: DDSI_SERDATA_CDR_POSTPAD
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
      type_or_value: "struct dds_cdr_header hdr;      \\\n  DDSRT_WARNING_MSVC_OFF(4200)
        \   \\\n  char data[];                    \\\n  DDSRT_WARNING_MSVC_ON(4200)"
    - item_type: preproc_def
      name: DDSI_SERDATA_CDR_POSTPAD
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
      type_or_value: "struct dds_cdr_header hdr;      \\\n  char data[]"
    structs:
    - fields: []
      item_type: struct
      name: ddsi_serdata_cdr_unpadded
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
    - fields:
      - name: pad[DDSI_SERDATA_CDR_PAD (8 - (offsetof (struct ddsi_serdata_cdr_unpadded,
          data) % 8))]
        type: char
      item_type: struct
      name: ddsi_serdata_cdr
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
    - fields:
      - name: c
        type: struct ddsi_sertype
      - name: encoding_format
        type: uint16_t
      - name: type
        type: struct dds_cdrstream_desc
      item_type: struct
      name: ddsi_sertype_cdr
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__serdata_cdr.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/src/ddsi__discovery_endpoint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
  types:
    enum:
    - enumerators:
      - name: DDSI_PARTICIPANT_STATE_INITIALIZING
      - name: DDSI_PARTICIPANT_STATE_OPERATIONAL
      - name: DDSI_PARTICIPANT_STATE_DELETE_STARTED
      - name: DDSI_PARTICIPANT_STATE_DELETING_BUILTINS
      item_type: enum
      name: ddsi_participant_state
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
    preproc_defs:
    - item_type: preproc_def
      name: RTPS_PF_NO_BUILTIN_READERS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
      type_or_value: 1u
    - item_type: preproc_def
      name: RTPS_PF_NO_BUILTIN_WRITERS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
      type_or_value: 2u
    structs:
    - fields:
      - name: x
        type: struct ddsi_inverse_uint32_set
      item_type: struct
      name: ddsi_avail_entityid_set
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: bes
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: '*plist'
        type: struct ddsi_plist
      - name: '*spdp_serdata'
        type: struct ddsi_serdata
      - name: spdp_seqno
        type: ddsi_seqno_t
      - name: '*pmd_update_xevent'
        type: struct ddsi_xevent
      - name: m_locator
        type: ddsi_locator_t
      - name: '* m_conn'
        type: struct ddsi_tran_conn
      - name: avail_entityids
        type: struct ddsi_avail_entityid_set
      - name: refc_lock
        type: ddsrt_mutex_t
      - name: user_refc
        type: int32_t
      - name: builtin_refc
        type: int32_t
      - name: state
        type: enum ddsi_participant_state
      - name: ldur_auto_wr
        type: ddsrt_fibheap_t
      - name: minl_man
        type: ddsrt_atomic_voidp_t
      - name: leaseheap_man
        type: ddsrt_fibheap_t
      item_type: struct
      name: ddsi_participant
      pos:
        line_end: 70
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_participant.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_threadmon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_iid.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: counter
        type: ddsrt_atomic_uint64_t
      - name: key[4]
        type: uint32_t
      item_type: struct
      name: ddsi_iid
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_iid.h
    typedefs: []
    union: []
- function_names:
  - ddsi_deadline_register_instance_locked
  - ddsi_deadline_reregister_instance_locked
  - ddsi_deadline_unregister_instance_locked
  - ddsi_deadline_renew_instance_locked
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct ddsrt_circlist
      - name: '*evt'
        type: struct ddsi_xevent
      - name: deadline_missed_cb
        type: deadline_missed_cb_t
      - name: list_offset
        type: size_t
      - name: elem_offset
        type: size_t
      - name: dur
        type: dds_duration_t
      item_type: struct
      name: ddsi_deadline_adm
      pos:
        line_end: 31
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    - fields:
      - name: e
        type: struct ddsrt_circlist_elem
      - name: t_deadline
        type: ddsrt_mtime_t
      - name: t_last_update
        type: ddsrt_mtime_t
      - name: deadlines_missed
        type: uint32_t
      item_type: struct
      name: deadline_elem
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
    typedefs:
    - item_type: typedef
      name: (*deadline_missed_cb_t)(void *hc, ddsrt_mtime_t tnow)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deadline.h
      type: ddsrt_mtime_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_inverse_uint32_set.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ids
        type: ddsrt_avl_tree_t
      - name: cursor
        type: uint32_t
      - name: min
        type: uint32_t
      item_type: struct
      name: ddsi_inverse_uint32_set
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_inverse_uint32_set.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xmsg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint_match.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_tran.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_LOCSTRLEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_tran.h
      type_or_value: '81'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDS_XTypes_EquivalenceKind__alloc
  - DDS_XTypes_TypeKind__alloc
  - DDS_XTypes_TypeIdentiferKind__alloc
  - DDS_XTypes_MemberName__alloc
  - DDS_XTypes_QualifiedTypeName__alloc
  - DDS_XTypes_PrimitiveTypeId__alloc
  - DDS_XTypes_EquivalenceHash__alloc
  - DDS_XTypes_NameHash__alloc
  - DDS_XTypes_LBound__alloc
  - DDS_XTypes_LBoundSeq__alloc
  - DDS_XTypes_LBoundSeq_allocbuf
  - DDS_XTypes_SBound__alloc
  - DDS_XTypes_SBoundSeq__alloc
  - DDS_XTypes_SBoundSeq_allocbuf
  - DDS_XTypes_CollectionElementFlag__alloc
  - DDS_XTypes_StructMemberFlag__alloc
  - DDS_XTypes_UnionMemberFlag__alloc
  - DDS_XTypes_UnionDiscriminatorFlag__alloc
  - DDS_XTypes_EnumeratedLiteralFlag__alloc
  - DDS_XTypes_AnnotationParameterFlag__alloc
  - DDS_XTypes_AliasMemberFlag__alloc
  - DDS_XTypes_BitflagFlag__alloc
  - DDS_XTypes_BitsetMemberFlag__alloc
  - DDS_XTypes_StructTypeFlag__alloc
  - DDS_XTypes_UnionTypeFlag__alloc
  - DDS_XTypes_CollectionTypeFlag__alloc
  - DDS_XTypes_AnnotationTypeFlag__alloc
  - DDS_XTypes_AliasTypeFlag__alloc
  - DDS_XTypes_EnumTypeFlag__alloc
  - DDS_XTypes_BitmaskTypeFlag__alloc
  - DDS_XTypes_BitsetTypeFlag__alloc
  - DDS_XTypes_TypeIdentifier__alloc
  - DDS_XTypes_TypeIdentifier_free
  - DDS_XTypes_TypeIdentifierSeq__alloc
  - DDS_XTypes_TypeIdentifierSeq_allocbuf
  - DDS_XTypes_MemberId__alloc
  - DDS_XTypes_AppliedAnnotationParameterSeq__alloc
  - DDS_XTypes_AppliedAnnotationParameterSeq_allocbuf
  - DDS_XTypes_AppliedAnnotationSeq__alloc
  - DDS_XTypes_AppliedAnnotationSeq_allocbuf
  - DDS_XTypes_CompleteStructMemberSeq__alloc
  - DDS_XTypes_CompleteStructMemberSeq_allocbuf
  - DDS_XTypes_MinimalStructMemberSeq__alloc
  - DDS_XTypes_MinimalStructMemberSeq_allocbuf
  - DDS_XTypes_UnionCaseLabelSeq__alloc
  - DDS_XTypes_UnionCaseLabelSeq_allocbuf
  - DDS_XTypes_CompleteUnionMemberSeq__alloc
  - DDS_XTypes_CompleteUnionMemberSeq_allocbuf
  - DDS_XTypes_MinimalUnionMemberSeq__alloc
  - DDS_XTypes_MinimalUnionMemberSeq_allocbuf
  - DDS_XTypes_CompleteAnnotationParameterSeq__alloc
  - DDS_XTypes_CompleteAnnotationParameterSeq_allocbuf
  - DDS_XTypes_MinimalAnnotationParameterSeq__alloc
  - DDS_XTypes_MinimalAnnotationParameterSeq_allocbuf
  - DDS_XTypes_BitBound__alloc
  - DDS_XTypes_CompleteEnumeratedLiteralSeq__alloc
  - DDS_XTypes_CompleteEnumeratedLiteralSeq_allocbuf
  - DDS_XTypes_MinimalEnumeratedLiteralSeq__alloc
  - DDS_XTypes_MinimalEnumeratedLiteralSeq_allocbuf
  - DDS_XTypes_CompleteBitflagSeq__alloc
  - DDS_XTypes_CompleteBitflagSeq_allocbuf
  - DDS_XTypes_MinimalBitflagSeq__alloc
  - DDS_XTypes_MinimalBitflagSeq_allocbuf
  - DDS_XTypes_CompleteBitmaskHeader__alloc
  - DDS_XTypes_MinimalBitmaskHeader__alloc
  - DDS_XTypes_CompleteBitfieldSeq__alloc
  - DDS_XTypes_CompleteBitfieldSeq_allocbuf
  - DDS_XTypes_MinimalBitfieldSeq__alloc
  - DDS_XTypes_MinimalBitfieldSeq_allocbuf
  - DDS_XTypes_TypeObject__alloc
  - DDS_XTypes_TypeObject_free
  - DDS_XTypes_TypeObjectSeq__alloc
  - DDS_XTypes_TypeObjectSeq_allocbuf
  - DDS_XTypes_StronglyConnectedComponent__alloc
  - DDS_XTypes_TypeIdentifierTypeObjectPairSeq__alloc
  - DDS_XTypes_TypeIdentifierTypeObjectPairSeq_allocbuf
  - DDS_XTypes_TypeIdentifierPairSeq__alloc
  - DDS_XTypes_TypeIdentifierPairSeq_allocbuf
  - DDS_XTypes_TypeIdentifierWithSizeSeq__alloc
  - DDS_XTypes_TypeIdentifierWithSizeSeq_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf
  - DDS_XTypes_TypeIdentifierWithDependenciesSeq__alloc
  - DDS_XTypes_TypeIdentifierWithDependenciesSeq_allocbuf
  - DDS_XTypes_TypeInformation__alloc
  - DDS_XTypes_TypeInformation_free
  - DDS_XTypes_TypeInformationSeq__alloc
  - DDS_XTypes_TypeInformationSeq_allocbuf
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_XTypes_EK_MINIMAL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '241'
    - item_type: preproc_def
      name: DDS_XTypes_EK_COMPLETE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '242'
    - item_type: preproc_def
      name: DDS_XTypes_EK_BOTH
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '243'
    - item_type: preproc_def
      name: DDS_XTypes_TK_NONE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_XTypes_TK_BOOLEAN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_XTypes_TK_BYTE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDS_XTypes_TK_INT16
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DDS_XTypes_TK_INT32
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DDS_XTypes_TK_INT64
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DDS_XTypes_TK_UINT16
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DDS_XTypes_TK_UINT32
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DDS_XTypes_TK_UINT64
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DDS_XTypes_TK_FLOAT32
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '9'
    - item_type: preproc_def
      name: DDS_XTypes_TK_FLOAT64
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DDS_XTypes_TK_FLOAT128
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '11'
    - item_type: preproc_def
      name: DDS_XTypes_TK_INT8
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DDS_XTypes_TK_UINT8
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DDS_XTypes_TK_CHAR8
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDS_XTypes_TK_CHAR16
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '17'
    - item_type: preproc_def
      name: DDS_XTypes_TK_STRING8
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DDS_XTypes_TK_STRING16
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '33'
    - item_type: preproc_def
      name: DDS_XTypes_TK_ALIAS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '48'
    - item_type: preproc_def
      name: DDS_XTypes_TK_ENUM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DDS_XTypes_TK_BITMASK
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '65'
    - item_type: preproc_def
      name: DDS_XTypes_TK_ANNOTATION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '80'
    - item_type: preproc_def
      name: DDS_XTypes_TK_STRUCTURE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '81'
    - item_type: preproc_def
      name: DDS_XTypes_TK_UNION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '82'
    - item_type: preproc_def
      name: DDS_XTypes_TK_BITSET
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '83'
    - item_type: preproc_def
      name: DDS_XTypes_TK_SEQUENCE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '96'
    - item_type: preproc_def
      name: DDS_XTypes_TK_ARRAY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '97'
    - item_type: preproc_def
      name: DDS_XTypes_TK_MAP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '98'
    - item_type: preproc_def
      name: DDS_XTypes_TI_STRING8_SMALL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '112'
    - item_type: preproc_def
      name: DDS_XTypes_TI_STRING8_LARGE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '113'
    - item_type: preproc_def
      name: DDS_XTypes_TI_STRING16_SMALL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '114'
    - item_type: preproc_def
      name: DDS_XTypes_TI_STRING16_LARGE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '115'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_SEQUENCE_SMALL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '128'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_SEQUENCE_LARGE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '129'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_ARRAY_SMALL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '144'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_ARRAY_LARGE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '145'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_MAP_SMALL
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '160'
    - item_type: preproc_def
      name: DDS_XTypes_TI_PLAIN_MAP_LARGE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '161'
    - item_type: preproc_def
      name: DDS_XTypes_TI_STRONGLY_CONNECTED_COMPONENT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '176'
    - item_type: preproc_def
      name: DDS_XTypes_MEMBER_NAME_MAX_LENGTH
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DDS_XTypes_TYPE_NAME_MAX_LENGTH
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DDS_XTypes_INVALID_LBOUND
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_XTypes_INVALID_SBOUND
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT1
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT2
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DDS_XTypes_IS_EXTERNAL
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DDS_XTypes_IS_OPTIONAL
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: DDS_XTypes_IS_MUST_UNDERSTAND
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: DDS_XTypes_IS_KEY
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: DDS_XTypes_IS_DEFAULT
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: DDS_XTypes_MemberFlagMinimalMask
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '63'
    - item_type: preproc_def
      name: DDS_XTypes_IS_FINAL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DDS_XTypes_IS_APPENDABLE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DDS_XTypes_IS_MUTABLE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DDS_XTypes_IS_NESTED
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: DDS_XTypes_IS_AUTOID_HASH
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: DDS_XTypes_TypeFlagMinimalMask
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DDS_XTypes_ANNOTATION_STR_VALUE_MAX_LEN
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '128'
    - item_type: preproc_def
      name: DDS_XTypes_ANNOTATION_OCTETSEC_VALUE_MAX_LEN
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type_or_value: '128'
    structs:
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: DDS_XTypes_LBound
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_LBoundSeq
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: DDS_XTypes_SBound
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_SBoundSeq
      pos:
        line_end: 132
        line_start: 126
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    DDS_XTypes_EquivalenceHash hash;\n  }"
      item_type: struct
      name: DDS_XTypes_TypeObjectHashId
      pos:
        line_end: 147
        line_start: 140
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bound
        type: DDS_XTypes_SBound
      item_type: struct
      name: DDS_XTypes_StringSTypeDefn
      pos:
        line_end: 254
        line_start: 251
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bound
        type: DDS_XTypes_LBound
      item_type: struct
      name: DDS_XTypes_StringLTypeDefn
      pos:
        line_end: 259
        line_start: 256
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: equiv_kind
        type: DDS_XTypes_EquivalenceKind
      - name: element_flags
        type: DDS_XTypes_CollectionElementFlag
      item_type: struct
      name: DDS_XTypes_PlainCollectionHeader
      pos:
        line_end: 265
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: bound
        type: DDS_XTypes_SBound
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainSequenceSElemDefn
      pos:
        line_end: 272
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: bound
        type: DDS_XTypes_LBound
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainSequenceLElemDefn
      pos:
        line_end: 279
        line_start: 274
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: array_bound_seq
        type: DDS_XTypes_SBoundSeq
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainArraySElemDefn
      pos:
        line_end: 286
        line_start: 281
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: array_bound_seq
        type: DDS_XTypes_LBoundSeq
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainArrayLElemDefn
      pos:
        line_end: 293
        line_start: 288
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: bound
        type: DDS_XTypes_SBound
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      - name: key_flags
        type: DDS_XTypes_CollectionElementFlag
      - name: '* key_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainMapSTypeDefn
      pos:
        line_end: 302
        line_start: 295
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: header
        type: struct DDS_XTypes_PlainCollectionHeader
      - name: bound
        type: DDS_XTypes_LBound
      - name: '* element_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      - name: key_flags
        type: DDS_XTypes_CollectionElementFlag
      - name: '* key_identifier'
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_PlainMapLTypeDefn
      pos:
        line_end: 311
        line_start: 304
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: sc_component_id
        type: struct DDS_XTypes_TypeObjectHashId
      - name: scc_length
        type: int32_t
      - name: scc_index
        type: int32_t
      item_type: struct
      name: DDS_XTypes_StronglyConnectedComponentId
      pos:
        line_end: 318
        line_start: 313
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_ExtendedTypeDefn
      pos:
        line_end: 323
        line_start: 321
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    struct DDS_XTypes_StringSTypeDefn string_sdefn;\n    struct
          DDS_XTypes_StringLTypeDefn string_ldefn;\n    struct DDS_XTypes_PlainSequenceSElemDefn
          seq_sdefn;\n    struct DDS_XTypes_PlainSequenceLElemDefn seq_ldefn;\n    struct
          DDS_XTypes_PlainArraySElemDefn array_sdefn;\n    struct DDS_XTypes_PlainArrayLElemDefn
          array_ldefn;\n    struct DDS_XTypes_PlainMapSTypeDefn map_sdefn;\n    struct
          DDS_XTypes_PlainMapLTypeDefn map_ldefn;\n    struct DDS_XTypes_StronglyConnectedComponentId
          sc_component_id;\n    DDS_XTypes_EquivalenceHash equivalence_hash;\n  }"
      item_type: struct
      name: DDS_XTypes_TypeIdentifier
      pos:
        line_end: 342
        line_start: 326
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifier
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeIdentifierSeq
      pos:
        line_end: 360
        line_start: 354
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_ExtendedAnnotationParameterValue
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    bool boolean_value;\n    uint8_t byte_value;\n    int8_t
          int8_value;\n    uint8_t uint8_value;\n    int16_t int16_value;\n    uint16_t
          uint_16_value;\n    int32_t int32_value;\n    uint32_t uint32_value;\n    int64_t
          int64_value;\n    uint64_t uint64_value;\n    float float32_value;\n    double
          float64_value;\n    char char_value;\n    int32_t enumerated_value;\n    char
          string8_value[129];\n    /* struct DDS_XTypes_ExtendedAnnotationParameterValue
          extended_value */ /* no members */\n  }"
      item_type: struct
      name: DDS_XTypes_AnnotationParameterValue
      pos:
        line_end: 402
        line_start: 380
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: paramname_hash
        type: DDS_XTypes_NameHash
      - name: value
        type: struct DDS_XTypes_AnnotationParameterValue
      item_type: struct
      name: DDS_XTypes_AppliedAnnotationParameter
      pos:
        line_end: 408
        line_start: 404
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_AppliedAnnotationParameter
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_AppliedAnnotationParameterSeq
      pos:
        line_end: 416
        line_start: 410
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: annotation_typeid
        type: struct DDS_XTypes_TypeIdentifier
      - name: '* param_seq'
        type: DDS_XTypes_AppliedAnnotationParameterSeq
      item_type: struct
      name: DDS_XTypes_AppliedAnnotation
      pos:
        line_end: 427
        line_start: 423
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_AppliedAnnotation
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_AppliedAnnotationSeq
      pos:
        line_end: 435
        line_start: 429
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: placement[33]
        type: char
      - name: language[33]
        type: char
      - name: '* text'
        type: char
      item_type: struct
      name: DDS_XTypes_AppliedVerbatimAnnotation
      pos:
        line_end: 447
        line_start: 442
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: '* unit'
        type: char
      - name: '* min'
        type: struct DDS_XTypes_AnnotationParameterValue
      - name: '* max'
        type: struct DDS_XTypes_AnnotationParameterValue
      - name: '* hash_id'
        type: char
      item_type: struct
      name: DDS_XTypes_AppliedBuiltinMemberAnnotations
      pos:
        line_end: 455
        line_start: 449
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: member_id
        type: DDS_XTypes_MemberId
      - name: member_flags
        type: DDS_XTypes_StructMemberFlag
      - name: member_type_id
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_CommonStructMember
      pos:
        line_end: 462
        line_start: 457
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: name
        type: DDS_XTypes_MemberName
      - name: '* ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinMemberAnnotations
      - name: '* ann_custom'
        type: DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: DDS_XTypes_CompleteMemberDetail
      pos:
        line_end: 469
        line_start: 464
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: name_hash
        type: DDS_XTypes_NameHash
      item_type: struct
      name: DDS_XTypes_MinimalMemberDetail
      pos:
        line_end: 474
        line_start: 471
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonStructMember
      - name: detail
        type: struct DDS_XTypes_CompleteMemberDetail
      item_type: struct
      name: DDS_XTypes_CompleteStructMember
      pos:
        line_end: 480
        line_start: 476
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteStructMember
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteStructMemberSeq
      pos:
        line_end: 488
        line_start: 482
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonStructMember
      - name: detail
        type: struct DDS_XTypes_MinimalMemberDetail
      item_type: struct
      name: DDS_XTypes_MinimalStructMember
      pos:
        line_end: 499
        line_start: 495
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalStructMember
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalStructMemberSeq
      pos:
        line_end: 507
        line_start: 501
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: '* verbatim'
        type: struct DDS_XTypes_AppliedVerbatimAnnotation
      item_type: struct
      name: DDS_XTypes_AppliedBuiltinTypeAnnotations
      pos:
        line_end: 517
        line_start: 514
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalTypeDetail
      pos:
        line_end: 522
        line_start: 520
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: '* ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinTypeAnnotations
      - name: '* ann_custom'
        type: DDS_XTypes_AppliedAnnotationSeq
      - name: type_name
        type: DDS_XTypes_QualifiedTypeName
      item_type: struct
      name: DDS_XTypes_CompleteTypeDetail
      pos:
        line_end: 530
        line_start: 525
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: base_type
        type: struct DDS_XTypes_TypeIdentifier
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteStructHeader
      pos:
        line_end: 536
        line_start: 532
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: base_type
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_MinimalStructHeader
      pos:
        line_end: 542
        line_start: 538
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: struct_flags
        type: DDS_XTypes_StructTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteStructHeader
      - name: member_seq
        type: DDS_XTypes_CompleteStructMemberSeq
      item_type: struct
      name: DDS_XTypes_CompleteStructType
      pos:
        line_end: 549
        line_start: 544
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: struct_flags
        type: DDS_XTypes_StructTypeFlag
      - name: header
        type: struct DDS_XTypes_MinimalStructHeader
      - name: member_seq
        type: DDS_XTypes_MinimalStructMemberSeq
      item_type: struct
      name: DDS_XTypes_MinimalStructType
      pos:
        line_end: 556
        line_start: 551
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: int32_t
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_UnionCaseLabelSeq
      pos:
        line_end: 564
        line_start: 558
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: member_id
        type: DDS_XTypes_MemberId
      - name: member_flags
        type: DDS_XTypes_UnionMemberFlag
      - name: type_id
        type: struct DDS_XTypes_TypeIdentifier
      - name: label_seq
        type: DDS_XTypes_UnionCaseLabelSeq
      item_type: struct
      name: DDS_XTypes_CommonUnionMember
      pos:
        line_end: 577
        line_start: 571
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonUnionMember
      - name: detail
        type: struct DDS_XTypes_CompleteMemberDetail
      item_type: struct
      name: DDS_XTypes_CompleteUnionMember
      pos:
        line_end: 583
        line_start: 579
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteUnionMember
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteUnionMemberSeq
      pos:
        line_end: 591
        line_start: 585
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonUnionMember
      - name: detail
        type: struct DDS_XTypes_MinimalMemberDetail
      item_type: struct
      name: DDS_XTypes_MinimalUnionMember
      pos:
        line_end: 602
        line_start: 598
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalUnionMember
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalUnionMemberSeq
      pos:
        line_end: 610
        line_start: 604
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: member_flags
        type: DDS_XTypes_UnionDiscriminatorFlag
      - name: type_id
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_CommonDiscriminatorMember
      pos:
        line_end: 621
        line_start: 617
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonDiscriminatorMember
      - name: '* ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinTypeAnnotations
      - name: '* ann_custom'
        type: DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: DDS_XTypes_CompleteDiscriminatorMember
      pos:
        line_end: 628
        line_start: 623
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonDiscriminatorMember
      item_type: struct
      name: DDS_XTypes_MinimalDiscriminatorMember
      pos:
        line_end: 633
        line_start: 630
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteUnionHeader
      pos:
        line_end: 638
        line_start: 635
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalUnionHeader
      pos:
        line_end: 644
        line_start: 641
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: union_flags
        type: DDS_XTypes_UnionTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteUnionHeader
      - name: discriminator
        type: struct DDS_XTypes_CompleteDiscriminatorMember
      - name: member_seq
        type: DDS_XTypes_CompleteUnionMemberSeq
      item_type: struct
      name: DDS_XTypes_CompleteUnionType
      pos:
        line_end: 653
        line_start: 647
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: union_flags
        type: DDS_XTypes_UnionTypeFlag
      - name: discriminator
        type: struct DDS_XTypes_MinimalDiscriminatorMember
      - name: member_seq
        type: DDS_XTypes_MinimalUnionMemberSeq
      item_type: struct
      name: DDS_XTypes_MinimalUnionType
      pos:
        line_end: 661
        line_start: 655
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: member_flags
        type: DDS_XTypes_AnnotationParameterFlag
      - name: member_type_id
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_CommonAnnotationParameter
      pos:
        line_end: 667
        line_start: 663
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonAnnotationParameter
      - name: name
        type: DDS_XTypes_MemberName
      - name: default_value
        type: struct DDS_XTypes_AnnotationParameterValue
      item_type: struct
      name: DDS_XTypes_CompleteAnnotationParameter
      pos:
        line_end: 674
        line_start: 669
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteAnnotationParameter
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteAnnotationParameterSeq
      pos:
        line_end: 682
        line_start: 676
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonAnnotationParameter
      - name: name_hash
        type: DDS_XTypes_NameHash
      - name: default_value
        type: struct DDS_XTypes_AnnotationParameterValue
      item_type: struct
      name: DDS_XTypes_MinimalAnnotationParameter
      pos:
        line_end: 694
        line_start: 689
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalAnnotationParameter
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalAnnotationParameterSeq
      pos:
        line_end: 702
        line_start: 696
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: annotation_name
        type: DDS_XTypes_QualifiedTypeName
      item_type: struct
      name: DDS_XTypes_CompleteAnnotationHeader
      pos:
        line_end: 712
        line_start: 709
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalAnnotationHeader
      pos:
        line_end: 717
        line_start: 715
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: annotation_flag
        type: DDS_XTypes_AnnotationTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteAnnotationHeader
      - name: member_seq
        type: DDS_XTypes_CompleteAnnotationParameterSeq
      item_type: struct
      name: DDS_XTypes_CompleteAnnotationType
      pos:
        line_end: 725
        line_start: 720
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: annotation_flag
        type: DDS_XTypes_AnnotationTypeFlag
      - name: member_seq
        type: DDS_XTypes_MinimalAnnotationParameterSeq
      item_type: struct
      name: DDS_XTypes_MinimalAnnotationType
      pos:
        line_end: 732
        line_start: 727
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: related_flags
        type: DDS_XTypes_AliasMemberFlag
      - name: related_type
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_CommonAliasBody
      pos:
        line_end: 738
        line_start: 734
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonAliasBody
      - name: '* ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinMemberAnnotations
      - name: '* ann_custom'
        type: DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: DDS_XTypes_CompleteAliasBody
      pos:
        line_end: 745
        line_start: 740
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonAliasBody
      item_type: struct
      name: DDS_XTypes_MinimalAliasBody
      pos:
        line_end: 750
        line_start: 747
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteAliasHeader
      pos:
        line_end: 755
        line_start: 752
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalAliasHeader
      pos:
        line_end: 760
        line_start: 758
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: alias_flags
        type: DDS_XTypes_AliasTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteAliasHeader
      - name: body
        type: struct DDS_XTypes_CompleteAliasBody
      item_type: struct
      name: DDS_XTypes_CompleteAliasType
      pos:
        line_end: 768
        line_start: 763
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: alias_flags
        type: DDS_XTypes_AliasTypeFlag
      - name: body
        type: struct DDS_XTypes_MinimalAliasBody
      item_type: struct
      name: DDS_XTypes_MinimalAliasType
      pos:
        line_end: 775
        line_start: 770
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: '* ann_builtin'
        type: struct DDS_XTypes_AppliedBuiltinMemberAnnotations
      - name: '* ann_custom'
        type: DDS_XTypes_AppliedAnnotationSeq
      item_type: struct
      name: DDS_XTypes_CompleteElementDetail
      pos:
        line_end: 781
        line_start: 777
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: element_flags
        type: DDS_XTypes_CollectionElementFlag
      - name: type
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_CommonCollectionElement
      pos:
        line_end: 787
        line_start: 783
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonCollectionElement
      - name: detail
        type: struct DDS_XTypes_CompleteElementDetail
      item_type: struct
      name: DDS_XTypes_CompleteCollectionElement
      pos:
        line_end: 793
        line_start: 789
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonCollectionElement
      item_type: struct
      name: DDS_XTypes_MinimalCollectionElement
      pos:
        line_end: 798
        line_start: 795
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bound
        type: DDS_XTypes_LBound
      item_type: struct
      name: DDS_XTypes_CommonCollectionHeader
      pos:
        line_end: 803
        line_start: 800
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonCollectionHeader
      - name: '* detail'
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteCollectionHeader
      pos:
        line_end: 809
        line_start: 805
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonCollectionHeader
      item_type: struct
      name: DDS_XTypes_MinimalCollectionHeader
      pos:
        line_end: 814
        line_start: 811
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteCollectionHeader
      - name: element
        type: struct DDS_XTypes_CompleteCollectionElement
      item_type: struct
      name: DDS_XTypes_CompleteSequenceType
      pos:
        line_end: 821
        line_start: 816
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_MinimalCollectionHeader
      - name: element
        type: struct DDS_XTypes_MinimalCollectionElement
      item_type: struct
      name: DDS_XTypes_MinimalSequenceType
      pos:
        line_end: 828
        line_start: 823
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bound_seq
        type: DDS_XTypes_LBoundSeq
      item_type: struct
      name: DDS_XTypes_CommonArrayHeader
      pos:
        line_end: 833
        line_start: 830
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonArrayHeader
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteArrayHeader
      pos:
        line_end: 839
        line_start: 835
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonArrayHeader
      item_type: struct
      name: DDS_XTypes_MinimalArrayHeader
      pos:
        line_end: 844
        line_start: 841
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteArrayHeader
      - name: element
        type: struct DDS_XTypes_CompleteCollectionElement
      item_type: struct
      name: DDS_XTypes_CompleteArrayType
      pos:
        line_end: 851
        line_start: 846
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_MinimalArrayHeader
      - name: element
        type: struct DDS_XTypes_MinimalCollectionElement
      item_type: struct
      name: DDS_XTypes_MinimalArrayType
      pos:
        line_end: 858
        line_start: 853
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteCollectionHeader
      - name: key
        type: struct DDS_XTypes_CompleteCollectionElement
      - name: element
        type: struct DDS_XTypes_CompleteCollectionElement
      item_type: struct
      name: DDS_XTypes_CompleteMapType
      pos:
        line_end: 866
        line_start: 860
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: collection_flag
        type: DDS_XTypes_CollectionTypeFlag
      - name: header
        type: struct DDS_XTypes_MinimalCollectionHeader
      - name: key
        type: struct DDS_XTypes_MinimalCollectionElement
      - name: element
        type: struct DDS_XTypes_MinimalCollectionElement
      item_type: struct
      name: DDS_XTypes_MinimalMapType
      pos:
        line_end: 874
        line_start: 868
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: value
        type: int32_t
      - name: flags
        type: DDS_XTypes_EnumeratedLiteralFlag
      item_type: struct
      name: DDS_XTypes_CommonEnumeratedLiteral
      pos:
        line_end: 885
        line_start: 881
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonEnumeratedLiteral
      - name: detail
        type: struct DDS_XTypes_CompleteMemberDetail
      item_type: struct
      name: DDS_XTypes_CompleteEnumeratedLiteral
      pos:
        line_end: 891
        line_start: 887
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteEnumeratedLiteral
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteEnumeratedLiteralSeq
      pos:
        line_end: 899
        line_start: 893
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonEnumeratedLiteral
      - name: detail
        type: struct DDS_XTypes_MinimalMemberDetail
      item_type: struct
      name: DDS_XTypes_MinimalEnumeratedLiteral
      pos:
        line_end: 910
        line_start: 906
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalEnumeratedLiteral
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalEnumeratedLiteralSeq
      pos:
        line_end: 918
        line_start: 912
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bit_bound
        type: DDS_XTypes_BitBound
      item_type: struct
      name: DDS_XTypes_CommonEnumeratedHeader
      pos:
        line_end: 928
        line_start: 925
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonEnumeratedHeader
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteEnumeratedHeader
      pos:
        line_end: 934
        line_start: 930
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonEnumeratedHeader
      item_type: struct
      name: DDS_XTypes_MinimalEnumeratedHeader
      pos:
        line_end: 939
        line_start: 936
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: enum_flags
        type: DDS_XTypes_EnumTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteEnumeratedHeader
      - name: literal_seq
        type: DDS_XTypes_CompleteEnumeratedLiteralSeq
      item_type: struct
      name: DDS_XTypes_CompleteEnumeratedType
      pos:
        line_end: 946
        line_start: 941
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: enum_flags
        type: DDS_XTypes_EnumTypeFlag
      - name: header
        type: struct DDS_XTypes_MinimalEnumeratedHeader
      - name: literal_seq
        type: DDS_XTypes_MinimalEnumeratedLiteralSeq
      item_type: struct
      name: DDS_XTypes_MinimalEnumeratedType
      pos:
        line_end: 953
        line_start: 948
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: position
        type: uint16_t
      - name: flags
        type: DDS_XTypes_BitflagFlag
      item_type: struct
      name: DDS_XTypes_CommonBitflag
      pos:
        line_end: 959
        line_start: 955
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonBitflag
      - name: detail
        type: struct DDS_XTypes_CompleteMemberDetail
      item_type: struct
      name: DDS_XTypes_CompleteBitflag
      pos:
        line_end: 965
        line_start: 961
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteBitflag
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteBitflagSeq
      pos:
        line_end: 973
        line_start: 967
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonBitflag
      - name: detail
        type: struct DDS_XTypes_MinimalMemberDetail
      item_type: struct
      name: DDS_XTypes_MinimalBitflag
      pos:
        line_end: 984
        line_start: 980
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalBitflag
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalBitflagSeq
      pos:
        line_end: 992
        line_start: 986
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bit_bound
        type: DDS_XTypes_BitBound
      item_type: struct
      name: DDS_XTypes_CommonBitmaskHeader
      pos:
        line_end: 1002
        line_start: 999
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bitmask_flags
        type: DDS_XTypes_BitmaskTypeFlag
      - name: header
        type: DDS_XTypes_CompleteBitmaskHeader
      - name: flag_seq
        type: DDS_XTypes_CompleteBitflagSeq
      item_type: struct
      name: DDS_XTypes_CompleteBitmaskType
      pos:
        line_end: 1019
        line_start: 1014
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bitmask_flags
        type: DDS_XTypes_BitmaskTypeFlag
      - name: header
        type: DDS_XTypes_MinimalBitmaskHeader
      - name: flag_seq
        type: DDS_XTypes_MinimalBitflagSeq
      item_type: struct
      name: DDS_XTypes_MinimalBitmaskType
      pos:
        line_end: 1026
        line_start: 1021
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: position
        type: uint16_t
      - name: flags
        type: DDS_XTypes_BitsetMemberFlag
      - name: bitcount
        type: uint8_t
      - name: holder_type
        type: DDS_XTypes_TypeKind
      item_type: struct
      name: DDS_XTypes_CommonBitfield
      pos:
        line_end: 1034
        line_start: 1028
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonBitfield
      - name: detail
        type: struct DDS_XTypes_CompleteMemberDetail
      item_type: struct
      name: DDS_XTypes_CompleteBitfield
      pos:
        line_end: 1040
        line_start: 1036
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_CompleteBitfield
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_CompleteBitfieldSeq
      pos:
        line_end: 1048
        line_start: 1042
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: common
        type: struct DDS_XTypes_CommonBitfield
      - name: name_hash
        type: DDS_XTypes_NameHash
      item_type: struct
      name: DDS_XTypes_MinimalBitfield
      pos:
        line_end: 1059
        line_start: 1055
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_MinimalBitfield
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_MinimalBitfieldSeq
      pos:
        line_end: 1067
        line_start: 1061
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: detail
        type: struct DDS_XTypes_CompleteTypeDetail
      item_type: struct
      name: DDS_XTypes_CompleteBitsetHeader
      pos:
        line_end: 1077
        line_start: 1074
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalBitsetHeader
      pos:
        line_end: 1082
        line_start: 1080
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bitset_flags
        type: DDS_XTypes_BitsetTypeFlag
      - name: header
        type: struct DDS_XTypes_CompleteBitsetHeader
      - name: field_seq
        type: DDS_XTypes_CompleteBitfieldSeq
      item_type: struct
      name: DDS_XTypes_CompleteBitsetType
      pos:
        line_end: 1090
        line_start: 1085
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: bitset_flags
        type: DDS_XTypes_BitsetTypeFlag
      - name: field_seq
        type: DDS_XTypes_MinimalBitfieldSeq
      item_type: struct
      name: DDS_XTypes_MinimalBitsetType
      pos:
        line_end: 1097
        line_start: 1092
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_CompleteExtendedType
      pos:
        line_end: 1102
        line_start: 1100
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    struct DDS_XTypes_CompleteAliasType alias_type;\n    struct
          DDS_XTypes_CompleteAnnotationType annotation_type;\n    struct DDS_XTypes_CompleteStructType
          struct_type;\n    struct DDS_XTypes_CompleteUnionType union_type;\n    struct
          DDS_XTypes_CompleteBitsetType bitset_type;\n    struct DDS_XTypes_CompleteSequenceType
          sequence_type;\n    struct DDS_XTypes_CompleteArrayType array_type;\n    struct
          DDS_XTypes_CompleteMapType map_type;\n    struct DDS_XTypes_CompleteEnumeratedType
          enumerated_type;\n    struct DDS_XTypes_CompleteBitmaskType bitmask_type;\n
          \   /* struct DDS_XTypes_CompleteExtendedType extended_type */ /* no members
          */\n  }"
      item_type: struct
      name: DDS_XTypes_CompleteTypeObject
      pos:
        line_end: 1122
        line_start: 1105
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields: []
      item_type: struct
      name: DDS_XTypes_MinimalExtendedType
      pos:
        line_end: 1127
        line_start: 1125
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    struct DDS_XTypes_MinimalAliasType alias_type;\n    struct
          DDS_XTypes_MinimalAnnotationType annotation_type;\n    struct DDS_XTypes_MinimalStructType
          struct_type;\n    struct DDS_XTypes_MinimalUnionType union_type;\n    struct
          DDS_XTypes_MinimalBitsetType bitset_type;\n    struct DDS_XTypes_MinimalSequenceType
          sequence_type;\n    struct DDS_XTypes_MinimalArrayType array_type;\n    struct
          DDS_XTypes_MinimalMapType map_type;\n    struct DDS_XTypes_MinimalEnumeratedType
          enumerated_type;\n    struct DDS_XTypes_MinimalBitmaskType bitmask_type;\n
          \   /* struct DDS_XTypes_MinimalExtendedType extended_type */ /* no members
          */\n  }"
      item_type: struct
      name: DDS_XTypes_MinimalTypeObject
      pos:
        line_end: 1147
        line_start: 1130
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _d
        type: uint8_t
      - name: _u
        type: "union\n  {\n    struct DDS_XTypes_CompleteTypeObject complete;\n    struct
          DDS_XTypes_MinimalTypeObject minimal;\n  }"
      item_type: struct
      name: DDS_XTypes_TypeObject
      pos:
        line_end: 1157
        line_start: 1149
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeObject
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeObjectSeq
      pos:
        line_end: 1175
        line_start: 1169
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: type_identifier
        type: struct DDS_XTypes_TypeIdentifier
      - name: type_object
        type: struct DDS_XTypes_TypeObject
      item_type: struct
      name: DDS_XTypes_TypeIdentifierTypeObjectPair
      pos:
        line_end: 1191
        line_start: 1187
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeIdentifierTypeObjectPairSeq
      pos:
        line_end: 1199
        line_start: 1193
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: type_identifier1
        type: struct DDS_XTypes_TypeIdentifier
      - name: type_identifier2
        type: struct DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_XTypes_TypeIdentifierPair
      pos:
        line_end: 1210
        line_start: 1206
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierPair
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeIdentifierPairSeq
      pos:
        line_end: 1218
        line_start: 1212
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: type_id
        type: struct DDS_XTypes_TypeIdentifier
      - name: typeobject_serialized_size
        type: uint32_t
      item_type: struct
      name: DDS_XTypes_TypeIdentifierWithSize
      pos:
        line_end: 1229
        line_start: 1225
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierWithSize
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeIdentifierWithSizeSeq
      pos:
        line_end: 1237
        line_start: 1231
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierWithSize
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierWithSize
      pos:
        line_end: 1252
        line_start: 1246
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: typeid_with_size
        type: struct DDS_XTypes_TypeIdentifierWithSize
      - name: dependent_typeid_count
        type: int32_t
      - name: dependent_typeids
        type: dds_sequence_DDS_XTypes_TypeIdentifierWithSize
      item_type: struct
      name: DDS_XTypes_TypeIdentifierWithDependencies
      pos:
        line_end: 1266
        line_start: 1261
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierWithDependencies
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeIdentifierWithDependenciesSeq
      pos:
        line_end: 1274
        line_start: 1268
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: minimal
        type: struct DDS_XTypes_TypeIdentifierWithDependencies
      - name: complete
        type: struct DDS_XTypes_TypeIdentifierWithDependencies
      item_type: struct
      name: DDS_XTypes_TypeInformation
      pos:
        line_end: 1285
        line_start: 1281
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeInformation
      - name: _release
        type: bool
      item_type: struct
      name: DDS_XTypes_TypeInformationSeq
      pos:
        line_end: 1303
        line_start: 1297
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
    typedefs:
    - item_type: typedef
      name: DDS_XTypes_EquivalenceKind
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_TypeKind
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_TypeIdentiferKind
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_MemberName[257]
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: char
    - item_type: typedef
      name: DDS_XTypes_QualifiedTypeName[257]
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: char
    - item_type: typedef
      name: DDS_XTypes_PrimitiveTypeId
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_EquivalenceHash[14]
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_NameHash[4]
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_LBound
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint32_t
    - item_type: typedef
      name: DDS_XTypes_SBound
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint8_t
    - item_type: typedef
      name: DDS_XTypes_MemberFlag
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint16_t
    - item_type: typedef
      name: DDS_XTypes_CollectionElementFlag
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_StructMemberFlag
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_UnionMemberFlag
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_UnionDiscriminatorFlag
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_EnumeratedLiteralFlag
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_AnnotationParameterFlag
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_AliasMemberFlag
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_BitflagFlag
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_BitsetMemberFlag
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MemberFlag
    - item_type: typedef
      name: DDS_XTypes_TypeFlag
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint16_t
    - item_type: typedef
      name: DDS_XTypes_StructTypeFlag
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_UnionTypeFlag
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_CollectionTypeFlag
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_AnnotationTypeFlag
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_AliasTypeFlag
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_EnumTypeFlag
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_BitmaskTypeFlag
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_BitsetTypeFlag
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeFlag
    - item_type: typedef
      name: DDS_XTypes_MemberId
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint32_t
    - item_type: typedef
      name: DDS_XTypes_BitBound
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: uint16_t
    - item_type: typedef
      name: DDS_XTypes_CompleteBitmaskHeader
      pos:
        line_end: 1004
        line_start: 1004
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_CompleteEnumeratedHeader
    - item_type: typedef
      name: DDS_XTypes_MinimalBitmaskHeader
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_MinimalEnumeratedHeader
    - item_type: typedef
      name: DDS_XTypes_StronglyConnectedComponent
      pos:
        line_end: 1182
        line_start: 1182
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typeinfo.h
      type: DDS_XTypes_TypeObjectSeq
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_REQUEST
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: '"dds.sec.auth_request"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: '"dds.sec.auth"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_VERSION_MAJOR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_VERSION_MINOR
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_TOKEN_CLASS_ID_BASE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: '"DDS:Auth:PKI-DH:"'
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_TOKEN_CLASS_ID
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID_BASE DDSRT_STRINGIFY(DDS_SECURITY_AUTH_VERSION_MAJOR)
        "." DDSRT_STRINGIFY(DDS_SECURITY_AUTH_VERSION_MINOR)
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_REQUEST_TOKEN_CLASS_ID
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+AuthReq"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_REQUEST_TOKEN_ID
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Req"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_REPLY_TOKEN_ID
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Reply"
    - item_type: preproc_def
      name: DDS_SECURITY_AUTH_HANDSHAKE_FINAL_TOKEN_ID
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_msg.h
      type_or_value: DDS_SECURITY_AUTH_TOKEN_CLASS_ID "+Final"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_keyhash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: value[16]
        type: unsigned char
      item_type: struct
      name: ddsi_keyhash
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_keyhash.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
  types:
    enum:
    - enumerators:
      - name: DDSI_RECVIPS_MODE_ALL
      - name: DDSI_RECVIPS_MODE_ANY
      - name: DDSI_RECVIPS_MODE_PREFERRED
      - name: DDSI_RECVIPS_MODE_NONE
      - name: DDSI_RECVIPS_MODE_SOME
      item_type: enum
      name: ddsi_recvips_mode
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    - enumerators:
      - name: DDSI_RTM_SINGLE
      - name: DDSI_RTM_MANY
      item_type: enum
      name: ddsi_recv_thread_mode
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_XMIT_CONNS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_RECV_THREADS
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
      type_or_value: '3'
    structs:
    - fields:
      - name: loc
        type: ddsi_locator_t
      - name: '*next'
        type: struct ddsi_config_in_addr_node
      item_type: struct
      name: ddsi_config_in_addr_node
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    - fields:
      - name: mode
        type: enum ddsi_recv_thread_mode
      - name: '*rbpool'
        type: struct ddsi_rbufpool
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: u
        type: "union {\n    struct {\n      const ddsi_locator_t *loc;\n      struct
          ddsi_tran_conn *conn;\n    } single;\n    struct {\n      struct ddsi_sock_waitset
          *ws;\n    } many;\n  }"
      item_type: struct
      name: ddsi_recv_thread_arg
      pos:
        line_end: 84
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    - fields:
      - name: terminate
        type: int
      - name: deaf
        type: int
      - name: mute
        type: int
      - name: logconfig
        type: struct ddsrt_log_cfg
      - name: config
        type: struct ddsi_config
      - name: '* m_tkmap'
        type: struct ddsi_tkmap
      - name: '*entity_index'
        type: struct ddsi_entity_index
      - name: '*xevents'
        type: struct ddsi_xeventq
      - name: '*gcreq_queue'
        type: struct ddsi_gcreq_queue
      - name: leaseheap_lock
        type: ddsrt_mutex_t
      - name: leaseheap
        type: ddsrt_fibheap_t
      - name: '*ddsi_tran_factories'
        type: struct ddsi_tran_factory
      - name: '*m_factory'
        type: struct ddsi_tran_factory
      - name: '* disc_conn_mc'
        type: struct ddsi_tran_conn
      - name: '* data_conn_mc'
        type: struct ddsi_tran_conn
      - name: '* disc_conn_uc'
        type: struct ddsi_tran_conn
      - name: '* data_conn_uc'
        type: struct ddsi_tran_conn
      - name: '* xmit_conns[MAX_XMIT_CONNS]'
        type: struct ddsi_tran_conn
      - name: intf_xlocators[MAX_XMIT_CONNS]
        type: ddsi_xlocator_t
      - name: '* listener'
        type: struct ddsi_tran_listener
      - name: participant_set_generation
        type: ddsrt_atomic_uint32_t
      - name: participant_set_lock
        type: ddsrt_mutex_t
      - name: participant_set_cond
        type: ddsrt_cond_t
      - name: nparticipants
        type: uint32_t
      - name: '*deleted_participants'
        type: struct ddsi_deleted_participants_admin
      - name: ppguid_base
        type: struct ddsi_guid
      - name: n_interfaces
        type: int
      - name: interfaces[MAX_XMIT_CONNS]
        type: struct ddsi_network_interface
      - name: using_link_local_intf
        type: int
      - name: recvips_mode
        type: enum ddsi_recvips_mode
      - name: '*recvips'
        type: struct ddsi_config_in_addr_node
      - name: extmask
        type: ddsi_locator_t
      - name: loc_spdp_mc
        type: ddsi_locator_t
      - name: loc_meta_mc
        type: ddsi_locator_t
      - name: loc_meta_uc
        type: ddsi_locator_t
      - name: loc_default_mc
        type: ddsi_locator_t
      - name: loc_default_uc
        type: ddsi_locator_t
      - name: '*spdp_schedule'
        type: struct spdp_admin
      - name: n_recv_threads
        type: uint32_t
      - name: recv_threads[MAX_RECV_THREADS]
        type: "struct recv_thread {\n    const char *name;\n    struct ddsi_thread_state
          *thrst;\n    struct ddsi_recv_thread_arg arg;\n  }"
      - name: '*listen_ts'
        type: struct ddsi_thread_state
      - name: rtps_keepgoing
        type: ddsrt_atomic_uint32_t
      - name: tstart
        type: ddsrt_wctime_t
      - name: default_local_xqos_pp
        type: dds_qos_t
      - name: spdp_endpoint_xqos
        type: dds_qos_t
      - name: builtin_endpoint_xqos_rd
        type: dds_qos_t
      - name: builtin_endpoint_xqos_wr
        type: dds_qos_t
      - name: spdp_lock
        type: ddsrt_mutex_t
      - name: '*spdp_defrag'
        type: struct ddsi_defrag
      - name: '*spdp_reorder'
        type: struct ddsi_reorder
      - name: '*builtins_dqueue'
        type: struct ddsi_dqueue
      - name: '*debmon'
        type: struct ddsi_debug_monitor
      - name: networkQueueId
        type: uint32_t
      - name: '*channel_reader_thrst'
        type: struct ddsi_thread_state
      - name: '*user_dqueue'
        type: struct ddsi_dqueue
      - name: '*xmsgpool'
        type: struct ddsi_xmsgpool
      - name: '*spdp_type'
        type: struct ddsi_sertype
      - name: '*sedp_reader_type'
        type: struct ddsi_sertype
      - name: '*sedp_writer_type'
        type: struct ddsi_sertype
      - name: '*sedp_topic_type'
        type: struct ddsi_sertype
      - name: '*pmd_type'
        type: struct ddsi_sertype
      - name: sendq_lock
        type: ddsrt_mutex_t
      - name: sendq_cond
        type: ddsrt_cond_t
      - name: sendq_length
        type: unsigned
      - name: '*sendq_head'
        type: struct ddsi_xpack
      - name: '*sendq_tail'
        type: struct ddsi_xpack
      - name: sendq_stop
        type: int
      - name: '*sendq_ts'
        type: struct ddsi_thread_state
      - name: sendq_running
        type: bool
      - name: sendq_running_lock
        type: ddsrt_mutex_t
      - name: '*pcap_fp'
        type: FILE
      - name: pcap_lock
        type: ddsrt_mutex_t
      - name: '*builtin_topic_interface'
        type: struct ddsi_builtin_topic_interface
      - name: '*mship'
        type: struct ddsi_mcgroup_membership
      - name: sertypes_lock
        type: ddsrt_mutex_t
      - name: '*sertypes'
        type: struct ddsrt_hh
      - name: new_topic_lock
        type: ddsrt_mutex_t
      - name: new_topic_cond
        type: ddsrt_cond_etime_t
      - name: new_topic_version
        type: uint32_t
      - name: naming_lock
        type: ddsrt_mutex_t
      - name: naming_rng
        type: ddsrt_prng_t
      item_type: struct
      name: ddsi_domaingv
      pos:
        line_end: 330
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    - fields:
      - name: '*name'
        type: char
      - name: '*thrst'
        type: struct ddsi_thread_state
      - name: arg
        type: struct ddsi_recv_thread_arg
      item_type: struct
      name: recv_thread
      pos:
        line_end: 211
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_domaingv.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: makesample
        type: deliver_locally_makesample_t
      - name: first_reader
        type: deliver_locally_first_reader_t
      - name: next_reader
        type: deliver_locally_next_reader_t
      - name: on_failure_fastpath
        type: deliver_locally_on_failure_fastpath_t
      item_type: struct
      name: ddsi_deliver_locally_ops
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
    typedefs:
    - item_type: typedef
      name: '* (*deliver_locally_makesample_t) (struct ddsi_tkmap_instance **tk, struct
        ddsi_domaingv *gv, struct ddsi_sertype const * const type, void *vsourceinfo)'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*deliver_locally_first_reader_t) (struct ddsi_entity_index *entity_index,
        struct ddsi_entity_common *source_entity, ddsrt_avl_iter_t *it)'
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
      type: ddsi_reader
    - item_type: typedef
      name: '* (*deliver_locally_next_reader_t) (struct ddsi_entity_index *entity_index,
        ddsrt_avl_iter_t *it)'
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
      type: ddsi_reader
    - item_type: typedef
      name: (*deliver_locally_on_failure_fastpath_t) (struct ddsi_entity_common *source_entity,
        bool source_entity_locked, struct ddsi_local_reader_ary *fastpath_rdary, void
        *vsourceinfo)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_deliver_locally.h
      type: dds_return_t
    union: []
- function_names:
  - DDSI_WHCST_ISEMPTY
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_WHC_SAMPLE_ITER_SIZE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type_or_value: (8 * sizeof(void *))
    structs:
    - fields:
      - name: seq
        type: ddsi_seqno_t
      item_type: struct
      name: ddsi_whc_node
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: seq
        type: ddsi_seqno_t
      - name: '*serdata'
        type: struct ddsi_serdata
      - name: unacked
        type: bool
      - name: last_rexmit_ts
        type: ddsrt_mtime_t
      - name: rexmit_count
        type: unsigned
      item_type: struct
      name: ddsi_whc_borrowed_sample
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: min_seq
        type: ddsi_seqno_t
      - name: max_seq
        type: ddsi_seqno_t
      - name: unacked_bytes
        type: size_t
      item_type: struct
      name: ddsi_whc_state
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: '*whc'
        type: struct ddsi_whc
      item_type: struct
      name: ddsi_whc_sample_iter_base
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: c
        type: struct ddsi_whc_sample_iter_base
      - name: opaque
        type: "union {\n    char opaque[DDSI_WHC_SAMPLE_ITER_SIZE];\n    /* cover
          alignment requirements: */\n    uint64_t x;\n    double y;\n    void *p;\n
          \ }"
      item_type: struct
      name: ddsi_whc_sample_iter
      pos:
        line_end: 64
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: insert
        type: ddsi_whc_insert_t
      - name: remove_acked_messages
        type: ddsi_whc_remove_acked_messages_t
      - name: free_deferred_free_list
        type: ddsi_whc_free_deferred_free_list_t
      - name: get_state
        type: ddsi_whc_get_state_t
      - name: next_seq
        type: ddsi_whc_next_seq_t
      - name: borrow_sample
        type: ddsi_whc_borrow_sample_t
      - name: borrow_sample_key
        type: ddsi_whc_borrow_sample_key_t
      - name: return_sample
        type: ddsi_whc_return_sample_t
      - name: sample_iter_init
        type: ddsi_whc_sample_iter_init_t
      - name: sample_iter_borrow_next
        type: ddsi_whc_sample_iter_borrow_next_t
      - name: free
        type: whc_free_t
      item_type: struct
      name: ddsi_whc_ops
      pos:
        line_end: 95
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    - fields:
      - name: '*ops'
        type: struct ddsi_whc_ops
      item_type: struct
      name: ddsi_whc
      pos:
        line_end: 99
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_whc_next_seq_t)(const struct ddsi_whc *whc, ddsi_seqno_t seq)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: ddsi_seqno_t
    - item_type: typedef
      name: (*ddsi_whc_get_state_t)(const struct ddsi_whc *whc, struct ddsi_whc_state
        *st)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: void
    - item_type: typedef
      name: (*ddsi_whc_borrow_sample_t)(const struct ddsi_whc *whc, ddsi_seqno_t seq,
        struct ddsi_whc_borrowed_sample *sample)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: bool
    - item_type: typedef
      name: (*ddsi_whc_borrow_sample_key_t)(const struct ddsi_whc *whc, const struct
        ddsi_serdata *serdata_key, struct ddsi_whc_borrowed_sample *sample)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: bool
    - item_type: typedef
      name: (*ddsi_whc_return_sample_t)(struct ddsi_whc *whc, struct ddsi_whc_borrowed_sample
        *sample, bool update_retransmit_info)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: void
    - item_type: typedef
      name: (*ddsi_whc_sample_iter_init_t)(const struct ddsi_whc *whc, struct ddsi_whc_sample_iter
        *it)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: void
    - item_type: typedef
      name: (*ddsi_whc_sample_iter_borrow_next_t)(struct ddsi_whc_sample_iter *it,
        struct ddsi_whc_borrowed_sample *sample)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: bool
    - item_type: typedef
      name: (*whc_free_t)(struct ddsi_whc *whc)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: void
    - item_type: typedef
      name: (*ddsi_whc_insert_t)(struct ddsi_whc *whc, ddsi_seqno_t max_drop_seq,
        ddsi_seqno_t seq, ddsrt_mtime_t exp, struct ddsi_serdata *serdata, struct
        ddsi_tkmap_instance *tk)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: int
    - item_type: typedef
      name: (*ddsi_whc_remove_acked_messages_t)(struct ddsi_whc *whc, ddsi_seqno_t
        max_drop_seq, struct ddsi_whc_state *whcst, struct ddsi_whc_node **deferred_free_list)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: uint32_t
    - item_type: typedef
      name: (*ddsi_whc_free_deferred_free_list_t)(struct ddsi_whc *whc, struct ddsi_whc_node
        *deferred_free_list)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_whc.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xevent.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ddsi_xevent_cb_t) (struct ddsi_domaingv *gv, struct ddsi_xevent *ev,
        struct ddsi_xpack *xp, void *arg, ddsrt_mtime_t tnow)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xevent.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_statistics.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_qosmatch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_nwinterfaces.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: loc
        type: ddsi_locator_t
      - name: extloc
        type: ddsi_locator_t
      - name: netmask
        type: ddsi_locator_t
      - name: if_index
        type: uint32_t
      - name: mc_capable
        type: unsigned
      - name: mc_flaky
        type: unsigned
      - name: point_to_point
        type: unsigned
      - name: loopback
        type: unsigned
      - name: link_local
        type: unsigned
      - name: prefer_multicast
        type: unsigned
      - name: is_psmx
        type: unsigned
      - name: allow_multicast
        type: uint32_t
      - name: priority
        type: int32_t
      - name: '*name'
        type: char
      item_type: struct
      name: ddsi_network_interface
      pos:
        line_end: 38
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_nwinterfaces.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_tkmap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*m_sample'
        type: struct ddsi_serdata
      - name: m_iid
        type: uint64_t
      - name: m_refc
        type: ddsrt_atomic_uint32_t
      item_type: struct
      name: ddsi_tkmap_instance
      pos:
        line_end: 29
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_tkmap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typelib.h
  types:
    enum:
    - enumerators:
      - name: DDSI_TYPE_NO_REQUEST
      - name: DDSI_TYPE_SEND_REQUEST
      item_type: enum
      name: ddsi_type_request
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typelib.h
    preproc_defs: []
    structs:
    - fields:
      - name: str[50]
        type: char
      item_type: struct
      name: ddsi_typeid_str
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typelib.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_pmd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsi_rhc_store
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: guid
        type: ddsi_guid_t
      - name: auto_dispose
        type: bool
      - name: ownership_strength
        type: int32_t
      - name: iid
        type: uint64_t
      item_type: struct
      name: ddsi_writer_info
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
    - fields:
      - name: store
        type: ddsi_rhc_store_t
      - name: unregister_wr
        type: ddsi_rhc_unregister_wr_t
      - name: relinquish_ownership
        type: ddsi_rhc_relinquish_ownership_t
      - name: set_qos
        type: ddsi_rhc_set_qos_t
      - name: free
        type: ddsi_rhc_free_t
      item_type: struct
      name: ddsi_rhc_ops
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
    - fields:
      - name: '*ops'
        type: struct ddsi_rhc_ops
      item_type: struct
      name: ddsi_rhc
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_rhc_free_t) (struct ddsi_rhc *rhc)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
      type: void
    - item_type: typedef
      name: (*ddsi_rhc_store_t) (struct ddsi_rhc *rhc, const struct ddsi_writer_info
        *wrinfo, struct ddsi_serdata *sample, struct ddsi_tkmap_instance *tk)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
      type: bool
    - item_type: typedef
      name: (*ddsi_rhc_unregister_wr_t) (struct ddsi_rhc *rhc, const struct ddsi_writer_info
        *wrinfo)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
      type: void
    - item_type: typedef
      name: (*ddsi_rhc_relinquish_ownership_t) (struct ddsi_rhc *rhc, const uint64_t
        wr_iid)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
      type: void
    - item_type: typedef
      name: (*ddsi_rhc_set_qos_t) (struct ddsi_rhc *rhc, const struct dds_qos *qos)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_rhc.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
  types:
    enum:
    - enumerators:
      - name: DDSI_LIVELINESS_CHANGED_ADD_ALIVE
      - name: DDSI_LIVELINESS_CHANGED_REMOVE_ALIVE
      - name: DDSI_LIVELINESS_CHANGED_ALIVE_TO_NOT_ALIVE
      - name: DDSI_LIVELINESS_CHANGED_ADD_NOT_ALIVE
      - name: DDSI_LIVELINESS_CHANGED_REMOVE_NOT_ALIVE
      - name: DDSI_LIVELINESS_CHANGED_NOT_ALIVE_TO_ALIVE
      item_type: enum
      name: ddsi_liveliness_changed_data_extra
      pos:
        line_end: 43
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - enumerators:
      - name: WRST_OPERATIONAL
      - name: WRST_INTERRUPT
      - name: WRST_LINGERING
      - name: WRST_DELETING
      item_type: enum
      name: ddsi_writer_state
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint32_t
      - name: '*locators'
        type: struct ddsi_locator
      item_type: struct
      name: ddsi_psmx_locators_set
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - fields:
      - name: '*pp'
        type: struct ddsi_participant
      - name: group_guid
        type: ddsi_guid_t
      - name: psmx_locators
        type: struct ddsi_psmx_locators_set
      item_type: struct
      name: ddsi_endpoint_common
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_endpoint_common
      - name: status_cb
        type: ddsi_status_cb_t
      - name: '* status_cb_entity'
        type: void
      - name: throttle_cond
        type: ddsrt_cond_mtime_t
      - name: seq
        type: ddsi_seqno_t
      - name: seq_xmit
        type: seq_xmit_t
      - name: min_local_readers_reject_seq
        type: ddsi_seqno_t
      - name: hbcount
        type: ddsi_count_t
      - name: hbfragcount
        type: ddsi_count_t
      - name: throttling
        type: int
      - name: hbcontrol
        type: struct ddsi_hbcontrol
      - name: '*xqos'
        type: struct dds_qos
      - name: state
        type: enum ddsi_writer_state
      - name: reliable
        type: unsigned
      - name: handle_as_transient_local
        type: unsigned
      - name: force_md5_keyhash
        type: unsigned
      - name: retransmitting
        type: unsigned
      - name: alive
        type: unsigned
      - name: test_ignore_acknack
        type: unsigned
      - name: test_suppress_retransmit
        type: unsigned
      - name: test_suppress_heartbeat
        type: unsigned
      - name: test_suppress_flush_on_sync_heartbeat
        type: unsigned
      - name: test_drop_outgoing_data
        type: unsigned
      - name: alive_vclock
        type: uint32_t
      - name: '* type'
        type: struct ddsi_sertype
      - name: '*as'
        type: struct ddsi_addrset
      - name: '*heartbeat_xevent'
        type: struct ddsi_xevent
      - name: '*lease_duration'
        type: struct ddsi_ldur_fhnode
      - name: '*whc'
        type: struct ddsi_whc
      - name: whc_low
        type: uint32_t
      - name: t_rexmit_start
        type: ddsrt_etime_t
      - name: t_rexmit_end
        type: ddsrt_etime_t
      - name: t_whc_high_upd
        type: ddsrt_etime_t
      - name: init_burst_size_limit
        type: uint32_t
      - name: rexmit_burst_size_limit
        type: uint32_t
      - name: num_readers
        type: uint32_t
      - name: num_reliable_readers
        type: uint32_t
      - name: num_readers_requesting_keyhash
        type: uint32_t
      - name: readers
        type: ddsrt_avl_tree_t
      - name: local_readers
        type: ddsrt_avl_tree_t
      - name: num_acks_received
        type: uint32_t
      - name: num_nacks_received
        type: uint32_t
      - name: throttle_count
        type: uint32_t
      - name: throttle_tracing
        type: uint32_t
      - name: rexmit_count
        type: uint32_t
      - name: rexmit_lost_count
        type: uint32_t
      - name: rexmit_bytes
        type: uint64_t
      - name: sent_bytes
        type: uint64_t
      - name: time_throttled
        type: uint64_t
      - name: time_retransmit
        type: uint64_t
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: rdary
        type: struct ddsi_local_reader_ary
      - name: '*lease'
        type: struct ddsi_lease
      item_type: struct
      name: ddsi_writer
      pos:
        line_end: 134
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - fields:
      - name: wr
        type: struct ddsi_writer
      item_type: struct
      name: ddsi_local_orphan_writer
      pos:
        line_end: 138
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_endpoint_common
      - name: status_cb
        type: ddsi_status_cb_t
      - name: '* status_cb_entity'
        type: void
      - name: '* rhc'
        type: struct ddsi_rhc
      - name: '*xqos'
        type: struct dds_qos
      - name: reliable
        type: unsigned
      - name: handle_as_transient_local
        type: unsigned
      - name: request_keyhash
        type: unsigned
      - name: init_acknack_count
        type: ddsi_count_t
      - name: '* type'
        type: struct ddsi_sertype
      - name: num_writers
        type: uint32_t
      - name: writers
        type: ddsrt_avl_tree_t
      - name: local_writers
        type: ddsrt_avl_tree_t
      - name: received_bytes
        type: ddsrt_atomic_uint64_t
      item_type: struct
      name: ddsi_reader
      pos:
        line_end: 167
        line_start: 140
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_endpoint_common
      item_type: struct
      name: ddsi_generic_endpoint
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
    typedefs:
    - item_type: typedef
      name: seq_xmit_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_endpoint.h
      type: ddsrt_atomic_uint64_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lat_estim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_LAT_ESTIM_MEDIAN_WINSZ
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lat_estim.h
      type_or_value: '7'
    structs:
    - fields:
      - name: index
        type: int
      - name: window[DDSI_LAT_ESTIM_MEDIAN_WINSZ]
        type: float
      - name: smoothed
        type: float
      item_type: struct
      name: ddsi_lat_estim
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lat_estim.h
    typedefs: []
    union: []
- function_names:
  - PGUIDPREFIX
  - PGUID
  - DDSI_RTPS_CDR_ENC_LE
  - DDSI_RTPS_CDR_ENC_IS_NATIVE
  - DDSI_RTPS_CDR_ENC_IS_VALID
  - DDSI_RTPS_CDR_ENC_TO_NATIVE
  - DDSI_RTPS_CDR_ENC_LE
  - DDSI_RTPS_CDR_ENC_IS_NATIVE
  - DDSI_RTPS_CDR_ENC_IS_VALID
  - DDSI_RTPS_CDR_ENC_TO_NATIVE
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
  types:
    enum:
    - enumerators:
      - name: DDSI_RTPS_SMID_INFO_TS
        value: '0x09'
      - name: DDSI_RTPS_SMID_INFO_REPLY
        value: '0x0f'
      - name: DDSI_RTPS_SMID_DATA_FRAG
        value: '0x16'
      - name: DDSI_RTPS_SMID_SEC_POSTFIX
        value: '0x32'
      - name: DDSI_RTPS_SMID_ADLINK_ENTITY_ID
        value: '0x82'
      - name: DDSI_RTPS_SMID_PAD
        value: '0x01'
      - name: DDSI_RTPS_SMID_GAP
        value: '0x08'
      - name: DDSI_RTPS_SMID_INFO_DST
        value: '0x0e'
      - name: DDSI_RTPS_SMID_SEC_PREFIX
        value: '0x31'
      - name: DDSI_RTPS_SMID_ADLINK_MSG_LEN
        value: '0x81'
      - name: DDSI_RTPS_SMID_DATA
        value: '0x15'
      - name: DDSI_RTPS_SMID_HEARTBEAT
        value: '0x07'
      - name: DDSI_RTPS_SMID_INFO_REPLY_IP4
        value: '0x0d'
      - name: DDSI_RTPS_SMID_SRTPS_POSTFIX
        value: '0x34'
      - name: DDSI_RTPS_SMID_HEARTBEAT_FRAG
        value: '0x13'
      - name: DDSI_RTPS_SMID_ACKNACK
        value: '0x06'
      - name: DDSI_RTPS_SMID_INFO_SRC
        value: '0x0c'
      - name: DDSI_RTPS_SMID_NACK_FRAG
        value: '0x12'
      - name: DDSI_RTPS_SMID_SRTPS_PREFIX
        value: '0x33'
      - name: DDSI_RTPS_SMID_SEC_BODY
        value: '0x30'
      item_type: enum
      name: ddsi_rtps_submessage_kind
      pos:
        line_end: 101
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_STATUSINFO_DISPOSE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x1u
    - item_type: preproc_def
      name: DDSI_STATUSINFO_UNREGISTER
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x2u
    - item_type: preproc_def
      name: DDSI_STATUSINFO_STANDARDIZED
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: (DDSI_STATUSINFO_DISPOSE | DDSI_STATUSINFO_UNREGISTER)
    - item_type: preproc_def
      name: DDSI_STATUSINFO_OSPL_AUTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x10000000u '
    - item_type: preproc_def
      name: DDSI_STATUSINFOX_OSPL_AUTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x1         '
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_INVALID
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_RESERVED
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_UDPv4
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_UDPv6
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_TCPv4
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_TCPv6
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_PSMX
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_RAWETH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: DDSI_LOCATOR_KIND_UDPv4MCGEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x4fff0000'
    - item_type: preproc_def
      name: DDSI_LOCATOR_PORT_INVALID
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_LOCATOR_UDPv4MCGEN_INDEX_MASK_BITS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DDSI_MAX_SEQ_NUMBER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: INT64_MAX
    - item_type: preproc_def
      name: PGUIDPREFIXFMT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"%" PRIx32 ":%" PRIx32 ":%" PRIx32'
    - item_type: preproc_def
      name: PGUIDFMT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: PGUIDPREFIXFMT ":%" PRIx32
    - item_type: preproc_def
      name: DDSI_RTPS_MESSAGE_HEADER_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: (sizeof (ddsi_rtps_header_t))
    - item_type: preproc_def
      name: DDSI_RTPS_SUBMESSAGE_HEADER_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: (sizeof (ddsi_rtps_submessage_header_t))
    - item_type: preproc_def
      name: DDSI_RTPS_SUBMESSAGE_FLAG_ENDIANNESS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x01u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_BE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0000u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_LE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0100u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR_BE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0200u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR_LE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0300u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR2_BE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0600u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR2_LE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0700u
    - item_type: preproc_def
      name: DDSI_RTPS_D_CDR2_BE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0800u
    - item_type: preproc_def
      name: DDSI_RTPS_D_CDR2_LE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0900u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR2_BE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0a00u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR2_LE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0b00u
    - item_type: preproc_def
      name: DDSI_RTPS_SAMPLE_NATIVE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x00c0u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_BE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0000u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_LE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0001u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR_BE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0002u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR_LE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0003u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR2_BE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0006u
    - item_type: preproc_def
      name: DDSI_RTPS_CDR2_LE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0007u
    - item_type: preproc_def
      name: DDSI_RTPS_D_CDR2_BE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0008u
    - item_type: preproc_def
      name: DDSI_RTPS_D_CDR2_LE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0009u
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR2_BE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x000au
    - item_type: preproc_def
      name: DDSI_RTPS_PL_CDR2_LE
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x000bu
    - item_type: preproc_def
      name: DDSI_RTPS_SAMPLE_NATIVE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0xc000u
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x0u
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x1u
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_MESSAGE_DATA_KIND_MANUAL_LIVELINESS_UPDATE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x2u
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_MESSAGE_DATA_VENDOR_SPECIFIC_KIND_FLAG
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 0x8000000u
    - item_type: preproc_def
      name: DDSI_ENTITYID_UNKNOWN
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: DDSI_ENTITYID_PARTICIPANT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x1c1'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_TOPIC_WRITER
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x2c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_TOPIC_READER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x2c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_PUBLICATIONS_WRITER
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x3c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_PUBLICATIONS_READER
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x3c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_WRITER
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x4c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_READER
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x4c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_WRITER
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x100c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SPDP_BUILTIN_PARTICIPANT_READER
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x100c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_WRITER
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x200c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_READER
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x200c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_TL_SVC_BUILTIN_REQUEST_WRITER
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x300c3'
    - item_type: preproc_def
      name: DDSI_ENTITYID_TL_SVC_BUILTIN_REQUEST_READER
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x300c4'
    - item_type: preproc_def
      name: DDSI_ENTITYID_TL_SVC_BUILTIN_REPLY_WRITER
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x301c3'
    - item_type: preproc_def
      name: DDSI_ENTITYID_TL_SVC_BUILTIN_REPLY_READER
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x301c4'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_WRITER
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0003c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_PUBLICATIONS_SECURE_READER
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0003c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_WRITER
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0004c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SEDP_BUILTIN_SUBSCRIPTIONS_SECURE_READER
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0004c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_MESSAGE_WRITER
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x201c3'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_MESSAGE_READER
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x201c4'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_WRITER
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0200c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_MESSAGE_SECURE_READER
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0200c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0202c3'
    - item_type: preproc_def
      name: DDSI_ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0202c4'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_WRITER
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0101c2'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SPDP_RELIABLE_BUILTIN_PARTICIPANT_SECURE_READER
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xff0101c7'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SOURCE_MASK
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SOURCE_USER
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SOURCE_BUILTIN
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: DDSI_ENTITYID_SOURCE_VENDOR
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_MASK
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_WRITER_WITH_KEY
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_WRITER_NO_KEY
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_READER_NO_KEY
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_READER_WITH_KEY
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_CYCLONE_TOPIC_BUILTIN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: DDSI_ENTITYID_KIND_CYCLONE_TOPIC_USER
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: DDSI_ENTITYID_ALLOCSTEP
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_NAME
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipant"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PUBLICATION_NAME
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSPublication"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_SUBSCRIPTION_NAME
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSSubscription"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_TOPIC_NAME
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSTopic"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_MESSAGE_NAME
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipantMessage"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_TYPELOOKUP_REQUEST_NAME
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSTypeLookupRequest"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_TYPELOOKUP_REPLY_NAME
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSTypeLookupReply"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_SECURE_NAME
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipantsSecure"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PUBLICATION_SECURE_NAME
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSPublicationsSecure"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_SUBSCRIPTION_SECURE_NAME
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSSubscriptionsSecure"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_MESSAGE_SECURE_NAME
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipantMessageSecure"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_STATELESS_MESSAGE_NAME
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipantStatelessMessage"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_VOLATILE_MESSAGE_SECURE_NAME
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"DCPSParticipantVolatileMessageSecure"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_PROPERTY_PROCESS_NAME
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"__ProcessName"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_PROPERTY_PID
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"__Pid"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_PROPERTY_HOSTNAME
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"__Hostname"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_PROPERTY_NETWORKADDRESSES
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"__NetworkAddresses"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_PARTICIPANT_DEBUG_MONITOR
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: '"__DebugMonitor"'
    - item_type: preproc_def
      name: DDS_BUILTIN_TOPIC_NULL_NAME
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: id[2]
        type: uint8_t
      item_type: struct
      name: ddsi_vendorid_t
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    - fields:
      - name: id[4]
        type: uint8_t
      item_type: struct
      name: ddsi_protocolid
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    - fields:
      - name: protocol
        type: ddsi_protocolid_t
      - name: version
        type: ddsi_protocol_version_t
      - name: vendorid
        type: ddsi_vendorid_t
      - name: guid_prefix
        type: ddsi_guid_prefix_t
      item_type: struct
      name: ddsi_rtps_header
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    - fields:
      - name: submessageId
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: octetsToNextHeader
        type: uint16_t
      item_type: struct
      name: ddsi_rtps_submessage_header
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: unused
        type: unsigned
      - name: version
        type: ddsi_protocol_version_t
      - name: vendorid
        type: ddsi_vendorid_t
      - name: guid_prefix
        type: ddsi_guid_prefix_t
      item_type: struct
      name: ddsi_rtps_info_src
      pos:
        line_end: 109
        line_start: 103
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    - fields:
      - name: smhdr
        type: ddsi_rtps_submessage_header_t
      - name: length
        type: uint32_t
      item_type: struct
      name: ddsi_rtps_msg_len
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
    typedefs:
    - item_type: typedef
      name: ddsi_count_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type: uint32_t
    - item_type: typedef
      name: ddsi_seqno_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol.h
      type: uint64_t
    union: []
- function_names:
  - ddsi_omg_participant_is_secure
  - ddsi_omg_security_check_create_topic
  - ddsi_omg_security_check_create_reader
  - ddsi_omg_security_check_create_writer
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_security_omg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_FREELIST_NONE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_FREELIST_ATOMIC_LIFO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSI_FREELIST_DOUBLE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DDSI_FREELIST_TYPE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: DDSI_FREELIST_DOUBLE
    - item_type: preproc_def
      name: DDSI_FREELIST_TYPE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: DDSI_FREELIST_ATOMIC_LIFO
    - item_type: preproc_def
      name: DDSI_FREELIST_TYPE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: DDSI_FREELIST_DOUBLE
    - item_type: preproc_def
      name: NN_FREELIST_NPAR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NN_FREELIST_NPAR_LG2
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NN_FREELIST_MAGSIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
      type_or_value: '256'
    structs:
    - fields:
      - name: dummy
        type: char
      item_type: struct
      name: ddsi_freelist
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
    - fields:
      - name: x
        type: ddsrt_atomic_lifo_t
      - name: count
        type: ddsrt_atomic_uint32_t
      - name: max
        type: uint32_t
      - name: linkoff
        type: size_t
      item_type: struct
      name: ddsi_freelist
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
    - fields:
      - name: '*x[NN_FREELIST_MAGSIZE]'
        type: void
      - name: '*next'
        type: void
      item_type: struct
      name: ddsi_freelist_m
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: count
        type: uint32_t
      - name: '*m'
        type: struct ddsi_freelist_m
      item_type: struct
      name: ddsi_freelist1
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
    - fields:
      - name: inner[NN_FREELIST_NPAR]
        type: struct ddsi_freelist1
      - name: cc
        type: ddsrt_atomic_uint32_t
      - name: lock
        type: ddsrt_mutex_t
      - name: '*mlist'
        type: struct ddsi_freelist_m
      - name: '*emlist'
        type: struct ddsi_freelist_m
      - name: count
        type: uint32_t
      - name: max
        type: uint32_t
      - name: linkoff
        type: size_t
      item_type: struct
      name: ddsi_freelist
      pos:
        line_end: 75
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_freelist.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_portmapping.h
  types:
    enum:
    - enumerators:
      - name: DDSI_PORT_MULTI_DISC
      - name: DDSI_PORT_UNI_DISC
      - name: DDSI_PORT_MULTI_DATA
      - name: DDSI_PORT_UNI_DATA
      item_type: enum
      name: ddsi_port
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_portmapping.h
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: uint32_t
      - name: dg
        type: uint32_t
      - name: pg
        type: uint32_t
      - name: d0
        type: uint32_t
      - name: d1
        type: uint32_t
      - name: d2
        type: uint32_t
      - name: d3
        type: uint32_t
      item_type: struct
      name: ddsi_portmapping
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_portmapping.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_dynamic_type.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: uint32_t
      - name: '*name'
        type: char
      - name: index
        type: uint32_t
      - name: is_key
        type: bool
      item_type: struct
      name: ddsi_dynamic_type_struct_member_param
      pos:
        line_end: 30
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_dynamic_type.h
    - fields:
      - name: id
        type: uint32_t
      - name: '*name'
        type: char
      - name: index
        type: uint32_t
      - name: is_default
        type: bool
      - name: n_labels
        type: uint32_t
      - name: '*labels'
        type: int32_t
      item_type: struct
      name: ddsi_dynamic_type_union_member_param
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_dynamic_type.h
    - fields:
      - name: '*name'
        type: char
      - name: is_auto_value
        type: bool
      - name: value
        type: int32_t
      - name: is_default
        type: bool
      item_type: struct
      name: ddsi_dynamic_type_enum_literal_param
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_dynamic_type.h
    - fields:
      - name: '*name'
        type: char
      - name: is_auto_position
        type: bool
      - name: position
        type: uint16_t
      item_type: struct
      name: ddsi_dynamic_type_bitmask_field_param
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_dynamic_type.h
    typedefs: []
    union: []
- function_names:
  - ddsi_sertype_free
  - ddsi_sertype_zero_samples
  - ddsi_sertype_realloc_samples
  - ddsi_sertype_free_samples
  - ddsi_sertype_zero_sample
  - ddsi_sertype_alloc_sample
  - ddsi_sertype_free_sample
  - ddsi_typeid_t * ddsi_sertype_typeid (const struct ddsi_sertype *tp, ddsi_typeid_kind_t
    kind)
  - ddsi_typemap_t * ddsi_sertype_typemap (const struct ddsi_sertype *tp)
  - ddsi_typeinfo_t *ddsi_sertype_typeinfo (const struct ddsi_sertype *tp)
  - ddsi_sertype_derive_sertype
  - dds_return_t::ddsi_sertype_get_serialized_size
  - ddsi_sertype_serialize_into
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
  types:
    enum:
    - enumerators:
      - name: SDK_EMPTY
      - name: SDK_KEY
      - name: SDK_DATA
      item_type: enum
      name: ddsi_serdata_kind
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_SERTYPE_REGISTERING
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: 0x40000000u // set prior to setting gv
    - item_type: preproc_def
      name: DDSI_SERTYPE_REGISTERED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: 0x80000000u // set after setting gv
    - item_type: preproc_def
      name: DDSI_SERTYPE_REFC_MASK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: 0x0fffffffu
    - item_type: preproc_def
      name: DDSI_SERTOPIC_HAS_TOPICKIND_NO_KEY
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_SERTOPIC_HAS_EQUAL_AND_HASH
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_SERTYPE_HAS_SERTYPE_INIT_FLAGS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ddsi_sertype_v0
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: ((ddsi_sertype_v0_t) 1)
    - item_type: preproc_def
      name: DDSI_SERTYPE_FLAG_TOPICKIND_NO_KEY
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: (1u)
    - item_type: preproc_def
      name: DDSI_SERTYPE_FLAG_REQUEST_KEYHASH
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: (2u)
    - item_type: preproc_def
      name: DDSI_SERTYPE_FLAG_FIXED_SIZE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: (4u)
    - item_type: preproc_def
      name: DDSI_SERTYPE_FLAG_MASK
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: (0x7u)
    - item_type: preproc_def
      name: DDSI_SERTYPE_PROPS_FLAG_MASK
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type_or_value: (DDSI_SERTYPE_FLAG_REQUEST_KEYHASH)
    structs:
    - fields:
      - name: '*ops'
        type: struct ddsi_sertype_ops
      - name: '*serdata_ops'
        type: struct ddsi_serdata_ops
      - name: serdata_basehash
        type: uint32_t
      - name: has_key
        type: uint32_t
      - name: request_keyhash
        type: uint32_t
      - name: is_memcpy_safe
        type: uint32_t
      - name: allowed_data_representation
        type: uint32_t
      - name: '*type_name'
        type: char
      - name: gv
        type: ddsrt_atomic_voidp_t
      - name: flags_refc
        type: ddsrt_atomic_uint32_t
      - name: '*base_sertype'
        type: struct ddsi_sertype
      - name: sizeof_type
        type: uint32_t
      - name: data_type_props
        type: dds_data_type_properties_t
      item_type: struct
      name: ddsi_sertype
      pos:
        line_end: 59
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    - fields:
      - name: version
        type: ddsi_sertype_v0_t
      - name: '*arg'
        type: void
      - name: free
        type: ddsi_sertype_free_t
      - name: zero_samples
        type: ddsi_sertype_zero_samples_t
      - name: realloc_samples
        type: ddsi_sertype_realloc_samples_t
      - name: free_samples
        type: ddsi_sertype_free_samples_t
      - name: equal
        type: ddsi_sertype_equal_t
      - name: hash
        type: ddsi_sertype_hash_t
      - name: type_id
        type: ddsi_sertype_typeid_t
      - name: type_map
        type: ddsi_sertype_typemap_t
      - name: type_info
        type: ddsi_sertype_typeinfo_t
      - name: derive_sertype
        type: ddsi_sertype_derive_t
      - name: get_serialized_size
        type: ddsi_sertype_get_serialized_size_t
      - name: serialize_into
        type: ddsi_sertype_serialize_into_t
      item_type: struct
      name: ddsi_sertype_ops
      pos:
        line_end: 161
        line_start: 145
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_sertype_equal_t) (const struct ddsi_sertype *a, const struct ddsi_sertype
        *b)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: bool
    - item_type: typedef
      name: (*ddsi_sertype_hash_t) (const struct ddsi_sertype *tp)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: uint32_t
    - item_type: typedef
      name: (*ddsi_sertype_free_t) (struct ddsi_sertype *tp)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: void
    - item_type: typedef
      name: (*ddsi_sertype_zero_samples_t) (const struct ddsi_sertype *d, void *samples,
        size_t count)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: void
    - item_type: typedef
      name: (*ddsi_sertype_realloc_samples_t) (void **ptrs, const struct ddsi_sertype
        *d, void *old, size_t oldcount, size_t count)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: void
    - item_type: typedef
      name: (*ddsi_sertype_free_samples_t) (const struct ddsi_sertype *d, void **ptrs,
        size_t count, dds_free_op_t op)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: void
    - item_type: typedef
      name: '* (*ddsi_sertype_typeid_t) (const struct ddsi_sertype *tp, ddsi_typeid_kind_t
        kind)'
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: ddsi_typeid_t
    - item_type: typedef
      name: (*ddsi_sertype_get_serialized_size_t) (const struct ddsi_sertype *tp,
        enum ddsi_serdata_kind sdkind, const void *sample, size_t *size, uint16_t
        *enc_identifier)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: dds_return_t
    - item_type: typedef
      name: (*ddsi_sertype_serialize_into_t)(const struct ddsi_sertype *d, enum ddsi_serdata_kind
        sdkind, const void *sample, void *dst_buffer, size_t dst_size)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: bool
    - item_type: typedef
      name: '* (*ddsi_sertype_typemap_t) (const struct ddsi_sertype *tp)'
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: ddsi_typemap_t
    - item_type: typedef
      name: '* (*ddsi_sertype_typeinfo_t) (const struct ddsi_sertype *tp)'
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: ddsi_typeinfo_t
    - item_type: typedef
      name: '* (*ddsi_sertype_derive_t) (const struct ddsi_sertype *sertype, dds_data_representation_id_t
        data_representation, dds_type_consistency_enforcement_qospolicy_t tce_qos)'
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: ddsi_sertype
    - item_type: typedef
      name: (*ddsi_sertype_v0_t) (struct ddsi_sertype_v0 *dummy)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sertype.h
      type: void
    union: []
- function_names:
  - UNUSED_ARG
  - UNUSED_ARG
  - UNUSED_ARG_NDEBUG
  - UNUSED_ARG_NDEBUG
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_unused.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDS_GuidPrefix_t__alloc
  - DDS_RPC_UnknownOperation__alloc
  - DDS_RPC_UnknownException__alloc
  - DDS_RPC_UnusedMember__alloc
  - DDS_RPC_RemoteExceptionCode__alloc
  - DDS_RPC_InstanceName__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifier__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifier__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifier_allocbuf
  - dds_sequence_octet__alloc
  - dds_sequence_octet_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierWithSize__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierWithSize_allocbuf
  - dds_sequence_octet__alloc
  - dds_sequence_octet_allocbuf
  - DDS_Builtin_TypeLookup_Request__alloc
  - DDS_Builtin_TypeLookup_Request_free
  - DDS_Builtin_TypeLookup_Reply__alloc
  - DDS_Builtin_TypeLookup_Reply_free
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
  types:
    enum:
    - enumerators:
      - name: DDS_RPC_REMOTE_EX_OK
      - name: DDS_RPC_REMOTE_EX_INVALID_ARGUMENT
      - name: DDS_RPC_REMOTE_EX_OUT_OF_RESOURCES
      - name: DDS_RPC_REMOTE_EX_UNKNOWN_OPERATION
      - name: DDS_RPC_REMOTE_EX_UNSUPPORTED
      - name: DDS_RPC_REMOTE_EX_UNKNOWN_EXCEPTION
      item_type: enum
      name: DDS_RPC_RemoteExceptionCode
      pos:
        line_end: 73
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_DDS_RETCODE_OK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_Builtin_TypeLookup_getTypes_HashId
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type_or_value: '25318099'
    - item_type: preproc_def
      name: DDS_Builtin_TypeLookup_getDependencies_HashId
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type_or_value: '95091505'
    structs:
    - fields:
      - name: entityKey[3]
        type: uint8_t
      - name: entityKind
        type: uint8_t
      item_type: struct
      name: DDS_EntityId_t
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: guidPrefix
        type: DDS_GuidPrefix_t
      - name: entityId
        type: struct DDS_EntityId_t
      item_type: struct
      name: DDS_GUID_t
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: high
        type: int32_t
      - name: low
        type: uint32_t
      item_type: struct
      name: DDS_SequenceNumber
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: writer_guid
        type: struct DDS_GUID_t
      - name: sequence_number
        type: struct DDS_SequenceNumber
      item_type: struct
      name: DDS_SampleIdentity
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: requestId
        type: struct DDS_SampleIdentity
      - name: instanceName
        type: DDS_RPC_InstanceName
      item_type: struct
      name: DDS_RPC_RequestHeader
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: relatedRequestId
        type: struct DDS_SampleIdentity
      - name: remoteEx
        type: DDS_RPC_RemoteExceptionCode
      item_type: struct
      name: DDS_RPC_ReplyHeader
      pos:
        line_end: 93
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifier
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifier
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: type_ids
        type: dds_sequence_DDS_XTypes_TypeIdentifier
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypes_In
      pos:
        line_end: 117
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierPair
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierPair
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: types
        type: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: complete_to_minimal
        type: dds_sequence_DDS_XTypes_TypeIdentifierPair
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypes_Out
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _d
        type: int32_t
      - name: _u
        type: "union\n  {\n    struct DDS_Builtin_TypeLookup_getTypes_Out result;\n
          \ }"
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypes_Result
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifier
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifier
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: uint8_t
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_octet
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: type_ids
        type: dds_sequence_DDS_XTypes_TypeIdentifier
      - name: continuation_point
        type: dds_sequence_octet
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypeDependencies_In
      pos:
        line_end: 206
        line_start: 202
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierWithSize
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierWithSize
      pos:
        line_end: 216
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: uint8_t
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_octet
      pos:
        line_end: 233
        line_start: 227
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: dependent_typeids
        type: dds_sequence_DDS_XTypes_TypeIdentifierWithSize
      - name: continuation_point
        type: dds_sequence_octet
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypeDependencies_Out
      pos:
        line_end: 246
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _d
        type: int32_t
      - name: _u
        type: "union\n  {\n    struct DDS_Builtin_TypeLookup_getTypeDependencies_Out
          result;\n  }"
      item_type: struct
      name: DDS_Builtin_TypeLookup_getTypeDependencies_Result
      pos:
        line_end: 255
        line_start: 248
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _d
        type: int32_t
      - name: _u
        type: "union\n  {\n    struct DDS_Builtin_TypeLookup_getTypes_In getTypes;\n
          \   struct DDS_Builtin_TypeLookup_getTypeDependencies_In getTypeDependencies;\n
          \ }"
      item_type: struct
      name: DDS_Builtin_TypeLookup_Call
      pos:
        line_end: 265
        line_start: 257
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: header
        type: struct DDS_RPC_RequestHeader
      - name: data
        type: struct DDS_Builtin_TypeLookup_Call
      item_type: struct
      name: DDS_Builtin_TypeLookup_Request
      pos:
        line_end: 271
        line_start: 267
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: _d
        type: int32_t
      - name: _u
        type: "union\n  {\n    struct DDS_Builtin_TypeLookup_getTypes_Result getType;\n
          \   struct DDS_Builtin_TypeLookup_getTypeDependencies_Result getTypeDependencies;\n
          \ }"
      item_type: struct
      name: DDS_Builtin_TypeLookup_Return
      pos:
        line_end: 291
        line_start: 283
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    - fields:
      - name: header
        type: struct DDS_RPC_ReplyHeader
      - name: return_data
        type: struct DDS_Builtin_TypeLookup_Return
      item_type: struct
      name: DDS_Builtin_TypeLookup_Reply
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
    typedefs:
    - item_type: typedef
      name: DDS_GuidPrefix_t[12]
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type: uint8_t
    - item_type: typedef
      name: DDS_RPC_UnknownOperation
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type: uint8_t
    - item_type: typedef
      name: DDS_RPC_UnknownException
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type: uint8_t
    - item_type: typedef
      name: DDS_RPC_UnusedMember
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type: uint8_t
    - item_type: typedef
      name: DDS_RPC_InstanceName[256]
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typelookup.h
      type: char
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_transmit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GVTRACE
  - GVLOG
  - GVWARNING
  - GVERROR
  - RSTTRACE
  - ETRACE
  - EETRACE
  - ELOG
  - EELOG
  - GVLOGDISC
  - ELOGDISC
  - EELOGDISC
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*proxypp'
        type: struct ddsi_proxy_participant
      - name: '*next_ep'
        type: struct ddsi_proxy_endpoint_common
      - name: '*prev_ep'
        type: struct ddsi_proxy_endpoint_common
      - name: '*xqos'
        type: struct dds_qos
      - name: '*as'
        type: struct ddsi_addrset
      - name: loc_uc
        type: ddsi_xlocator_t
      - name: group_guid
        type: ddsi_guid_t
      - name: vendor
        type: ddsi_vendorid_t
      - name: seq
        type: ddsi_seqno_t
      item_type: struct
      name: ddsi_proxy_endpoint_common
      pos:
        line_end: 49
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_proxy_endpoint_common
      item_type: struct
      name: ddsi_generic_proxy_endpoint
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_proxy_endpoint_common
      - name: readers
        type: ddsrt_avl_tree_t
      - name: n_reliable_readers
        type: int32_t
      - name: n_readers_out_of_sync
        type: int32_t
      - name: last_seq
        type: ddsi_seqno_t
      - name: last_fragnum
        type: uint32_t
      - name: nackfragcount
        type: ddsi_count_t
      - name: next_deliv_seq_lowword
        type: ddsrt_atomic_uint32_t
      - name: deliver_synchronously
        type: unsigned
      - name: have_seen_heartbeat
        type: unsigned
      - name: local_matching_inprogress
        type: unsigned
      - name: alive
        type: unsigned
      - name: filtered
        type: unsigned
      - name: redundant_networking
        type: unsigned
      - name: local_psmx
        type: unsigned
      - name: alive_vclock
        type: uint32_t
      - name: '*defrag'
        type: struct ddsi_defrag
      - name: '*reorder'
        type: struct ddsi_reorder
      - name: '*dqueue'
        type: struct ddsi_dqueue
      - name: '*evq'
        type: struct ddsi_xeventq
      - name: rdary
        type: struct ddsi_local_reader_ary
      - name: '*lease'
        type: struct ddsi_lease
      item_type: struct
      name: ddsi_proxy_writer
      pos:
        line_end: 83
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: c
        type: struct ddsi_proxy_endpoint_common
      - name: deleting
        type: unsigned
      - name: is_fict_trans_reader
        type: unsigned
      - name: requests_keyhash
        type: unsigned
      - name: redundant_networking
        type: unsigned
      - name: local_psmx
        type: unsigned
      - name: writers
        type: ddsrt_avl_tree_t
      - name: receive_buffer_size
        type: uint32_t
      - name: filter
        type: ddsi_filter_fn_t
      item_type: struct
      name: ddsi_proxy_reader
      pos:
        line_end: 102
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_filter_fn_t)(struct ddsi_writer *wr, struct ddsi_proxy_reader *prd,
        struct ddsi_serdata *serdata)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_endpoint.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_addrset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ddsi_addrset_forall_fun_t) (const ddsi_xlocator_t *loc, void *arg)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_addrset.h
      type: void
    union: []
- function_names:
  - ddsi_thread_vtime_trace
  - ddsi_lookup_thread_state
  - ddsi_vtime_awake_p
  - ddsi_vtime_asleep_p
  - ddsi_thread_is_awake
  - ddsi_thread_is_asleep
  - ddsi_thread_state_asleep
  - ddsi_thread_state_awake
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
  types:
    enum:
    - enumerators:
      - name: DDSI_THREAD_STATE_ZERO
      - name: DDSI_THREAD_STATE_LAZILY_CREATED
      - name: DDSI_THREAD_STATE_INIT
      - name: DDSI_THREAD_STATE_STOPPED
      - name: DDSI_THREAD_STATE_ALIVE
      item_type: enum
      name: ddsi_thread_state_kind
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_CACHE_LINE_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DDSI_VTIME_NEST_MASK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: 0xfu
    - item_type: preproc_def
      name: DDSI_VTIME_TIME_MASK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: 0xfffffff0u
    - item_type: preproc_def
      name: DDSI_VTIME_TIME_SHIFT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DDSI_THREAD_DEBUG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_THREAD_NSTACKS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: '20'
    - item_type: preproc_def
      name: DDSI_THREAD_STACKDEPTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: '10'
    - item_type: preproc_def
      name: THREAD_BASE_DEBUG
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: "void *stks[DDSI_THREAD_NSTACKS][DDSI_THREAD_STACKDEPTH]; \\\n
        \ int stks_depth[DDSI_THREAD_NSTACKS]; \\\n  int stks_idx;"
    - item_type: preproc_def
      name: THREAD_BASE_NESTEDGV
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: ddsrt_atomic_voidp_t nested_gv;
    - item_type: preproc_def
      name: THREAD_BASE
      pos:
        line_end: 97
        line_start: 89
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type_or_value: "ddsrt_atomic_uint32_t vtime;                  \\\n  enum ddsi_thread_state_kind
        state;            \\\n  ddsrt_atomic_voidp_t gv;                      \\\n
        \ THREAD_BASE_NESTEDGV                          \\\n  ddsrt_thread_t tid;
        \                          \\\n  uint32_t (*f) (void *arg);                    \\\n
        \ void *f_arg;                                  \\\n  THREAD_BASE_DEBUG "
    structs:
    - fields: []
      item_type: struct
      name: ddsi_thread_state_base
      pos:
        line_end: 102
        line_start: 100
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - fields:
      - name: "pad[DDSI_CACHE_LINE_SIZE\n           * ((sizeof (struct ddsi_thread_state_base)
          + DDSI_CACHE_LINE_SIZE - 1)\n              / DDSI_CACHE_LINE_SIZE)\n           -
          sizeof (struct ddsi_thread_state_base)]"
        type: char
      item_type: struct
      name: ddsi_thread_state
      pos:
        line_end: 115
        line_start: 109
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    - fields:
      - name: lock
        type: ddsrt_mutex_t
      - name: thread_states_head
        type: ddsrt_atomic_voidp_t
      item_type: struct
      name: ddsi_thread_states
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
    typedefs:
    - item_type: typedef
      name: ddsi_vtime_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_thread.h
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity_index.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*entidx'
        type: struct ddsi_entity_index
      - name: kind
        type: enum ddsi_entity_kind
      - name: '*cur'
        type: struct ddsi_entity_common
      item_type: struct
      name: ddsi_entity_enum
      pos:
        line_end: 35
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity_index.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct ddsi_locators_one
      - name: loc
        type: ddsi_locator_t
      item_type: struct
      name: ddsi_locators_one
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*first'
        type: struct ddsi_locators_one
      - name: '*last'
        type: struct ddsi_locators_one
      item_type: struct
      name: ddsi_locators
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: ddsi_tag
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*tags'
        type: ddsi_tag_t
      item_type: struct
      name: ddsi_tagseq
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: tags
        type: ddsi_tagseq_t
      item_type: struct
      name: ddsi_datatags
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: '*class_id'
        type: char
      - name: properties
        type: dds_propertyseq_t
      - name: binary_properties
        type: dds_binarypropertyseq_t
      item_type: struct
      name: ddsi_dataholder
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*tags'
        type: ddsi_dataholder_t
      item_type: struct
      name: ddsi_dataholderseq
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: security_attributes
        type: uint32_t
      - name: plugin_security_attributes
        type: uint32_t
      item_type: struct
      name: ddsi_security_info
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: state
        type: uint32_t
      item_type: struct
      name: ddsi_reader_favours_ssm
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: version
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: unused[3]
        type: uint32_t
      - name: '*internals'
        type: char
      item_type: struct
      name: ddsi_adlink_participant_version_info
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    - fields:
      - name: present
        type: uint64_t
      - name: aliased
        type: uint64_t
      - name: qos
        type: dds_qos_t
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: vendorid
        type: ddsi_vendorid_t
      - name: unicast_locators
        type: ddsi_locators_t
      - name: multicast_locators
        type: ddsi_locators_t
      - name: default_unicast_locators
        type: ddsi_locators_t
      - name: default_multicast_locators
        type: ddsi_locators_t
      - name: metatraffic_unicast_locators
        type: ddsi_locators_t
      - name: metatraffic_multicast_locators
        type: ddsi_locators_t
      - name: expects_inline_qos
        type: unsigned char
      - name: participant_manual_liveliness_count
        type: ddsi_count_t
      - name: participant_builtin_endpoints
        type: uint32_t
      - name: participant_guid
        type: ddsi_guid_t
      - name: endpoint_guid
        type: ddsi_guid_t
      - name: group_guid
        type: ddsi_guid_t
      - name: topic_guid
        type: ddsi_guid_t
      - name: builtin_endpoint_set
        type: uint32_t
      - name: keyhash
        type: ddsi_keyhash_t
      - name: statusinfo
        type: uint32_t
      - name: adlink_participant_version_info
        type: ddsi_adlink_participant_version_info_t
      - name: domain_id
        type: uint32_t
      - name: '*domain_tag'
        type: char
      - name: cyclone_receive_buffer_size
        type: uint32_t
      - name: cyclone_requests_keyhash
        type: unsigned char
      - name: cyclone_redundant_networking
        type: unsigned char
      item_type: struct
      name: ddsi_plist
      pos:
        line_end: 151
        line_start: 103
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
    typedefs:
    - item_type: typedef
      name: ddsi_token_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
      type: ddsi_dataholder_t
    - item_type: typedef
      name: ddsi_security_info_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_plist.h
      type: ddsi_security_info
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_psmx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint32_t
      - name: '*instances'
        type: "struct {\n    char *psmx_instance_name;\n    ddsi_locator_t locator;\n
          \ }"
      item_type: struct
      name: ddsi_psmx_instance_locators
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_psmx.h
    typedefs: []
    union: []
- function_names:
  - ddsi_lifespan_register_sample_locked
  - ddsi_lifespan_unregister_sample_locked
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ls_exp_heap
        type: ddsrt_fibheap_t
      - name: '*evt'
        type: struct ddsi_xevent
      - name: sample_expired_cb
        type: ddsi_sample_expired_cb_t
      - name: fh_offset
        type: size_t
      - name: fhn_offset
        type: size_t
      item_type: struct
      name: ddsi_lifespan_adm
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
    - fields:
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: t_expire
        type: ddsrt_mtime_t
      item_type: struct
      name: ddsi_lifespan_fhnode
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_sample_expired_cb_t)(void *hc, ddsrt_mtime_t tnow)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lifespan.h
      type: ddsrt_mtime_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_locator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kind
        type: int32_t
      - name: port
        type: uint32_t
      - name: address[16]
        type: unsigned char
      item_type: struct
      name: ddsi_locator
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_locator.h
    - fields:
      - name: c
        type: ddsi_locator_t
      - name: '*conn'
        type: struct ddsi_tran_conn
      item_type: struct
      name: ddsi_xlocator
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_locator.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_gc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ddsi_gcreq_cb_t) (struct ddsi_gcreq *gcreq)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_gc.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_participant.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: refc
        type: uint32_t
      - name: vendor
        type: ddsi_vendorid_t
      - name: bes
        type: unsigned
      - name: '*plist'
        type: struct ddsi_plist
      - name: minl_auto
        type: ddsrt_atomic_voidp_t
      - name: leaseheap_auto
        type: ddsrt_fibheap_t
      - name: minl_man
        type: ddsrt_atomic_voidp_t
      - name: leaseheap_man
        type: ddsrt_fibheap_t
      - name: '*lease'
        type: struct ddsi_lease
      - name: '*as_default'
        type: struct ddsi_addrset
      - name: '*as_meta'
        type: struct ddsi_addrset
      - name: '*endpoints'
        type: struct ddsi_proxy_endpoint_common
      - name: seq
        type: ddsi_seqno_t
      - name: receive_buffer_size
        type: uint32_t
      - name: lease_expired
        type: unsigned
      - name: deleting
        type: unsigned
      - name: redundant_networking
        type: unsigned
      item_type: struct
      name: ddsi_proxy_participant
      pos:
        line_end: 58
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_proxy_participant.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typebuilder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_init.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_guid.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prefix
        type: ddsi_guid_prefix_t
      - name: entityid
        type: ddsi_entityid_t
      item_type: struct
      name: ddsi_guid
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_guid.h
    typedefs: []
    union:
    - fields:
      - name: s[12]
        type: unsigned char
      - name: u[3]
        type: uint32_t
      item_type: union
      name: ddsi_guid_prefix
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_guid.h
    - fields:
      - name: u
        type: uint32_t
      item_type: union
      name: ddsi_entityid
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_guid.h
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_hbcontrol.h
  types:
    enum:
    - enumerators:
      - name: DDSI_HBC_ACK_REQ_NO
      - name: DDSI_HBC_ACK_REQ_YES
      - name: DDSI_HBC_ACK_REQ_YES_AND_FLUSH
      item_type: enum
      name: ddsi_hbcontrol_ack_required
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_hbcontrol.h
    preproc_defs: []
    structs:
    - fields:
      - name: t_of_last_write
        type: ddsrt_mtime_t
      - name: t_of_last_hb
        type: ddsrt_mtime_t
      - name: t_of_last_ackhb
        type: ddsrt_mtime_t
      - name: tsched
        type: ddsrt_mtime_t
      - name: hbs_since_last_write
        type: uint32_t
      - name: last_packetid
        type: uint32_t
      item_type: struct
      name: ddsi_hbcontrol
      pos:
        line_end: 35
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_hbcontrol.h
    typedefs: []
    union: []
- function_names:
  - ddsi_serdata_ref
  - ddsi_serdata_unref
  - ddsi_serdata_size
  - ddsi_serdata_from_ser
  - ddsi_serdata_from_ser_iov
  - ddsi_serdata_from_keyhash
  - ddsi_serdata_from_sample
  - ddsi_serdata_to_untyped
  - ddsi_serdata_to_ser
  - ddsi_serdata_to_ser_ref
  - ddsi_serdata_to_ser_unref
  - ddsi_serdata_to_sample
  - ddsi_serdata_untyped_to_sample
  - ddsi_serdata_eqkey
  - ddsi_serdata_print
  - ddsi_serdata_print_untyped
  - ddsi_serdata_get_keyhash
  - ddsi_serdata_from_loaned_sample
  - ddsi_serdata_from_psmx
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_SERDATA_HAS_PRINT
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_SERDATA_HAS_FROM_SER_IOV
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_SERDATA_HAS_GET_KEYHASH
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*ops'
        type: struct ddsi_serdata_ops
      - name: hash
        type: uint32_t
      - name: refc
        type: ddsrt_atomic_uint32_t
      - name: kind
        type: enum ddsi_serdata_kind
      - name: '*type'
        type: struct ddsi_sertype
      - name: timestamp
        type: ddsrt_wctime_t
      - name: statusinfo
        type: uint32_t
      - name: twrite
        type: ddsrt_mtime_t
      - name: '*loan'
        type: struct dds_loaned_sample
      item_type: struct
      name: ddsi_serdata
      pos:
        line_end: 42
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    - fields:
      - name: eqkey
        type: ddsi_serdata_eqkey_t
      - name: get_size
        type: ddsi_serdata_size_t
      - name: from_ser
        type: ddsi_serdata_from_ser_t
      - name: from_ser_iov
        type: ddsi_serdata_from_ser_iov_t
      - name: from_keyhash
        type: ddsi_serdata_from_keyhash_t
      - name: from_sample
        type: ddsi_serdata_from_sample_t
      - name: to_ser
        type: ddsi_serdata_to_ser_t
      - name: to_ser_ref
        type: ddsi_serdata_to_ser_ref_t
      - name: to_ser_unref
        type: ddsi_serdata_to_ser_unref_t
      - name: to_sample
        type: ddsi_serdata_to_sample_t
      - name: to_untyped
        type: ddsi_serdata_to_untyped_t
      - name: untyped_to_sample
        type: ddsi_serdata_untyped_to_sample_t
      - name: free
        type: ddsi_serdata_free_t
      - name: print
        type: ddsi_serdata_print_t
      - name: get_keyhash
        type: ddsi_serdata_get_keyhash_t
      - name: from_loaned_sample
        type: ddsi_serdata_from_loan_t
      - name: from_psmx
        type: ddsi_serdata_from_psmx_t
      item_type: struct
      name: ddsi_serdata_ops
      pos:
        line_end: 182
        line_start: 164
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_serdata_size_t) (const struct ddsi_serdata *d)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: uint32_t
    - item_type: typedef
      name: (*ddsi_serdata_free_t) (struct ddsi_serdata *d)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: void
    - item_type: typedef
      name: '* (*ddsi_serdata_from_ser_t) (const struct ddsi_sertype *type, enum ddsi_serdata_kind
        kind, const struct ddsi_rdata *fragchain, size_t size)'
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*ddsi_serdata_from_ser_iov_t) (const struct ddsi_sertype *type, enum
        ddsi_serdata_kind kind, ddsrt_msg_iovlen_t niov, const ddsrt_iovec_t *iov,
        size_t size)'
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*ddsi_serdata_from_keyhash_t) (const struct ddsi_sertype *type, const
        struct ddsi_keyhash *keyhash)'
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*ddsi_serdata_from_sample_t) (const struct ddsi_sertype *type, enum
        ddsi_serdata_kind kind, const void *sample)'
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*ddsi_serdata_to_untyped_t) (const struct ddsi_serdata *d)'
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: (*ddsi_serdata_to_ser_t) (const struct ddsi_serdata *d, size_t off, size_t
        sz, void *buf)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: void
    - item_type: typedef
      name: '* (*ddsi_serdata_to_ser_ref_t) (const struct ddsi_serdata *d, size_t
        off, size_t sz, ddsrt_iovec_t *ref)'
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: (*ddsi_serdata_to_ser_unref_t) (struct ddsi_serdata *d, const ddsrt_iovec_t
        *ref)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: void
    - item_type: typedef
      name: (*ddsi_serdata_to_sample_t) (const struct ddsi_serdata *d, void *sample,
        void **bufptr, void *buflim)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: bool
    - item_type: typedef
      name: (*ddsi_serdata_untyped_to_sample_t) (const struct ddsi_sertype *type,
        const struct ddsi_serdata *d, void *sample, void **bufptr, void *buflim)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: bool
    - item_type: typedef
      name: (*ddsi_serdata_eqkey_t) (const struct ddsi_serdata *a, const struct ddsi_serdata
        *b)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: bool
    - item_type: typedef
      name: (*ddsi_serdata_print_t) (const struct ddsi_sertype *type, const struct
        ddsi_serdata *d, char *buf, size_t size)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: size_t
    - item_type: typedef
      name: (*ddsi_serdata_get_keyhash_t) (const struct ddsi_serdata *d, struct ddsi_keyhash
        *buf, bool force_md5)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: void
    - item_type: typedef
      name: '* (*ddsi_serdata_from_loan_t) (const struct ddsi_sertype *type, enum
        ddsi_serdata_kind kind, const char *sample, struct dds_loaned_sample *loaned_sample,
        bool will_require_cdr)'
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    - item_type: typedef
      name: '* (*ddsi_serdata_from_psmx_t) (const struct ddsi_sertype *type, struct
        dds_loaned_sample *loaned_sample)'
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_serdata.h
      type: ddsi_serdata
    union: []
- function_names:
  - DDSI_SC_PEDANTIC_P
  - DDSI_SC_STRICT_P
  - ddsi_config
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
  types:
    enum:
    - enumerators:
      - name: DDSI_SC_PEDANTIC
      - name: DDSI_SC_LAX
      - name: DDSI_SC_STRICT
      item_type: enum
      name: ddsi_standards_conformance
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_BESMODE_FULL
      - name: DDSI_BESMODE_WRITERS
      item_type: enum
      name: ddsi_besmode
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_REXMIT_MERGE_NEVER
      - name: DDSI_REXMIT_MERGE_ADAPTIVE
      - name: DDSI_REXMIT_MERGE_ALWAYS
      item_type: enum
      name: ddsi_retransmit_merging
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_BOOLDEF_DEFAULT
      - name: DDSI_BOOLDEF_FALSE
      - name: DDSI_BOOLDEF_TRUE
      item_type: enum
      name: ddsi_boolean_default
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_SHM_OFF
        value: '0'
      - name: DDSI_SHM_INFO
      - name: DDSI_SHM_WARN
      - name: DDSI_SHM_ERROR
      - name: DDSI_SHM_FATAL
      - name: DDSI_SHM_DEBUG
      - name: DDSI_SHM_VERBOSE
      item_type: enum
      name: ddsi_shm_loglevel
      pos:
        line_end: 65
        line_start: 57
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_TRANS_DEFAULT
      - name: DDSI_TRANS_TCP6
      - name: DDSI_TRANS_UDP
      - name: DDSI_TRANS_TCP
      - name: DDSI_TRANS_UDP6
      - name: DDSI_TRANS_RAWETH
      - name: DDSI_TRANS_NONE
      item_type: enum
      name: ddsi_transport_selector
      pos:
        line_end: 169
        line_start: 161
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_MSM_NO_UNICAST
      - name: DDSI_MSM_SINGLE_UNICAST
      - name: DDSI_MSM_MANY_UNICAST
      item_type: enum
      name: ddsi_many_sockets_mode
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - enumerators:
      - name: DDSI_ENTITY_NAMING_DEFAULT_EMPTY
      - name: DDSI_ENTITY_NAMING_DEFAULT_FANCY
      item_type: enum
      name: ddsi_config_entity_naming_mode
      pos:
        line_end: 244
        line_start: 241
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_INDEX_AUTO
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_INDEX_NONE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: DDSI_PARTICIPANT_INDEX_DEFAULT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: DDSI_AMC_FALSE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 0u
    - item_type: preproc_def
      name: DDSI_AMC_SPDP
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 1u
    - item_type: preproc_def
      name: DDSI_AMC_ASM
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 2u
    - item_type: preproc_def
      name: DDSI_AMC_SSM
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 4u
    - item_type: preproc_def
      name: DDSI_AMC_TRUE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: (DDSI_AMC_SPDP | DDSI_AMC_ASM | DDSI_AMC_SSM)
    - item_type: preproc_def
      name: DDSI_AMC_TRUE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: (DDSI_AMC_SPDP | DDSI_AMC_ASM)
    - item_type: preproc_def
      name: DDSI_AMC_DEFAULT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: DDSI_XCHECK_WHC
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 1u
    - item_type: preproc_def
      name: DDSI_XCHECK_RHC
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 2u
    - item_type: preproc_def
      name: DDSI_XCHECK_XEV
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
      type_or_value: 4u
    structs:
    - fields:
      - name: '*next'
        type: struct ddsi_config_listelem
      item_type: struct
      name: ddsi_config_listelem
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_networkpartition_address
      - name: loc
        type: ddsi_locator_t
      item_type: struct
      name: ddsi_networkpartition_address
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_networkpartition_listelem
      - name: '*name'
        type: char
      - name: '*address_string'
        type: char
      - name: '*interface_names'
        type: char
      - name: '*uc_addresses'
        type: struct ddsi_networkpartition_address
      - name: '*asm_addresses'
        type: struct ddsi_networkpartition_address
      item_type: struct
      name: ddsi_config_networkpartition_listelem
      pos:
        line_end: 92
        line_start: 82
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_ignoredpartition_listelem
      - name: '*DCPSPartitionTopic'
        type: char
      item_type: struct
      name: ddsi_config_ignoredpartition_listelem
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_partitionmapping_listelem
      - name: '*networkPartition'
        type: char
      - name: '*DCPSPartitionTopic'
        type: char
      - name: '*partition'
        type: struct ddsi_config_networkpartition_listelem
      item_type: struct
      name: ddsi_config_partitionmapping_listelem
      pos:
        line_end: 104
        line_start: 99
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: isdefault
        type: int
      - name: value
        type: int32_t
      item_type: struct
      name: ddsi_config_maybe_int32
      pos:
        line_end: 110
        line_start: 107
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: isdefault
        type: int
      - name: value
        type: uint32_t
      item_type: struct
      name: ddsi_config_maybe_uint32
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: isdefault
        type: int
      - name: value
        type: dds_duration_t
      item_type: struct
      name: ddsi_config_maybe_duration
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*xs'
        type: uint32_t
      item_type: struct
      name: ddsi_config_uint32_array
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_thread_properties_listelem
      - name: '*name'
        type: char
      - name: sched_class
        type: ddsrt_sched_t
      - name: schedule_priority
        type: struct ddsi_config_maybe_int32
      - name: stack_size
        type: struct ddsi_config_maybe_uint32
      - name: affinity
        type: struct ddsi_config_uint32_array
      item_type: struct
      name: ddsi_config_thread_properties_listelem
      pos:
        line_end: 134
        line_start: 127
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_peer_listelem
      - name: '*peer'
        type: char
      - name: prune_delay
        type: struct ddsi_config_maybe_duration
      item_type: struct
      name: ddsi_config_peer_listelem
      pos:
        line_end: 141
        line_start: 136
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: delay
        type: int64_t
      - name: enforce_delay
        type: int
      item_type: struct
      name: ddsi_config_prune_deleted_ppant
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*library_path'
        type: char
      - name: '*library_init'
        type: char
      - name: '*library_finalize'
        type: char
      item_type: struct
      name: ddsi_plugin_library_properties
      pos:
        line_end: 182
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*identity_certificate'
        type: char
      - name: '*identity_ca'
        type: char
      - name: '*private_key'
        type: char
      - name: '*password'
        type: char
      - name: '*trusted_ca_dir'
        type: char
      - name: '*crl'
        type: char
      - name: include_optional_fields
        type: int
      item_type: struct
      name: ddsi_authentication_properties
      pos:
        line_end: 192
        line_start: 184
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*permissions'
        type: char
      - name: '*permissions_ca'
        type: char
      - name: '*governance'
        type: char
      item_type: struct
      name: ddsi_access_control_properties
      pos:
        line_end: 198
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: authentication_properties
        type: struct ddsi_authentication_properties
      - name: access_control_properties
        type: struct ddsi_access_control_properties
      - name: authentication_plugin
        type: struct ddsi_plugin_library_properties
      - name: access_control_plugin
        type: struct ddsi_plugin_library_properties
      - name: cryptography_plugin
        type: struct ddsi_plugin_library_properties
      item_type: struct
      name: ddsi_config_omg_security
      pos:
        line_end: 206
        line_start: 200
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_omg_security_listelem
      - name: cfg
        type: struct ddsi_config_omg_security
      item_type: struct
      name: ddsi_config_omg_security_listelem
      pos:
        line_end: 211
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: major
        type: int
      - name: minor
        type: int
      item_type: struct
      name: ddsi_config_ssl_min_version
      pos:
        line_end: 218
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: min
        type: struct ddsi_config_maybe_uint32
      item_type: struct
      name: ddsi_config_socket_buf_size
      pos:
        line_end: 223
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: automatic
        type: int
      - name: '*name'
        type: char
      - name: '*address'
        type: char
      - name: prefer_multicast
        type: int
      - name: presence_required
        type: int
      - name: multicast
        type: enum ddsi_boolean_default
      - name: priority
        type: struct ddsi_config_maybe_int32
      - name: allow_multicast
        type: uint32_t
      item_type: struct
      name: ddsi_config_network_interface
      pos:
        line_end: 234
        line_start: 225
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_network_interface_listelem
      - name: cfg
        type: struct ddsi_config_network_interface
      item_type: struct
      name: ddsi_config_network_interface_listelem
      pos:
        line_end: 239
        line_start: 236
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*type'
        type: char
      - name: '*library'
        type: char
      - name: '*config'
        type: char
      - name: priority
        type: struct ddsi_config_maybe_int32
      item_type: struct
      name: ddsi_config_psmx
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: '*next'
        type: struct ddsi_config_psmx_listelem
      - name: cfg
        type: struct ddsi_config_psmx
      item_type: struct
      name: ddsi_config_psmx_listelem
      pos:
        line_end: 256
        line_start: 253
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    - fields:
      - name: valid
        type: int
      - name: tracemask
        type: uint32_t
      - name: enabled_xchecks
        type: uint32_t
      - name: '*pcap_file'
        type: char
      - name: '*network_interfaces'
        type: struct ddsi_config_network_interface_listelem
      - name: '*psmx_instances'
        type: struct ddsi_config_psmx_listelem
      - name: '*depr_networkAddressString'
        type: char
      - name: depr_prefer_multicast
        type: int
      - name: '*depr_assumeMulticastCapable'
        type: char
      - name: '**networkRecvAddressStrings'
        type: char
      - name: allowMulticast
        type: uint32_t
      - name: '*externalAddressString'
        type: char
      - name: '*externalMaskString'
        type: char
      - name: '*tracefp'
        type: FILE
      - name: '*tracefile'
        type: char
      - name: tracingAppendToFile
        type: int
      - name: transport_selector
        type: enum ddsi_transport_selector
      - name: compat_use_ipv6
        type: enum ddsi_boolean_default
      - name: compat_tcp_enable
        type: enum ddsi_boolean_default
      - name: dontRoute
        type: int
      - name: enableMulticastLoopback
        type: int
      - name: domainId
        type: uint32_t
      - name: extDomainId
        type: struct ddsi_config_maybe_uint32
      - name: '*domainTag'
        type: char
      - name: participantIndex
        type: int
      - name: maxAutoParticipantIndex
        type: int
      - name: '*spdpMulticastAddressString'
        type: char
      - name: '*defaultMulticastAddressString'
        type: char
      - name: spdp_interval
        type: struct ddsi_config_maybe_duration
      - name: spdp_response_delay_max
        type: int64_t
      - name: spdp_prune_delay_initial
        type: int64_t
      - name: spdp_prune_delay_discovered
        type: int64_t
      - name: lease_duration
        type: int64_t
      - name: const_hb_intv_sched
        type: int64_t
      - name: const_hb_intv_sched_min
        type: int64_t
      - name: const_hb_intv_sched_max
        type: int64_t
      - name: const_hb_intv_min
        type: int64_t
      - name: retransmit_merging
        type: enum ddsi_retransmit_merging
      - name: retransmit_merging_period
        type: int64_t
      - name: squash_participants
        type: int
      - name: liveliness_monitoring
        type: int
      - name: noprogress_log_stacktraces
        type: int
      - name: liveliness_monitoring_interval
        type: int64_t
      - name: prioritize_retransmit
        type: int
      - name: multiple_recv_threads
        type: enum ddsi_boolean_default
      - name: recv_thread_stop_maxretries
        type: unsigned
      - name: primary_reorder_maxsamples
        type: unsigned
      - name: secondary_reorder_maxsamples
        type: unsigned
      - name: delivery_queue_maxsamples
        type: unsigned
      - name: fragment_size
        type: uint16_t
      - name: max_msg_size
        type: uint32_t
      - name: max_rexmit_msg_size
        type: uint32_t
      - name: init_transmit_extra_pct
        type: uint32_t
      - name: max_rexmit_burst_size
        type: uint32_t
      - name: max_frags_in_rexmit_of_sample
        type: uint32_t
      - name: publish_uc_locators
        type: int
      - name: enable_uc_locators
        type: int
      - name: tcp_nodelay
        type: int
      - name: tcp_port
        type: int
      - name: tcp_read_timeout
        type: int64_t
      - name: tcp_write_timeout
        type: int64_t
      - name: tcp_use_peeraddr_for_unicast
        type: int
      - name: add_localhost_to_peers
        type: enum ddsi_boolean_default
      - name: '*peers'
        type: struct ddsi_config_peer_listelem
      - name: '*thread_properties'
        type: struct ddsi_config_thread_properties_listelem
      - name: xmit_lossiness
        type: int
      - name: rmsg_chunk_size
        type: uint32_t
      - name: rbuf_size
        type: uint32_t
      - name: besmode
        type: enum ddsi_besmode
      - name: meas_hb_to_ack_latency
        type: int
      - name: synchronous_delivery_priority_threshold
        type: int
      - name: synchronous_delivery_latency_bound
        type: int64_t
      - name: whc_batch
        type: int
      - name: whc_lowwater_mark
        type: uint32_t
      - name: whc_highwater_mark
        type: uint32_t
      - name: whc_init_highwater_mark
        type: struct ddsi_config_maybe_uint32
      - name: whc_adaptive
        type: int
      - name: defrag_unreliable_maxsamples
        type: unsigned
      - name: defrag_reliable_maxsamples
        type: unsigned
      - name: accelerate_rexmit_block_size
        type: unsigned
      - name: responsiveness_timeout
        type: int64_t
      - name: max_participants
        type: uint32_t
      - name: writer_linger_duration
        type: int64_t
      - name: multicast_ttl
        type: int
      - name: socket_rcvbuf_size
        type: struct ddsi_config_socket_buf_size
      - name: socket_sndbuf_size
        type: struct ddsi_config_socket_buf_size
      - name: ack_delay
        type: int64_t
      - name: nack_delay
        type: int64_t
      - name: preemptive_ack_delay
        type: int64_t
      - name: auto_resched_nack_delay
        type: int64_t
      - name: ds_grace_period
        type: int64_t
      - name: max_queued_rexmit_bytes
        type: uint32_t
      - name: max_queued_rexmit_msgs
        type: unsigned
      - name: late_ack_mode
        type: int
      - name: retry_on_reject_besteffort
        type: int
      - name: generate_keyhash
        type: int
      - name: max_sample_size
        type: uint32_t
      - name: extended_packet_info
        type: int
      - name: standards_conformance
        type: enum ddsi_standards_conformance
      - name: explicitly_publish_qos_set_to_default
        type: int
      - name: many_sockets_mode
        type: enum ddsi_many_sockets_mode
      - name: assume_rti_has_pmd_endpoints
        type: int
      - name: protocol_version
        type: ddsi_protocol_version_t
      - name: ports
        type: struct ddsi_portmapping
      - name: monitor_port
        type: int
      - name: enable_control_topic
        type: int
      - name: initial_deaf
        type: int
      - name: initial_mute
        type: int
      - name: initial_deaf_mute_reset
        type: int64_t
      - name: use_multicast_if_mreqn
        type: int
      - name: prune_deleted_ppant
        type: struct ddsi_config_prune_deleted_ppant
      - name: redundant_networking
        type: int
      - name: enable_shm
        type: int
      - name: '*shm_locator'
        type: char
      - name: '*iceoryx_service'
        type: char
      - name: shm_log_lvl
        type: enum ddsi_shm_loglevel
      - name: entity_naming_mode
        type: enum ddsi_config_entity_naming_mode
      - name: entity_naming_seed
        type: ddsrt_prng_seed_t
      item_type: struct
      name: ddsi_config
      pos:
        line_end: 452
        line_start: 271
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_config.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
  types:
    enum:
    - enumerators:
      - name: DDS_EXTERNAL_RELIABILITY_BEST_EFFORT
        value: '1'
      - name: DDS_EXTERNAL_RELIABILITY_RELIABLE
        value: '2'
      item_type: enum
      name: dds_external_reliability_kind
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_QP_TOPIC_NAME
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  0)
    - item_type: preproc_def
      name: DDSI_QP_TYPE_NAME
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  1)
    - item_type: preproc_def
      name: DDSI_QP_PRESENTATION
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  2)
    - item_type: preproc_def
      name: DDSI_QP_PARTITION
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  3)
    - item_type: preproc_def
      name: DDSI_QP_GROUP_DATA
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  4)
    - item_type: preproc_def
      name: DDSI_QP_TOPIC_DATA
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  5)
    - item_type: preproc_def
      name: DDSI_QP_DURABILITY
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  6)
    - item_type: preproc_def
      name: DDSI_QP_DURABILITY_SERVICE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  7)
    - item_type: preproc_def
      name: DDSI_QP_DEADLINE
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  8)
    - item_type: preproc_def
      name: DDSI_QP_LATENCY_BUDGET
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 <<  9)
    - item_type: preproc_def
      name: DDSI_QP_LIVELINESS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 10)
    - item_type: preproc_def
      name: DDSI_QP_RELIABILITY
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 11)
    - item_type: preproc_def
      name: DDSI_QP_DESTINATION_ORDER
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 12)
    - item_type: preproc_def
      name: DDSI_QP_HISTORY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 13)
    - item_type: preproc_def
      name: DDSI_QP_RESOURCE_LIMITS
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 14)
    - item_type: preproc_def
      name: DDSI_QP_TRANSPORT_PRIORITY
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 15)
    - item_type: preproc_def
      name: DDSI_QP_LIFESPAN
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 16)
    - item_type: preproc_def
      name: DDSI_QP_USER_DATA
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 17)
    - item_type: preproc_def
      name: DDSI_QP_OWNERSHIP
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 18)
    - item_type: preproc_def
      name: DDSI_QP_OWNERSHIP_STRENGTH
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 19)
    - item_type: preproc_def
      name: DDSI_QP_TIME_BASED_FILTER
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 20)
    - item_type: preproc_def
      name: DDSI_QP_ADLINK_WRITER_DATA_LIFECYCLE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 21)
    - item_type: preproc_def
      name: DDSI_QP_ADLINK_READER_DATA_LIFECYCLE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 22)
    - item_type: preproc_def
      name: DDSI_QP_ADLINK_READER_LIFESPAN
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 24)
    - item_type: preproc_def
      name: DDSI_QP_CYCLONE_WRITER_BATCHING
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 25)
    - item_type: preproc_def
      name: DDSI_QP_ADLINK_ENTITY_FACTORY
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 27)
    - item_type: preproc_def
      name: DDSI_QP_CYCLONE_IGNORELOCAL
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 30)
    - item_type: preproc_def
      name: DDSI_QP_PROPERTY_LIST
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 31)
    - item_type: preproc_def
      name: DDSI_QP_TYPE_CONSISTENCY_ENFORCEMENT
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 32)
    - item_type: preproc_def
      name: DDSI_QP_TYPE_INFORMATION
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 33)
    - item_type: preproc_def
      name: DDSI_QP_PSMX
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 34)
    - item_type: preproc_def
      name: DDSI_QP_DATA_REPRESENTATION
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 35)
    - item_type: preproc_def
      name: DDSI_QP_ENTITY_NAME
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t)1 << 36)
    - item_type: preproc_def
      name: DDSI_QP_RXO_MASK
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: (DDSI_QP_DURABILITY | DDSI_QP_PRESENTATION | DDSI_QP_DEADLINE
        | DDSI_QP_LATENCY_BUDGET | DDSI_QP_OWNERSHIP | DDSI_QP_LIVELINESS | DDSI_QP_RELIABILITY
        | DDSI_QP_DESTINATION_ORDER | DDSI_QP_DATA_REPRESENTATION)
    - item_type: preproc_def
      name: DDSI_QP_CHANGEABLE_MASK
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: (DDSI_QP_USER_DATA | DDSI_QP_TOPIC_DATA | DDSI_QP_GROUP_DATA
        | DDSI_QP_DEADLINE | DDSI_QP_LATENCY_BUDGET | DDSI_QP_OWNERSHIP_STRENGTH |
        DDSI_QP_TIME_BASED_FILTER | DDSI_QP_PARTITION | DDSI_QP_TRANSPORT_PRIORITY
        | DDSI_QP_LIFESPAN | DDSI_QP_ADLINK_ENTITY_FACTORY | DDSI_QP_ADLINK_WRITER_DATA_LIFECYCLE
        | DDSI_QP_ADLINK_READER_DATA_LIFECYCLE)
    - item_type: preproc_def
      name: DDSI_QP_UNRECOGNIZED_INCOMPATIBLE_MASK
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type_or_value: ((uint64_t) 0)
    structs:
    - fields:
      - name: length
        type: uint32_t
      - name: '*value'
        type: unsigned char
      item_type: struct
      name: ddsi_octetseq
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: propagate
        type: unsigned char
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: dds_property
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*props'
        type: dds_property_t
      item_type: struct
      name: dds_propertyseq
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: propagate
        type: unsigned char
      - name: '*name'
        type: char
      - name: value
        type: ddsi_octetseq_t
      item_type: struct
      name: dds_binaryproperty
      pos:
        line_end: 59
        line_start: 51
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*props'
        type: dds_binaryproperty_t
      item_type: struct
      name: dds_binarypropertyseq
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: value
        type: dds_propertyseq_t
      - name: binary_value
        type: dds_binarypropertyseq_t
      item_type: struct
      name: dds_property_qospolicy
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_durability_kind_t
      item_type: struct
      name: dds_durability_qospolicy
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_history_kind_t
      - name: depth
        type: int32_t
      item_type: struct
      name: dds_history_qospolicy
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: max_samples
        type: int32_t
      - name: max_instances
        type: int32_t
      - name: max_samples_per_instance
        type: int32_t
      item_type: struct
      name: dds_resource_limits_qospolicy
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: service_cleanup_delay
        type: dds_duration_t
      - name: history
        type: dds_history_qospolicy_t
      - name: resource_limits
        type: dds_resource_limits_qospolicy_t
      item_type: struct
      name: dds_durability_service_qospolicy
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: access_scope
        type: dds_presentation_access_scope_kind_t
      - name: coherent_access
        type: unsigned char
      - name: ordered_access
        type: unsigned char
      item_type: struct
      name: dds_presentation_qospolicy
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: deadline
        type: dds_duration_t
      item_type: struct
      name: dds_deadline_qospolicy
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: duration
        type: dds_duration_t
      item_type: struct
      name: dds_latency_budget_qospolicy
      pos:
        line_end: 104
        line_start: 102
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_ownership_kind_t
      item_type: struct
      name: dds_ownership_qospolicy
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: value
        type: int32_t
      item_type: struct
      name: dds_ownership_strength_qospolicy
      pos:
        line_end: 112
        line_start: 110
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_liveliness_kind_t
      - name: lease_duration
        type: dds_duration_t
      item_type: struct
      name: dds_liveliness_qospolicy
      pos:
        line_end: 117
        line_start: 114
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: minimum_separation
        type: dds_duration_t
      item_type: struct
      name: dds_time_based_filter_qospolicy
      pos:
        line_end: 121
        line_start: 119
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: n
        type: uint32_t
      - name: '**strs'
        type: char
      item_type: struct
      name: ddsi_stringseq
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_reliability_kind_t
      - name: max_blocking_time
        type: dds_duration_t
      item_type: struct
      name: dds_reliability_qospolicy
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: value
        type: int32_t
      item_type: struct
      name: dds_transport_priority_qospolicy
      pos:
        line_end: 142
        line_start: 140
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: duration
        type: dds_duration_t
      item_type: struct
      name: dds_lifespan_qospolicy
      pos:
        line_end: 146
        line_start: 144
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_destination_order_kind_t
      item_type: struct
      name: dds_destination_order_qospolicy
      pos:
        line_end: 150
        line_start: 148
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: autoenable_created_entities
        type: unsigned char
      item_type: struct
      name: dds_entity_factory_qospolicy
      pos:
        line_end: 154
        line_start: 152
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: autodispose_unregistered_instances
        type: unsigned char
      item_type: struct
      name: dds_writer_data_lifecycle_qospolicy
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: autopurge_nowriter_samples_delay
        type: dds_duration_t
      - name: autopurge_disposed_samples_delay
        type: dds_duration_t
      item_type: struct
      name: dds_reader_data_lifecycle_qospolicy
      pos:
        line_end: 163
        line_start: 160
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: use_lifespan
        type: unsigned char
      - name: duration
        type: dds_duration_t
      item_type: struct
      name: dds_reader_lifespan_qospolicy
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: batch_updates
        type: unsigned char
      item_type: struct
      name: dds_writer_batching_qospolicy
      pos:
        line_end: 172
        line_start: 170
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: value
        type: dds_ignorelocal_kind_t
      item_type: struct
      name: dds_ignorelocal_qospolicy
      pos:
        line_end: 176
        line_start: 174
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: kind
        type: dds_type_consistency_kind_t
      - name: ignore_sequence_bounds
        type: bool
      - name: ignore_string_bounds
        type: bool
      - name: ignore_member_names
        type: bool
      - name: prevent_type_widening
        type: bool
      - name: force_type_validation
        type: bool
      item_type: struct
      name: dds_type_consistency_enforcement_qospolicy
      pos:
        line_end: 185
        line_start: 178
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: n
        type: uint32_t
      - name: '*ids'
        type: dds_data_representation_id_t
      item_type: struct
      name: dds_data_representation_id_seq
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: value
        type: dds_data_representation_id_seq_t
      item_type: struct
      name: dds_data_representation_qospolicy
      pos:
        line_end: 196
        line_start: 194
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    - fields:
      - name: present
        type: uint64_t
      - name: aliased
        type: uint64_t
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      - name: '*entity_name'
        type: char
      - name: presentation
        type: dds_presentation_qospolicy_t
      - name: partition
        type: dds_partition_qospolicy_t
      - name: group_data
        type: dds_groupdata_qospolicy_t
      - name: entity_factory
        type: dds_entity_factory_qospolicy_t
      - name: topic_data
        type: dds_topicdata_qospolicy_t
      - name: durability
        type: dds_durability_qospolicy_t
      - name: durability_service
        type: dds_durability_service_qospolicy_t
      - name: deadline
        type: dds_deadline_qospolicy_t
      - name: latency_budget
        type: dds_latency_budget_qospolicy_t
      - name: liveliness
        type: dds_liveliness_qospolicy_t
      - name: reliability
        type: dds_reliability_qospolicy_t
      - name: destination_order
        type: dds_destination_order_qospolicy_t
      - name: history
        type: dds_history_qospolicy_t
      - name: resource_limits
        type: dds_resource_limits_qospolicy_t
      - name: transport_priority
        type: dds_transport_priority_qospolicy_t
      - name: lifespan
        type: dds_lifespan_qospolicy_t
      - name: user_data
        type: dds_userdata_qospolicy_t
      - name: ownership
        type: dds_ownership_qospolicy_t
      - name: ownership_strength
        type: dds_ownership_strength_qospolicy_t
      - name: time_based_filter
        type: dds_time_based_filter_qospolicy_t
      - name: writer_data_lifecycle
        type: dds_writer_data_lifecycle_qospolicy_t
      - name: reader_data_lifecycle
        type: dds_reader_data_lifecycle_qospolicy_t
      - name: reader_lifespan
        type: dds_reader_lifespan_qospolicy_t
      - name: writer_batching
        type: dds_writer_batching_qospolicy_t
      - name: ignorelocal
        type: dds_ignorelocal_qospolicy_t
      - name: property
        type: dds_property_qospolicy_t
      - name: type_consistency
        type: dds_type_consistency_enforcement_qospolicy_t
      - name: psmx
        type: dds_pubsub_message_exchange_qospolicy_t
      - name: data_representation
        type: dds_data_representation_qospolicy_t
      item_type: struct
      name: dds_qos
      pos:
        line_end: 296
        line_start: 248
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
    typedefs:
    - item_type: typedef
      name: dds_userdata_qospolicy_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: ddsi_octetseq_t
    - item_type: typedef
      name: dds_topicdata_qospolicy_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: ddsi_octetseq_t
    - item_type: typedef
      name: dds_groupdata_qospolicy_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: ddsi_octetseq_t
    - item_type: typedef
      name: dds_partition_qospolicy_t
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: ddsi_stringseq_t
    - item_type: typedef
      name: dds_locator_mask_t
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: uint32_t
    - item_type: typedef
      name: dds_pubsub_message_exchange_qospolicy_t
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xqos.h
      type: ddsi_stringseq_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_topic.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: key[16]
        type: unsigned char
      - name: '*type_pair'
        type: struct ddsi_type_pair
      - name: '*xqos'
        type: struct dds_qos
      - name: refc
        type: uint32_t
      - name: '*gv'
        type: struct ddsi_domaingv
      item_type: struct
      name: ddsi_topic_definition
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_topic.h
    - fields:
      - name: e
        type: struct ddsi_entity_common
      - name: '*definition'
        type: struct ddsi_topic_definition
      - name: '*pp'
        type: struct ddsi_participant
      item_type: struct
      name: ddsi_topic
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_topic.h
    - fields:
      - name: entityid
        type: ddsi_entityid_t
      - name: '*definition'
        type: struct ddsi_topic_definition
      - name: tupdate
        type: ddsrt_wctime_t
      - name: seq
        type: ddsi_seqno_t
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: deleted
        type: unsigned
      item_type: struct
      name: ddsi_proxy_topic
      pos:
        line_end: 58
        line_start: 50
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_topic.h
    typedefs: []
    union: []
- function_names:
  - ddsi_builtintopic_is_visible
  - ddsi_builtintopic_is_builtintopic
  - ddsi_builtintopic_get_tkmap_entry
  - ddsi_builtintopic_write_endpoint
  - ddsi_builtintopic_write_topic
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*arg'
        type: void
      - name: (*builtintopic_is_builtintopic) (const struct ddsi_sertype *type, void
          *arg)
        type: bool
      - name: (*builtintopic_is_visible) (const struct ddsi_guid *guid, ddsi_vendorid_t
          vendorid, void *arg)
        type: bool
      - name: '* (*builtintopic_get_tkmap_entry) (const struct ddsi_guid *guid, void
          *arg)'
        type: struct ddsi_tkmap_instance
      - name: (*builtintopic_write_endpoint) (const struct ddsi_entity_common *e,
          ddsrt_wctime_t timestamp, bool alive, void *arg)
        type: void
      - name: (*builtintopic_write_topic) (const struct ddsi_topic_definition *tpd,
          ddsrt_wctime_t timestamp, bool alive, void *arg)
        type: void
      item_type: struct
      name: ddsi_builtin_topic_interface
      pos:
        line_end: 31
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_builtin_topic_if.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
  types:
    enum:
    - enumerators:
      - name: DDSI_TYPEID_KIND_MINIMAL
      - name: DDSI_TYPEID_KIND_FULLY_DESCRIPTIVE
      - name: DDSI_TYPEID_KIND_PLAIN_COLLECTION_COMPLETE
      - name: DDSI_TYPEID_KIND_COMPLETE
      - name: DDSI_TYPEID_KIND_PLAIN_COLLECTION_MINIMAL
      - name: DDSI_TYPEID_KIND_INVALID
      item_type: enum
      name: ddsi_typeid_kind
      pos:
        line_end: 44
        line_start: 37
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
    - enumerators:
      - name: DDSI_TYPE_IGNORE_DEPS
      - name: DDSI_TYPE_INCLUDE_DEPS
      item_type: enum
      name: ddsi_type_include_deps
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_INVALID
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_DISCARD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type_or_value: DDS_XTypes_TRY_CONSTRUCT1
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_USE_DEFAULT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type_or_value: DDS_XTypes_TRY_CONSTRUCT2
    - item_type: preproc_def
      name: DDS_XTypes_TRY_CONSTRUCT_TRIM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type_or_value: (DDS_XTypes_TRY_CONSTRUCT1 | DDS_XTypes_TRY_CONSTRUCT2)
    structs: []
    typedefs:
    - item_type: typedef
      name: ddsi_typeid_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: ddsi_typeid
    - item_type: typedef
      name: ddsi_typeinfo_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: ddsi_typeinfo
    - item_type: typedef
      name: ddsi_typeobj_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: ddsi_typeobj
    - item_type: typedef
      name: ddsi_typemap_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: ddsi_typemap
    - item_type: typedef
      name: ddsi_typeid_t
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: void
    - item_type: typedef
      name: ddsi_typeid_kind_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: int
    - item_type: typedef
      name: ddsi_typemap_t
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: void
    - item_type: typedef
      name: ddsi_typeinfo_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_typewrap.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_sockwaitset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_feature_check.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lease.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: heapnode
        type: ddsrt_fibheap_node_t
      - name: pp_heapnode
        type: ddsrt_fibheap_node_t
      - name: tsched
        type: ddsrt_etime_t
      - name: tend
        type: ddsrt_atomic_uint64_t
      - name: tdur
        type: dds_duration_t
      - name: '*entity'
        type: struct ddsi_entity_common
      item_type: struct
      name: ddsi_lease
      pos:
        line_end: 30
        line_start: 23
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_lease.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
  types:
    enum:
    - enumerators:
      - name: DDSI_EK_PARTICIPANT
      - name: DDSI_EK_PROXY_WRITER
      - name: DDSI_EK_TOPIC
      - name: DDSI_EK_WRITER
      - name: DDSI_EK_PROXY_PARTICIPANT
      - name: DDSI_EK_READER
      - name: DDSI_EK_PROXY_READER
      item_type: enum
      name: ddsi_entity_kind
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
    preproc_defs: []
    structs:
    - fields:
      - name: raw_status_id
        type: int
      - name: extra
        type: uint32_t
      - name: handle
        type: uint64_t
      - name: add
        type: bool
      item_type: struct
      name: ddsi_status_cb_data
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
    - fields:
      - name: kind
        type: enum ddsi_entity_kind
      - name: guid
        type: ddsi_guid_t
      - name: tupdate
        type: ddsrt_wctime_t
      - name: iid
        type: uint64_t
      - name: '*tk'
        type: struct ddsi_tkmap_instance
      - name: lock
        type: ddsrt_mutex_t
      - name: onlylocal
        type: bool
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: all_entities_avlnode
        type: ddsrt_avl_node_t
      - name: qos_lock
        type: ddsrt_mutex_t
      item_type: struct
      name: ddsi_entity_common
      pos:
        line_end: 81
        line_start: 60
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
    - fields:
      - name: rdary_lock
        type: ddsrt_mutex_t
      - name: valid
        type: unsigned
      - name: fastpath_ok
        type: unsigned
      - name: n_readers
        type: uint32_t
      - name: '**rdary'
        type: struct ddsi_reader
      item_type: struct
      name: ddsi_local_reader_ary
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
    typedefs:
    - item_type: typedef
      name: (*ddsi_status_cb_t) (void *entity, const ddsi_status_cb_data_t *data)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_entity.h
      type: void
    union: []
- function_names:
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair_allocbuf
  - dds_sequence_DDS_XTypes_TypeIdentifierPair__alloc
  - dds_sequence_DDS_XTypes_TypeIdentifierPair_allocbuf
  - DDS_XTypes_TypeMapping__alloc
  - DDS_XTypes_TypeMapping_free
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    - fields:
      - name: _maximum
        type: uint32_t
      - name: _length
        type: uint32_t
      - name: '*_buffer'
        type: struct DDS_XTypes_TypeIdentifierPair
      - name: _release
        type: bool
      item_type: struct
      name: dds_sequence_DDS_XTypes_TypeIdentifierPair
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    - fields:
      - name: identifier_object_pair_minimal
        type: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: identifier_object_pair_complete
        type: dds_sequence_DDS_XTypes_TypeIdentifierTypeObjectPair
      - name: identifier_complete_minimal
        type: dds_sequence_DDS_XTypes_TypeIdentifierPair
      item_type: struct
      name: DDS_XTypes_TypeMapping
      pos:
        line_end: 76
        line_start: 71
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_xt_typemap.h
    typedefs: []
    union: []
- function_names:
  - DDSI_RMSG_PAYLOAD
  - DDSI_RMSG_PAYLOADOFF
  - DDSI_ZOFF_TO_OFF
  - DDSI_OFF_TO_ZOFF
  - DDSI_ZOFF_TO_OFF
  - DDSI_OFF_TO_ZOFF
  - DDSI_RDATA_PAYLOAD_OFF
  - DDSI_RDATA_SUBMSG_OFF
  - DDSI_RDATA_KEYHASH_OFF
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rbuf'
        type: struct ddsi_rbuf
      - name: '*next'
        type: struct ddsi_rmsg_chunk
      - name: u
        type: "union {\n    uint32_t size;\n\n    /* to ensure reasonable alignment
          of payload */\n    int64_t l;\n    double d;\n    void *p;\n  }"
      item_type: struct
      name: ddsi_rmsg_chunk
      pos:
        line_end: 50
        line_start: 33
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    - fields:
      - name: refcount
        type: ddsrt_atomic_uint32_t
      - name: '*lastchunk'
        type: struct ddsi_rmsg_chunk
      - name: trace
        type: bool
      - name: chunk
        type: struct ddsi_rmsg_chunk
      item_type: struct
      name: ddsi_rmsg
      pos:
        line_end: 91
        line_start: 52
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    - fields:
      - name: '*rmsg'
        type: struct ddsi_rmsg
      - name: '*nextfrag'
        type: struct ddsi_rdata
      - name: min
        type: uint32_t
      - name: submsg_zoff
        type: uint16_t
      - name: payload_zoff
        type: uint16_t
      - name: keyhash_zoff
        type: uint16_t
      item_type: struct
      name: ddsi_rdata
      pos:
        line_end: 107
        line_start: 97
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_radmin.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSI_RTPS_MAJOR
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol_version.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSI_RTPS_MINOR_LATEST
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol_version.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DDSI_RTPS_MINOR_MINIMUM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol_version.h
      type_or_value: '1'
    structs:
    - fields:
      - name: major
        type: uint8_t
      item_type: struct
      name: ddsi_protocol_version
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/cyclonedds/src/core/ddsi/include/dds/ddsi/ddsi_protocol_version.h
    typedefs: []
    union: []
- function_names:
  - SER8
  - SER16
  - SER16BE
  - SER32
  - SER32BE
  - SER64
  - SER64BE
  - SER16
  - SER16BE
  - SER32
  - SER32BE
  - SER64
  - SER64BE
  - SER_DHEADER
  - SER_DHEADERBE
  - SER_EMHEADER
  - SER_NEXTINT
  - SER_PHDR_EXT
  - SER_PHDR_END
  source_file: /src/cyclonedds/src/core/cdr/test/mem_ser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TOKENPASTE
  - TOKENPASTE2
  - TOKENPASTE3
  - NAME_BYTE_ORDER
  - NAME2_BYTE_ORDER
  - EMHEADER_LENGTH_CODE
  - EMHEADER_MEMBERID
  - ddsrt_to2u
  - ddsrt_to4u
  - ddsrt_to8u
  - ALIGN
  - ALIGN
  - dds_cdr_get_align
  - MK_ALIGN
  - MK_ALIGN
  - dds_ostream_grow
  - dds_ostream_from_buffer
  - dds_cdr_resize
  - dds_istream_init
  - dds_ostream_init
  - dds_ostreamLE_init
  - dds_ostreamBE_init
  - dds_istream_fini
  - dds_ostream_fini
  - dds_ostreamLE_fini
  - dds_ostreamBE_fini
  - dds_cdr_alignto
  - dds_cdr_alignto_clear_and_resize_base
  - dds_cdr_alignto4_clear_and_resize
  - dds_is_get1
  - dds_is_get2
  - dds_is_get4
  - dds_is_peek4
  - dds_is_get8
  - dds_is_get_bytes
  - dds_os_put1_base
  - dds_os_put2_base
  - dds_os_put4_base
  - dds_os_put8_base
  - dds_os_reserve4_base
  - dds_os_reserve8_base
  - dds_os_put1
  - dds_os_put2
  - dds_os_put4
  - dds_os_put8
  - dds_os_reserve4
  - dds_os_reserve8
  - dds_os_put1LE
  - dds_os_put2LE
  - dds_os_put4LE
  - dds_os_put8LE
  - dds_os_reserve4LE
  - dds_os_reserve8LE
  - dds_os_put1BE
  - dds_os_put2BE
  - dds_os_put4BE
  - dds_os_put8BE
  - dds_os_reserve4BE
  - dds_os_reserve8BE
  - dds_stream_swap
  - dds_os_put_bytes_base
  - dds_os_put_bytes_aligned_base
  - is_primitive_type
  - is_primitive_or_enum_type
  - is_dheader_needed
  - get_primitive_size
  - get_collection_elem_size
  - get_adr_type_size
  - get_jeq4_type_size
  - type_has_subtype_or_members
  - seq_is_bounded
  - bitmask_value_valid
  - op_type_external
  - op_type_optional
  - op_type_base
  - check_optimize_impl
  - dds_stream_check_optimize1
  - dds_stream_check_optimize
  - dds_stream_get_ops_info_seq
  - dds_stream_get_ops_info_arr
  - dds_stream_get_ops_info_uni
  - dds_stream_get_ops_info_pl
  - dds_stream_get_ops_info1
  - dds_stream_countops_keyoffset
  - dds_stream_get_ops_info
  - dds_stream_reuse_string_bound
  - dds_stream_reuse_string
  - dds_stream_reuse_string_empty
  - wstring_utf16_len
  - wstring_from_utf16
  - dds_stream_reuse_wstring_bound
  - dds_stream_reuse_wstring
  - dds_stream_reuse_wstring_empty
  - dds_stream_skip_forward
  - dds_stream_skip_string
  - dds_stream_skip_wstring
  - key_optimized_allowed
  - ddsrt_nonnull_all
  - find_union_case
  - skip_sequence_insns
  - skip_array_insns
  - skip_array_default
  - stream_union_switch_case
  - dds_stream_union_member_alloc_external
  - skip_union_default
  - get_length_code_seq
  - get_length_code_arr
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - dds_stream_to_BE_insitu
  - dds_stream_to_LE_insitu
  - dds_stream_to_BE_insitu
  - dds_stream_to_LE_insitu
  - write_error
  - write_error_ops
  - write_error_bool
  - STREAM_SIZE_CHECK_INIT
  - STREAM_SIZE_CHECK
  - STREAM_SIZE_CHECK_INIT
  - STREAM_SIZE_CHECK
  - dds_stream_write_sample
  - dds_stream_write_sampleLE
  - dds_stream_write_sampleBE
  - dds_stream_write_sample
  - dds_stream_write_sampleLE
  - dds_stream_write_sampleBE
  - dds_stream_write_with_byte_order
  - getsize_reserve
  - getsize_reserve_many
  - dds_stream_getsize_string
  - dds_stream_getsize_wstring
  - dds_stream_getsize_seq
  - dds_stream_getsize_arr
  - dds_stream_getsize_union_discriminant
  - dds_stream_getsize_uni
  - dds_stream_getsize_adr
  - dds_stream_getsize_delimited
  - dds_stream_getsize_xcdr1_pl_member
  - dds_stream_getsize_xcdr2_pl_member
  - dds_stream_getsize_pl_memberlist
  - dds_stream_getsize_xcdr1_pl
  - dds_stream_getsize_xcdr2_pl
  - dds_stream_getsize_impl
  - ddsrt_nonnull_all
  - dds_stream_getsize_sample
  - dds_stream_getsize_key_impl
  - dds_stream_getsize_key
  - malloc_sequence_buffer
  - grow_sequence_buffer_initialize
  - adjust_sequence_buffer_initialize
  - adjust_sequence_buffer
  - stream_read_xcdr1_paramheader
  - ddsrt_nonnull_all
  - initialize_and_skip_sequence
  - dds_stream_read_seq
  - dds_stream_read_arr
  - dds_stream_read_uni
  - dds_stream_alloc_external
  - stream_skip_member
  - dds_stream_read_adr
  - dds_stream_skip_adr
  - dds_stream_skip_adr_default
  - dds_stream_skip_delimited_default
  - dds_stream_skip_pl_member_default
  - dds_stream_skip_pl_memberlist_default
  - dds_stream_skip_pl_default
  - dds_stream_skip_default
  - dds_stream_read_delimited
  - dds_stream_read_pl_member
  - dds_stream_read_xcdr1_pl
  - dds_stream_read_xcdr2_pl
  - dds_stream_read_impl
  - dds_stream_read
  - normalize_error
  - normalize_error_offset
  - normalize_error_bool
  - normalize_error_ops
  - check_align_prim
  - check_align_prim_many
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - normalize_bool
  - ddsrt_nonnull_all
  - read_and_normalize_uint8
  - read_and_normalize_uint16
  - read_and_normalize_uint32
  - read_and_normalize_uint64
  - ddsrt_nonnull_all
  - read_normalize_enum
  - ddsrt_nonnull_all
  - read_normalize_bitmask
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - normalize_wchar
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - normalize_seq
  - normalize_arr
  - ddsrt_nonnull_all
  - normalize_uni
  - stream_read_normalize_xcdr1_paramheader
  - stream_read_normalize_xcdr1_paramheader_optional
  - stream_normalize_adr_impl
  - stream_normalize_adr
  - stream_normalize_delimited_impl
  - stream_normalize_delimited
  - dds_stream_normalize_pl_member
  - stream_normalize_xcdr1_pl
  - stream_normalize_xcdr2_pl
  - stream_normalize_data_impl
  - dds_stream_normalize_xcdr2_data
  - stream_normalize_key_impl
  - ddsrt_nonnull_all
  - dds_stream_normalize
  - dds_stream_free_sample_seq
  - dds_stream_free_sample_arr
  - dds_stream_free_sample_uni
  - dds_stream_free_sample_xcdr2_pl
  - stream_free_sample_adr_nonexternal
  - stream_free_sample_adr
  - dds_stream_free_sample
  - dds_stream_extract_key_from_key_prim_op
  - dds_stream_swap_copy
  - dds_stream_extract_keyBE_from_key_prim_op
  - dds_stream_extract_key_from_data_skip_subtype
  - dds_stream_extract_key_from_data_skip_array
  - dds_stream_extract_key_from_data_skip_sequence
  - dds_stream_extract_key_from_data_skip_union
  - dds_stream_extract_key_from_data_skip_pl
  - dds_stream_extract_key_from_data_skip_adr
  - dds_stream_read_sample
  - dds_stream_read_key_impl
  - dds_stream_read_key
  - dds_stream_write_keyBE
  - dds_stream_extract_keyBE_from_data
  - dds_stream_extract_keyBE_from_key
  - prtf
  - prtf_str
  - prtf_utf32
  - prtf_wstr
  - isprint_runlen
  - prtf_enum_bitmask
  - prtf_simple
  - prtf_simple_array
  - prtf_seq
  - prtf_arr
  - prtf_uni
  - dds_stream_print_adr
  - prtf_delimited_impl
  - prtf_delimited
  - prtf_plm
  - prtf_xcdr1_pl
  - prtf_xcdr2_pl
  - dds_stream_print_sample1
  - dds_stream_print_sample
  - dds_stream_print_key
  - dds_stream_countops
  - dds_stream_minimum_xcdr_version
  - dds_stream_extensibility
  - dds_stream_type_nesting_depth
  - dds_stream_data_types
  - add_to_key_size_impl
  - add_to_key_size_xcdrv1
  - add_to_key_size_xcdrv2
  - add_to_key_size
  - set_key_size_unbounded
  - key_size_is_unbounded
  - dds_stream_key_size_arr_bseq
  - dds_stream_key_size_seq
  - dds_stream_key_size_adr
  - dds_stream_key_size_delimited
  - dds_stream_key_size_pl_member
  - dds_stream_key_size_pl_memberlist
  - dds_stream_key_size_pl
  - dds_stream_key_size_prim_op
  - dds_stream_key_size_keyhash
  - dds_stream_key_size
  - dds_stream_key_flags
  - key_cmp_idx
  - copy_desc_keys
  - mid_hash
  - mid_equal
  - dds_stream_get_memberid_table
  - dds_cdrstream_desc_init_with_nops
  - dds_cdrstream_desc_init
  - free_member_id
  - dds_cdrstream_desc_fini
  source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
  types:
    enum:
    - enumerators:
      - name: CDR_KIND_DATA
      - name: CDR_KIND_KEY
      item_type: enum
      name: cdr_data_kind
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - enumerators:
      - name: SAMPLE_DATA_INITIALIZED
      - name: SAMPLE_DATA_UNINITIALIZED
      item_type: enum
      name: sample_data_state
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - enumerators:
      - name: NPHR1_NOT_FOUND
      - name: NPHR1_PRESENT
      - name: NPHR1_LIST_END
      - name: NPHR1_NOT_PRESENT
      - name: NPHR1_ERROR
      item_type: enum
      name: normalize_xcdr1_paramheader_result
      pos:
        line_end: 4223
        line_start: 4217
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - enumerators:
      - name: NPMR_NOT_FOUND
      - name: NPMR_FOUND
      - name: NPMR_ERROR
      item_type: enum
      name: normalize_pl_member_result
      pos:
        line_end: 4481
        line_start: 4477
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    preproc_defs:
    - item_type: preproc_def
      name: DDS_OSTREAM_T
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: TOKENPASTE3(dds_ostream, NAME_BYTE_ORDER_EXT, _t)
    - item_type: preproc_def
      name: RESTRICT_OSTREAM_T
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: TOKENPASTE3(restrict_ostream, NAME_BYTE_ORDER_EXT, _t)
    - item_type: preproc_def
      name: EMHEADER_FLAG_MASK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: EMHEADER_FLAG_MUSTUNDERSTAND
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: EMHEADER_LENGTH_CODE_MASK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: 0x70000000u
    - item_type: preproc_def
      name: EMHEADER_MEMBERID_MASK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: 0x0fffffffu
    - item_type: preproc_def
      name: XCDR1_MAX_ALIGN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '8'
    - item_type: preproc_def
      name: XCDR2_MAX_ALIGN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LENGTH_CODE_1B
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LENGTH_CODE_2B
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LENGTH_CODE_4B
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LENGTH_CODE_8B
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LENGTH_CODE_NEXTINT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LENGTH_CODE_ALSO_NEXTINT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LENGTH_CODE_ALSO_NEXTINT4
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LENGTH_CODE_ALSO_NEXTINT8
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: '7'
    - item_type: preproc_def
      name: to_BO4u
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(ddsrt_to, 4u)
    - item_type: preproc_def
      name: dds_os_put1BO
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_put1)
    - item_type: preproc_def
      name: dds_os_put2BO
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_put2)
    - item_type: preproc_def
      name: dds_os_put4BO
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_put4)
    - item_type: preproc_def
      name: dds_os_put8BO
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_put8)
    - item_type: preproc_def
      name: dds_os_reserve4BO
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_reserve4)
    - item_type: preproc_def
      name: dds_os_reserve8BO
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_os_reserve8)
    - item_type: preproc_def
      name: dds_ostreamBO_fini
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_ostream, _fini)
    - item_type: preproc_def
      name: dds_stream_write_stringBO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_string)
    - item_type: preproc_def
      name: dds_stream_write_wstringBO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_wstring)
    - item_type: preproc_def
      name: dds_stream_write_wcharBO
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_wchar)
    - item_type: preproc_def
      name: dds_stream_write_seqBO
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_seq)
    - item_type: preproc_def
      name: dds_stream_write_arrBO
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_arr)
    - item_type: preproc_def
      name: dds_stream_write_bool_valueBO
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_bool_value)
    - item_type: preproc_def
      name: dds_stream_write_bool_arrBO
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_bool_arr)
    - item_type: preproc_def
      name: dds_stream_write_enum_valueBO
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_enum_value)
    - item_type: preproc_def
      name: dds_stream_write_enum_arrBO
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_enum_arr)
    - item_type: preproc_def
      name: dds_stream_write_bitmask_valueBO
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_bitmask_value)
    - item_type: preproc_def
      name: dds_stream_write_bitmask_arrBO
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_bitmask_arr)
    - item_type: preproc_def
      name: dds_stream_write_union_discriminantBO
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_union_discriminant)
    - item_type: preproc_def
      name: dds_stream_write_uniBO
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_uni)
    - item_type: preproc_def
      name: dds_stream_write_with_midBO
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_with_mid)
    - item_type: preproc_def
      name: dds_stream_writeBO
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write)
    - item_type: preproc_def
      name: dds_stream_write_implBO
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_impl)
    - item_type: preproc_def
      name: dds_stream_write_xcdr1_paramheaderBO
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr1_paramheader)
    - item_type: preproc_def
      name: dds_stream_write_xcdr1_paramheader_closeBO
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr1_paramheader_closeBO)
    - item_type: preproc_def
      name: dds_stream_write_xcdr1_param_list_endBO
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr1_param_list_end)
    - item_type: preproc_def
      name: dds_stream_write_adrBO
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_adr)
    - item_type: preproc_def
      name: dds_stream_write_xcdr1_plBO
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr1_pl)
    - item_type: preproc_def
      name: dds_stream_write_xcdr2_plBO
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr2_pl)
    - item_type: preproc_def
      name: dds_stream_write_pl_memberlistBO
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_pl_memberlist)
    - item_type: preproc_def
      name: dds_stream_write_xcdr1_pl_memberBO
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr1_pl_member)
    - item_type: preproc_def
      name: dds_stream_write_xcdr2_pl_memberBO
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_xcdr2_pl_member)
    - item_type: preproc_def
      name: dds_stream_write_delimitedBO
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_delimited)
    - item_type: preproc_def
      name: dds_stream_write_keyBO
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME_BYTE_ORDER(dds_stream_write_key)
    - item_type: preproc_def
      name: dds_stream_write_keyBO_restrict
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_write_key, _restrict)
    - item_type: preproc_def
      name: dds_stream_write_keyBO_impl
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_write_key, _impl)
    - item_type: preproc_def
      name: dds_stream_to_BO_insitu
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_to_, _insitu)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_data_restrict
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_data_restrict)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_data
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_data)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_data1
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_data1)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_data_adr
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_data_adr)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_key_prim_op
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_key_prim_op)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_data_skip_delimited
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_data_skip_delimited)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_key_impl
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_key_impl)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_key_optimized
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_key_optimized)
    - item_type: preproc_def
      name: dds_stream_extract_keyBO_from_key
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: NAME2_BYTE_ORDER(dds_stream_extract_key, _from_key)
    - item_type: preproc_def
      name: dds_stream_to__insitu
      pos:
        line_end: 1690
        line_start: 1689
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: dds_stream_to_LE_insitu
    - item_type: preproc_def
      name: dds_stream_to__insitu
      pos:
        line_end: 1704
        line_start: 1703
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: dds_stream_to_BE_insitu
    - item_type: preproc_def
      name: NAME_BYTE_ORDER_EXT
      pos:
        line_end: 1712
        line_start: 1711
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: LE
    - item_type: preproc_def
      name: NAME_BYTE_ORDER_EXT
      pos:
        line_end: 1717
        line_start: 1716
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: BE
    - item_type: preproc_def
      name: CDR_SIZE_MAX
      pos:
        line_end: 3444
        line_start: 3443
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: ((uint32_t) 0xfffffff0)
    - item_type: preproc_def
      name: NAME_BYTE_ORDER_EXT
      pos:
        line_end: 5652
        line_start: 5651
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type_or_value: BE
    structs:
    - fields:
      - name: '* restrict m_buffer'
        type: unsigned char
      - name: m_size
        type: uint32_t
      - name: m_index
        type: uint32_t
      - name: m_xcdr_version
        type: uint32_t
      - name: m_align_off
        type: uint32_t
      item_type: struct
      name: restrict_ostream_base
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: x
        type: restrict_ostream_base_t
      item_type: struct
      name: restrict_ostream
      pos:
        line_end: 45
        line_start: 43
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: x
        type: restrict_ostream_base_t
      item_type: struct
      name: restrict_ostreamBE
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: x
        type: restrict_ostream_base_t
      item_type: struct
      name: restrict_ostreamLE
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: sz_xcdrv1
        type: uint32_t
      - name: sz_xcdrv2
        type: uint32_t
      - name: min_xcdrv
        type: uint16_t
      - name: is_appendable
        type: bool
      - name: is_mutable
        type: bool
      - name: is_sequence
        type: bool
      - name: is_array_nonprim
        type: bool
      item_type: struct
      name: key_props
      pos:
        line_end: 149
        line_start: 141
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: '*toplevel_op'
        type: uint32_t
      - name: '*ops_end'
        type: uint32_t
      - name: min_xcdrv
        type: uint16_t
      - name: nesting_max
        type: uint32_t
      - name: data_types
        type: dds_data_type_properties_t
      item_type: struct
      name: dds_cdrstream_ops_info
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: a
        type: uint32_t
      item_type: struct
      name: align
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: pos
        type: size_t
      - name: align_off
        type: size_t
      - name: alignmask
        type: size_t
      - name: cdr_kind
        type: enum cdr_data_kind
      - name: xcdr_version
        type: uint32_t
      item_type: struct
      name: getsize_state
      pos:
        line_end: 1831
        line_start: 1825
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    typedefs:
    - item_type: typedef
      name: align_t
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
      type: uint32_t
    union:
    - fields:
      - name: u32[2]
        type: uint32_t
      - name: u64
        type: uint64_t
      item_type: union
      name: u
      pos:
        line_end: 3584
        line_start: 3584
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: s
        type: int8_t
      - name: u
        type: uint8_t
      item_type: union
      name: x = { .u = dds_is_get1 (is) }
      pos:
        line_end: 5805
        line_start: 5805
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: s
        type: int16_t
      - name: u
        type: uint16_t
      item_type: union
      name: x = { .u = dds_is_get2 (is) }
      pos:
        line_end: 5812
        line_start: 5812
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: s
        type: int32_t
      - name: u
        type: uint32_t
      - name: f
        type: float
      item_type: union
      name: x = { .u = dds_is_get4 (is) }
      pos:
        line_end: 5819
        line_start: 5819
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
    - fields:
      - name: s
        type: int64_t
      - name: u
        type: uint64_t
      - name: f
        type: double
      item_type: union
      name: x = { .u = dds_is_get8 (is) }
      pos:
        line_end: 5828
        line_start: 5828
        source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream.c
- function_names:
  - dds_stream_write_keyBO_impl
  - ddsrt_nonnull_all
  - ddsrt_nonnull_all
  - dds_stream_extract_keyBO_from_data_adr
  - dds_stream_extract_keyBO_from_data_skip_delimited
  - dds_stream_extract_keyBO_from_data1
  - dds_stream_extract_keyBO_from_data_restrict
  - ddsrt_nonnull_all
  - dds_stream_extract_keyBO_from_key_impl
  - dds_stream_extract_keyBO_from_key_optimized
  - dds_stream_extract_keyBO_from_key
  source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_keys.part.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_stream_write_bool_valueBO
  - dds_stream_write_enum_valueBO
  - dds_stream_write_bitmask_valueBO
  - dds_stream_write_stringBO
  - dds_stream_write_wstringBO
  - dds_stream_write_wcharBO
  - dds_stream_write_bool_arrBO
  - dds_stream_write_enum_arrBO
  - dds_stream_write_bitmask_arrBO
  - dds_stream_write_seqBO
  - dds_stream_write_arrBO
  - dds_stream_write_union_discriminantBO
  - dds_stream_write_uniBO
  - dds_stream_write_xcdr1_paramheaderBO
  - dds_stream_write_xcdr1_param_list_endBO
  - dds_stream_write_xcdr1_paramheader_closeBO
  - dds_stream_write_adrBO
  - dds_stream_write_delimitedBO
  - dds_stream_write_xcdr1_pl_memberBO
  - dds_stream_write_xcdr2_pl_memberBO
  - dds_stream_write_pl_memberlistBO
  - dds_stream_write_xcdr1_plBO
  - dds_stream_write_xcdr2_plBO
  - dds_stream_write_implBO
  - dds_stream_write_with_midBO
  - dds_stream_writeBO
  source_file: /src/cyclonedds/src/core/cdr/src/dds_cdrstream_write.part.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
  types:
    enum:
    - enumerators:
      - name: DDS_CDR_TYPE_EXT_FINAL
        value: '0'
      - name: DDS_CDR_TYPE_EXT_APPENDABLE
        value: '1'
      - name: DDS_CDR_TYPE_EXT_MUTABLE
        value: '2'
      item_type: enum
      name: dds_cdr_type_extensibility
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - enumerators:
      - name: DDS_CDR_KEY_SERIALIZATION_SAMPLE
      - name: DDS_CDR_KEY_SERIALIZATION_KEYHASH
      item_type: enum
      name: dds_cdr_key_serialization_kind
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    preproc_defs:
    - item_type: preproc_def
      name: DDS_CDRSTREAM_MAX_NESTING_DEPTH
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_VERSION_UNDEF
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_VERSION_1
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_VERSION_2
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_FORMAT_PLAIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_FORMAT_DELIMITED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSI_RTPS_CDR_ENC_FORMAT_PL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDS_CDR_HDR_PADDING_MASK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_MAX_PARAM_ID
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x3f00u        // Maximum parameter ID that can be used with
        short PL encoding
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_MAX_PARAM_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: UINT16_MAX     // Maximum parameter length that can be used with
        short PL encoding
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_PID_EXTENDED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x3f01u        // Indicates the extended (long) PL encoding is
        used
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_PID_LIST_END
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x3f02u        // Indicates the end of the parameter list data
        structure
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_PID_EXT_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x8u           // Value of the param header length field in case
        of extended PL encoding
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_FLAG_IMPL_EXT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x8000u        // Flag for implementation specific interpretation
        of the parameter (not implemented)
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_FLAG_MU
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x4000u        // Flag to indicate the parameter is must-understand
        in short PL header
    - item_type: preproc_def
      name: DDS_XCDR1_PL_SHORT_PID_MASK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: (0x3fffu | DDS_XCDR1_PL_SHORT_FLAG_IMPL_EXT)
    - item_type: preproc_def
      name: DDS_XCDR1_PL_LONG_FLAG_IMPL_EXT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x80000000u    // Flag used for RTPS discovery data types
    - item_type: preproc_def
      name: DDS_XCDR1_PL_LONG_FLAG_MU
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x40000000u    // Flag to indicate the parameter is must-understand
        in extended PL header
    - item_type: preproc_def
      name: DDS_XCDR1_PL_LONG_UNSPECIFIED1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x20000000u    // For future extension
    - item_type: preproc_def
      name: DDS_XCDR1_PL_LONG_UNSPECIFIED2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: 0x10000000u    // For future extension
    - item_type: preproc_def
      name: DDS_XCDR1_PL_LONG_MID_MASK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: (0x0fffffffu | DDS_XCDR1_PL_LONG_FLAG_IMPL_EXT)
    - item_type: preproc_def
      name: DDS_CDR_CALCULATED_FLAGS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
      type_or_value: (DDS_TOPIC_FIXED_KEY | DDS_TOPIC_FIXED_KEY_XCDR2 | DDS_TOPIC_FIXED_KEY_XCDR2_KEYHASH
        | DDS_TOPIC_KEY_APPENDABLE | DDS_TOPIC_KEY_MUTABLE | DDS_TOPIC_KEY_SEQUENCE
        | DDS_TOPIC_KEY_ARRAY_NONPRIM)
    structs:
    - fields:
      - name: identifier
        type: unsigned short
      - name: options
        type: unsigned short
      item_type: struct
      name: dds_cdr_header
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: '*m_buffer'
        type: unsigned char
      - name: m_size
        type: uint32_t
      - name: m_index
        type: uint32_t
      - name: m_xcdr_version
        type: uint32_t
      item_type: struct
      name: dds_istream
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: '*m_buffer'
        type: unsigned char
      - name: m_size
        type: uint32_t
      - name: m_index
        type: uint32_t
      - name: m_xcdr_version
        type: uint32_t
      item_type: struct
      name: dds_ostream
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: x
        type: dds_ostream_t
      item_type: struct
      name: dds_ostreamBE
      pos:
        line_end: 104
        line_start: 102
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: x
        type: dds_ostream_t
      item_type: struct
      name: dds_ostreamLE
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: '* (*malloc) (size_t size)'
        type: void
      - name: '* (*realloc) (void *ptr, size_t new_size)'
        type: void
      - name: (*free) (void *pt)
        type: void
      item_type: struct
      name: dds_cdrstream_allocator
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: ops_offs
        type: uint32_t
      - name: idx
        type: uint32_t
      item_type: struct
      name: dds_cdrstream_desc_key
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: nkeys
        type: uint32_t
      - name: '*keys'
        type: struct dds_cdrstream_desc_key
      - name: '*keys_definition_order'
        type: struct dds_cdrstream_desc_key
      item_type: struct
      name: dds_cdrstream_desc_keys
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: nops
        type: uint32_t
      - name: '*ops'
        type: uint32_t
      item_type: struct
      name: dds_cdrstream_desc_op_seq
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: '*table'
        type: struct ddsrt_hh
      - name: '* op0'
        type: uint32_t
      item_type: struct
      name: dds_cdrstream_desc_mid_table
      pos:
        line_end: 137
        line_start: 134
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: adr_offs
        type: uint32_t
      - name: mid
        type: uint32_t
      item_type: struct
      name: dds_cdrstream_desc_mid
      pos:
        line_end: 142
        line_start: 139
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    - fields:
      - name: size
        type: uint32_t
      - name: align
        type: uint32_t
      - name: flagset
        type: uint32_t
      - name: keys
        type: struct dds_cdrstream_desc_keys
      - name: ops
        type: dds_cdrstream_desc_op_seq_t
      - name: opt_size_xcdr1
        type: size_t
      - name: opt_size_xcdr2
        type: size_t
      - name: member_ids
        type: struct dds_cdrstream_desc_mid_table
      item_type: struct
      name: dds_cdrstream_desc
      pos:
        line_end: 153
        line_start: 144
        source_file: /src/cyclonedds/src/core/cdr/include/dds/cdr/dds_cdrstream.h
    typedefs: []
    union: []
- function_names:
  - test_DDS_Security_Exception_vset
  - test_ddsrt_vasprintf
  - test_collect_sample
  - main
  source_file: /src/cyclonedds/src/core/xtests/symbol_export/symbol_export.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - oops
  - oops
  - wait_for_writer
  - get_subscription_matched_count
  - main
  source_file: /src/cyclonedds/src/core/xtests/initsampledeliv/subscriber.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - oops
  - oops
  - on_pub_matched
  - get_publication_matched_count
  - main
  source_file: /src/cyclonedds/src/core/xtests/initsampledeliv/publisher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_tstamp
  - dds_time_uniq
  - mksample
  - mkkeysample
  - rand_texp
  - rand_deadline
  - store
  - mkwr
  - fwr
  - mkrhc
  - frhc
  - si2is
  - si2ss
  - si2vs
  - docheck
  - print_seq
  - rdtkcond
  - rdall
  - tkall
  - print_condmask
  - rdcond
  - tkcond
  - wait_gc_cycle_impl
  - wait_gc_cycle
  - qcpred_key
  - qcpred_attr2
  - qcpred_attr3
  - get_condaddr
  - print_cond_w_addr
  - readcond_wrapper
  - get_gv
  - test_conditions
  - stacktracethread
  - main
  source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATIC_ARRAY_DIM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
      type_or_value: static
    - item_type: preproc_def
      name: N_KEYVALS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
      type_or_value: '27'
    - item_type: preproc_def
      name: MAX_HIST_DEPTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*st'
        type: char
      - name: iid
        type: uint64_t
      - name: wr_iid
        type: uint64_t
      - name: dgen
        type: uint32_t
      - name: nwgen
        type: uint32_t
      - name: vd
        type: int
      - name: keyval
        type: int32_t
      - name: seq
        type: int32_t
      item_type: struct
      name: check
      pos:
        line_end: 270
        line_start: 261
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - fields:
      - name: when
        type: ddsrt_mtime_t
      - name: period
        type: dds_duration_t
      - name: stop
        type: bool
      - name: lock
        type: ddsrt_mutex_t
      - name: cond
        type: ddsrt_cond_mtime_t
      item_type: struct
      name: stacktracethread_arg
      pos:
        line_end: 910
        line_start: 904
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    - fields:
      - name: (*create) (dds_entity_t, uint32_t, dds_querycondition_filter_fn)
        type: dds_entity_t
      - name: filter0
        type: dds_querycondition_filter_fn
      - name: filter1
        type: dds_querycondition_filter_fn
      item_type: struct
      name: "zztab[] = {\n      { readcond_wrapper, 0, 0 },\n      { dds_create_querycondition,
        qcpred_key, qcpred_attr2 },\n      { dds_create_querycondition, qcpred_attr2,
        qcpred_attr3 }\n    }"
      pos:
        line_end: 1149
        line_start: 1145
        source_file: /src/cyclonedds/src/core/xtests/rhc_torture/rhc_torture.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/tests/strlcpy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_PRNG
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/ddsrt/tests/random.c
      type_or_value: '4'
    - item_type: preproc_def
      name: N_DATA
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/tests/random.c
      type_or_value: '10'
    - item_type: preproc_def
      name: N_BINS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/tests/random.c
      type_or_value: '128'
    - item_type: preproc_def
      name: N_PER_BIN
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/tests/random.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - CU_Test
  - sockaddrfromstr_test
  - CU_Test
  - CU_Test
  - CU_Test
  - gethostbyname_test
  source_file: /src/cyclonedds/src/ddsrt/tests/socket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_uint32
  - equals_uint32
  - compare_uint32
  - swap
  - init
  - WRAP
  - WRAP
  - free_buckets
  - hhnew
  - hhfree
  - chhnew
  - chhfree
  - ehhnew
  - ehhfree
  - adj_nop
  - adj_seq
  - chhtest_gc
  - chhtest_thread
  - chhtest_check
  - chhtest_count
  source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NKEYS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAX_ITERS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
      type_or_value: '1000000'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '* (*new) (void)'
        type: void
      - name: (*free) (void *h)
        type: void
      - name: '* (*lookup) (void *h, const void *v)'
        type: void
      - name: (*add) (void *h, void *v)
        type: int
      - name: (*remove) (void *h, const void *v)
        type: int
      item_type: struct
      name: ops
      pos:
        line_end: 104
        line_start: 97
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    - fields:
      - name: '*block'
        type: void
      - name: '*next'
        type: struct gcelem
      item_type: struct
      name: gcelem
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    - fields:
      - name: '*stop'
        type: ddsrt_atomic_uint32_t
      - name: '*chh'
        type: struct ddsrt_chh
      - name: '*keys'
        type: uint32_t
      - name: nkeys
        type: uint32_t
      - name: adds
        type: uint32_t
      - name: check
        type: bool
      item_type: struct
      name: chhtest_thread_arg
      pos:
        line_end: 245
        line_start: 238
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
    typedefs:
    - item_type: typedef
      name: (*adj_fun_t) (uint32_t *v)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/cyclonedds/src/ddsrt/tests/hopscotch.c
      type: void
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/tests/string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/tests/retcode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/atomics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/heap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fill
  - fill_wrapped
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/tasklist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*fill_t)(ddsrt_tasklist_t *)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/tests/tasklist.c
      type: void
    union: []
- function_names:
  - fmemopen
  - count
  - copy
  - reset
  - setup
  - teardown
  - dummy
  - block
  - run
  - abort_handler
  - abort_log
  - abort_trace
  source_file: /src/cyclonedds/src/ddsrt/tests/log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_FMEMOPEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HAVE_FMEMOPEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_DDS_LC_FATAL
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_DDS_LC_FATAL
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*cond'
        type: ddsrt_cond_t
      - name: '*mutex'
        type: ddsrt_mutex_t
      - name: before
        type: dds_time_t
      - name: after
        type: dds_time_t
      item_type: struct
      name: arg
      pos:
        line_end: 349
        line_start: 344
        source_file: /src/cyclonedds/src/ddsrt/tests/log.c
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/bits.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/environ.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - mutex_lock_routine
  - CU_Test
  - mutex_trylock_routine
  - CU_Test
  - rwlock_tryread_routine
  - rwlock_trywrite_routine
  - CU_Test
  - do_once
  - once_routine
  - CU_Test
  - WAITUNTIL_ARG
  - waituntil_check
  - WAITUNTIL_THREAD
  - WAITUNTIL_TEST
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: READ
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: (1)
    - item_type: preproc_def
      name: TRYREAD
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: (2)
    - item_type: preproc_def
      name: WRITE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: (3)
    - item_type: preproc_def
      name: TRYWRITE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: (4)
    - item_type: preproc_def
      name: ONCE_THREADS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: (8)
    - item_type: preproc_def
      name: COND_WAITUNTIL_DELAY
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
      type_or_value: DDS_MSECS(100)
    structs:
    - fields:
      - name: cnt
        type: ddsrt_atomic_uint32_t
      - name: lock
        type: ddsrt_mutex_t
      - name: rwlock
        type: ddsrt_rwlock_t
      - name: cond
        type: ddsrt_cond_wctime_t
      - name: abstime
        type: ddsrt_wctime_t
      item_type: struct
      name: thread_arg_t
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/tests/sync.c
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - thread_main
  - CU_Test
  - thread_main_waitforme
  - thread_main_waitforit
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/thread.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: res
        type: int
      - name: ret
        type: int
      - name: '*attr'
        type: ddsrt_threadattr_t
      item_type: struct
      name: thread_arg_t
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/tests/thread.c
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/strtoll.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - make_thread_argument
  - reset_one
  - reset_two
  - thread_main
  - setup
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_RESET_1
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: THREAD_RESET_2
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: THREAD_RUN_OFFSET
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
      type_or_value: (4)
    - item_type: preproc_def
      name: THREAD_RUN_1
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
      type_or_value: (1<<(THREAD_RUN_OFFSET))
    - item_type: preproc_def
      name: THREAD_RUN_2
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
      type_or_value: (1<<(THREAD_RUN_OFFSET + 1))
    structs:
    - fields:
      - name: flags
        type: int
      - name: pop
        type: int
      - name: one
        type: int
      - name: two
        type: int
      - name: executed
        type: int
      - name: cancelled
        type: int
      - name: block
        type: int
      - name: '*mutex'
        type: ddsrt_mutex_t
      - name: thread
        type: ddsrt_thread_t
      item_type: struct
      name: thread_argument
      pos:
        line_end: 47
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/tests/thread_cleanup.c
    typedefs: []
    union: []
- function_names:
  - TEST_ABORT_IF_NULL
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/dynlib.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_LIB_ABSOLUTE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/tests/dynlib.c
      type_or_value: '""TEST_LIB_DIR""TEST_LIB_SEP""TEST_LIB_FILE""'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*func_set_int)(int val)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/cyclonedds/src/ddsrt/tests/dynlib.c
      type: void
    - item_type: typedef
      name: (*func_get_int)(void)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/cyclonedds/src/ddsrt/tests/dynlib.c
      type: int
    union: []
- function_names:
  - set_int
  - get_int
  source_file: /src/cyclonedds/src/ddsrt/tests/dl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_ASSERT_TIMEVAL_EQ
  - CU_Test
  - sockets_pipe
  - select_timeout_routine
  - CU_Test
  - recv_routine
  - CU_Test
  - recvmsg_routine
  - CU_Test
  source_file: /src/cyclonedds/src/ddsrt/tests/select.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: delay
        type: dds_duration_t
      - name: skew
        type: dds_duration_t
      - name: sockext
        type: ddsrt_socket_ext_t
      item_type: struct
      name: thread_arg_t
      pos:
        line_end: 112
        line_start: 108
        source_file: /src/cyclonedds/src/ddsrt/tests/select.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_todigit
  - ullfstr
  - ddsrt_strtoll
  - ddsrt_strtoull
  - ddsrt_atoll
  - ddsrt_atoull
  - ddsrt_ulltostr
  - ddsrt_lltostr
  source_file: /src/cyclonedds/src/ddsrt/src/strtol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - errorN
  - error
  - expand_append
  - expand_var
  - expand_varbrace
  - expand_varsimple
  - expand_varchar
  - ddsrt_expand_vars_sh1
  - ddsrt_expand_vars1
  - ddsrt_expand_vars_sh
  - ddsrt_expand_vars
  source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
      type_or_value: (10 * 1048576)
    structs: []
    typedefs:
    - item_type: typedef
      name: '* (*expand_fn)(const char *src0, expand_lookup_fn lookup, void * data,
        uint32_t depth)'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/src/expand_vars.c
      type: char
    union: []
- function_names:
  - cb_null_elem_open
  - cb_null_attr
  - cb_null_elem_data
  - cb_null_elem_close
  - cb_null_error
  - ddsrt_xmlp_new_common
  - ddsrt_xmlp_new_setCB
  - ddsrt_xmlp_new_file
  - ddsrt_xmlp_new_string
  - ddsrt_xmlp_set_options
  - ddsrt_xmlp_get_bufpos
  - ddsrt_xmlp_free
  - make_chars_available
  - set_input_marker
  - discard_input_marker
  - have_input_marker
  - rewind_to_input_marker
  - next_char
  - peek_char
  - peek_chars_impl
  - peek_chars
  - qq_isspace
  - qq_isidentfirst
  - qq_isidentcont
  - unescape_into_utf8
  - unescape_insitu
  - discard_payload
  - append_to_payload
  - append_to_payload_no_unescape
  - save_payload
  - next_token_ident
  - next_token_tag_withoutclose
  - next_token_string
  - skip_comment
  - processing_instruction
  - drop_peek_token
  - next_token
  - peek_token
  - parse_element
  - PE_ERROR2
  - PE_ERROR
  - PE_LOCAL_ERROR
  - ddsrt_xmlp_parse
  source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOK_EOF
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: TOK_OPEN_TAG
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-2'
    - item_type: preproc_def
      name: TOK_ID
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-3'
    - item_type: preproc_def
      name: TOK_STRING
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-4'
    - item_type: preproc_def
      name: TOK_CLOSE_TAG
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-5'
    - item_type: preproc_def
      name: TOK_SHORTHAND_CLOSE_TAG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-6'
    - item_type: preproc_def
      name: TOK_ERROR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-7'
    - item_type: preproc_def
      name: TOK_CDATA
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: '-8'
    - item_type: preproc_def
      name: NOMARKER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
      type_or_value: (~(size_t)0)
    structs:
    - fields:
      - name: cbufp
        type: size_t
      - name: cbufn
        type: size_t
      - name: cbufmax
        type: size_t
      - name: cbufmark
        type: size_t
      - name: eof
        type: bool
      - name: '*cbuf'
        type: unsigned char
      - name: '*fp'
        type: FILE
      - name: line
        type: int
      - name: prevline
        type: int
      - name: linemark
        type: int
      - name: peektok
        type: int
      - name: '*peekpayload'
        type: char
      - name: error
        type: bool
      - name: tpp
        type: size_t
      - name: tpsz
        type: size_t
      - name: '*tp'
        type: char
      - name: tpescp
        type: size_t
      - name: nest
        type: int
      - name: '*varg'
        type: void
      - name: options
        type: uint32_t
      - name: cb
        type: struct ddsrt_xmlp_callbacks
      item_type: struct
      name: ddsrt_xmlp_state
      pos:
        line_end: 57
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/src/xmlparser.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_init_impl
  - ddsrt_fini_impl
  - ddsrt_init
  - ddsrt_fini
  - ddsrt_get_singleton_mutex
  - ddsrt_get_singleton_cond
  - ddsrt_cdtor
  - ddsrt_ctor
  - ddsrt_dtor
  source_file: /src/cyclonedds/src/ddsrt/src/cdtors.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INIT_STATUS_OK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/src/cdtors.c
      type_or_value: 0x80000000u
    - item_type: preproc_def
      name: INIT_COUNT_MASK
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/cdtors.c
      type_or_value: 0x7fffffffu
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_get_machineid
  source_file: /src/cyclonedds/src/ddsrt/src/machineid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_threadattr_init
  source_file: /src/cyclonedds/src/ddsrt/src/threads.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_duration_to_timeval_ceil
  source_file: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ddsrt_tv_sec_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
      type: long
    - item_type: typedef
      name: ddsrt_tv_usec_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
      type: long
    - item_type: typedef
      name: ddsrt_tv_sec_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/sockets_priv.h
      type: time_t
    union: []
- function_names:
  - init_genrand
  - init_by_array
  - ddsrt_prng_init_simple
  - ddsrt_prng_init
  - ddsrt_prng_random
  - ddsrt_random
  - ddsrt_prng_random_name
  - ddsrt_random_init
  - ddsrt_random_fini
  source_file: /src/cyclonedds/src/ddsrt/src/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/src/random.c
      type_or_value: DDSRT_MT19937_N
    - item_type: preproc_def
      name: M
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/src/random.c
      type_or_value: '397'
    - item_type: preproc_def
      name: MATRIX_A
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/src/random.c
      type_or_value: '0x9908b0dfU   '
    - item_type: preproc_def
      name: UPPER_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/src/random.c
      type_or_value: '0x80000000U '
    - item_type: preproc_def
      name: LOWER_MASK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/ddsrt/src/random.c
      type_or_value: '0x7fffffffU '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_hh_hash_0
  - ddsrt_hh_equals_false
  - ddsrt_hh_init
  - ddsrt_hh_fini
  - ddsrt_hh_new
  - ddsrt_hh_free
  - ddsrt_hh_lookup_internal
  - ddsrt_hh_lookup
  - ddsrt_hh_find_closer_free_bucket
  - ddsrt_hh_resize
  - ddsrt_hh_add
  - ddsrt_hh_remove
  - ddsrt_hh_add_absent
  - ddsrt_hh_remove_present
  - ddsrt_hh_enum
  - ddsrt_hh_iter_first
  - ddsrt_hh_iter_next
  - ddsrt_chh_data_valid_p
  - ddsrt_chh_init
  - ddsrt_chh_fini
  - ddsrt_chh_new
  - ddsrt_chh_free
  - ddsrt_chh_lookup_internal
  - ddsrt_atomic_rmw32_nonatomic
  - ddsrt_chh_lookup
  - ddsrt_chh_find_closer_free_bucket
  - ddsrt_chh_resize
  - ddsrt_chh_add_locked
  - ddsrt_chh_add
  - ddsrt_chh_remove
  - ddsrt_chh_enum_unsafe
  - ddsrt_chh_iter_next
  - ddsrt_chh_iter_first
  - ddsrt_ehh_init
  - ddsrt_ehh_fini
  - ddsrt_ehh_new
  - ddsrt_ehh_free
  - ddsrt_ehh_lookup_internal
  - ddsrt_ehh_lookup
  - ddsrt_ehh_find_closer_free_bucket
  - ddsrt_ehh_resize
  - ddsrt_ehh_add
  - ddsrt_ehh_remove
  - ddsrt_ehh_enum
  - ddsrt_ehh_iter_first
  - ddsrt_ehh_iter_next
  source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HH_HOP_RANGE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HH_ADD_RANGE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
      type_or_value: '64'
    - item_type: preproc_def
      name: NOT_A_BUCKET
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
      type_or_value: (~(uint32_t)0)
    - item_type: preproc_def
      name: CHH_MAX_TRIES
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CHH_BUSY
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
      type_or_value: ((void *) 1)
    structs:
    - fields:
      - name: hopinfo
        type: ddsrt_atomic_uint32_t
      - name: timestamp
        type: ddsrt_atomic_uint32_t
      - name: data
        type: ddsrt_atomic_voidp_t
      item_type: struct
      name: ddsrt_chh_bucket
      pos:
        line_end: 287
        line_start: 283
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - fields:
      - name: size
        type: uint32_t
      - name: bs[]
        type: struct ddsrt_chh_bucket
      item_type: struct
      name: ddsrt_chh_bucket_array
      pos:
        line_end: 292
        line_start: 289
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - fields:
      - name: buckets
        type: ddsrt_atomic_voidp_t
      - name: hash
        type: ddsrt_hh_hash_fn
      - name: equals
        type: ddsrt_hh_equals_fn
      - name: change_lock
        type: ddsrt_mutex_t
      - name: gc_buckets
        type: ddsrt_hh_buckets_gc_fn
      - name: '*gc_buckets_arg'
        type: void
      item_type: struct
      name: ddsrt_chh
      pos:
        line_end: 301
        line_start: 294
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - fields:
      - name: hopinfo
        type: uint32_t
      - name: inuse
        type: uint32_t
      - name: data[]
        type: char
      item_type: struct
      name: ddsrt_ehh_bucket
      pos:
        line_end: 627
        line_start: 623
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    - fields:
      - name: size
        type: uint32_t
      - name: elemsz
        type: size_t
      - name: bucketsz
        type: size_t
      - name: '*buckets'
        type: char
      - name: hash
        type: ddsrt_hh_hash_fn
      - name: equals
        type: ddsrt_hh_equals_fn
      item_type: struct
      name: ddsrt_ehh
      pos:
        line_end: 636
        line_start: 629
        source_file: /src/cyclonedds/src/ddsrt/src/hopscotch.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_freeifaddrs
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_strcasecmp
  - ddsrt_strncasecmp
  - ddsrt_strsep
  - ddsrt_strlcpy
  - ddsrt_strlcat
  - ddsrt_memdup
  - ddsrt_strdup
  - ddsrt_str_replace
  - ddsrt_strndup
  - ddsrt_str_trim_ord_space
  source_file: /src/cyclonedds/src/ddsrt/src/string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_asprintf
  - snprintf
  source_file: /src/cyclonedds/src/ddsrt/src/io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_strretcode
  source_file: /src/cyclonedds/src/ddsrt/src/retcode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_atomic_lifo_init
  - ddsrt_atomic_lifo_push
  - ddsrt_atomic_lifo_pop
  - ddsrt_atomic_lifo_pushmany
  - ddsrt_atomics_init
  - ddsrt_atomics_fini
  - ddsrt_atomics_init
  - ddsrt_atomics_fini
  - ddsrt_atomics_init
  - ddsrt_atomics_fini
  - atomic64_lock_index
  - ddsrt_atomic_cas64
  - DDSRT_FAKE_ATOMIC64
  - DDSRT_FAKE_ATOMIC64_TRIPLET
  - ddsrt_atomic_ld64
  - ddsrt_atomic_st64
  - DDSRT_FAKE_SYNC_PAIR
  source_file: /src/cyclonedds/src/ddsrt/src/atomics.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_MUTEXES_LG2
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cyclonedds/src/ddsrt/src/atomics.c
      type_or_value: '4'
    - item_type: preproc_def
      name: N_MUTEXES
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/cyclonedds/src/ddsrt/src/atomics.c
      type_or_value: (1 << N_MUTEXES_LG2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_sink
  - init_lock
  - lock_sink
  - unlock_sink
  - set_log_sink
  - dds_set_log_file
  - dds_set_trace_file
  - dds_set_log_sink
  - dds_set_trace_sink
  - dds_set_log_mask
  - dds_log_cfg_init
  - print_header
  - vlog1
  - vlog
  - dds_log_cfg
  - dds_log_id
  - dds_log
  source_file: /src/cyclonedds/src/ddsrt/src/log.c
  types:
    enum:
    - enumerators:
      - name: RDLOCK
      - name: WRLOCK
      item_type: enum
      name: lock_type
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ID_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (10)
    - item_type: preproc_def
      name: MAX_TIMESTAMP_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (10 + 1 + 6)
    - item_type: preproc_def
      name: MAX_TID_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (10)
    - item_type: preproc_def
      name: HDR_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (MAX_TIMESTAMP_LEN + 2 + MAX_ID_LEN + 2 + MAX_TID_LEN + 2)
    - item_type: preproc_def
      name: BUF_OFFSET
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: HDR_LEN
    - item_type: preproc_def
      name: LOG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TRACE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
      type_or_value: (1)
    structs:
    - fields:
      - name: buf[2048]
        type: char
      - name: pos
        type: size_t
      item_type: struct
      name: log_buffer_t
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - fields:
      - name: func
        type: dds_log_write_fn_t
      - name: '*ptr'
        type: void
      - name: '*out'
        type: FILE
      item_type: struct
      name: log_sink_t
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    - fields:
      - name: c
        type: struct ddsrt_log_cfg_common
      - name: '*sink_fps[2]'
        type: FILE
      item_type: struct
      name: ddsrt_log_cfg_impl
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/src/log.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/src/bits.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - expand_lookup_env
  - ddsrt_expand_envvars_sh
  - ddsrt_expand_envvars
  source_file: /src/cyclonedds/src/ddsrt/src/environ.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: domid
        type: uint32_t
      - name: idstr[20]
        type: char
      item_type: struct
      name: expand_env_data
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/src/environ.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_circlist_init
  - ddsrt_circlist_isempty
  - ddsrt_circlist_append
  - ddsrt_circlist_remove
  - ddsrt_circlist_oldest
  - ddsrt_circlist_latest
  source_file: /src/cyclonedds/src/ddsrt/src/circlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_DOUBLE_CHAR
  - os_lcNumericGet
  - os_lcNumericReplace
  - delocalize_floating_point_str
  - ddsrt_strtod
  - ddsrt_dtostr
  - ddsrt_ftostr
  source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOUBLE_STRING_MAX_LENGTH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/strtod.c
      type_or_value: (3 + DBL_MANT_DIG - DBL_MIN_EXP)
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_MH3_ROTL32
  - ddsrt_mh3
  source_file: /src/cyclonedds/src/ddsrt/src/mh3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - COMMA
  - SEMICOLON
  - DLSYM_EXTERN
  - MAKE_DLSYM_EXTERNS_2
  - MAKE_DLSYM_EXTERNS_1
  - MAKE_DLSYM_EXTERNS
  - DLSYM_TABLE_ENTRY
  - MAKE_DLSYM_TABLE_2
  - MAKE_DLSYM_TABLE_1
  - MAKE_DLSYM_TABLE
  - DLOPEN_TABLE_ENTRY
  - ddsrt_dlopen
  - ddsrt_dlclose
  - fake_dlsym
  - ddsrt_dlsym
  - ddsrt_dlerror
  - ddsrt_dlopen
  - ddsrt_dlclose
  - ddsrt_dlsym
  - ddsrt_dlerror
  source_file: /src/cyclonedds/src/ddsrt/src/dynlib.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*f) (void)
        type: void
      item_type: struct
      name: static_dlsym_table
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib.c
    - fields:
      - name: '*name'
        type: char
      - name: '*syms'
        type: struct static_dlsym_table
      item_type: struct
      name: static_dlopen_table
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/src/dynlib.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/src/bswap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md5_process
  - ROTATE_LEFT
  - F
  - SET
  - G
  - SET
  - H
  - SET
  - I
  - SET
  - ddsrt_md5_init
  - ddsrt_md5_append
  - ddsrt_md5_finish
  source_file: /src/cyclonedds/src/ddsrt/src/md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: T_MASK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: ((ddsrt_md5_word_t)~0)
    - item_type: preproc_def
      name: T1
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x28955b87)
    - item_type: preproc_def
      name: T2
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x173848a9)
    - item_type: preproc_def
      name: T3
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x242070db'
    - item_type: preproc_def
      name: T4
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x3e423111)
    - item_type: preproc_def
      name: T5
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0a83f050)
    - item_type: preproc_def
      name: T6
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x4787c62a'
    - item_type: preproc_def
      name: T7
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x57cfb9ec)
    - item_type: preproc_def
      name: T8
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x02b96afe)
    - item_type: preproc_def
      name: T9
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x698098d8'
    - item_type: preproc_def
      name: T10
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x74bb0850)
    - item_type: preproc_def
      name: T11
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0000a44e)
    - item_type: preproc_def
      name: T12
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x76a32841)
    - item_type: preproc_def
      name: T13
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x6b901122'
    - item_type: preproc_def
      name: T14
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x02678e6c)
    - item_type: preproc_def
      name: T15
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x5986bc71)
    - item_type: preproc_def
      name: T16
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x49b40821'
    - item_type: preproc_def
      name: T17
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x09e1da9d)
    - item_type: preproc_def
      name: T18
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x3fbf4cbf)
    - item_type: preproc_def
      name: T19
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x265e5a51'
    - item_type: preproc_def
      name: T20
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x16493855)
    - item_type: preproc_def
      name: T21
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x29d0efa2)
    - item_type: preproc_def
      name: T22
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x02441453'
    - item_type: preproc_def
      name: T23
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x275e197e)
    - item_type: preproc_def
      name: T24
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x182c0437)
    - item_type: preproc_def
      name: T25
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x21e1cde6'
    - item_type: preproc_def
      name: T26
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x3cc8f829)
    - item_type: preproc_def
      name: T27
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0b2af278)
    - item_type: preproc_def
      name: T28
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x455a14ed'
    - item_type: preproc_def
      name: T29
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x561c16fa)
    - item_type: preproc_def
      name: T30
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x03105c07)
    - item_type: preproc_def
      name: T31
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x676f02d9'
    - item_type: preproc_def
      name: T32
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x72d5b375)
    - item_type: preproc_def
      name: T33
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0005c6bd)
    - item_type: preproc_def
      name: T34
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x788e097e)
    - item_type: preproc_def
      name: T35
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x6d9d6122'
    - item_type: preproc_def
      name: T36
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x021ac7f3)
    - item_type: preproc_def
      name: T37
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x5b4115bb)
    - item_type: preproc_def
      name: T38
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x4bdecfa9'
    - item_type: preproc_def
      name: T39
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0944b49f)
    - item_type: preproc_def
      name: T40
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x4140438f)
    - item_type: preproc_def
      name: T41
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x289b7ec6'
    - item_type: preproc_def
      name: T42
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x155ed805)
    - item_type: preproc_def
      name: T43
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x2b10cf7a)
    - item_type: preproc_def
      name: T44
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x04881d05'
    - item_type: preproc_def
      name: T45
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x262b2fc6)
    - item_type: preproc_def
      name: T46
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x1924661a)
    - item_type: preproc_def
      name: T47
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x1fa27cf8'
    - item_type: preproc_def
      name: T48
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x3b53a99a)
    - item_type: preproc_def
      name: T49
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x0bd6ddbb)
    - item_type: preproc_def
      name: T50
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x432aff97'
    - item_type: preproc_def
      name: T51
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x546bdc58)
    - item_type: preproc_def
      name: T52
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x036c5fc6)
    - item_type: preproc_def
      name: T53
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x655b59c3'
    - item_type: preproc_def
      name: T54
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x70f3336d)
    - item_type: preproc_def
      name: T55
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x00100b82)
    - item_type: preproc_def
      name: T56
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x7a7ba22e)
    - item_type: preproc_def
      name: T57
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x6fa87e4f'
    - item_type: preproc_def
      name: T58
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x01d3191f)
    - item_type: preproc_def
      name: T59
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x5cfebceb)
    - item_type: preproc_def
      name: T60
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x4e0811a1'
    - item_type: preproc_def
      name: T61
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x08ac817d)
    - item_type: preproc_def
      name: T62
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x42c50dca)
    - item_type: preproc_def
      name: T63
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: '0x2ad7d2bb'
    - item_type: preproc_def
      name: T64
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: (T_MASK ^ 0x14792c6e)
    - item_type: preproc_def
      name: xbuf
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/cyclonedds/src/ddsrt/src/md5.c
      type_or_value: 'X              '
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_sleepfor
  - ddsrt_ctime
  - time_to_sec_usec
  - ddsrt_mtime_to_sec_usec
  - ddsrt_wctime_to_sec_usec
  - ddsrt_etime_to_sec_usec
  source_file: /src/cyclonedds/src/ddsrt/src/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_sockaddr_get_size
  - ddsrt_sockaddr_get_port
  - ddsrt_sockaddr_isunspecified
  - ddsrt_sockaddr_isloopback
  - ddsrt_sockaddr_insamesubnet
  - ddsrt_sockaddrfromstr
  - ddsrt_sockaddrtostr
  - is_valid_hostname_char
  - ddsrt_gethostbyname
  - ddsrt_gethostbyname
  - ddsrt_setsockreuse
  source_file: /src/cyclonedds/src/ddsrt/src/sockets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/src/threads_priv.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*prev'
        type: void
      - name: (*routine)(void * p)
        type: void
      - name: '*arg'
        type: void
      item_type: struct
      name: thread_cleanup_t
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/src/threads_priv.h
    typedefs: []
    union: []
- function_names:
  - LOAD_DIRKEY
  - LOAD_INDKEY
  - comparenk
  - comparenn_direct
  - comparenn_indirect
  - comparenn
  - node_from_onode
  - cnode_from_onode
  - onode_from_node
  - conode_from_node
  - node_from_onode_nonnull
  - cnode_from_onode_nonnull
  - onode_from_node_nonnull
  - conode_from_node_nonnull
  - treedef_init_common
  - ddsrt_avl_treedef_init
  - ddsrt_avl_treedef_init_r
  - ddsrt_avl_init
  - treedestroy
  - treedestroy_arg
  - ddsrt_avl_free
  - ddsrt_avl_free_arg
  - augment
  - rotate_single
  - rotate_double
  - rotate
  - rebalance_one
  - rebalance_path
  - nodeptr_from_node
  - rebalance_nopath
  - ddsrt_avl_lookup
  - lookup_path
  - ddsrt_avl_lookup_dpath
  - ddsrt_avl_lookup_ipath
  - ddsrt_avl_insert_ipath
  - ddsrt_avl_insert
  - delete_generic
  - ddsrt_avl_delete_dpath
  - ddsrt_avl_delete
  - ddsrt_avl_swap_node
  - find_neighbour
  - find_extremum
  - ddsrt_avl_find_min
  - ddsrt_avl_find_max
  - ddsrt_avl_find_pred
  - ddsrt_avl_find_succ
  - avl_iter_downleft
  - ddsrt_avl_iter_first
  - ddsrt_avl_iter_next
  - ddsrt_avl_walk
  - ddsrt_avl_const_walk
  - ddsrt_avl_is_empty
  - ddsrt_avl_is_singleton
  - ddsrt_avl_augment_update
  - fixup_predsucceq
  - lookup_predeq
  - lookup_succeq
  - fixup_predsucc
  - lookup_pred
  - lookup_succ
  - ddsrt_avl_lookup_succ_eq
  - ddsrt_avl_lookup_pred_eq
  - ddsrt_avl_lookup_succ
  - ddsrt_avl_lookup_pred
  - ddsrt_avl_iter_succ_eq
  - ddsrt_avl_iter_succ
  - ddsrt_avl_walk_range
  - ddsrt_avl_const_walk_range
  - ddsrt_avl_walk_range_reverse
  - ddsrt_avl_const_walk_range_reverse
  - ddsrt_avl_root
  - ddsrt_avl_root_non_empty
  - ddsrt_avl_ctreedef_init
  - ddsrt_avl_ctreedef_init_r
  - ddsrt_avl_cinit
  - ddsrt_avl_cfree
  - ddsrt_avl_cfree_arg
  - ddsrt_avl_croot
  - ddsrt_avl_croot_non_empty
  - ddsrt_avl_clookup
  - ddsrt_avl_clookup_ipath
  - ddsrt_avl_clookup_dpath
  - ddsrt_avl_clookup_pred_eq
  - ddsrt_avl_clookup_succ_eq
  - ddsrt_avl_clookup_pred
  - ddsrt_avl_clookup_succ
  - ddsrt_avl_cinsert
  - ddsrt_avl_cdelete
  - ddsrt_avl_cinsert_ipath
  - ddsrt_avl_cdelete_dpath
  - ddsrt_avl_cswap_node
  - ddsrt_avl_caugment_update
  - ddsrt_avl_cis_empty
  - ddsrt_avl_cis_singleton
  - ddsrt_avl_ccount
  - ddsrt_avl_cfind_min
  - ddsrt_avl_cfind_max
  - ddsrt_avl_cfind_pred
  - ddsrt_avl_cfind_succ
  - ddsrt_avl_cwalk
  - ddsrt_avl_cconst_walk
  - ddsrt_avl_cwalk_range
  - ddsrt_avl_cconst_walk_range
  - ddsrt_avl_cwalk_range_reverse
  - ddsrt_avl_cconst_walk_range_reverse
  - ddsrt_avl_citer_first
  - ddsrt_avl_citer_succ_eq
  - ddsrt_avl_citer_succ
  - ddsrt_avl_citer_next
  source_file: /src/cyclonedds/src/ddsrt/src/avl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cmp
  - ddsrt_fibheap_def_init
  - ddsrt_fibheap_init
  - ddsrt_fibheap_min
  - ddsrt_fibheap_merge_nonempty_list
  - ddsrt_fibheap_merge_into
  - ddsrt_fibheap_merge
  - ddsrt_fibheap_insert
  - ddsrt_fibheap_add_as_child
  - ddsrt_fibheap_delete_one_from_list
  - ddsrt_fibheap_extract_min
  - ddsrt_fibheap_cutnode
  - ddsrt_fibheap_decrease_key
  - ddsrt_fibheap_delete
  source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DEGREE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/src/fibheap.c
      type_or_value: ((unsigned) (sizeof (void *) * CHAR_BIT - 1))
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_opendir
  - ddsrt_readdir
  - ddsrt_closedir
  - ddsrt_stat
  - ddsrt_file_normalize
  - ddsrt_file_sep
  source_file: /src/cyclonedds/src/ddsrt/src/filesystem/posix/filesystem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_opendir
  - ddsrt_readdir
  - ddsrt_closedir
  - ddsrt_stat
  - ddsrt_file_normalize
  - ddsrt_file_sep
  source_file: /src/cyclonedds/src/ddsrt/src/filesystem/windows/filesystem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_platform_dlopen
  - ddsrt_platform_dlclose
  - ddsrt_platform_dlsym
  - ddsrt_platform_dlerror
  source_file: /src/cyclonedds/src/ddsrt/src/dynlib/posix/dynlib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_platform_dlopen
  - ddsrt_platform_dlclose
  - ddsrt_platform_dlsym
  - ddsrt_platform_dlerror
  source_file: /src/cyclonedds/src/ddsrt/src/dynlib/windows/dynlib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_malloc_s
  - ddsrt_malloc
  - ddsrt_calloc_s
  - ddsrt_calloc
  - ddsrt_realloc_s
  - ddsrt_realloc
  - ddsrt_free
  source_file: /src/cyclonedds/src/ddsrt/src/heap/freertos/heap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_set_allocator
  - ddsrt_malloc_s
  - ddsrt_malloc
  - ddsrt_calloc
  - ddsrt_calloc_s
  - ddsrt_realloc
  - ddsrt_realloc_s
  - ddsrt_free
  source_file: /src/cyclonedds/src/ddsrt/src/heap/posix/heap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_malloc
  - ddsrt_realloc
  - ddsrt_free
  source_file: /src/cyclonedds/src/ddsrt/src/heap/vxworks/heap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_gethostname
  source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOST_NAME_MAX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
      type_or_value: DNS_MAX_NAME_LENGTH
    - item_type: preproc_def
      name: HOST_NAME_MAX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
      type_or_value: _POSIX_HOST_NAME_MAX
    - item_type: preproc_def
      name: HOST_NAME_MAX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
      type_or_value: (strlen(net_hostname_get()))
    - item_type: preproc_def
      name: HOST_NAME_MAX
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/gethostname.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_socket
  - ddsrt_socket_ext_init
  - ddsrt_socket_ext_fini
  - ddsrt_close
  - ddsrt_bind
  - ddsrt_listen
  - ddsrt_connect
  - ddsrt_accept
  - ddsrt_getsockname
  - ddsrt_getsockopt
  - ddsrt_setsockopt
  - ddsrt_setsocknonblocking
  - recv_error_to_retcode
  - ddsrt_recv
  - recvmsg
  - ddsrt_recvmsg
  - send_error_to_retcode
  - ddsrt_send
  - ddsrt_sendmsg
  - ddsrt_select
  - ddsrt_shutdown
  source_file: /src/cyclonedds/src/ddsrt/src/sockets/posix/socket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_gethostname
  source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/gethostname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_winsock_init
  - ddsrt_winsock_fini
  - ddsrt_socket
  - ddsrt_socket_ext_init
  - ddsrt_socket_ext_fini
  - ddsrt_close
  - ddsrt_accept
  - ddsrt_bind
  - ddsrt_listen
  - ddsrt_connect
  - ddsrt_getsockname
  - ddsrt_getsockopt
  - ddsrt_setsockopt
  - ddsrt_setsocknonblocking
  - recv_error_to_retcode
  - ddsrt_recv
  - ddsrt_recvmsg_wsarecvmsg
  - ddsrt_recvmsg_recvfrom
  - ddsrt_recvmsg
  - send_error_to_retcode
  - ddsrt_send
  - ddsrt_sendmsg
  - ddsrt_select
  - ddsrt_shutdown
  source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: 'sizeof_matches[sizeof(ddsrt_iovec_t) == sizeof(WSABUF) ? 1 : -1]'
        type: char
      - name: 'base_off_matches[offsetof(ddsrt_iovec_t, iov_base) == offsetof(WSABUF,
          buf) ? 1 : -1]'
        type: char
      - name: 'base_size_matches[sizeof(((ddsrt_iovec_t *)8)->iov_base) == sizeof(((WSABUF
          *)8)->buf) ? 1 : -1]'
        type: char
      - name: 'len_off_matches[offsetof(ddsrt_iovec_t, iov_len) == offsetof(WSABUF,
          len) ? 1 : -1]'
        type: char
      - name: 'len_size_matches[sizeof(((ddsrt_iovec_t *)8)->iov_len) == sizeof(((WSABUF
          *)8)->len) ? 1 : -1]'
        type: char
      item_type: struct
      name: iovec_matches_WSABUF
      pos:
        line_end: 545
        line_start: 539
        source_file: /src/cyclonedds/src/ddsrt/src/sockets/windows/socket.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_getifaddrs
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/solaris2.6/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - guess_iftype
  - guess_iftype
  - guess_iftype
  - is_the_kernel_likely_lying_about_multicast
  - copyaddr
  - ddsrt_getifaddrs
  - ddsrt_eth_get_mac_addr
  - ddsrt_eth_get_mac_addr
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: gen
        type: struct sockaddr
      - name: ipv4
        type: struct sockaddr_in
      - name: ipv6
        type: struct sockaddr_in6
      item_type: union
      name: ipsockaddr
      pos:
        line_end: 163
        line_start: 159
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/posix/ifaddrs.c
- function_names:
  - getflags
  - sockaddr_from_ip_addr
  - copyaddr
  - ddsrt_getifaddrs
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/lwip/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getifaces
  - getaddrtable
  - getflags
  - guess_iftype
  - copyname
  - copyaddr
  - ddsrt_getifaddrs
  - ddsrt_eth_get_mac_addr
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/windows/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getflags
  - ddsrt_getifaddrs
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: ddsrt_ifaddrs_t
      - name: '*prev'
        type: ddsrt_ifaddrs_t
      - name: getv4
        type: int
      - name: getv6
        type: int
      - name: rc
        type: dds_return_t
      item_type: struct
      name: ifaddrs_data
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs.c
    typedefs: []
    union: []
- function_names:
  - getflags
  - ddsrt_getifaddrs
  source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: ddsrt_ifaddrs_t
      - name: '*prev'
        type: ddsrt_ifaddrs_t
      - name: getv4
        type: int
      - name: getv6
        type: int
      - name: rc
        type: dds_return_t
      item_type: struct
      name: ifaddrs_data
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/src/ifaddrs/zephyr/ifaddrs-v3.7pre.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_prng_makeseed
  source_file: /src/cyclonedds/src/ddsrt/src/random/posix/random.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_prng_makeseed
  source_file: /src/cyclonedds/src/ddsrt/src/random/windows/random.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isenvvar
  - ddsrt_getenv
  - ddsrt_setenv
  - ddsrt_unsetenv
  source_file: /src/cyclonedds/src/ddsrt/src/environ/solaris2.6/environ.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isenvvar
  - ddsrt_getenv
  - ddsrt_setenv
  - ddsrt_unsetenv
  source_file: /src/cyclonedds/src/ddsrt/src/environ/posix/environ.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isenvvar
  - ddsrt_getenv
  - ddsrt_setenv
  - ddsrt_unsetenv
  source_file: /src/cyclonedds/src/ddsrt/src/environ/windows/environ.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isenvvar
  - ddsrt_getenv
  - ddsrt_setenv
  - ddsrt_unsetenv
  source_file: /src/cyclonedds/src/ddsrt/src/environ/zephyr/environ.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - non_local_thread
  - ddsrt_gettid
  - ddsrt_tid_t::ddsrt_gettid_for_thread
  - ddsrt_thread_self
  - ddsrt_thread_equal
  - ddsrt_thread_getname
  - thread_registry_init
  - thread_context_find
  - thread_context_create
  - thread_context_require
  - thread_context_acquire
  - thread_context_destroy
  - thread_fini
  - thread_start_routine
  - ddsrt_thread_create
  - ddsrt_thread_init
  - ddsrt_thread_fini
  - ddsrt_thread_join
  - ddsrt_thread_cleanup_push
  - ddsrt_thread_cleanup_pop
  source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WORD_SIZE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
      type_or_value: (sizeof(StackType_t))
    - item_type: preproc_def
      name: MIN_STACK_SIZE
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
      type_or_value: ((uint16_t)(configMINIMAL_STACK_SIZE * WORD_SIZE))
    structs:
    - fields:
      - name: func
        type: ddsrt_thread_routine_t
      - name: '*arg'
        type: void
      - name: task
        type: TaskHandle_t
      - name: stat
        type: thread_state_t
      - name: '*dtors'
        type: thread_cleanup_t
      - name: ret
        type: uint32_t
      - name: blkd
        type: TaskHandle_t
      item_type: struct
      name: thread_context_t
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    - fields:
      - name: mutex
        type: ddsrt_mutex_t
      - name: '**ctxs'
        type: thread_context_t
      - name: cnt
        type: size_t
      - name: len
        type: size_t
      item_type: struct
      name: thread_registry_t
      pos:
        line_end: 61
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/src/threads/freertos/threads.c
    typedefs: []
    union: []
- function_names:
  - _open
  - ddsrt_thread_getname
  - ddsrt_thread_setname
  - os_startRoutineWrapper
  - ddsrt_thread_create
  - ddsrt_gettid
  - ddsrt_gettid_for_thread
  - ddsrt_thread_self
  - ddsrt_thread_equal
  - ddsrt_thread_join
  - ddsrt_thread_list
  - ddsrt_thread_getname_anythread
  - ddsrt_thread_list
  - ddsrt_thread_getname_anythread
  - ddsrt_thread_list
  - ddsrt_thread_getname_anythread
  - thread_init_once
  - thread_init
  - ddsrt_thread_cleanup_push
  - ddsrt_thread_cleanup_pop
  - thread_cleanup_fini
  - ddsrt_thread_init
  - ddsrt_thread_fini
  source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: '(15) '
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (64)
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (31)
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (MAXCOMLEN)
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (VX_TASK_NAME_LENGTH)
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (_NTO_THREAD_NAME_MAX - 1)
    - item_type: preproc_def
      name: MAXTHREADNAMESIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: (CONFIG_THREAD_MAX_NAME_LEN - 1)
    - item_type: preproc_def
      name: CYCLONEDDS_THREAD_COUNT
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CYCLONEDDS_THREAD_STACK_SIZE
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
      type_or_value: '32768'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: routine
        type: ddsrt_thread_routine_t
      - name: '*arg'
        type: void
      item_type: struct
      name: thread_context_t
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/src/threads/posix/threads.c
    typedefs: []
    union: []
- function_names:
  - SetThreadDescription_dummy
  - GetThreadDescription_dummy
  - getset_threaddescription_addresses
  - os_startRoutineWrapper
  - ddsrt_thread_create
  - ddsrt_gettid
  - ddsrt_gettid_for_thread
  - ddsrt_thread_self
  - ddsrt_thread_equal
  - ddsrt_thread_join
  - ddsrt_thread_getname
  - ddsrt_thread_setname
  - ddsrt_thread_list
  - ddsrt_thread_getname_anythread
  - ddsrt_thread_cleanup_push
  - ddsrt_thread_cleanup_pop
  - thread_cleanup_fini
  - ddsrt_thread_init
  - ddsrt_thread_fini
  source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: routine
        type: ddsrt_thread_routine_t
      - name: '*arg'
        type: void
      item_type: struct
      name: thread_context_t
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    - fields:
      - name: dwType
        type: DWORD
      - name: szName
        type: LPCSTR
      - name: dwThreadID
        type: DWORD
      - name: dwFlags
        type: DWORD
      item_type: struct
      name: tagTHREADNAME_INFO
      pos:
        line_end: 293
        line_start: 287
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
    typedefs:
    - item_type: typedef
      name: (WINAPI *SetThreadDescription_t) (HANDLE hThread, PCWSTR lpThreadDescription)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
      type: HRESULT
    - item_type: typedef
      name: (WINAPI *GetThreadDescription_t) (HANDLE hThread, PWSTR *ppszThreadDescription)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/threads/windows/threads.c
      type: HRESULT
    union: []
- function_names:
  - ddsrt_netstat_get
  - ddsrt_netstat_new
  - ddsrt_netstat_free
  source_file: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: ddsrt_netstat_control
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/cyclonedds/src/ddsrt/src/netstat/linux/netstat.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_netstat_get_int
  - ddsrt_netstat_new
  - ddsrt_netstat_free
  - ddsrt_netstat_get
  source_file: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: cached_row
        type: int
      item_type: struct
      name: ddsrt_netstat_control
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/src/netstat/darwin/netstat.c
    typedefs: []
    union: []
- function_names:
  - copy_data
  - is_desired_interface
  - ddsrt_netstat_get_int
  - ddsrt_netstat_new
  - ddsrt_netstat_free
  - ddsrt_netstat_get
  source_file: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: wchar_t
      - name: errored
        type: bool
      - name: have_index
        type: bool
      - name: index
        type: NET_IFINDEX
      item_type: struct
      name: ddsrt_netstat_control
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/cyclonedds/src/ddsrt/src/netstat/windows/netstat.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_netstat_get
  - ddsrt_netstat_new
  - ddsrt_netstat_free
  source_file: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: ddsrt_netstat_control
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/src/netstat/qnx/netstat.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_getpid
  - ddsrt_getprocessname
  source_file: /src/cyclonedds/src/ddsrt/src/process/freertos/process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_getpid
  - _basename
  - ddsrt_getprocessname
  source_file: /src/cyclonedds/src/ddsrt/src/process/posix/process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_getpid
  - ddsrt_getprocessname
  source_file: /src/cyclonedds/src/ddsrt/src/process/windows/process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rusage_self
  - rusage_thread
  - ddsrt_getrusage_anythread
  - ddsrt_getrusage
  source_file: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_NSECS_IN_RUSAGE_TIME_BASE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/rusage/freertos/rusage.c
      type_or_value: '(1) '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_getrusage_anythread
  - ddsrt_getrusage
  - ddsrt_getrusage_anythread
  - ddsrt_getrusage
  - ddsrt_getrusage_anythread
  - ddsrt_getrusage
  source_file: /src/cyclonedds/src/ddsrt/src/rusage/posix/rusage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - filetime_to_time
  - ddsrt_getrusage_anythread
  - ddsrt_getrusage
  source_file: /src/cyclonedds/src/ddsrt/src/rusage/windows/rusage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_time
  - ddsrt_time_wallclock
  - ddsrt_time_monotonic
  - ddsrt_time_elapsed
  - ddsrt_time_highres
  - dds_sleepfor
  source_file: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSECS_PER_TICK
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
      type_or_value: (DDS_NSECS_IN_SEC / configTICK_RATE_HZ)
    - item_type: preproc_def
      name: NSECS_PER_TICK
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/src/time/freertos/time.c
      type_or_value: (DDS_NSECS_IN_SEC / configTICK_RATE_HZ)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_time
  - ddsrt_time_wallclock
  - ddsrt_time_monotonic
  - ddsrt_time_elapsed
  - ddsrt_time_highres
  source_file: /src/cyclonedds/src/ddsrt/src/time/solaris2.6/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_time
  - ddsrt_time_wallclock
  - ddsrt_time_monotonic
  - ddsrt_time_elapsed
  - ddsrt_time_highres
  source_file: /src/cyclonedds/src/ddsrt/src/time/posix/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_time
  - ddsrt_time_wallclock
  - ddsrt_time_monotonic
  - ddsrt_time_elapsed
  - ddsrt_time_highres
  source_file: /src/cyclonedds/src/ddsrt/src/time/darwin/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_time
  - ddsrt_time_init
  - ddsrt_time_fini
  - ddsrt_time_wallclock
  - ddsrt_time_monotonic
  - ddsrt_time_elapsed
  - ddsrt_time_highres
  - dds_sleepfor
  source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILETIME_EPOCH_OFFSET_SECS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
      type_or_value: (11644473600)
    - item_type: preproc_def
      name: SECS_IN_100_NSECS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
      type_or_value: (1000 * 1000 * 10)
    structs: []
    typedefs:
    - item_type: typedef
      name: (WINAPI *GetSystemTimeAsFileTimeFunc_t)(LPFILETIME)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/src/time/windows/time.c
      type: void
    union: []
- function_names:
  - tasklist_assert
  - ddsrt_tasklist_init
  - ddsrt_tasklist_fini
  - ddsrt_tasklist_ltrim
  - ddsrt_tasklist_rtrim
  - ddsrt_tasklist_pack
  - ddsrt_tasklist_shrink
  - ddsrt_tasklist_grow
  - ddsrt_tasklist_find
  - ddsrt_tasklist_peek
  - ddsrt_tasklist_pop
  - ddsrt_tasklist_push
  source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/tasklist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_mutex_init
  - ddsrt_mutex_destroy
  - mutex_lock
  - ddsrt_mutex_lock
  - ddsrt_mutex_trylock
  - ddsrt_mutex_unlock
  - cond_waituntil_impl
  - ddsrt_cond_init
  - ddsrt_cond_wctime_init
  - ddsrt_cond_mtime_init
  - ddsrt_cond_etime_init
  - ddsrt_cond_destroy
  - ddsrt_cond_wctime_destroy
  - ddsrt_cond_mtime_destroy
  - ddsrt_cond_etime_destroy
  - ddsrt_cond_wait
  - ddsrt_cond_wctime_wait
  - ddsrt_cond_mtime_wait
  - ddsrt_cond_etime_wait
  - ddsrt_cond_wctime_waituntil
  - ddsrt_cond_mtime_waituntil
  - ddsrt_cond_etime_waituntil
  - ddsrt_cond_signal
  - ddsrt_cond_wctime_signal
  - ddsrt_cond_mtime_signal
  - ddsrt_cond_etime_signal
  - ddsrt_cond_broadcast
  - ddsrt_cond_wctime_broadcast
  - ddsrt_cond_mtime_broadcast
  - ddsrt_cond_etime_broadcast
  - ddsrt_rwlock_init
  - ddsrt_rwlock_destroy
  - ddsrt_rwlock_read
  - ddsrt_rwlock_write
  - ddsrt_rwlock_tryread
  - ddsrt_rwlock_trywrite
  - ddsrt_rwlock_unlock
  - ddsrt_once
  source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSECS_PER_TICK
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (DDS_NSECS_IN_SEC / configTICK_RATE_HZ)
    - item_type: preproc_def
      name: WRITE_LOCKED
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: UNLOCKED
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (0)
    - item_type: preproc_def
      name: READ_LOCKED
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (1)
    - item_type: preproc_def
      name: ONCE_NOT_STARTED
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: ONCE_IN_PROGRESS
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: ONCE_FINISHED
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/cyclonedds/src/ddsrt/src/sync/freertos/sync.c
      type_or_value: (1<<2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_mutex_init
  - ddsrt_mutex_destroy
  - ddsrt_mutex_lock
  - ddsrt_mutex_trylock
  - ddsrt_mutex_unlock
  - ddsrt_condattr_setclock
  - ddsrt_cond_init_impl
  - ddsrt_cond_init
  - ddsrt_cond_wctime_init
  - ddsrt_cond_mtime_init
  - ddsrt_cond_etime_init
  - ddsrt_cond_destroy
  - ddsrt_cond_wctime_destroy
  - ddsrt_cond_mtime_destroy
  - ddsrt_cond_etime_destroy
  - ddsrt_cond_wait
  - ddsrt_cond_wctime_wait
  - ddsrt_cond_mtime_wait
  - ddsrt_cond_etime_wait
  - ddsrt_cond_waituntil_impl
  - ddsrt_cond_wctime_waituntil
  - ddsrt_cond_mtime_waituntil
  - ddsrt_cond_etime_waituntil
  - ddsrt_cond_waituntil_clockconv_impl
  - ddsrt_cond_mtime_waituntil
  - ddsrt_cond_etime_waituntil
  - ddsrt_cond_signal
  - ddsrt_cond_wctime_signal
  - ddsrt_cond_mtime_signal
  - ddsrt_cond_etime_signal
  - ddsrt_cond_broadcast
  - ddsrt_cond_wctime_broadcast
  - ddsrt_cond_mtime_broadcast
  - ddsrt_cond_etime_broadcast
  - ddsrt_rwlock_init
  - ddsrt_rwlock_destroy
  - ddsrt_rwlock_read
  - ddsrt_rwlock_write
  - ddsrt_rwlock_tryread
  - ddsrt_rwlock_trywrite
  - ddsrt_rwlock_unlock
  - ddsrt_once
  source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
  types:
    enum:
    - enumerators:
      - name: DDSRT_CLOCK_WALLCLOCK
      - name: DDSRT_CLOCK_ELAPSED
      - name: DDSRT_CLOCK_MONOTONIC
      item_type: enum
      name: ddsrt_clockid
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/src/sync/posix/sync.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_mutex_init
  - ddsrt_mutex_destroy
  - ddsrt_mutex_lock
  - ddsrt_mutex_trylock
  - ddsrt_mutex_unlock
  - ddsrt_cond_init
  - ddsrt_cond_wctime_init
  - ddsrt_cond_mtime_init
  - ddsrt_cond_etime_init
  - ddsrt_cond_destroy
  - ddsrt_cond_wctime_destroy
  - ddsrt_cond_mtime_destroy
  - ddsrt_cond_etime_destroy
  - ddsrt_cond_wait_impl
  - ddsrt_cond_wait
  - ddsrt_cond_wctime_wait
  - ddsrt_cond_mtime_wait
  - ddsrt_cond_etime_wait
  - ddsrt_cond_waituntil_impl
  - ddsrt_cond_wctime_waituntil
  - ddsrt_cond_mtime_waituntil
  - ddsrt_cond_etime_waituntil
  - ddsrt_cond_signal
  - ddsrt_cond_wctime_signal
  - ddsrt_cond_mtime_signal
  - ddsrt_cond_etime_signal
  - ddsrt_cond_broadcast
  - ddsrt_cond_wctime_broadcast
  - ddsrt_cond_mtime_broadcast
  - ddsrt_cond_etime_broadcast
  - ddsrt_rwlock_init
  - ddsrt_rwlock_destroy
  - ddsrt_rwlock_read
  - ddsrt_rwlock_write
  - ddsrt_rwlock_tryread
  - ddsrt_rwlock_trywrite
  - ddsrt_rwlock_unlock
  - once_wrapper
  - ddsrt_once
  source_file: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: init_fn
        type: ddsrt_once_fn
      item_type: struct
      name: once_arg_t
      pos:
        line_end: 250
        line_start: 248
        source_file: /src/cyclonedds/src/ddsrt/src/sync/windows/sync.c
    typedefs: []
    union: []
- function_names:
  - ddsrt_has_attribute
  - ddsrt_has_attribute
  - ddsrt_has_attribute
  - ddsrt_attribute_malloc2
  - ddsrt_nonnull
  - ddsrt_attribute_alloc_size
  - ddsrt_attribute_format
  - ddsrt_attribute_format_printf
  - ddsrt_attribute_format_printf
  - ddsrt_attribute_assume_aligned
  - ddsrt_attribute_no_sanitize
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ddsrt_gnuc
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
    - item_type: preproc_def
      name: ddsrt_gnuc
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ddsrt_clang
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
    - item_type: preproc_def
      name: ddsrt_clang
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ddsrt_attribute_malloc
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__malloc__))
    - item_type: preproc_def
      name: ddsrt_attribute_unused
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__((__unused__))
    - item_type: preproc_def
      name: ddsrt_attribute_noreturn
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__noreturn__))
    - item_type: preproc_def
      name: ddsrt_nonnull_all
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__nonnull__))
    - item_type: preproc_def
      name: ddsrt_attribute_returns_nonnull
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__returns_nonnull__))
    - item_type: preproc_def
      name: ddsrt_attribute_const
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__const__))
    - item_type: preproc_def
      name: ddsrt_attribute_pure
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: __MINGW_PRINTF_FORMAT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: gnu_printf
    - item_type: preproc_def
      name: ddsrt_attribute_warn_unused_result
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__warn_unused_result__))
    - item_type: preproc_def
      name: ddsrt_attribute_packed
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __attribute__ ((__packed__))
    - item_type: preproc_def
      name: ddsrt_has_feature_thread_sanitizer
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: __has_feature(thread_sanitizer)
    - item_type: preproc_def
      name: ddsrt_has_feature_thread_sanitizer
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/attributes.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_COUNT_ARGS_MSVC_WORKAROUND
  - DDSRT_COUNT_ARGS
  - DDSRT_COUNT_ARGS1
  - DDSRT_COUNT_ARGS_ARGN
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/countargs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dds_get_log_mask
  - DDS_LOG
  - DDS_ILOG
  - DDS_CLOG
  - DDS_INFO
  - DDS_WARNING
  - DDS_ERROR
  - DDS_FATAL
  - DDS_CLOG_MSVC_WORKAROUND
  - DDS_CINFO
  - DDS_CWARNING
  - DDS_CERROR
  - DDS_CTRACE
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_LC_FATAL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1u)
    - item_type: preproc_def
      name: DDS_LC_ERROR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (2u)
    - item_type: preproc_def
      name: DDS_LC_WARNING
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (4u)
    - item_type: preproc_def
      name: DDS_LC_INFO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (8u)
    - item_type: preproc_def
      name: DDS_LC_CONFIG
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (16u)
    - item_type: preproc_def
      name: DDS_LC_DISCOVERY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (32u)
    - item_type: preproc_def
      name: DDS_LC_DATA
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (64u)
    - item_type: preproc_def
      name: DDS_LC_TRACE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (128u)
    - item_type: preproc_def
      name: DDS_LC_RADMIN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (256u)
    - item_type: preproc_def
      name: DDS_LC_TIMING
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (512u)
    - item_type: preproc_def
      name: DDS_LC_TRAFFIC
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1024u)
    - item_type: preproc_def
      name: DDS_LC_TOPIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (2048u)
    - item_type: preproc_def
      name: DDS_LC_TCP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (4096u)
    - item_type: preproc_def
      name: DDS_LC_PLIST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (8192u)
    - item_type: preproc_def
      name: DDS_LC_WHC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (16384u)
    - item_type: preproc_def
      name: DDS_LC_THROTTLE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (32768u)
    - item_type: preproc_def
      name: DDS_LC_RHC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (65536u)
    - item_type: preproc_def
      name: DDS_LC_CONTENT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (131072u)
    - item_type: preproc_def
      name: DDS_LC_MALFORMED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (262144u)
    - item_type: preproc_def
      name: DDS_LC_SYSDEF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (524288u)
    - item_type: preproc_def
      name: DDS_LC_QOSPROV
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1048576u)
    - item_type: preproc_def
      name: DDS_LC_USER1
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1u << 29)
    - item_type: preproc_def
      name: DDS_LC_USER2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1u << 30)
    - item_type: preproc_def
      name: DDS_LC_USER3
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (1u << 31)
    - item_type: preproc_def
      name: DDS_LC_USER
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (DDS_LC_USER1 | DDS_LC_USER2 | DDS_LC_USER3)
    - item_type: preproc_def
      name: DDS_LC_ALL
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: "(DDS_LC_FATAL | DDS_LC_ERROR | DDS_LC_WARNING | DDS_LC_INFO
        | \\\n     DDS_LC_CONFIG | DDS_LC_DISCOVERY | DDS_LC_DATA | DDS_LC_TRACE |
        \\\n     DDS_LC_TIMING | DDS_LC_TRAFFIC | DDS_LC_TCP | DDS_LC_THROTTLE | \\\n
        \    DDS_LC_CONTENT | DDS_LC_USER)"
    - item_type: preproc_def
      name: DDS_LOG_MASK
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (DDS_LC_FATAL | DDS_LC_ERROR | DDS_LC_WARNING | DDS_LC_INFO)
    - item_type: preproc_def
      name: DDS_TRACE_MASK
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: (~DDS_LOG_MASK)
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __func__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __func__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __func__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: DDS_FUNCTION
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: '""'
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __FUNCSIG__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: __PRETTY_FUNCTION__
    - item_type: preproc_def
      name: DDS_PRETTY_FUNCTION
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type_or_value: DDS_FUNCTION
    structs:
    - fields:
      - name: priority
        type: uint32_t
      - name: domid
        type: uint32_t
      - name: '*file'
        type: char
      - name: line
        type: uint32_t
      - name: '*function'
        type: char
      - name: '*message'
        type: char
      - name: size
        type: size_t
      - name: hdrsize
        type: size_t
      item_type: struct
      name: dds_log_data_t
      pos:
        line_end: 122
        line_start: 105
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    - fields:
      - name: mask
        type: uint32_t
      - name: tracemask
        type: uint32_t
      - name: domid
        type: uint32_t
      item_type: struct
      name: ddsrt_log_cfg_common
      pos:
        line_end: 141
        line_start: 128
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    - fields:
      - name: c
        type: struct ddsrt_log_cfg_common
      - name: u
        type: "union {\n    dds_log_write_fn_t fnptr;\n    void *ptr;\n    uint32_t
          u32;\n    unsigned char pad[72];\n  }"
      item_type: struct
      name: ddsrt_log_cfg
      pos:
        line_end: 151
        line_start: 143
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
    typedefs:
    - item_type: typedef
      name: (*dds_log_write_fn_t) (void * p, const dds_log_data_t * d)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/log.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hopinfo
        type: uint32_t
      - name: '*data'
        type: void
      item_type: struct
      name: ddsrt_hh_bucket
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
    - fields:
      - name: size
        type: uint32_t
      - name: '*buckets'
        type: struct ddsrt_hh_bucket
      - name: hash
        type: ddsrt_hh_hash_fn
      - name: equals
        type: ddsrt_hh_equals_fn
      item_type: struct
      name: ddsrt_hh
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
    - fields:
      - name: '*hh'
        type: struct ddsrt_hh
      - name: cursor
        type: uint32_t
      item_type: struct
      name: ddsrt_hh_iter
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
    - fields:
      - name: '*bs'
        type: struct ddsrt_chh_bucket
      - name: size
        type: uint32_t
      - name: cursor
        type: uint32_t
      item_type: struct
      name: ddsrt_chh_iter
      pos:
        line_end: 240
        line_start: 236
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
    - fields:
      - name: '*hh'
        type: struct ddsrt_ehh
      - name: cursor
        type: uint32_t
      item_type: struct
      name: ddsrt_ehh_iter
      pos:
        line_end: 355
        line_start: 352
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
    typedefs:
    - item_type: typedef
      name: (*ddsrt_hh_hash_fn) (const void *a)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
      type: uint32_t
    - item_type: typedef
      name: (*ddsrt_hh_equals_fn) (const void *a, const void *b)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
      type: bool
    - item_type: typedef
      name: (*ddsrt_hh_buckets_gc_fn) (void *bs, void *arg)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/hopscotch.h
      type: void
    union: []
- function_names:
  - ddsrt_ffs32u
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/string.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ddsrt_thread_local
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: ddsrt_thread_local
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
      type_or_value: __thread
    - item_type: preproc_def
      name: ddsrt_thread_local
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
      type_or_value: __thread
    structs:
    - fields:
      - name: schedClass
        type: ddsrt_sched_t
      - name: schedPriority
        type: int32_t
      - name: schedAffinityN
        type: uint32_t
      - name: '*schedAffinitySet'
        type: uint32_t
      - name: stackSize
        type: uint32_t
      item_type: struct
      name: ddsrt_threadattr_t
      pos:
        line_end: 75
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
    typedefs:
    - item_type: typedef
      name: (*ddsrt_thread_routine_t)(void* p)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads.h
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stat_mode
        type: ddsrt_mode_t
      - name: stat_size
        type: size_t
      - name: stat_mtime
        type: dds_time_t
      item_type: struct
      name: ddsrt_stat
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem.h
    - fields:
      - name: d_name[DDSRT_PATH_MAX + 1]
        type: char
      item_type: struct
      name: ddsrt_dirent
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/random.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_MT19937_N
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/random.h
      type_or_value: '624'
    structs:
    - fields:
      - name: key[8]
        type: uint32_t
      item_type: struct
      name: ddsrt_prng_seed
      pos:
        line_end: 26
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/random.h
    - fields:
      - name: mt[DDSRT_MT19937_N]
        type: uint32_t
      - name: mti
        type: uint32_t
      item_type: struct
      name: ddsrt_prng
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/random.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_XMLP_REQUIRE_EOF
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type_or_value: 1u
    - item_type: preproc_def
      name: DDSRT_XMLP_ANONYMOUS_CLOSE_TAG
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type_or_value: 2u
    - item_type: preproc_def
      name: DDSRT_XMLP_MISSING_CLOSE_AS_EOF
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type_or_value: 4u
    structs:
    - fields:
      - name: elem_open
        type: ddsrt_xmlp_proc_elem_open_t
      - name: attr
        type: ddsrt_xmlp_proc_attr_t
      - name: elem_data
        type: ddsrt_xmlp_proc_elem_data_t
      - name: elem_close
        type: ddsrt_xmlp_proc_elem_close_t
      - name: error
        type: ddsrt_xmlp_error
      item_type: struct
      name: ddsrt_xmlp_callbacks
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
    typedefs:
    - item_type: typedef
      name: (*ddsrt_xmlp_proc_elem_open_t) (void *varg, uintptr_t parentinfo, uintptr_t
        *eleminfo, const char *name, int line)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type: int
    - item_type: typedef
      name: (*ddsrt_xmlp_proc_attr_t) (void *varg, uintptr_t eleminfo, const char
        *name, const char *value, int line)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type: int
    - item_type: typedef
      name: (*ddsrt_xmlp_proc_elem_data_t) (void *varg, uintptr_t eleminfo, const
        char *data, int line)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type: int
    - item_type: typedef
      name: (*ddsrt_xmlp_proc_elem_close_t) (void *varg, uintptr_t eleminfo, int line)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type: int
    - item_type: typedef
      name: (*ddsrt_xmlp_error) (void *varg, const char *msg, int line)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/xmlparser.h
      type: void
    union: []
- function_names:
  - ddsrt_select
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
  types:
    enum:
    - enumerators:
      - name: DDSRT_SHUTDOWN_READ
      - name: DDSRT_SHUTDOWN_WRITE
      - name: DDSRT_SHUTDOWN_READ_WRITE
      item_type: enum
      name: ddsrt_shutdown_how
      pos:
        line_end: 414
        line_start: 410
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
    preproc_defs:
    - item_type: preproc_def
      name: INET_ADDRSTRLEN_EXTENDED
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
      type_or_value: '(INET_ADDRSTRLEN + 6) '
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN_EXTENDED
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
      type_or_value: '(INET6_ADDRSTRLEN + 8) '
    - item_type: preproc_def
      name: DDSRT_AF_TERM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
      type_or_value: (-1)
    structs:
    - fields:
      - name: naddrs
        type: size_t
      - name: addrs[]
        type: struct sockaddr_storage
      item_type: struct
      name: ddsrt_hostent_t
      pos:
        line_end: 543
        line_start: 540
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*ddsrt_once_fn)(void)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync.h
      type: void
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/md5.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count[2]
        type: ddsrt_md5_word_t
      - name: abcd[4]
        type: ddsrt_md5_word_t
      - name: buf[64]
        type: ddsrt_md5_byte_t
      item_type: struct
      name: ddsrt_md5_state_s
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/md5.h
    typedefs:
    - item_type: typedef
      name: ddsrt_md5_byte_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/md5.h
      type: unsigned char
    - item_type: typedef
      name: ddsrt_md5_word_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/md5.h
      type: unsigned int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: iov_len
        type: ddsrt_iov_len_t
      - name: '*iov_base'
        type: void
      item_type: struct
      name: ddsrt_iovec
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
    typedefs:
    - item_type: typedef
      name: ddsrt_iov_len_t
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: unsigned
    - item_type: typedef
      name: ddsrt_msg_iovlen_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: unsigned long
    - item_type: typedef
      name: ddsrt_iovec_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: iovec
    - item_type: typedef
      name: ddsrt_iov_len_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: size_t
    - item_type: typedef
      name: ddsrt_msg_iovlen_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: size_t
    - item_type: typedef
      name: ddsrt_msg_iovlen_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/iovec.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/heap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* (*malloc)  (size_t size)'
        type: void
      - name: '* (*calloc)  (size_t count, size_t size)'
        type: void
      - name: '* (*realloc) (void *memblk, size_t size)'
        type: void
      - name: (*free)    (void *ptr)
        type: void
      item_type: struct
      name: ddsrt_allocation_ops
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/heap.h
    typedefs: []
    union: []
- function_names:
  - DDSRT_STRINGIFY
  - DDSRT_STRINGIFY1
  - DDSRT_STR
  - DDSRT_JOINSTR
  - DDSRT_DO_PRAGMA
  - DDSRT_PRAGMA
  - DDSRT_WARNING_CLANG_OFF
  - DDSRT_WARNING_CLANG_ON
  - DDSRT_WARNING_GNUC_OFF
  - DDSRT_WARNING_GNUC_ON
  - DDSRT_WARNING_GNUC_OFF
  - DDSRT_WARNING_GNUC_ON
  - DDSRT_WARNING_MSVC_OFF
  - DDSRT_WARNING_MSVC_ON
  - DDSRT_UNUSED_ARG
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_WARNING_DEPRECATED_OFF
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
      type_or_value: "DDSRT_WARNING_CLANG_OFF(deprecated-declarations) \\\n  DDSRT_WARNING_GNUC_OFF(deprecated-declarations)
        \\\n  DDSRT_WARNING_MSVC_OFF(4996)"
    - item_type: preproc_def
      name: DDSRT_WARNING_DEPRECATED_ON
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
      type_or_value: "DDSRT_WARNING_CLANG_ON(deprecated-declarations) \\\n  DDSRT_WARNING_GNUC_ON(deprecated-declarations)
        \\\n  DDSRT_WARNING_MSVC_ON(4996)"
    - item_type: preproc_def
      name: DDSRT_CLANG_ANALYZER_SUPPRESS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/misc.h
      type_or_value: '[[clang::suppress]]'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/align.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: dds_alignof
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/align.h
      type_or_value: _Alignof
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_ATOMIC_UINT32_INIT
  - DDSRT_ATOMIC_UINT64_INIT
  - DDSRT_ATOMIC_UINTPTR_INIT
  - DDSRT_ATOMIC_VOIDP_INIT
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_HAVE_ATOMIC64
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
      type_or_value: '1'
    structs:
    - fields:
      - name: v
        type: uint32_t
      item_type: struct
      name: ddsrt_atomic_uint32_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    - fields:
      - name: v
        type: uint64_t
      item_type: struct
      name: ddsrt_atomic_uint64_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    - fields:
      - name: v
        type: uintptr_t
      item_type: struct
      name: ddsrt_atomic_uintptr_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
    typedefs:
    - item_type: typedef
      name: ddsrt_atomic_voidp_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics.h
      type: ddsrt_atomic_uintptr_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/expand_vars.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* (*expand_lookup_fn)(const char *name, void *data)'
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/expand_vars.h
      type: char
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_LITTLE_ENDIAN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSRT_BIG_ENDIAN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_BIG_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_LITTLE_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_LITTLE_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_BIG_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_BIG_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_LITTLE_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_BIG_ENDIAN
    - item_type: preproc_def
      name: DDSRT_ENDIAN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/endian.h
      type_or_value: DDSRT_LITTLE_ENDIAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_FOREACH_3_MSVC_WORKAROUND
  - DDSRT_FOREACH_3_1
  - DDSRT_FOREACH_3_2
  - DDSRT_FOREACH_3_3
  - DDSRT_FOREACH_3_4
  - DDSRT_FOREACH_3_5
  - DDSRT_FOREACH_3_6
  - DDSRT_FOREACH_3_7
  - DDSRT_FOREACH_3_8
  - DDSRT_FOREACH_3_9
  - DDSRT_FOREACH_3_10
  - DDSRT_FOREACH_3_11
  - DDSRT_FOREACH_3_12
  - DDSRT_FOREACH_3_13
  - DDSRT_FOREACH_3_14
  - DDSRT_FOREACH_3_15
  - DDSRT_FOREACH_3_16
  - DDSRT_FOREACH_3_17
  - DDSRT_FOREACH_3_18
  - DDSRT_FOREACH_3_19
  - DDSRT_FOREACH_3_20
  - DDSRT_FOREACH_2
  - DDSRT_FOREACH_1
  - DDSRT_FOREACH
  - DDSRT_FOREACH_WRAP
  - DDSRT_FOREACH_B_3_MSVC_WORKAROUND
  - DDSRT_FOREACH_B_3_1
  - DDSRT_FOREACH_B_3_2
  - DDSRT_FOREACH_B_3_3
  - DDSRT_FOREACH_B_3_4
  - DDSRT_FOREACH_B_3_5
  - DDSRT_FOREACH_B_3_6
  - DDSRT_FOREACH_B_3_7
  - DDSRT_FOREACH_B_3_8
  - DDSRT_FOREACH_B_3_9
  - DDSRT_FOREACH_B_3_10
  - DDSRT_FOREACH_B_3_11
  - DDSRT_FOREACH_B_3_12
  - DDSRT_FOREACH_B_3_13
  - DDSRT_FOREACH_B_3_14
  - DDSRT_FOREACH_B_3_15
  - DDSRT_FOREACH_B_3_16
  - DDSRT_FOREACH_B_3_17
  - DDSRT_FOREACH_B_3_18
  - DDSRT_FOREACH_B_3_19
  - DDSRT_FOREACH_B_3_20
  - DDSRT_FOREACH_B_2
  - DDSRT_FOREACH_B_1
  - DDSRT_FOREACH_B
  - DDSRT_FOREACH_B_WRAP
  - DDSRT_COUNT_PAIRS_MSVC_WORKAROUND
  - DDSRT_COUNT_PAIRS
  - DDSRT_COUNT_PAIRS1
  - DDSRT_COUNT_PAIRS_ARGN
  - DDSRT_FOREACH_PAIR_3_MSVC_WORKAROUND
  - DDSRT_FOREACH_PAIR_3_1
  - DDSRT_FOREACH_PAIR_3_2
  - DDSRT_FOREACH_PAIR_3_3
  - DDSRT_FOREACH_PAIR_3_4
  - DDSRT_FOREACH_PAIR_3_5
  - DDSRT_FOREACH_PAIR_3_6
  - DDSRT_FOREACH_PAIR_3_7
  - DDSRT_FOREACH_PAIR_3_8
  - DDSRT_FOREACH_PAIR_3_9
  - DDSRT_FOREACH_PAIR_3_10
  - DDSRT_FOREACH_PAIR_3_11
  - DDSRT_FOREACH_PAIR_3_12
  - DDSRT_FOREACH_PAIR_3_13
  - DDSRT_FOREACH_PAIR_3_14
  - DDSRT_FOREACH_PAIR_3_15
  - DDSRT_FOREACH_PAIR_3_16
  - DDSRT_FOREACH_PAIR_3_17
  - DDSRT_FOREACH_PAIR_3_18
  - DDSRT_FOREACH_PAIR_3_19
  - DDSRT_FOREACH_PAIR_3_20
  - DDSRT_FOREACH_PAIR_3_21
  - DDSRT_FOREACH_PAIR_3_22
  - DDSRT_FOREACH_PAIR_3_23
  - DDSRT_FOREACH_PAIR_3_24
  - DDSRT_FOREACH_PAIR_3_25
  - DDSRT_FOREACH_PAIR_2
  - DDSRT_FOREACH_PAIR_1
  - DDSRT_FOREACH_PAIR
  - DDSRT_FOREACH_PAIR_WRAP
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/foreach.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/dynlib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*ddsrt_dynlib_t'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/dynlib.h
      type: ddsrt_dynlib
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/rusage.h
  types:
    enum:
    - enumerators:
      - name: DDSRT_RUSAGE_SELF
      - name: DDSRT_RUSAGE_THREAD
      item_type: enum
      name: ddsrt_getrusage_who
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/rusage.h
    preproc_defs: []
    structs:
    - fields:
      - name: utime
        type: dds_time_t
      - name: stime
        type: dds_time_t
      - name: maxrss
        type: size_t
      - name: idrss
        type: size_t
      - name: nvcsw
        type: size_t
      - name: nivcsw
        type: size_t
      item_type: struct
      name: ddsrt_rusage_t
      pos:
        line_end: 35
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/rusage.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sched.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/strtol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_STATIC_ASSERT2
  - DDSRT_STATIC_ASSERT1
  - DDSRT_STATIC_ASSERT
  - DDSRT_STATIC_ASSERT_CODE
  - DDSRT_STATIC_ASSERT_CODE
  - DDSRT_STATIC_ASSERT_IS_UNSIGNED
  - DDSRT_STATIC_ASSERT_IS_UNSIGNED
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/static_assert.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIdSIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types.h
      type_or_value: '"zd"'
    - item_type: preproc_def
      name: PRIuSIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types.h
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: PRIxSIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types.h
      type_or_value: '"zx"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/cdtors.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/ifaddrs.h
  types:
    enum:
    - enumerators:
      - name: DDSRT_IFTYPE_UNKNOWN
      - name: DDSRT_IFTYPE_WIRED
      - name: DDSRT_IFTYPE_WIFI
      item_type: enum
      name: ddsrt_iftype
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/ifaddrs.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct ddsrt_ifaddrs
      - name: '*name'
        type: char
      - name: index
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: type
        type: enum ddsrt_iftype
      - name: '*addr'
        type: struct sockaddr
      - name: '*netmask'
        type: struct sockaddr
      - name: '*broadaddr'
        type: struct sockaddr
      item_type: struct
      name: ddsrt_ifaddrs
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/ifaddrs.h
    typedefs:
    - item_type: typedef
      name: ddsrt_ifaddrs_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/ifaddrs.h
      type: ddsrt_ifaddrs
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/mh3.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_FROM_CIRCLIST
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/circlist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*latest'
        type: struct ddsrt_circlist_elem
      item_type: struct
      name: ddsrt_circlist
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/circlist.h
    - fields:
      - name: '*next'
        type: struct ddsrt_circlist_elem
      - name: '*prev'
        type: struct ddsrt_circlist_elem
      item_type: struct
      name: ddsrt_circlist_elem
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/circlist.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/netstat.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ipkt
        type: uint64_t
      - name: opkt
        type: uint64_t
      - name: ibytes
        type: uint64_t
      - name: obytes
        type: uint64_t
      item_type: struct
      name: ddsrt_netstat
      pos:
        line_end: 30
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/netstat.h
    typedefs: []
    union: []
- function_names:
  - DDS_SECS
  - DDS_MSECS
  - DDS_USECS
  - ddsrt_time_add_duration
  - ddsrt_mtime_t::ddsrt_mtime_add_duration
  - ddsrt_wctime_t::ddsrt_wctime_add_duration
  - ddsrt_etime_t::ddsrt_etime_add_duration
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_NSECS_IN_SEC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: INT64_C(1000000000)
    - item_type: preproc_def
      name: DDS_NSECS_IN_MSEC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: INT64_C(1000000)
    - item_type: preproc_def
      name: DDS_NSECS_IN_USEC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: INT64_C(1000)
    - item_type: preproc_def
      name: DDS_NEVER
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((dds_time_t) INT64_MAX)
    - item_type: preproc_def
      name: DDS_INFINITY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((dds_duration_t) INT64_MAX)
    - item_type: preproc_def
      name: DDS_TIME_INVALID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((dds_time_t) INT64_MIN)
    - item_type: preproc_def
      name: DDS_DURATION_INVALID
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((dds_duration_t) INT64_MIN)
    - item_type: preproc_def
      name: DDSRT_MTIME_NEVER
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((ddsrt_mtime_t) { DDS_NEVER })
    - item_type: preproc_def
      name: DDSRT_WCTIME_NEVER
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((ddsrt_wctime_t) { DDS_NEVER })
    - item_type: preproc_def
      name: DDSRT_ETIME_NEVER
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((ddsrt_etime_t) { DDS_NEVER })
    - item_type: preproc_def
      name: DDSRT_WCTIME_INVALID
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: ((ddsrt_wctime_t) { INT64_MIN })
    - item_type: preproc_def
      name: DDSRT_RFC3339STRLEN
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type_or_value: (25)
    structs:
    - fields:
      - name: v
        type: dds_time_t
      item_type: struct
      name: ddsrt_mtime_t
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    - fields:
      - name: v
        type: dds_time_t
      item_type: struct
      name: ddsrt_wctime_t
      pos:
        line_end: 82
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    - fields:
      - name: v
        type: dds_time_t
      item_type: struct
      name: ddsrt_etime_t
      pos:
        line_end: 86
        line_start: 84
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    - fields:
      - name: v
        type: uint64_t
      item_type: struct
      name: ddsrt_hrtime_t
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
    typedefs:
    - item_type: typedef
      name: dds_time_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type: int64_t
    - item_type: typedef
      name: dds_duration_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/time.h
      type: int64_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/strtod.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_avl_treedef
  - DDSRT_AVL_TREEDEF_INITIALIZER
  - DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY
  - DDSRT_AVL_TREEDEF_INITIALIZER_ALLOWDUPS
  - DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_ALLOWDUPS
  - DDSRT_AVL_TREEDEF_INITIALIZER_R
  - DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R
  - DDSRT_AVL_TREEDEF_INITIALIZER_R_ALLOWDUPS
  - DDSRT_AVL_TREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS
  - DDSRT_AVL_CTREEDEF_INITIALIZER
  - DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY
  - DDSRT_AVL_CTREEDEF_INITIALIZER_ALLOWDUPS
  - DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_ALLOWDUPS
  - DDSRT_AVL_CTREEDEF_INITIALIZER_R
  - DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R
  - DDSRT_AVL_CTREEDEF_INITIALIZER_R_ALLOWDUPS
  - DDSRT_AVL_CTREEDEF_INITIALIZER_INDKEY_R_ALLOWDUPS
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_AVL_MAX_TREEHEIGHT
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type_or_value: (12 * sizeof (void *))
    - item_type: preproc_def
      name: DDSRT_AVL_TREEDEF_FLAG_INDKEY
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSRT_AVL_TREEDEF_FLAG_R
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: DDSRT_AVL_TREEDEF_FLAG_ALLOWDUPS
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type_or_value: '4 '
    structs:
    - fields:
      - name: '*cs[2]'
        type: struct ddsrt_avl_node
      - name: '*parent'
        type: struct ddsrt_avl_node
      - name: height
        type: int
      item_type: struct
      name: ddsrt_avl_node
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: avlnodeoffset
        type: size_t
      - name: keyoffset
        type: size_t
      - name: u
        type: "union {\n        ddsrt_avl_compare_t comparekk;\n        ddsrt_avl_compare_r_t
          comparekk_r;\n    }"
      - name: augment
        type: ddsrt_avl_augment_t
      - name: flags
        type: uint32_t
      - name: '*cmp_arg'
        type: void
      item_type: struct
      name: ddsrt_avl_treedef
      pos:
        line_end: 255
        line_start: 242
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: t
        type: ddsrt_avl_treedef_t
      item_type: struct
      name: ddsrt_avl_ctreedef
      pos:
        line_end: 260
        line_start: 258
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: '*root'
        type: ddsrt_avl_node_t
      item_type: struct
      name: ddsrt_avl_tree
      pos:
        line_end: 270
        line_start: 268
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: t
        type: ddsrt_avl_tree_t
      - name: count
        type: size_t
      item_type: struct
      name: ddsrt_avl_ctree
      pos:
        line_end: 276
        line_start: 273
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: depth
        type: int
      - name: pnodeidx
        type: int
      - name: '*parent'
        type: ddsrt_avl_node_t
      - name: '**pnode[DDSRT_AVL_MAX_TREEHEIGHT]'
        type: ddsrt_avl_node_t
      item_type: struct
      name: ddsrt_avl_path
      pos:
        line_end: 283
        line_start: 278
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: p
        type: ddsrt_avl_path_t
      item_type: struct
      name: ddsrt_avl_ipath
      pos:
        line_end: 292
        line_start: 290
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: p
        type: ddsrt_avl_path_t
      item_type: struct
      name: ddsrt_avl_dpath
      pos:
        line_end: 301
        line_start: 299
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: '*td'
        type: ddsrt_avl_treedef_t
      - name: '*right'
        type: ddsrt_avl_node_t
      - name: '**todop'
        type: ddsrt_avl_node_t
      - name: '*todo[1+DDSRT_AVL_MAX_TREEHEIGHT]'
        type: ddsrt_avl_node_t
      item_type: struct
      name: ddsrt_avl_iter
      pos:
        line_end: 311
        line_start: 306
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    - fields:
      - name: t
        type: ddsrt_avl_iter_t
      item_type: struct
      name: ddsrt_avl_citer
      pos:
        line_end: 316
        line_start: 314
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
    typedefs:
    - item_type: typedef
      name: (*ddsrt_avl_compare_t) (const void *a, const void *b)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type: int
    - item_type: typedef
      name: (*ddsrt_avl_compare_r_t) (const void *a, const void *b, void *arg)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type: int
    - item_type: typedef
      name: (*ddsrt_avl_augment_t) (void *vnode, const void *left, const void *right)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type: void
    - item_type: typedef
      name: (*ddsrt_avl_walk_t) (void *vnode, void *arg)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type: void
    - item_type: typedef
      name: (*ddsrt_avl_const_walk_t) (const void *vnode, void *arg)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/avl.h
      type: void
    union: []
- function_names:
  - DDS_XRETCODE
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDS_RETCODE_OK
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(0) '
    - item_type: preproc_def
      name: DDS_RETCODE_ERROR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-1) '
    - item_type: preproc_def
      name: DDS_RETCODE_UNSUPPORTED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-2) '
    - item_type: preproc_def
      name: DDS_RETCODE_BAD_PARAMETER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-3) '
    - item_type: preproc_def
      name: DDS_RETCODE_PRECONDITION_NOT_MET
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-4) '
    - item_type: preproc_def
      name: DDS_RETCODE_OUT_OF_RESOURCES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-5) '
    - item_type: preproc_def
      name: DDS_RETCODE_NOT_ENABLED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-6) '
    - item_type: preproc_def
      name: DDS_RETCODE_IMMUTABLE_POLICY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-7) '
    - item_type: preproc_def
      name: DDS_RETCODE_INCONSISTENT_POLICY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-8) '
    - item_type: preproc_def
      name: DDS_RETCODE_ALREADY_DELETED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-9) '
    - item_type: preproc_def
      name: DDS_RETCODE_TIMEOUT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-10) '
    - item_type: preproc_def
      name: DDS_RETCODE_NO_DATA
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-11) '
    - item_type: preproc_def
      name: DDS_RETCODE_ILLEGAL_OPERATION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-12) '
    - item_type: preproc_def
      name: DDS_RETCODE_NOT_ALLOWED_BY_SECURITY
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-13) '
    - item_type: preproc_def
      name: DDS_XRETCODE_BASE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: '(-50) '
    - item_type: preproc_def
      name: DDS_RETCODE_IN_PROGRESS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(1)
    - item_type: preproc_def
      name: DDS_RETCODE_TRY_AGAIN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(2)
    - item_type: preproc_def
      name: DDS_RETCODE_INTERRUPTED
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(3)
    - item_type: preproc_def
      name: DDS_RETCODE_NOT_ALLOWED
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(4)
    - item_type: preproc_def
      name: DDS_RETCODE_HOST_NOT_FOUND
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(5)
    - item_type: preproc_def
      name: DDS_RETCODE_NO_NETWORK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(6)
    - item_type: preproc_def
      name: DDS_RETCODE_NO_CONNECTION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(7)
    - item_type: preproc_def
      name: DDS_RETCODE_NOT_ENOUGH_SPACE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(8)
    - item_type: preproc_def
      name: DDS_RETCODE_OUT_OF_RANGE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(9)
    - item_type: preproc_def
      name: DDS_RETCODE_NOT_FOUND
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type_or_value: DDS_XRETCODE(10)
    structs: []
    typedefs:
    - item_type: typedef
      name: dds_return_t
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/retcode.h
      type: int32_t
    union: []
- function_names:
  - ddsrt_bswap2u
  - ddsrt_bswap2
  - ddsrt_bswap4u
  - ddsrt_bswap4
  - ddsrt_bswap8u
  - ddsrt_bswap8
  - ddsrt_toBE2
  - ddsrt_toBE2u
  - ddsrt_toBE4
  - ddsrt_toBE4u
  - ddsrt_toBE8
  - ddsrt_toBE8u
  - ddsrt_toLE2
  - ddsrt_toLE2u
  - ddsrt_toLE4
  - ddsrt_toLE4u
  - ddsrt_toLE8
  - ddsrt_toLE8u
  - ddsrt_toBO2
  - ddsrt_toBO2u
  - ddsrt_toBO4
  - ddsrt_toBO4u
  - ddsrt_toBO8
  - ddsrt_toBO8u
  - ddsrt_fromBE2
  - ddsrt_fromBE2u
  - ddsrt_fromBE4
  - ddsrt_fromBE4u
  - ddsrt_fromBE8
  - ddsrt_fromBE8u
  - ddsrt_toBE2u
  - ddsrt_toBE4
  - ddsrt_toBE4u
  - ddsrt_toBE8
  - ddsrt_toBE8u
  - ddsrt_toLE2
  - ddsrt_toLE2u
  - ddsrt_toLE4
  - ddsrt_toLE4u
  - ddsrt_toLE8
  - ddsrt_toLE8u
  - ddsrt_toBO2
  - ddsrt_toBO2u
  - ddsrt_toBO4
  - ddsrt_toBO4u
  - ddsrt_toBO8
  - ddsrt_toBO8u
  - ddsrt_fromBE2
  - ddsrt_fromBE2u
  - ddsrt_fromBE4
  - ddsrt_fromBE4u
  - ddsrt_fromBE8
  - ddsrt_fromBE8u
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
  types:
    enum:
    - enumerators:
      - name: DDSRT_BOSEL_NATIVE
      - name: DDSRT_BOSEL_BE
      - name: DDSRT_BOSEL_LE
      item_type: enum
      name: ddsrt_byte_order_selector
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/bswap.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/arch.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_64BIT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/arch.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSRT_64BIT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/arch.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSRT_64BIT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/arch.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDSRT_64BIT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/arch.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/io.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DDSRT_FIBHEAPDEF_INITIALIZER
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/fibheap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*parent'
        type: struct ddsrt_fibheap_node
      - name: '*children'
        type: struct ddsrt_fibheap_node
      - name: '*prev'
        type: struct ddsrt_fibheap_node
      - name: '*next'
        type: struct ddsrt_fibheap_node
      - name: mark
        type: unsigned
      - name: degree
        type: unsigned
      item_type: struct
      name: ddsrt_fibheap_node
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/fibheap.h
    - fields:
      - name: offset
        type: uintptr_t
      - name: (*cmp) (const void *va, const void *vb)
        type: int
      item_type: struct
      name: ddsrt_fibheap_def
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/fibheap.h
    - fields:
      - name: '*roots'
        type: ddsrt_fibheap_node_t
      item_type: struct
      name: ddsrt_fibheap
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/fibheap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/machineid.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: x[16]
        type: unsigned char
      item_type: struct
      name: ddsrt_machineid
      pos:
        line_end: 24
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/machineid.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIdPID
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '"p"'
    - item_type: preproc_def
      name: DDSRT_HAVE_MULTI_PROCESS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PRIdPID
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: PRIu32
    - item_type: preproc_def
      name: DDSRT_HAVE_MULTI_PROCESS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PRIdPID
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: PRIuPTR
    - item_type: preproc_def
      name: DDSRT_HAVE_MULTI_PROCESS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PRIdPID
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: DDSRT_HAVE_MULTI_PROCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PRIdPID
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: DDSRT_HAVE_MULTI_PROCESS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: ddsrt_pid_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type: TaskHandle_t
    - item_type: typedef
      name: ddsrt_pid_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type: uint32_t
    - item_type: typedef
      name: ddsrt_pid_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type: RTP_ID
    - item_type: typedef
      name: ddsrt_pid_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type: int
    - item_type: typedef
      name: ddsrt_pid_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/process.h
      type: pid_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/environ.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_PATH_MAX
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
      type_or_value: PATH_MAX
    - item_type: preproc_def
      name: DDSRT_PATH_MAX
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
      type_or_value: FILENAME_MAX
    - item_type: preproc_def
      name: DDSRT_FILESEPCHAR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
      type_or_value: '''/'''
    structs: []
    typedefs:
    - item_type: typedef
      name: '*ddsrt_dir_handle_t'
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
      type: DIR
    - item_type: typedef
      name: ddsrt_mode_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/posix.h
      type: mode_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/windows.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_PATH_MAX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/windows.h
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: DDSRT_FILESEPCHAR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/windows.h
      type_or_value: '''\\'''
    structs: []
    typedefs:
    - item_type: typedef
      name: ddsrt_dir_handle_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/windows.h
      type: HANDLE
    - item_type: typedef
      name: ddsrt_mode_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/filesystem/windows.h
      type: unsigned short
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/posix.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/posix.h
      type: long int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _PFX_64
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"l"'
    - item_type: preproc_def
      name: _PFX_64
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"ll"'
    - item_type: preproc_def
      name: PRId8
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: PRId16
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: PRId32
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: PRId64
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "d"
    - item_type: preproc_def
      name: PRIi8
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: PRIi16
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: PRIi32
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: PRIi64
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "i"
    - item_type: preproc_def
      name: PRIo8
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: PRIo16
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: PRIo32
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: PRIo64
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "o"
    - item_type: preproc_def
      name: PRIu8
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PRIu16
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PRIu32
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PRIu64
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "u"
    - item_type: preproc_def
      name: PRIx8
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"x"'
    - item_type: preproc_def
      name: PRIx16
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"x"'
    - item_type: preproc_def
      name: PRIx32
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"x"'
    - item_type: preproc_def
      name: PRIX8
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"X"'
    - item_type: preproc_def
      name: PRIX16
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"X"'
    - item_type: preproc_def
      name: PRIX32
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: '"X"'
    - item_type: preproc_def
      name: PRIX64
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "X"
    - item_type: preproc_def
      name: PRIdMAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "d"
    - item_type: preproc_def
      name: PRIiMAX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "i"
    - item_type: preproc_def
      name: PRIoMAX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "o"
    - item_type: preproc_def
      name: PRIuMAX
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "u"
    - item_type: preproc_def
      name: PRIxMAX
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "x"
    - item_type: preproc_def
      name: PRIXMAX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "X"
    - item_type: preproc_def
      name: PRIdPTR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "d"
    - item_type: preproc_def
      name: PRIiPTR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "i"
    - item_type: preproc_def
      name: PRIoPTR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "o"
    - item_type: preproc_def
      name: PRIXPTR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type_or_value: _PFX_64 "X"
    structs: []
    typedefs:
    - item_type: typedef
      name: uintmax_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type: unsigned long int
    - item_type: typedef
      name: uintmax_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/vxworks.h
      type: unsigned long long int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/windows.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/types/windows.h
      type: SSIZE_T
    union: []
- function_names:
  - IN_MULTICAST
  - IN6_IS_ADDR_UNSPECIFIED
  - IN6_IS_ADDR_LOOPBACK
  - IN6_IS_ADDR_LINKLOCAL
  - IN6_IS_ADDR_MULTICAST
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_INVALID_SOCKET
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: PRIdSOCK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: IFF_UP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: IFF_BROADCAST
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: IFF_LOOPBACK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: IFF_POINTOPOINT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IFF_MULTICAST
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: DDSRT_MCGROUP_JOIN_ONCE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INADDR_LOOPBACK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x7f000001 '
    - item_type: preproc_def
      name: IP_MULTICAST_IF
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '32'
    - item_type: preproc_def
      name: IP_MULTICAST_TTL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '33'
    - item_type: preproc_def
      name: IP_MULTICAST_LOOP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '34'
    - item_type: preproc_def
      name: IFF_UP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: IFF_BROADCAST
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: IFF_LOOPBACK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: IFF_POINTOPOINT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IFF_MULTICAST
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: IPV6_JOIN_GROUP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '91'
    - item_type: preproc_def
      name: IPV6_LEAVE_GROUP
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '92'
    - item_type: preproc_def
      name: IPV6_MULTICAST_IF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '95'
    - item_type: preproc_def
      name: IPV6_MULTICAST_LOOP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '96'
    - item_type: preproc_def
      name: DDSRT_MSGHDR_FLAGS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DDSRT_MSGHDR_FLAGS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type_or_value: '1'
    structs:
    - fields:
      - name: sock
        type: ddsrt_socket_t
      item_type: struct
      name: ddsrt_socket_ext
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
    typedefs:
    - item_type: typedef
      name: ddsrt_socket_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type: int
    - item_type: typedef
      name: ddsrt_msghdr_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/posix.h
      type: msghdr
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_INVALID_SOCKET
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: (INVALID_SOCKET)
    - item_type: preproc_def
      name: PRIdSOCK
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: PRIuPTR
    - item_type: preproc_def
      name: IFF_POINTOPOINT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: IFF_POINTTOPOINT
    - item_type: preproc_def
      name: MCAST_JOIN_SOURCE_GROUP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: '45'
    - item_type: preproc_def
      name: MCAST_LEAVE_SOURCE_GROUP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: '46'
    - item_type: preproc_def
      name: DDSRT_MSGHDR_FLAGS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type_or_value: '1'
    structs:
    - fields:
      - name: sock
        type: ddsrt_socket_t
      - name: wsarecvmsg
        type: LPFN_WSARECVMSG
      item_type: struct
      name: ddsrt_socket_ext_t
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
    - fields:
      - name: '*msg_name'
        type: void
      - name: msg_namelen
        type: socklen_t
      - name: '*msg_iov'
        type: ddsrt_iovec_t
      - name: msg_iovlen
        type: ddsrt_msg_iovlen_t
      - name: '*msg_control'
        type: void
      - name: msg_controllen
        type: size_t
      - name: msg_flags
        type: int
      item_type: struct
      name: ddsrt_msghdr
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
    typedefs:
    - item_type: typedef
      name: ddsrt_socket_t
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sockets/windows.h
      type: SOCKET
    union: []
- function_names:
  - ddsrt_atomic_ld32
  - ddsrt_atomic_ldptr
  - ddsrt_atomic_ldvoidp
  - ddsrt_atomic_st32
  - ddsrt_atomic_stptr
  - ddsrt_atomic_stvoidp
  - ddsrt_atomic_casptr
  - ddsrt_atomic_casvoidp
  - ddsrt_atomic_add32_nv
  - ddsrt_atomic_addptr_nv
  - ddsrt_atomic_add32
  - ddsrt_atomic_addptr
  - ddsrt_atomic_add32_ov
  - ddsrt_atomic_addptr_ov
  - ddsrt_atomic_sub32_nv
  - ddsrt_atomic_subptr_nv
  - ddsrt_atomic_sub32_ov
  - ddsrt_atomic_subptr_ov
  - ddsrt_atomic_sub32
  - ddsrt_atomic_subptr
  - ddsrt_atomic_inc32_ov
  - ddsrt_atomic_incptr_ov
  - ddsrt_atomic_inc32_nv
  - ddsrt_atomic_incptr_nv
  - ddsrt_atomic_inc32
  - ddsrt_atomic_incptr
  - ddsrt_atomic_dec32_ov
  - ddsrt_atomic_decptr_ov
  - ddsrt_atomic_dec32_nv
  - ddsrt_atomic_decptr_nv
  - ddsrt_atomic_dec32
  - ddsrt_atomic_decptr
  - ddsrt_atomic_and32_ov
  - ddsrt_atomic_andptr_ov
  - ddsrt_atomic_and32_nv
  - ddsrt_atomic_andptr_nv
  - ddsrt_atomic_and32
  - ddsrt_atomic_andptr
  - ddsrt_atomic_or32_ov
  - ddsrt_atomic_orptr_ov
  - ddsrt_atomic_or32_nv
  - ddsrt_atomic_orptr_nv
  - ddsrt_atomic_or32
  - ddsrt_atomic_orptr
  - ddsrt_atomic_fence
  - ddsrt_atomic_fence_ldld
  - ddsrt_atomic_fence_stst
  - ddsrt_atomic_fence_acq
  - ddsrt_atomic_fence_rel
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/arm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_atomic_ld32
  - ddsrt_atomic_ld64
  - ddsrt_atomic_ldptr
  - ddsrt_atomic_ldvoidp
  - ddsrt_atomic_st32
  - ddsrt_atomic_st64
  - ddsrt_atomic_stptr
  - ddsrt_atomic_stvoidp
  - ddsrt_atomic_inc32
  - ddsrt_atomic_inc64
  - ddsrt_atomic_incptr
  - ddsrt_atomic_inc32_ov
  - ddsrt_atomic_inc64_ov
  - ddsrt_atomic_incptr_ov
  - ddsrt_atomic_inc32_nv
  - ddsrt_atomic_inc64_nv
  - ddsrt_atomic_incptr_nv
  - ddsrt_atomic_dec32
  - ddsrt_atomic_dec64
  - ddsrt_atomic_decptr
  - ddsrt_atomic_dec32_nv
  - ddsrt_atomic_dec64_nv
  - ddsrt_atomic_decptr_nv
  - ddsrt_atomic_dec32_ov
  - ddsrt_atomic_dec64_ov
  - ddsrt_atomic_decptr_ov
  - ddsrt_atomic_add32
  - ddsrt_atomic_add64
  - ddsrt_atomic_addptr
  - ddsrt_atomic_add32_ov
  - ddsrt_atomic_add64_ov
  - ddsrt_atomic_addptr_ov
  - ddsrt_atomic_add32_nv
  - ddsrt_atomic_add64_nv
  - ddsrt_atomic_addptr_nv
  - ddsrt_atomic_sub32
  - ddsrt_atomic_sub64
  - ddsrt_atomic_subptr
  - ddsrt_atomic_sub32_ov
  - ddsrt_atomic_sub64_ov
  - ddsrt_atomic_subptr_ov
  - ddsrt_atomic_sub32_nv
  - ddsrt_atomic_sub64_nv
  - ddsrt_atomic_subptr_nv
  - ddsrt_atomic_and32
  - ddsrt_atomic_and64
  - ddsrt_atomic_andptr
  - ddsrt_atomic_and32_ov
  - ddsrt_atomic_and64_ov
  - ddsrt_atomic_andptr_ov
  - ddsrt_atomic_and32_nv
  - ddsrt_atomic_and64_nv
  - ddsrt_atomic_andptr_nv
  - ddsrt_atomic_or32
  - ddsrt_atomic_or64
  - ddsrt_atomic_orptr
  - ddsrt_atomic_or32_ov
  - ddsrt_atomic_or64_ov
  - ddsrt_atomic_orptr_ov
  - ddsrt_atomic_or32_nv
  - ddsrt_atomic_or64_nv
  - ddsrt_atomic_orptr_nv
  - ddsrt_atomic_cas32
  - ddsrt_atomic_cas64
  - ddsrt_atomic_casptr
  - ddsrt_atomic_casvoidp
  - ddsrt_atomic_casvoidp2
  - ddsrt_atomic_fence
  - ddsrt_atomic_fence_ldld
  - ddsrt_atomic_fence_stst
  - ddsrt_atomic_fence_acq
  - ddsrt_atomic_fence_rel
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_HAVE_ATOMIC_LIFO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
      type_or_value: '1'
    structs:
    - fields:
      - name: aba_head
        type: ddsrt_atomic_uintptr2_t
      item_type: struct
      name: ddsrt_atomic_lifo_t
      pos:
        line_end: 865
        line_start: 863
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    typedefs:
    - item_type: typedef
      name: __attribute__((aligned(16))
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
      type: __int128_t
    - item_type: typedef
      name: ddsrt_atomic_int128_t
      pos:
        line_end: 853
        line_start: 853
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
      type: __int128_t
    union:
    - fields:
      - name: x
        type: ddsrt_atomic_int128_t
      - name: s
        type: struct { uintptr_t a, b; }
      item_type: union
      name: ddsrt_atomic_uintptr2_t
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
    - fields:
      - name: x
        type: uint64_t
      - name: s
        type: struct { uintptr_t a, b; }
      item_type: union
      name: ddsrt_atomic_uintptr2_t
      pos:
        line_end: 857
        line_start: 857
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/gcc.h
- function_names:
  - DDSRT_ATOMIC_OP32
  - DDSRT_ATOMIC_OP64
  - DDSRT_ATOMIC_PTROP
  - DDSRT_ATOMIC_PTROP
  - ddsrt_atomic_ld32
  - ddsrt_atomic_ld64
  - ddsrt_atomic_ldptr
  - ddsrt_atomic_ldvoidp
  - ddsrt_atomic_st32
  - ddsrt_atomic_st64
  - ddsrt_atomic_stptr
  - ddsrt_atomic_stvoidp
  - ddsrt_atomic_cas32
  - ddsrt_atomic_cas64
  - ddsrt_atomic_casptr
  - ddsrt_atomic_casvoidp
  - ddsrt_atomic_inc32
  - ddsrt_atomic_inc64
  - ddsrt_atomic_incptr
  - ddsrt_atomic_inc32_ov
  - ddsrt_atomic_inc64_ov
  - ddsrt_atomic_incptr_ov
  - ddsrt_atomic_inc32_nv
  - ddsrt_atomic_inc64_nv
  - ddsrt_atomic_incptr_nv
  - ddsrt_atomic_dec32
  - ddsrt_atomic_dec64
  - ddsrt_atomic_decptr
  - ddsrt_atomic_dec32_nv
  - ddsrt_atomic_dec64_nv
  - ddsrt_atomic_decptr_nv
  - ddsrt_atomic_dec32_ov
  - ddsrt_atomic_dec64_ov
  - ddsrt_atomic_decptr_ov
  - ddsrt_atomic_add32
  - ddsrt_atomic_add64
  - ddsrt_atomic_addptr
  - ddsrt_atomic_add32_ov
  - ddsrt_atomic_add64_ov
  - ddsrt_atomic_addptr_ov
  - ddsrt_atomic_add32_nv
  - ddsrt_atomic_add64_nv
  - ddsrt_atomic_addptr_nv
  - ddsrt_atomic_sub32
  - ddsrt_atomic_sub64
  - ddsrt_atomic_subptr
  - ddsrt_atomic_sub32_ov
  - ddsrt_atomic_sub64_ov
  - ddsrt_atomic_subptr_ov
  - ddsrt_atomic_sub32_nv
  - ddsrt_atomic_sub64_nv
  - ddsrt_atomic_subptr_nv
  - ddsrt_atomic_and32
  - ddsrt_atomic_and64
  - ddsrt_atomic_andptr
  - ddsrt_atomic_and32_ov
  - ddsrt_atomic_and64_ov
  - ddsrt_atomic_andptr_ov
  - ddsrt_atomic_and32_nv
  - ddsrt_atomic_and64_nv
  - ddsrt_atomic_andptr_nv
  - ddsrt_atomic_or32
  - ddsrt_atomic_or64
  - ddsrt_atomic_orptr
  - ddsrt_atomic_or32_ov
  - ddsrt_atomic_or64_ov
  - ddsrt_atomic_orptr_ov
  - ddsrt_atomic_or32_nv
  - ddsrt_atomic_or64_nv
  - ddsrt_atomic_orptr_nv
  - ddsrt_atomic_fence
  - ddsrt_atomic_fence_ldld
  - ddsrt_atomic_fence_stst
  - ddsrt_atomic_fence_acq
  - ddsrt_atomic_fence_rel
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/msvc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ddsrt_atomic_ld32
  - ddsrt_atomic_ld64
  - ddsrt_atomic_ldptr
  - ddsrt_atomic_ldvoidp
  - ddsrt_atomic_st32
  - ddsrt_atomic_st64
  - ddsrt_atomic_stptr
  - ddsrt_atomic_stvoidp
  - ddsrt_atomic_inc32
  - ddsrt_atomic_inc64
  - ddsrt_atomic_inc32_ov
  - ddsrt_atomic_inc32_nv
  - ddsrt_atomic_inc64_nv
  - ddsrt_atomic_dec32
  - ddsrt_atomic_dec64
  - ddsrt_atomic_dec32_nv
  - ddsrt_atomic_dec64_nv
  - ddsrt_atomic_dec32_ov
  - ddsrt_atomic_dec64_ov
  - ddsrt_atomic_add32
  - ddsrt_atomic_add64
  - ddsrt_atomic_add32_ov
  - ddsrt_atomic_add32_nv
  - ddsrt_atomic_add64_nv
  - ddsrt_atomic_sub32
  - ddsrt_atomic_sub64
  - ddsrt_atomic_sub32_ov
  - ddsrt_atomic_sub32_nv
  - ddsrt_atomic_sub64_nv
  - ddsrt_atomic_and32
  - ddsrt_atomic_and64
  - ddsrt_atomic_and32_ov
  - ddsrt_atomic_and64_ov
  - ddsrt_atomic_and32_nv
  - ddsrt_atomic_and64_nv
  - ddsrt_atomic_or32
  - ddsrt_atomic_or64
  - ddsrt_atomic_or32_ov
  - ddsrt_atomic_or64_ov
  - ddsrt_atomic_or32_nv
  - ddsrt_atomic_or64_nv
  - ddsrt_atomic_cas32
  - ddsrt_atomic_cas64
  - ddsrt_atomic_casptr
  - ddsrt_atomic_casvoidp
  - ddsrt_atomic_fence
  - ddsrt_atomic_fence_ldld
  - ddsrt_atomic_fence_stst
  - ddsrt_atomic_fence_acq
  - ddsrt_atomic_fence_rel
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_ATOMIC64_SUPPORT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/atomics/sun.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_SETNAME
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_LIST
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_LIST
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: (0)
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: 'PRIuPTR '
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: '"d" '
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type_or_value: PRIuPTR
    structs:
    - fields:
      - name: v
        type: pthread_t
      item_type: struct
      name: ddsrt_thread_t
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
    typedefs:
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: long int
    - item_type: typedef
      name: ddsrt_thread_list_id_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: long int
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: int
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: uint64_t
    - item_type: typedef
      name: ddsrt_thread_list_id_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: uint32_t
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: TASK_ID
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: int
    - item_type: typedef
      name: ddsrt_thread_list_id_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: int
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/posix.h
      type: uintptr_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_SETNAME
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_LIST
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
      type_or_value: (0)
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
      type_or_value: '"lu"'
    structs:
    - fields:
      - name: task
        type: TaskHandle_t
      item_type: struct
      name: ddsrt_thread_t
      pos:
        line_end: 25
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
    typedefs:
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
      type: UBaseType_t
    - item_type: typedef
      name: ddsrt_thread_list_id_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/freertos.h
      type: TaskHandle_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_SETNAME
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DDSRT_HAVE_THREAD_LIST
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
      type_or_value: (1)
    - item_type: preproc_def
      name: PRIdTID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
      type_or_value: PRIu32
    structs:
    - fields:
      - name: tid
        type: DWORD
      - name: handle
        type: HANDLE
      item_type: struct
      name: ddsrt_thread_t
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
    typedefs:
    - item_type: typedef
      name: ddsrt_tid_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
      type: uint32_t
    - item_type: typedef
      name: ddsrt_thread_list_id_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/threads/windows.h
      type: HANDLE
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_ONCE_INIT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
      type_or_value: PTHREAD_ONCE_INIT
    structs:
    - fields:
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: ddsrt_cond_t
      pos:
        line_end: 25
        line_start: 23
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    - fields:
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: ddsrt_cond_wctime_t
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    - fields:
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: ddsrt_cond_mtime_t
      pos:
        line_end: 33
        line_start: 31
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    - fields:
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: ddsrt_cond_etime_t
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    - fields:
      - name: mutex
        type: pthread_mutex_t
      item_type: struct
      name: ddsrt_mutex_t
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    - fields: []
      item_type: struct
      name: ddsrt_rwlock_t
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
    typedefs:
    - item_type: typedef
      name: ddsrt_once_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/posix.h
      type: pthread_once_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_ONCE_INIT
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
      type_or_value: '{ .v = (1<<0) '
    - item_type: preproc_def
      name: DDSRT_TASKLIST_CHUNK
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
      type_or_value: (5)
    - item_type: preproc_def
      name: DDSRT_TASKLIST_INITIAL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
      type_or_value: (DDSRT_TASKLIST_CHUNK * 2)
    structs:
    - fields:
      - name: sem
        type: SemaphoreHandle_t
      item_type: struct
      name: ddsrt_mutex_t
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: len
        type: size_t
      - name: cnt
        type: size_t
      - name: 'off'
        type: size_t
      - name: end
        type: size_t
      - name: '*tasks'
        type: TaskHandle_t
      item_type: struct
      name: ddsrt_tasklist_t
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: sem
        type: SemaphoreHandle_t
      - name: tasks
        type: ddsrt_tasklist_t
      item_type: struct
      name: ddsrt_cond_t
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: cond
        type: ddsrt_cond_t
      item_type: struct
      name: ddsrt_cond_wctime_t
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: cond
        type: ddsrt_cond_t
      item_type: struct
      name: ddsrt_cond_mtime_t
      pos:
        line_end: 53
        line_start: 51
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: cond
        type: ddsrt_cond_t
      item_type: struct
      name: ddsrt_cond_etime_t
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    - fields:
      - name: sem
        type: SemaphoreHandle_t
      - name: tasks
        type: ddsrt_tasklist_t
      - name: state
        type: int32_t
      - name: cnt
        type: uint32_t
      - name: rdcnt
        type: uint32_t
      - name: wrcnt
        type: uint32_t
      item_type: struct
      name: ddsrt_rwlock_t
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
    typedefs:
    - item_type: typedef
      name: ddsrt_once_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/freertos.h
      type: ddsrt_atomic_uint32_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DDSRT_ONCE_INIT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
      type_or_value: INIT_ONCE_STATIC_INIT
    structs:
    - fields:
      - name: cond
        type: CONDITION_VARIABLE
      item_type: struct
      name: ddsrt_cond_t
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    - fields:
      - name: cond
        type: CONDITION_VARIABLE
      item_type: struct
      name: ddsrt_cond_wctime_t
      pos:
        line_end: 23
        line_start: 21
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    - fields:
      - name: cond
        type: CONDITION_VARIABLE
      item_type: struct
      name: ddsrt_cond_mtime_t
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    - fields:
      - name: cond
        type: CONDITION_VARIABLE
      item_type: struct
      name: ddsrt_cond_etime_t
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    - fields:
      - name: lock
        type: SRWLOCK
      item_type: struct
      name: ddsrt_mutex_t
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    - fields:
      - name: lock
        type: SRWLOCK
      - name: state
        type: int
      item_type: struct
      name: os_rwlock
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
    typedefs:
    - item_type: typedef
      name: ddsrt_once_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/ddsrt/include/dds/ddsrt/sync/windows.h
      type: INIT_ONCE
    union: []
- function_names:
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  - iox_psmx::sched::cpuset_t
  source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: cpuset_t
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: schedclass
        type: prioclass_t
      - name: priority
        type: int
      item_type: struct
      name: class_prio
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: prio
        type: std::optional<class_prio>
      - name: affinity
        type: std::optional<cpuset_t>
      item_type: struct
      name: sched_info
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields: []
      item_type: struct
      name: cpuset_t
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: schedclass
        type: prioclass_t
      - name: priority
        type: int
      item_type: struct
      name: class_prio
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: prio
        type: std::optional<class_prio>
      - name: affinity
        type: std::optional<cpuset_t>
      item_type: struct
      name: sched_info
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields: []
      item_type: struct
      name: cpuset_t
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: schedclass
        type: prioclass_t
      - name: priority
        type: int
      item_type: struct
      name: class_prio
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: prio
        type: std::optional<class_prio>
      - name: affinity
        type: std::optional<cpuset_t>
      item_type: struct
      name: sched_info
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields: []
      item_type: struct
      name: cpuset_t
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: schedclass
        type: prioclass_t
      - name: priority
        type: int
      item_type: struct
      name: class_prio
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    - fields:
      - name: prio
        type: std::optional<class_prio>
      - name: affinity
        type: std::optional<cpuset_t>
      item_type: struct
      name: sched_info
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
    typedefs:
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: uint32_t
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: uint32_t
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: uint32_t
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: uint32_t
    - item_type: typedef
      name: prioclass_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.hpp
      type: int
    union: []
- function_names:
  - log_error
  - stop_listener_thread
  - remove_reader_from_part_topic
  - on_event_try_take
  - on_event_try
  - on_event
  - psmx_iox2_waitset_run_result_string
  - thread_listener_func
  - add_reader_to_part_topic
  - free_part_topic
  - compare_iox2_topic
  - unref_part_topic
  - psmx_iox2_type_detail_error_string
  - create_iox2_topic_name
  - get_part_topic
  - is_wildcard_partition
  - psmx_iox2_type_qos_supported
  - psmx_iox2_delete_topic
  - psmx_iox2_create_topic_w_type
  - psmx_iox2_deinit_v2
  - psmx_iox2_get_node_id
  - psmx_iox2_supported_features
  - psmx_iox2_init_reader
  - psmx_iox2_init_writer
  - psmx_iox2_init_endpoint
  - psmx_iox2_create_endpoint
  - psmx_iox2_delete_endpoint
  - psmx_iox2_req_loan
  - psmx_iox2_write
  - psmx_iox2_take_locked
  - psmx_iox2_take
  - psmx_iox2_on_data_available
  - psmx_iox2_loaned_sample_const_free
  - psmx_iox2_loaned_sample_mut_free
  - get_loglevel_opt
  - to_node_identifier
  - get_node_id_opt
  - get_bool_opt
  - iox2_create_psmx
  source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
  types:
    enum:
    - enumerators:
      - name: LISTENER_THREAD_NONE
      - name: LISTENER_THREAD_RUN
      - name: LISTENER_THREAD_INIT
      - name: LISTENER_THREAD_STOPREQ
      item_type: enum
      name: listener_thread_state
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    preproc_defs:
    - item_type: preproc_def
      name: USE_LISTENER_THREAD_STATE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_STOP_EVENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PRINT_COUNT_OF_REMAINING_SAMPLES
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WAIT_TIMEOUT_ENABLE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WAIT_TIMEOUT_SEC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: WAIT_TIMEOUT_NSEC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type_or_value: '100000000'
    structs:
    - fields:
      - name: base
        type: dds_psmx_t
      - name: support_keyed_topics
        type: bool
      - name: allow_nondisc_wr
        type: bool
      - name: node_id
        type: dds_psmx_node_identifier_t
      - name: node_handle
        type: iox2_node_h
      item_type: struct
      name: psmx_iox2_t
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: base
        type: dds_psmx_topic_t
      - name: '*parent'
        type: psmx_iox2_t
      - name: type_size
        type: uint32_t
      - name: '*topic_name'
        type: char
      - name: '*type_name'
        type: char
      - name: type_variant
        type: iox2_type_variant_e
      - name: partitions
        type: ddsrt_avl_tree_t
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: psmx_iox2_topic_t
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: avl_node
        type: ddsrt_avl_node_t
      - name: refc
        type: uint32_t
      - name: '*iox2_topic_name'
        type: char
      - name: '*topic'
        type: psmx_iox2_topic_t
      - name: service_handle
        type: iox2_port_factory_pub_sub_h
      - name: factory_event_handle
        type: iox2_port_factory_event_h
      - name: lock
        type: ddsrt_mutex_t
      - name: listener_thread
        type: ddsrt_thread_t
      - name: notifier
        type: iox2_notifier_h
      - name: '**readers'
        type: psmx_iox2_endpoint_t
      - name: n_readers
        type: uint32_t
      - name: c_readers
        type: uint32_t
      item_type: struct
      name: psmx_iox2_partition_topic_t
      pos:
        line_end: 105
        line_start: 87
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: base
        type: dds_psmx_endpoint_t
      - name: '*part_topic'
        type: psmx_iox2_partition_topic_t
      - name: iox2_handle
        type: "union {\n    iox2_publisher_h wr;\n    iox2_subscriber_h rd;\n  }"
      - name: cdds_endpoint
        type: dds_entity_t
      - name: lock
        type: ddsrt_mutex_t
      item_type: struct
      name: psmx_iox2_endpoint
      pos:
        line_end: 118
        line_start: 109
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: base
        type: dds_loaned_sample_t
      - name: iox2_ptr
        type: "union {\n    iox2_sample_mut_h mut;\n    iox2_sample_h cnst;\n  }"
      item_type: struct
      name: psmx_iox2_loaned_sample_t
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: guard
        type: iox2_waitset_guard_h_ref
      - name: listener
        type: iox2_listener_h_ref
      - name: '*part_topic'
        type: psmx_iox2_partition_topic_t
      item_type: struct
      name: on_event_arg
      pos:
        line_end: 273
        line_start: 269
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    - fields:
      - name: '*name'
        type: char
      - name: level
        type: iox2_log_level_e
      item_type: struct
      name: "tab[] = {\n      { \"off\", iox2_log_level_e_FATAL },\n      { \"fatal\",
        iox2_log_level_e_FATAL },\n      { \"error\", iox2_log_level_e_ERROR },\n
        \     { \"warn\", iox2_log_level_e_WARN },\n      { \"info\", iox2_log_level_e_INFO
        },\n      { \"debug\", iox2_log_level_e_DEBUG },\n      { \"trace\", iox2_log_level_e_TRACE
        }\n    }"
      pos:
        line_end: 1124
        line_start: 1121
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
    typedefs:
    - item_type: typedef
      name: psmx_iox2_endpoint_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox2_impl.c
      type: psmx_iox2_endpoint
    union: []
- function_names:
  - iox_psmx::is_wildcard_partition
  - iox_psmx::iox_psmx::iox_psmx
  - iox_psmx::~iox_psmx()
  - iox_psmx::iox_psmx_topic::iox_psmx_topic
  - iox_psmx_topic::~iox_psmx_topic()
  - iox_psmx::iox_psmx_endpoint::get_partition_topic
  - iox_psmx::iox_psmx_endpoint::iox_psmx_endpoint
  - iox_psmx_endpoint::~iox_psmx_endpoint()
  - iox_psmx::iox_loaned_sample::iox_loaned_sample
  - iox_loaned_sample::~iox_loaned_sample()
  - iox_psmx::iox_type_qos_supported
  - iox_psmx::iox_create_topic
  - iox_psmx::iox_delete_topic
  - iox_psmx::iox_psmx_deinit
  - iox_psmx::iox_psmx_get_node_id
  - iox_psmx::iox_supported_features
  - iox_psmx::iox_create_endpoint
  - iox_psmx::iox_delete_endpoint
  - iox_psmx::iox_req_loan
  - iox_psmx::iox_write
  - iox_psmx::incoming_sample_to_loan
  - iox_psmx::iox_take
  - iox_psmx::on_incoming_data_callback
  - iox_psmx::iox_on_data_available
  - iox_psmx::iox_loaned_sample_free
  - iox_psmx::is_wildcard_partition
  - iox_psmx::iox_psmx::iox_psmx
  - iox_psmx::~iox_psmx()
  - iox_psmx::iox_psmx_topic::iox_psmx_topic
  - iox_psmx_topic::~iox_psmx_topic()
  - iox_psmx::iox_psmx_endpoint::get_partition_topic
  - iox_psmx::iox_psmx_endpoint::iox_psmx_endpoint
  - iox_psmx_endpoint::~iox_psmx_endpoint()
  - iox_psmx::iox_loaned_sample::iox_loaned_sample
  - iox_loaned_sample::~iox_loaned_sample()
  - iox_psmx::iox_type_qos_supported
  - iox_psmx::iox_create_topic
  - iox_psmx::iox_delete_topic
  - iox_psmx::iox_psmx_deinit
  - iox_psmx::iox_psmx_get_node_id
  - iox_psmx::iox_supported_features
  - iox_psmx::iox_create_endpoint
  - iox_psmx::iox_delete_endpoint
  - iox_psmx::iox_req_loan
  - iox_psmx::iox_write
  - iox_psmx::incoming_sample_to_loan
  - iox_psmx::iox_take
  - iox_psmx::on_incoming_data_callback
  - iox_psmx::iox_on_data_available
  - iox_psmx::iox_loaned_sample_free
  - get_config_option_val
  - to_loglevel
  - to_node_identifier
  - iox_create_psmx
  source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ERROR_PREFIX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
      type_or_value: '"=== [ICEORYX] "'
    structs:
    - fields:
      - name: _support_keyed_topics
        type: bool
      - name: _allow_nondisc_wr
        type: bool
      - name: _service_name
        type: iox::capro::IdString_t
      - name: _listener
        type: std::unique_ptr<iox::popo::Listener>
      - name: _node_id
        type: dds_psmx_node_identifier_t
      - name: _node_id_publisher
        type: std::shared_ptr<iox::popo::UntypedPublisher>
      - name: _sched_info
        type: sched::sched_info
      item_type: struct
      name: iox_psmx
      pos:
        line_end: 124
        line_start: 113
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields:
      - name: '&_parent'
        type: iox_psmx
      - name: _data_type_str[64]
        type: char
      item_type: struct
      name: iox_psmx_topic
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields:
      - name: '&_parent'
        type: iox_psmx_topic
      - name: '*_iox_endpoint'
        type: void
      - name: cdds_endpoint
        type: dds_entity_t
      - name: lock
        type: std::mutex
      - name: '*get_partition_topic(const char * partition, const char * topic_name)'
        type: char
      item_type: struct
      name: iox_psmx_endpoint
      pos:
        line_end: 202
        line_start: 192
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields: []
      item_type: struct
      name: iox_loaned_sample
      pos:
        line_end: 339
        line_start: 335
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields:
      - name: _support_keyed_topics
        type: bool
      - name: _allow_nondisc_wr
        type: bool
      - name: _service_name
        type: iox::capro::IdString_t
      - name: _listener
        type: std::unique_ptr<iox::popo::Listener>
      - name: _node_id
        type: dds_psmx_node_identifier_t
      - name: _node_id_publisher
        type: std::shared_ptr<iox::popo::UntypedPublisher>
      - name: _sched_info
        type: sched::sched_info
      item_type: struct
      name: iox_psmx
      pos:
        line_end: 124
        line_start: 113
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields:
      - name: '&_parent'
        type: iox_psmx
      - name: _data_type_str[64]
        type: char
      item_type: struct
      name: iox_psmx_topic
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields:
      - name: '&_parent'
        type: iox_psmx_topic
      - name: '*_iox_endpoint'
        type: void
      - name: cdds_endpoint
        type: dds_entity_t
      - name: lock
        type: std::mutex
      - name: '*get_partition_topic(const char * partition, const char * topic_name)'
        type: char
      item_type: struct
      name: iox_psmx_endpoint
      pos:
        line_end: 202
        line_start: 192
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    - fields: []
      item_type: struct
      name: iox_loaned_sample
      pos:
        line_end: 339
        line_start: 335
        source_file: /src/cyclonedds/src/psmx_iox/src/psmx_iox_impl.cpp
    typedefs: []
    union: []
- function_names:
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::trim
  - iox_psmx::sched::sched_info_setpriority
  - iox_psmx::sched::cpuset_set
  - iox_psmx::sched::sched_info_setaffinity
  - iox_psmx::sched::set_thread_priority
  - iox_psmx::sched::set_thread_affinity
  - iox_psmx::sched::sched_info_apply
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::trim
  - iox_psmx::sched::sched_info_setpriority
  - iox_psmx::sched::cpuset_set
  - iox_psmx::sched::sched_info_setaffinity
  - iox_psmx::sched::set_thread_priority
  - iox_psmx::sched::set_thread_affinity
  - iox_psmx::sched::sched_info_apply
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::trim
  - iox_psmx::sched::sched_info_setpriority
  - iox_psmx::sched::cpuset_set
  - iox_psmx::sched::sched_info_setaffinity
  - iox_psmx::sched::set_thread_priority
  - iox_psmx::sched::set_thread_affinity
  - iox_psmx::sched::sched_info_apply
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::valid_priority
  - iox_psmx::sched::trim
  - iox_psmx::sched::sched_info_setpriority
  - iox_psmx::sched::cpuset_set
  - iox_psmx::sched::sched_info_setaffinity
  - iox_psmx::sched::set_thread_priority
  - iox_psmx::sched::set_thread_affinity
  - iox_psmx::sched::sched_info_apply
  source_file: /src/cyclonedds/src/psmx_iox/src/scheduling.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/psmx_iox/include/psmx_iox_impl.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/psmx_iox/include/psmx_iox2_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_string
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/forward.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: uint32_t
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { IDL_RETCODE_OK, IDL_STRUCT, \"struct a; struct a {
        long b; };\" },\n    { IDL_RETCODE_OK, IDL_STRUCT, \"struct a; struct a; struct
        a { long b; };\" },\n    { IDL_RETCODE_OK, IDL_UNION, \"union a; union a switch
        (short) { case 1: long b; };\" },\n    { IDL_RETCODE_OK, IDL_UNION, \"union
        a; union a; union a switch (short) { case 1: long b; };\" },\n    { IDL_RETCODE_SEMANTIC_ERROR,
        0u, \"struct a; union a; struct a { long b; };\" },\n    { IDL_RETCODE_SEMANTIC_ERROR,
        0u, \"union a; struct a; struct a { long b; };\" },\n    { IDL_RETCODE_SEMANTIC_ERROR,
        0u, \"union a; struct a; union a switch (short) { case 1: long b; };\" },\n
        \   { IDL_RETCODE_SYNTAX_ERROR, 0u, \"enum a; enum a { b, c };\" }\n  }"
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/cyclonedds/src/idl/tests/forward.c
    - fields:
      - name: forwards
        type: size_t
      - name: '*idl'
        type: char
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: idl_type_t
      item_type: struct
      name: "tests[] = {\n    { 1, \"struct a; typedef a b; struct a { long b; };\",
        IDL_RETCODE_OK, IDL_STRUCT },\n    { 2, \"struct a; struct a; typedef a b;
        struct a { long b; };\", IDL_RETCODE_OK, IDL_STRUCT },\n    { 1, \"union a;
        typedef a b; union a switch(short) { case 1: long b; };\", IDL_RETCODE_OK,
        IDL_UNION },\n    { 2, \"union a; union a; typedef a b; union a switch(short)
        { case 1: long b; };\", IDL_RETCODE_OK, IDL_UNION }\n  }"
      pos:
        line_end: 77
        line_start: 72
        source_file: /src/cyclonedds/src/idl/tests/forward.c
    - fields:
      - name: forwards
        type: size_t
      - name: '*idl'
        type: char
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: idl_type_t
      item_type: struct
      name: "tests[] = {\n    { 1, \"struct a { long b; }; struct a; typedef a b;\",
        IDL_RETCODE_OK, IDL_STRUCT },\n    { 2, \"struct a { long b; }; struct a;
        struct a; typedef a b;\", IDL_RETCODE_OK, IDL_STRUCT },\n    { 1, \"union
        a switch(short) { case 1: long b; }; union a; typedef a b;\", IDL_RETCODE_OK,
        IDL_UNION },\n    { 2, \"union a switch(short) { case 1: long b; }; union
        a; union a; typedef a b;\", IDL_RETCODE_OK, IDL_UNION }\n  }"
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/cyclonedds/src/idl/tests/forward.c
    - fields:
      - name: '*idl'
        type: char
      - name: retcode
        type: idl_retcode_t
      item_type: struct
      name: "tests[] = {\n    { \"struct a; struct b { a f1; }; struct a { long a1;
        };\", IDL_RETCODE_SEMANTIC_ERROR },\n    { \"struct a; typedef a c; struct
        b { c f1; }; struct a { long a1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n    {
        \"struct a; struct b { @external a f1; }; struct a { long a1; };\", IDL_RETCODE_OK
        },\n    { \"struct a; typedef a c; struct b { @external c f1; }; struct a
        { long a1; };\", IDL_RETCODE_OK },\n    { \"struct a; struct b { sequence<a>
        f1; }; struct a { long a1; };\", IDL_RETCODE_OK },\n    { \"struct a; struct
        b { a f1[2]; }; struct a { long a1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n
        \   { \"struct a; typedef a b[2]; struct a { long a1; };\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { \"union a; struct b { a f1; }; union a switch(long) { case 1: long
        a1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n    { \"union a; struct b { @external
        a f1; }; union a switch(long) { case 1: long a1; };\", IDL_RETCODE_OK },\n
        \   { \"struct a; union b switch(long) { case 1: a f1; }; struct a { long
        a1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n    { \"struct a; union b switch(long)
        { case 1: @external a f1; }; struct a { long a1; };\", IDL_RETCODE_OK },\n
        \ }"
      pos:
        line_end: 155
        line_start: 152
        source_file: /src/cyclonedds/src/idl/tests/forward.c
    typedefs: []
    union: []
- function_names:
  - CU_Init
  - CU_Clean
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - test_out_file
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ok
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: (IDL_RETCODE_OK)
    - item_type: preproc_def
      name: bad_param
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: (IDL_RETCODE_BAD_PARAMETER)
    - item_type: preproc_def
      name: ROOT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: '"C:\\"'
    - item_type: preproc_def
      name: SEP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: ROOT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: '"/"'
    - item_type: preproc_def
      name: SEP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/idl/tests/file.c
      type_or_value: '"/"'
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*output'
        type: char
      - name: length
        type: int8_t
      item_type: struct
      name: scrub_test
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/cyclonedds/src/idl/tests/file.c
    - fields:
      - name: '*base'
        type: char
      - name: '*path'
        type: char
      - name: '*relpath'
        type: char
      - name: retcode
        type: idl_retcode_t
      item_type: struct
      name: relative_test
      pos:
        line_end: 231
        line_start: 226
        source_file: /src/cyclonedds/src/idl/tests/file.c
    - fields:
      - name: '*path'
        type: char
      - name: '*output_dir'
        type: char
      - name: '*base_dir'
        type: char
      - name: '*out_ext'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: '*expected_out'
        type: char
      item_type: struct
      name: out_file_test
      pos:
        line_end: 331
        line_start: 324
        source_file: /src/cyclonedds/src/idl/tests/file.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - parse_string
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/typedef.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: idl_type_t
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { IDL_RETCODE_SEMANTIC_ERROR, IDL_STRUCT, \"typedef
        struct a b;\" },\n    { IDL_RETCODE_OK, IDL_STRUCT, \"typedef struct a b;
        struct a { long b; };\" },\n    { IDL_RETCODE_SEMANTIC_ERROR, IDL_UNION, \"typedef
        union a b;\" },\n    { IDL_RETCODE_OK, IDL_UNION, \"typedef union a b; union
        a switch (short) { case 1: long b; };\" }\n  }"
      pos:
        line_end: 224
        line_start: 220
        source_file: /src/cyclonedds/src/idl/tests/typedef.c
    - fields:
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: idl_type_t
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { IDL_RETCODE_OK, IDL_STRUCT, \"struct a { long b; };
        typedef struct a b;\" },\n    { IDL_RETCODE_OK, IDL_UNION, \"union a switch
        (short) { case 1: long b; }; typedef union a b;\" }\n  }"
      pos:
        line_end: 260
        line_start: 256
        source_file: /src/cyclonedds/src/idl/tests/typedef.c
    - fields:
      - name: retcode
        type: idl_retcode_t
      - name: type
        type: idl_type_t
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { IDL_RETCODE_OK, IDL_STRUCT, \"typedef struct a { long
        b; } c;\" },\n    { IDL_RETCODE_OK, IDL_UNION, \"typedef union a switch (short)
        { case 1: long b; } c;\" },\n    { IDL_RETCODE_OK, IDL_ENUM, \"typedef enum
        a { b, c } d;\" },\n    { IDL_RETCODE_OK, IDL_BITMASK, \"typedef bitmask a
        { b } c;\" }\n  }"
      pos:
        line_end: 294
        line_start: 290
        source_file: /src/cyclonedds/src/idl/tests/typedef.c
    - fields:
      - name: retcode
        type: idl_retcode_t
      - name: '*idl'
        type: char
      item_type: struct
      name: "tests[] = {\n    { IDL_RETCODE_OK, \"module m1 { struct a { long f1;
        }; }; typedef m1::a b;\" },\n    { IDL_RETCODE_OK, \"module m1 { module m2
        { struct a { long f1; }; }; }; typedef m1::m2::a b;\" },\n    { IDL_RETCODE_OK,
        \"module m1 { module m2 { struct a { long f1; }; }; typedef m2::a b; };\"
        },\n  }"
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/cyclonedds/src/idl/tests/typedef.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/enum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - M
  - S
  - T
  - U
  - CU_Test
  - parse_string
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/union.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMPLICIT
      pos:
        line_end: 347
        line_start: 345
        source_file: /src/cyclonedds/src/idl/tests/union.c
      type_or_value: '"union u switch(int8) { case %"PRId8": int8 i1; };"'
    - item_type: preproc_def
      name: EXPLICIT
      pos:
        line_end: 349
        line_start: 347
        source_file: /src/cyclonedds/src/idl/tests/union.c
      type_or_value: '"union u switch(int8) { case %"PRId8": int8 i1; default: int8
        i2; };"'
    - item_type: preproc_def
      name: IMPLICIT
      pos:
        line_end: 413
        line_start: 411
        source_file: /src/cyclonedds/src/idl/tests/union.c
      type_or_value: '"union u switch(uint8) { case %" PRIu8 ": uint8 i1; };"'
    - item_type: preproc_def
      name: EXPLICIT
      pos:
        line_end: 415
        line_start: 413
        source_file: /src/cyclonedds/src/idl/tests/union.c
      type_or_value: '"union u switch(uint8) { case %" PRIu8 ": uint8 i1; default:
        uint8 i2; };"'
    structs:
    - fields:
      - name: '*cases'
        type: char
      - name: result
        type: idl_retcode_t
      - name: condition
        type: enum { FIRST_DISCRIMINANT, DEFAULT_CASE, IMPLICIT_DEFAULT_CASE }
      - name: discriminant
        type: bool
      item_type: struct
      name: "tests[] = {\n    { \"case FALSE: char x;\",\n      IDL_RETCODE_OK, IMPLICIT_DEFAULT_CASE,
        true },\n    { \"case FALSE: char x; default: char y;\",\n      IDL_RETCODE_OK,
        DEFAULT_CASE, true },\n    { \"case TRUE:  char x;\",\n      IDL_RETCODE_OK,
        IMPLICIT_DEFAULT_CASE, false },\n    { \"case TRUE:  char x; default: char
        y;\",\n      IDL_RETCODE_OK, DEFAULT_CASE, false },\n    { \"case FALSE: char
        x; case TRUE:  char y;\",\n      IDL_RETCODE_OK, FIRST_DISCRIMINANT, false
        },\n    { \"case TRUE:  char x; case FALSE: char y;\",\n      IDL_RETCODE_OK,
        FIRST_DISCRIMINANT, true },\n    { \"case FALSE: char x; case TRUE:  char
        y; default: char z;\",\n      IDL_RETCODE_SEMANTIC_ERROR, DEFAULT_CASE, false
        }\n  }"
      pos:
        line_end: 276
        line_start: 271
        source_file: /src/cyclonedds/src/idl/tests/union.c
    - fields:
      - name: label
        type: int8_t
      - name: discriminant
        type: int8_t
      - name: branch
        type: bool
      - name: '*format'
        type: char
      item_type: struct
      name: "tests[] = {\n    { -1, 0, false, IMPLICIT },\n    {  0, 1, false, IMPLICIT
        },\n    {  1, 0, false, IMPLICIT },\n    { -1, 0, true,  EXPLICIT },\n    {
        \ 0, 1, true,  EXPLICIT },\n    {  1, 0, true,  EXPLICIT }\n  }"
      pos:
        line_end: 359
        line_start: 354
        source_file: /src/cyclonedds/src/idl/tests/union.c
    - fields:
      - name: label
        type: uint8_t
      - name: discriminant
        type: uint8_t
      - name: branch
        type: bool
      - name: '*format'
        type: char
      item_type: struct
      name: "tests[] = {\n    {  0, 1, false, IMPLICIT },\n    {  1, 0, false, IMPLICIT
        },\n    {  0, 1, true,  EXPLICIT },\n    {  1, 0, true,  EXPLICIT }\n  }"
      pos:
        line_end: 425
        line_start: 420
        source_file: /src/cyclonedds/src/idl/tests/union.c
    typedefs: []
    union: []
- function_names:
  - test_base_type
  - T
  - M
  - S
  - LL
  - LD
  - CU_Test
  - M
  - S
  - L
  - SD
  - T
  - CU_Test
  - CU_Test
  - CU_Test
  - test_req_xcdr2
  - test_require_xcdr2
  - S
  - SB
  - U
  - E
  - BM
  - CU_Test
  - simple_idl_validity_test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/parser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"@final"'
    - item_type: preproc_def
      name: A
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"@appendable"'
    - item_type: preproc_def
      name: M
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"@mutable"'
    - item_type: preproc_def
      name: MEM_DEF
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"long f1;"'
    - item_type: preproc_def
      name: MEM_OPT
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"@optional long f1;"'
    - item_type: preproc_def
      name: MEM_EXT
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"@external long f1;"'
    - item_type: preproc_def
      name: LB_DEF
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"E1, E2, E3"'
    - item_type: preproc_def
      name: BITS_DEF
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"BM1, BM2, BM3"'
    - item_type: preproc_def
      name: UMEM_DEF
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/cyclonedds/src/idl/tests/parser.c
      type_or_value: '"case 1: long f1;"'
    structs:
    - fields:
      - name: '*idl'
        type: char
      - name: valid
        type: bool
      item_type: struct
      name: "tests[] =\n    {\n      { M(\"a\", SD(\"s1\")) M(\"a\", SD(\"s2\")),
        true },\n      { M(\"a\", SD(\"s1\")) M(\"a\", SD(\"s1\")), false },\n      {
        M(\"a\", SD(\"a\")), false },\n      { M(\"a\", S(\"b\", L(\"a\"))), true
        },\n      { M(\"a\", T(\"long\", \"a\")), false },\n      { M(\"a\", M(\"a\",
        SD(\"b\"))), false },\n      { M(\"a\", M(\"b\", M(\"a\", SD(\"c\")))), true
        },\n      { M(\"a\", M(\"b\", S(\"a\", L(\"b\")))), true },\n      { M(\"a\",
        SD(\"s\")) M(\"a\", SD(\"t\")) , true },\n      { M(\"m\", M(\"i1\", T(\"string\",
        \"s1\")) M(\"i2\", T(\"string\", \"i1\"))), true },\n      /* FIXME: because
        i1 introduced in i2, typedef to i1 should not be allowed\n      { M(\"m\",
        M(\"i1\", T(\"string\", \"s1\")) M(\"i2\", T(\"i1::s1\", \"s2\") T(\"string\",
        \"i1\") S(\"x\", \"i1 f1;\"))), false }, */\n    }"
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/idl/tests/parser.c
    - fields:
      - name: '*idl'
        type: char
      - name: req_xcdr2[4]
        type: bool
      - name: i
        type: size_t
      item_type: struct
      name: rep_req_xcdr2
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/cyclonedds/src/idl/tests/parser.c
    - fields:
      - name: '*str'
        type: char
      - name: is_valid
        type: bool
      item_type: struct
      name: simple_idl_validity_test
      pos:
        line_end: 389
        line_start: 386
        source_file: /src/cyclonedds/src/idl/tests/parser.c
    typedefs: []
    union: []
- function_names:
  - compare_position
  - assert_location
  - assert_token
  - test_scanner
  - test
  - C
  - T
  - T_STR
  - T_ULLNG
  - T_LDBL
  - T0
  - TLC
  - TC
  - TCL
  - TSL
  - TSL_STR
  - TIL
  - TFL
  - TI
  - TI_STR
  - TN_STR
  - TS
  - TOKVEC
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/scanner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/module.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_string
  - test_bad_use
  - CU_Test
  - test_keylist
  - CU_Test
  - TEST
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/pragma.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NESTED2
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/cyclonedds/src/idl/tests/pragma.c
      type_or_value: '"struct i { char i1; char i2; }; struct o { i o1; i o2; }; struct
        p { i o1; i o2; };\n"'
    - item_type: preproc_def
      name: NESTED3
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/cyclonedds/src/idl/tests/pragma.c
      type_or_value: '"struct i { char i1; char i2; }; struct m { i m1; i m2; }; struct
        o { m o1; m o2; }; struct p { m p1; m p2; };\n"'
    structs:
    - fields:
      - name: '*idl'
        type: char
      - name: ret
        type: idl_retcode_t
      item_type: struct
      name: "tests[] = {\n    { NESTED2 \"#pragma keylist o o1.i1 o2.i2\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED2 \"#pragma keylist o o1.i1 o1.i2 o2.i1\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED2 \"#pragma keylist o o1.i1 o1.i2\\n\", IDL_RETCODE_OK },\n
        \   { NESTED2 \"#pragma keylist o o1.i1 o1.i2 o2.i1 o2.i2\\n\", IDL_RETCODE_OK
        },\n\n    { NESTED3 \"#pragma keylist o o1.m1.i1 o1.m2.i2\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED3 \"#pragma keylist o o1.m1.i1 o2.m1.i2\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED3 \"#pragma keylist o o1.m1.i1 o1.m1.i2 o1.m2.i1\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED3 \"#pragma keylist o o1.m1.i1 o1.m1.i2 o2.m1.i1\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n    { NESTED3 \"#pragma keylist o o1.m1.i1 o1.m1.i2 o2.m1.i1 o2.m1.i2
        o1.m2.i1\\n\", IDL_RETCODE_SEMANTIC_ERROR },\n    { NESTED3 \"#pragma keylist
        o o1.m1.i1 o1.m1.i2\\n\", IDL_RETCODE_OK },\n    { NESTED3 \"#pragma keylist
        o o1.m1.i1 o1.m1.i2 o1.m2.i1 o1.m2.i2\\n\", IDL_RETCODE_OK },\n\n    /* Fails
        because o has i1 as key, and o2 also i2 as key: conflicting key parent paths
        for type i */\n    { NESTED2 \"#pragma keylist o o1.i1\\n#pragma keylist p
        o1.i1 o1.i2\\n\", IDL_RETCODE_SEMANTIC_ERROR },\n\n    /* Fails because o
        has m1 as key, and p has m2 as key: conflicting key parent paths for type
        m */\n    { NESTED3 \"#pragma keylist o o1.m1.i1\\n#pragma keylist p p1.m2.i1\\n\",
        IDL_RETCODE_SEMANTIC_ERROR },\n\n    /* Fails because o has m1.i1 as key,
        and p has m1.m2 as key: so conflicting key parent paths for type i */\n    {
        NESTED3 \"#pragma keylist o o1.m1.i1\\n#pragma keylist p p1.m1.i2\\n\", IDL_RETCODE_SEMANTIC_ERROR
        },\n\n    { \"struct i { char i1; char i2; }; struct m { i m1; }; struct o
        { m o1; i o2; };\\n\"\n      \"#pragma keylist o o1.m1.i1 o1.m1.i2 o2.i1\\n\",
        IDL_RETCODE_SEMANTIC_ERROR },\n    { \"struct i { char i1; char i2; }; struct
        m { i m1; }; struct o { m o1; i o2; };\\n\"\n      \"#pragma keylist o o1.m1.i1
        o2.i1\\n\", IDL_RETCODE_OK },\n\n    { \"struct i { char i1; char i2; }; struct
        j { char j1; char j2; }; struct o { i o1; j o2; j o3; };\\n\"\n      \"#pragma
        keylist o o1.i1 o1.i2 o2.j1 o2.j2 o3.j1\\n\", IDL_RETCODE_SEMANTIC_ERROR },\n
        \   { \"struct i { char i1; char i2; }; struct j { char j1; char j2; }; struct
        o { i o1; j o2; j o3; };\\n\"\n      \"#pragma keylist o o1.i1 o1.i2 o2.j1
        o2.j2\\n\", IDL_RETCODE_OK }\n  }"
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/cyclonedds/src/idl/tests/pragma.c
    typedefs: []
    union: []
- function_names:
  - parse_string
  - test_inheritance
  - CU_Test
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/inheritance.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: parse_ret
        type: idl_retcode_t
      - name: base_ext
        type: idl_extensibility_t
      - name: inh_ext
        type: idl_extensibility_t
      item_type: struct
      name: inherit_spec_test
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/cyclonedds/src/idl/tests/inheritance.c
    - fields:
      - name: '*str'
        type: char
      - name: ids
        type: uint32_t
      item_type: struct
      name: "tests[] = {\n    { \"struct s1 { }; struct s2 : s1 { char c1; }; struct
        sx : s2 { char c2; };\", 2 },\n    { \"struct s1 { char c1; }; struct s2 :
        s1 { }; struct s3 : s2 { }; struct sx : s3 { char c2; };\", 2 },\n    { \"struct
        s1 { }; struct s2 : s1 { char c1; }; struct s3 : s2 { }; struct sx : s3 {
        char c2; };\", 2 },\n    { \"struct s1 { char c1; }; struct s2 : s1 { char
        c2; }; struct sx : s2 { };\", 2 },\n    { \"struct sx { };\", 0 },\n    {
        \"struct s1 { }; struct s2 : s1 { }; struct sx : s2 { };\", 0 }\n  }"
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/cyclonedds/src/idl/tests/inheritance.c
    typedefs: []
    union: []
- function_names:
  - NODE
  - LITERAL
  - CHAR
  - BOOL
  - OCTET
  - SHORT
  - USHORT
  - LONG
  - ULONG
  - LLONG
  - ULLONG
  - INT8
  - UINT8
  - INT16
  - UINT16
  - INT32
  - UINT32
  - INT64
  - UINT64
  - test_expr
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/expression.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYMBOL
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: "{ \\\n    .location = { { NULL, NULL, 0, 0 }, { NULL, NULL,
        0, 0 } } \\\n  }"
    - item_type: preproc_def
      name: ok
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: (IDL_RETCODE_OK)
    - item_type: preproc_def
      name: semantic_error
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: (IDL_RETCODE_SEMANTIC_ERROR)
    - item_type: preproc_def
      name: illegal_expression
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: (IDL_RETCODE_ILLEGAL_EXPRESSION)
    - item_type: preproc_def
      name: out_of_range
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: (IDL_RETCODE_OUT_OF_RANGE)
    - item_type: preproc_def
      name: x
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: '"const char x"'
    - item_type: preproc_def
      name: x
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: '"const octet x"'
    - item_type: preproc_def
      name: y
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/cyclonedds/src/idl/tests/expression.c
      type_or_value: '"const octet y"'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: '*val'
        type: idl_literal_t
      item_type: struct
      name: expr
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/cyclonedds/src/idl/tests/expression.c
    typedefs: []
    union: []
- function_names:
  - CU_Test
  - CU_Test
  - parse_string
  - test_optional
  - CU_Test
  - test_default
  - CU_Test
  - test_enum_default
  - CU_Test
  - test_key
  - CU_Test
  - CU_Test
  - M
  - S
  - DN
  - N
  - T
  - P
  - CU_Test
  - CU_Test
  - CU_Test
  - test_id
  - IDL_FOREACH
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - CU_Test
  - S
  - U
  - BM
  - E
  - CU_Test
  - Test
  - E
  - C
  - M
  - A
  - TA
  - CU_Test
  - CU_Test
  - BM
  - E
  - CU_Test
  - BM
  - CU_Test
  - test_must_understand
  - CU_Test
  - test_try_construct
  - U
  - U_L
  - U_D
  - S
  - S_L
  - S_D
  - CU_Test
  - validate_limit
  - test_min_max
  - CU_Test
  - test_unit
  - CU_Test
  - test_rep
  - test_representation
  - U
  - S
  - M
  - CU_Test
  - CU_Test
  source_file: /src/cyclonedds/src/idl/tests/annotation.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: '" (TRUE) "'
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: '" (FALSE) "'
    - item_type: preproc_def
      name: ok
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_RETCODE_OK
    - item_type: preproc_def
      name: semantic_error
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_RETCODE_SEMANTIC_ERROR
    - item_type: preproc_def
      name: XCDR1
      pos:
        line_end: 1486
        line_start: 1485
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_DATAREPRESENTATION_FLAG_XCDR1
    - item_type: preproc_def
      name: XCDR2
      pos:
        line_end: 1487
        line_start: 1486
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_DATAREPRESENTATION_FLAG_XCDR2
    - item_type: preproc_def
      name: XML
      pos:
        line_end: 1488
        line_start: 1487
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_DATAREPRESENTATION_FLAG_XML
    - item_type: preproc_def
      name: DEFAULT
      pos:
        line_end: 1489
        line_start: 1488
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
      type_or_value: IDL_ALLOWABLE_DATAREPRESENTATION_DEFAULT
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: optionals[16]
        type: bool
      item_type: struct
      name: optional_test
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: has_default
        type: bool
      - name: default_type
        type: idl_type_t
      - name: '*default_val_ptr'
        type: void
      item_type: struct
      name: idl_default_test
      pos:
        line_end: 110
        line_start: 104
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: default_index
        type: uint32_t
      - name: '*default_name'
        type: char
      - name: default_mask
        type: uint32_t
      item_type: struct
      name: enum_default_test
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: val[8]
        type: bool
      - name: annotated[8]
        type: bool
      item_type: struct
      name: key_test
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: '*a'
        type: char
      - name: v
        type: bool
      item_type: struct
      name: "tests[] = {\n    {                   S(\"s1\"), NULL,     false },\n
        \   {               N() S(\"s1\"), \"nested\", true  },\n    { T()               S(\"s1\"),
        \"topic\",  false },\n    { T()           N() S(\"s1\"), \"topic\",  false
        },\n    { T(P(\"DDS\"))       S(\"s1\"), \"topic\",  false },\n    { T(P(\"!DDS\"))
        \     S(\"s1\"), NULL,     false },\n    { T(P(\"!DDS\"))      S(\"s1\"),
        NULL,     false  },\n    { T(P(\"CORBA\"))     S(\"s1\"), NULL,     false
        \ }\n  }"
      pos:
        line_end: 388
        line_start: 384
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: dn[3]
        type: struct { bool a; bool v; }
      - name: n[2]
        type: struct { bool a; bool v; }
      - name: pstate_default_nested
        type: bool
      item_type: struct
      name: "tests[] = {\n    {         M(\"m1\",         M(\"m2\",        S(\"s1\"))
        M(\"m3\", S(\"s2\"))), {{0,0},{0,0},{0,0}}, {{0,0},{0,0}}, false },\n    {
        DN()    M(\"m1\",         M(\"m2\",        S(\"s1\")) M(\"m3\", S(\"s2\"))),
        {{1,1},{0,1},{0,1}}, {{0,1},{0,1}}, false },\n    { DN()    M(\"m1\", DN(NO)
        \ M(\"m2\",        S(\"s1\")) M(\"m3\", S(\"s2\"))), {{1,1},{1,0},{0,1}},
        {{0,0},{0,1}}, false },\n    { DN(NO)  M(\"m1\", DN(YES) M(\"m2\",        S(\"s1\"))
        M(\"m3\", S(\"s2\"))), {{1,0},{1,1},{0,0}}, {{0,1},{0,0}}, false },\n    {
        DN(YES) M(\"m1\",         M(\"m2\", N(NO)  S(\"s1\")) M(\"m3\", S(\"s2\"))),
        {{1,1},{0,1},{0,1}}, {{1,0},{0,1}}, false },\n    {         M(\"m1\",         M(\"m2\",
        \       S(\"s1\")) M(\"m3\", S(\"s2\"))), {{0,1},{0,1},{0,1}}, {{0,1},{0,1}},
        true },\n    { DN()    M(\"m1\",         M(\"m2\",        S(\"s1\")) M(\"m3\",
        S(\"s2\"))), {{1,1},{0,1},{0,1}}, {{0,1},{0,1}}, true },\n    { DN()    M(\"m1\",
        DN(NO)  M(\"m2\",        S(\"s1\")) M(\"m3\", S(\"s2\"))), {{1,1},{1,0},{0,1}},
        {{0,0},{0,1}}, true },\n    { DN(NO)  M(\"m1\", DN(YES) M(\"m2\",        S(\"s1\"))
        M(\"m3\", S(\"s2\"))), {{1,0},{1,1},{0,0}}, {{0,1},{0,0}}, true },\n    {
        DN(YES) M(\"m1\",         M(\"m2\", N(NO)  S(\"s1\")) M(\"m3\", S(\"s2\"))),
        {{1,1},{0,1},{0,1}}, {{1,0},{0,1}}, true },\n  }"
      pos:
        line_end: 430
        line_start: 425
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: ret
        type: idl_retcode_t
      - name: '*str'
        type: char
      item_type: struct
      name: "redef[] = {\n  { ok, \"@annotation foo { boolean bar default TRUE; };\"\n
        \       \"@annotation foo { boolean bar default TRUE; };\" },\n  { semantic_error,
        \"@annotation foo { boolean bar default TRUE; };\"\n                    \"@annotation
        foo { boolean bar default FALSE; };\" },\n  { semantic_error, \"@annotation
        foo { boolean bar default TRUE; };\"\n                    \"@annotation foo
        { boolean bar; };\" }\n}"
      pos:
        line_end: 499
        line_start: 496
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: aid[8]
        type: idl_autoid_t
      - name: annotation_present[8]
        type: bool
      - name: id[8]
        type: uint32_t
      item_type: struct
      name: id_test
      pos:
        line_end: 531
        line_start: 525
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: type
        type: idl_type_t
      - name: '*str'
        type: char
      - name: ext
        type: enum idl_extensibility
      - name: ret
        type: idl_retcode_t
      item_type: struct
      name: "tests[] = {\n    { IDL_STRUCT, S(\"@final\"), IDL_FINAL, IDL_RETCODE_OK
        },\n    { IDL_STRUCT, S(\"@appendable\"), IDL_APPENDABLE, IDL_RETCODE_OK },\n
        \   { IDL_STRUCT, S(\"@mutable\"), IDL_MUTABLE, IDL_RETCODE_OK },\n    { IDL_STRUCT,
        S(\"@extensibility(FINAL)\"), IDL_FINAL, IDL_RETCODE_OK },\n    { IDL_STRUCT,
        S(\"@extensibility(APPENDABLE)\"), IDL_APPENDABLE, IDL_RETCODE_OK },\n    {
        IDL_STRUCT, S(\"@extensibility(MUTABLE)\"), IDL_MUTABLE, IDL_RETCODE_OK },\n
        \   { IDL_UNION, U(\"@mutable\"), IDL_MUTABLE, IDL_RETCODE_OK },\n    { IDL_UNION,
        U(\"@extensibility(APPENDABLE)\"), IDL_APPENDABLE, IDL_RETCODE_OK },\n    //clashes
        with datarepresentation\n    { IDL_STRUCT, S(\"@mutable @data_representation(XCDR1)\"),
        IDL_MUTABLE, IDL_RETCODE_OK },\n    { IDL_UNION, U(\"@mutable @data_representation(XCDR1)\"),
        IDL_MUTABLE, IDL_RETCODE_SEMANTIC_ERROR },\n\n    /* FIXME: extensibility
        on bitmask and enum not supported yet\n        (both can be final or appendable,
        not mutable */\n    { IDL_BITMASK, BM(\"@appendable\"), 0, IDL_RETCODE_SYNTAX_ERROR
        },\n    { IDL_BITMASK, BM(\"@mutable\"), 0, IDL_RETCODE_SYNTAX_ERROR },\n
        \   { IDL_ENUM, E(\"@appendable\"), 0, IDL_RETCODE_SYNTAX_ERROR },\n    {
        IDL_ENUM, E(\"@mutable\"), 0, IDL_RETCODE_SYNTAX_ERROR },\n  }"
      pos:
        line_end: 803
        line_start: 798
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      item_type: struct
      name: "tests[] = {\n    { TA(\"@a1(v = 1)\") },\n    { TA(\"@a1(v = m2::m2v)\")
        },\n    { TA(\"@a1(v = m1::m2::m2v)\") },\n    { TA(\"@a1(v = m1::m1v)\")
        },\n    { TA(\"@a1(v = ::gv)\") },\n\n    { TA(\"@a2(v = KIND1)\") },\n    {
        TA(\"@a2(v = m2::M2KIND1)\") },\n    { TA(\"@a2(v = m1::m2::M2KIND1)\") },\n
        \   { TA(\"@a2(v = m1::M1KIND1)\") },\n    { TA(\"@a2(v = ::GKIND1)\") },\n
        \ }"
      pos:
        line_end: 904
        line_start: 902
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: ret
        type: idl_retcode_t
      item_type: struct
      name: "tests[] = {\n    { \"struct key { @key long f1; };\", IDL_RETCODE_OK
        },\n    { \"struct Key { @key long f1; };\", IDL_RETCODE_OK },\n    { \"struct
        external { long f1; };\", IDL_RETCODE_OK },\n    { \"module m1 { struct key
        { long f1; }; }; struct b { @key long f1; };\", IDL_RETCODE_OK },\n    { \"@annotation
        key { }; struct a { @key long f1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n    {
        \"module m1 { @annotation key { }; struct a { @key long f1; }; };\", IDL_RETCODE_OK
        }, // uses the custom @key annotation, so field is not a key!\n    { \"@annotation
        a1 { }; struct a1 { long f1; };\", IDL_RETCODE_OK },\n    { \"@annotation
        a1 { }; @annotation a1 { }; struct b { @a1 long f1; };\", IDL_RETCODE_OK },\n
        \   { \"@annotation a1 { }; @annotation a1 { unsigned long value; }; struct
        b { @a1 long f1; };\", IDL_RETCODE_SEMANTIC_ERROR },\n    { \"@annotation
        a1 { }; @a1 struct a2 { @a1 long f1; };\", IDL_RETCODE_OK },\n    { \"module
        m1 { @annotation a1 { }; }; struct a1 { long f1; };\", IDL_RETCODE_OK },\n
        \   { \"module m1 { struct a1 { long f1; }; }; @annotation a1 { };\", IDL_RETCODE_OK
        }\n  }"
      pos:
        line_end: 942
        line_start: 939
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: valid
        type: bool
      - name: value
        type: uint16_t
      item_type: struct
      name: "tests[] = {\n    /* valid */\n    { BM(\"1\"), true, 1 },\n    { BM(\"8\"),
        true, 8 },\n    { BM(\"42\"), true, 42 },\n    { BM(\"64\"), true, 64 },\n
        \   { \"bitmask MyBitMask { flag0 };\", true, 32 },\n    { E(\"1\"), true,
        1 },\n    { E(\"21\"), true, 21 },\n    { E(\"32\"), true, 32 },\n    { \"enum
        MyEnum { ENUM1 };\", true, 32 },\n    { \"@bit_bound(1) enum MyEnum { ENUM1,
        ENUM2 };\", true, 1 },\n    { \"@bit_bound(3) enum MyEnum { ENUM1, @value
        (7) ENUM2 };\", true, 3 },\n    /* invalid */\n    { BM(\"0\"), false, 0 },\n
        \   { BM(\"65\"), false, 0 },\n    { E(\"0\"), false, 0 },\n    { E(\"33\"),
        false, 0 },\n    { \"@bit_bound(1) bitmask MyBitMask { flag0, flag1 };\",
        false, 0 },\n    { \"@bit_bound(1) enum MyEnum { ENUM1, ENUM2, ENUM3 };\",
        false, 0 },\n    { \"@bit_bound(2) enum MyEnum { ENUM1, @value (4) ENUM2 };\",
        false, 0 },\n  }"
      pos:
        line_end: 981
        line_start: 977
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*str'
        type: char
      - name: valid
        type: bool
      - name: p[4]
        type: uint16_t
      item_type: struct
      name: "tests[] = {\n    /* valid */\n    { BM(\"\", \"\", \"\", \"\"), true,
        { 0, 1, 2, 3 } },\n    { BM(\"@position(1)\", \"\", \"\", \"\"), true, { 1,
        2, 3, 4 } },\n    { BM(\"\", \"@position(3)\", \"\", \"@position(6)\"), true,
        { 0, 3, 4, 6 } },\n    { BM(\"\", \"\", \"@position(3)\", \"\"), true, { 0,
        1, 3, 4 } },\n    { BM(\"@position(10)\", \"\", \"@position(5)\", \"\"), true,
        { 10, 11, 5, 6 } },\n    { BM(\"@position(12)\", \"\", \"\", \"\"), true,
        { 12, 13, 14, 15 } },\n    /* invalid */\n    { BM(\"\", \"\", \"\", \"@position(2)\"),
        false, { 0, 0, 0, 0 } },\n    { BM(\"@position(-1)\", \"\", \"\", \"\"), false,
        { 0, 0, 0, 0 } },\n    { BM(\"\", \"@position(0)\", \"\", \"\"), false, {
        0, 0, 0, 0 } },\n    { BM(\"@position(10)\", \"\", \"@position(9)\", \"\"),
        false, { 0, 0, 0, 0 } },\n    { BM(\"@position(13)\", \"\", \"\", \"\"), false,
        { 0, 0, 0, 0 } },\n  }"
      pos:
        line_end: 1043
        line_start: 1039
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: val[8]
        type: bool
      - name: annotated[8]
        type: bool
      item_type: struct
      name: mu_test
      pos:
        line_end: 1093
        line_start: 1088
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: defaulted
        type: bool
      - name: tc
        type: idl_try_construct_t
      item_type: struct
      name: tc_test
      pos:
        line_end: 1148
        line_start: 1143
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: min_present
        type: bool
      - name: max_present
        type: bool
      - name: min
        type: double
      - name: max
        type: double
      item_type: struct
      name: minmax_test
      pos:
        line_end: 1221
        line_start: 1214
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: '*unitstr'
        type: char
      item_type: struct
      name: unit_test
      pos:
        line_end: 1375
        line_start: 1371
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    - fields:
      - name: '*s'
        type: char
      - name: ret
        type: idl_retcode_t
      - name: reps[4]
        type: allowable_data_representations_t
      - name: i
        type: size_t
      item_type: struct
      name: rep_test
      pos:
        line_end: 1434
        line_start: 1429
        source_file: /src/cyclonedds/src/idl/tests/annotation.c
    typedefs: []
    union: []
- function_names:
  - idl_isseparator
  - isseparator
  - idl_isabsolute
  - isabsolute
  - idl_current_path
  - isdelimiter
  - idl_untaint_path
  - absolute_path
  - normalize_segment
  - normalize_segment
  - idl_normalize_path
  - isresolved
  - chrcasecmp
  - chrcmp
  - idl_relative_path
  - idl_mkdir
  - idl_mkdir
  - idl_mkpath
  - idl_generate_out_file
  source_file: /src/cyclonedds/src/idl/src/file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/idl/src/file.h
      type: SSIZE_T
    union: []
- function_names:
  - idl_location
  - idl_delete_name
  - idl_create_name
  - idl_delete_scoped_name
  - idl_create_scoped_name
  - idl_push_scoped_name
  - idl_delete_field_name
  - idl_create_field_name
  - idl_push_field_name
  source_file: /src/cyclonedds/src/idl/src/symbol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/fieldid.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDL_FIELDID_MASK
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/src/idl/src/fieldid.h
      type_or_value: 0x0fffffffu
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/symbol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - boxed_vector_init_with_failure_action
  - boxed_vector_append_with_failure_action
  - key_field_new
  - key_field_free
  - key_field_free_wrapper
  - key_field_append
  - key_container_new
  - key_container_free
  - key_container_free_wrapper
  - key_container_append
  - key_container_first_c
  - key_container_next_c
  - key_container_first
  - key_container_next
  - key_containers_new
  - key_containers_free
  - key_containers_append
  - key_containers_first_c
  - key_containers_next_c
  - key_containers_first
  - key_containers_next
  - cmp_parent_path
  - sort_parent_paths
  - check_for_conflicting_keys
  - get_key_container
  - get_key_field
  - add_parent_path
  - get_keylist_key_paths_struct_key
  - get_keylist_key_paths_struct
  - get_keylist_key_paths
  - idl_validate_keylists
  - idl_set_keylist_key_flags
  source_file: /src/cyclonedds/src/idl/src/keylist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*key_declarator'
        type: idl_declarator_t
      - name: parent_paths
        type: idl_boxed_vector_t
      item_type: struct
      name: key_field
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - fields:
      - name: '*node'
        type: idl_node_t
      - name: key_fields
        type: idl_boxed_vector_t
      item_type: struct
      name: key_container
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - fields:
      - name: x
        type: idl_boxed_vector_iter_t
      item_type: struct
      name: key_container_iter
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - fields:
      - name: key_containers
        type: idl_boxed_vector_t
      item_type: struct
      name: key_containers
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    - fields:
      - name: x
        type: idl_boxed_vector_iter_t
      item_type: struct
      name: key_containers_iter
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/cyclonedds/src/idl/src/keylist.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/scope.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - YYPRINT
  - LOC
  source_file: /src/cyclonedds/src/idl/src/parser.h
  types:
    enum:
    - enumerators:
      - name: IDL_YYEMPTY
        value: '-2'
      - name: IDL_TOKEN_STRING
        value: '283'
      - name: IDL_TOKEN_WCHAR
        value: '290'
      - name: IDL_TOKEN_ENUM
        value: '279'
      - name: IDL_TOKEN_INT16
        value: '299'
      - name: IDL_TOKEN_INT64
        value: '301'
      - name: IDL_TOKEN_BITMASK
        value: '297'
      - name: IDL_TOKEN_LONG
        value: '288'
      - name: IDL_TOKEN_CASE
        value: '277'
      - name: IDL_YYerror
        value: '256'
      - name: IDL_TOKEN_LINE_COMMENT
        value: '258'
      - name: IDL_TOKEN_PP_NUMBER
        value: '260'
      - name: IDL_TOKEN_CHAR_LITERAL
        value: '262'
      - name: IDL_TOKEN_INTEGER_LITERAL
        value: '264'
      - name: IDL_TOKEN_SCOPE
        value: '268'
      - name: IDL_TOKEN_MODULE
        value: '270'
      - name: IDL_TOKEN_ANNOTATION_SYMBOL
        value: '266'
      - name: IDL_TOKEN_NATIVE
        value: '272'
      - name: IDL_TOKEN_TYPEDEF
        value: '274'
      - name: IDL_TOKEN_WSTRING
        value: '284'
      - name: IDL_TOKEN_BITSET
        value: '295'
      - name: IDL_TOKEN_TRUE
        value: '306'
      - name: IDL_TOKEN_DOUBLE
        value: '286'
      - name: IDL_TOKEN_SEQUENCE
        value: '282'
      - name: IDL_TOKEN_RSHIFT
        value: '309'
      - name: IDL_TOKEN_UINT32
        value: '304'
      - name: IDL_TOKEN_ANY
        value: '293'
      - name: IDL_YYEOF
        value: '0'
      - name: IDL_TOKEN_INT32
        value: '300'
      - name: IDL_TOKEN_CHAR
        value: '289'
      - name: IDL_TOKEN_UNSIGNED
        value: '280'
      - name: IDL_TOKEN_UINT8
        value: '302'
      - name: IDL_TOKEN_BOOLEAN
        value: '291'
      - name: IDL_TOKEN_SWITCH
        value: '276'
      - name: IDL_TOKEN_INT8
        value: '298'
      - name: IDL_TOKEN_SHORT
        value: '287'
      - name: IDL_TOKEN_LSHIFT
        value: '308'
      - name: IDL_TOKEN_DEFAULT
        value: '278'
      - name: IDL_YYUNDEF
        value: '257'
      - name: IDL_TOKEN_COMMENT
        value: '259'
      - name: IDL_TOKEN_IDENTIFIER
        value: '261'
      - name: IDL_TOKEN_STRING_LITERAL
        value: '263'
      - name: IDL_TOKEN_SCOPE_NO_SPACE
        value: '269'
      - name: IDL_TOKEN_ANNOTATION
        value: '267'
      - name: IDL_TOKEN_FLOATING_PT_LITERAL
        value: '265'
      - name: IDL_TOKEN_CONST
        value: '271'
      - name: IDL_TOKEN_STRUCT
        value: '273'
      - name: IDL_TOKEN_UNION
        value: '275'
      - name: IDL_TOKEN_BITFIELD
        value: '296'
      - name: IDL_TOKEN_UINT64
        value: '305'
      - name: IDL_TOKEN_FLOAT
        value: '285'
      - name: IDL_TOKEN_FALSE
        value: '307'
      - name: IDL_TOKEN_OCTET
        value: '292'
      - name: IDL_TOKEN_FIXED
        value: '281'
      - name: IDL_TOKEN_UINT16
        value: '303'
      - name: IDL_TOKEN_MAP
        value: '294'
      item_type: enum
      name: idl_yytokentype
      pos:
        line_end: 131
        line_start: 73
        source_file: /src/cyclonedds/src/idl/src/parser.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_YYDEBUG
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_YYDEBUG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IDL_YYDEBUG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_YYSTYPE_IS_DECLARED
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_YYLTYPE_IS_DECLARED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_YYLTYPE_IS_TRIVIAL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type_or_value: '1'
    structs:
    - fields:
      - name: first_line
        type: int
      - name: first_column
        type: int
      - name: last_line
        type: int
      - name: last_column
        type: int
      item_type: struct
      name: IDL_YYLTYPE
      pos:
        line_end: 202
        line_start: 196
        source_file: /src/cyclonedds/src/idl/src/parser.h
    typedefs:
    - item_type: typedef
      name: IDL_YYLTYPE
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type: idl_location
    - item_type: typedef
      name: idl_yytoken_kind_t
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type: idl_yytokentype
    - item_type: typedef
      name: IDL_YYSTYPE
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type: IDL_YYSTYPE
    - item_type: typedef
      name: IDL_YYLTYPE
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type: IDL_YYLTYPE
    - item_type: typedef
      name: idl_yypstate
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/cyclonedds/src/idl/src/parser.h
      type: idl_yypstate
    union:
    - fields:
      - name: '*node'
        type: void
      - name: '*literal'
        type: idl_literal_t
      - name: '*const_expr'
        type: idl_const_expr_t
      - name: kind
        type: idl_mask_t
      - name: '*name'
        type: idl_name_t
      - name: '*scoped_name'
        type: idl_scoped_name_t
      - name: '*inherit_spec'
        type: idl_inherit_spec_t
      - name: '*string_literal'
        type: char
      - name: '*switch_type_spec'
        type: idl_switch_type_spec_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: '*sequence'
        type: idl_sequence_t
      - name: '*string'
        type: idl_string_t
      - name: '*wstring'
        type: idl_wstring_t
      - name: '*definition'
        type: idl_definition_t
      - name: '*module_dcl'
        type: idl_module_t
      - name: '*struct_dcl'
        type: idl_struct_t
      - name: '*forward'
        type: idl_forward_t
      - name: '*member'
        type: idl_member_t
      - name: '*declarator'
        type: idl_declarator_t
      - name: '*union_dcl'
        type: idl_union_t
      - name: '*_case'
        type: idl_case_t
      - name: '*case_label'
        type: idl_case_label_t
      - name: '*enum_dcl'
        type: idl_enum_t
      - name: '*enumerator'
        type: idl_enumerator_t
      - name: '*bitmask_dcl'
        type: idl_bitmask_t
      - name: '*bit_value'
        type: idl_bit_value_t
      - name: '*typedef_dcl'
        type: idl_typedef_t
      - name: '*const_dcl'
        type: idl_const_t
      - name: '*annotation'
        type: idl_annotation_t
      - name: '*annotation_member'
        type: idl_annotation_member_t
      - name: '*annotation_appl'
        type: idl_annotation_appl_t
      - name: '*annotation_appl_param'
        type: idl_annotation_appl_param_t
      - name: bln
        type: bool
      - name: '*str'
        type: char
      - name: chr
        type: char
      - name: ullng
        type: unsigned long long
      - name: ldbl
        type: long double
      item_type: union
      name: IDL_YYSTYPE
      pos:
        line_end: 187
        line_start: 137
        source_file: /src/cyclonedds/src/idl/src/parser.h
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/expression.h
  types:
    enum:
    - enumerators:
      - name: IDL_NOP
        value: '0'
      - name: IDL_OR
        value: (IDL_BINARY_OPERATOR|1u)
      - name: IDL_NOT
      - name: IDL_PLUS
      - name: IDL_MINUS
        value: (IDL_UNARY_OPERATOR|1u)
      - name: IDL_XOR
      - name: IDL_AND
      - name: IDL_LSHIFT
      - name: IDL_RSHIFT
      - name: IDL_ADD
      - name: IDL_SUBTRACT
      - name: IDL_DIVIDE
      - name: IDL_MODULO
      - name: IDL_MULTIPLY
      item_type: enum
      name: idl_operator
      pos:
        line_end: 39
        line_start: 22
        source_file: /src/cyclonedds/src/idl/src/expression.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_EXPRESSION
      pos:
        line_end: 21
        line_start: 19
        source_file: /src/cyclonedds/src/idl/src/expression.h
      type_or_value: (IDL_LITERAL|IDL_UNARY_OPERATOR|IDL_BINARY_OPERATOR)
    structs:
    - fields:
      - name: type
        type: idl_type_t
      - name: value
        type: "union {\n    int64_t llng;\n    uint64_t ullng;\n  }"
      item_type: struct
      name: idl_intval
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/cyclonedds/src/idl/src/expression.h
    typedefs:
    - item_type: typedef
      name: idl_intval_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/cyclonedds/src/idl/src/expression.h
      type: idl_intval
    - item_type: typedef
      name: idl_floatval_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/idl/src/expression.h
      type: long double
    union: []
- function_names:
  - idl_isalnum
  - idl_isalpha
  - idl_iscntrl
  - idl_isgraph
  - idl_islower
  - idl_isprint
  - idl_ispunct
  - idl_isspace
  - idl_isupper
  - idl_toupper
  - idl_tolower
  - idl_isalnum
  - idl_isalpha
  - idl_isblank
  - idl_iscntrl
  - idl_isgraph
  - idl_islower
  - idl_isprint
  - idl_ispunct
  - idl_isspace
  - idl_isupper
  - idl_toupper
  - idl_tolower
  - idl_isdigit
  - idl_strcasecmp
  - idl_strncasecmp
  - idl_strdup
  - idl_strndup
  - idl_strlcpy
  - idl_vsnprintf
  - idl_snprintf
  - idl_asprintf
  - idl_vasprintf
  - idl_strtoull
  - idl_strtold
  - idl_strtok_r
  - idl_vfprintf
  - idl_fprintf
  - idl_fopen
  - idl_fclose
  - idl_cdtor
  - posix_locale
  - free_locale
  - make_key
  - posix_locale
  source_file: /src/cyclonedds/src/idl/src/string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: locale_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/cyclonedds/src/idl/src/string.c
      type: _locale_t
    union: []
- function_names:
  - NO_MEMORY
  - SEMANTIC_ERROR
  - YYLLOC_DEFAULT
  - TRY_EXCEPT
  - TRY
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YYSIZEOF
  - YY_
  - YY_
  - YY_USE
  - YY_INITIAL_VALUE
  - YY_ASSERT
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - YY_ACCESSING_SYMBOL
  - yysymbol_name
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYLLOC_DEFAULT
  - YYRHSLOC
  - YYDPRINTF
  - YYLOCATION_PRINT
  - yy_location_print_
  - YY_LOCATION_PRINT
  - YYLOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - YYDPRINTF
  - yydestruct
  - switch
  - yypstate_clear
  - yypstate_new
  - yypstate_delete
  - yypush_parse
  - YYPOPSTACK
  - idl_yypstate_delete_stack
  - idl_iskeyword
  - yyerror
  source_file: /src/cyclonedds/src/idl/src/parser.c
  types:
    enum:
    - enumerators:
      - name: YYSYMBOL_IDL_TOKEN_LINE_COMMENT
        value: '3'
      - name: YYSYMBOL_IDL_TOKEN_ANNOTATION_SYMBOL
        value: '11'
      - name: YYSYMBOL_IDL_TOKEN_TYPEDEF
        value: '19'
      - name: YYSYMBOL_59_
        value: '59'
      - name: YYSYMBOL_IDL_TOKEN_WCHAR
        value: '35'
      - name: YYSYMBOL_IDL_TOKEN_TRUE
        value: '51'
      - name: YYSYMBOL_IDL_TOKEN_SEQUENCE
        value: '27'
      - name: YYSYMBOL_67_
        value: '67'
      - name: YYSYMBOL_IDL_TOKEN_INT8
        value: '43'
      - name: YYSYMBOL_module_dcl
        value: '80'
      - name: YYSYMBOL_mult_expr
        value: '93'
      - name: YYSYMBOL_sequence_type
        value: '115'
      - name: YYSYMBOL_member
        value: '126'
      - name: YYSYMBOL_scoped_name
        value: '82'
      - name: YYSYMBOL_167_2
        value: '167'
      - name: YYSYMBOL_enumerators
        value: '140'
      - name: YYSYMBOL_union_forward_dcl
        value: '129'
      - name: YYSYMBOL_typedef_dcl
        value: '151'
      - name: YYSYMBOL_unary_operator
        value: '96'
      - name: YYSYMBOL_const_expr
        value: '85'
      - name: YYSYMBOL_annotation_appl_keyword_params
        value: '170'
      - name: YYSYMBOL_constr_type_dcl
        value: '118'
      - name: YYSYMBOL_integer_type
        value: '107'
      - name: YYSYMBOL_172_3
        value: '172'
      - name: YYSYMBOL_annotation_member
        value: '159'
      - name: YYSYMBOL_72_
        value: '72'
      - name: YYSYMBOL_IDL_TOKEN_UINT16
        value: '48'
      - name: YYSYMBOL_IDL_TOKEN_ENUM
        value: '24'
      - name: YYSYMBOL_64_
        value: '64'
      - name: YYSYMBOL_IDL_TOKEN_STRING_LITERAL
        value: '8'
      - name: YYSYMBOL_IDL_TOKEN_CONST
        value: '16'
      - name: YYSYMBOL_IDL_TOKEN_BITSET
        value: '40'
      - name: YYSYMBOL_56_
        value: '56'
      - name: YYSYMBOL_IDL_TOKEN_SHORT
        value: '32'
      - name: YYSYMBOL_specification
        value: '77'
      - name: YYSYMBOL_const_dcl
        value: '83'
      - name: YYSYMBOL_annotation_header
        value: '156'
      - name: YYSYMBOL_annotation_appl_name
        value: '168'
      - name: YYSYMBOL_boolean_type
        value: '112'
      - name: YYSYMBOL_case
        value: '134'
      - name: YYSYMBOL_shift_operator
        value: '90'
      - name: YYSYMBOL_enumerator
        value: '141'
      - name: YYSYMBOL_primary_expr
        value: '97'
      - name: YYSYMBOL_struct_dcl
        value: '119'
      - name: YYSYMBOL_annotation_member_type
        value: '160'
      - name: YYSYMBOL_fixed_array_size
        value: '148'
      - name: YYSYMBOL_YYerror
        value: '1'
      - name: YYSYMBOL_IDL_TOKEN_INTEGER_LITERAL
        value: '9'
      - name: YYSYMBOL_IDL_TOKEN_NATIVE
        value: '17'
      - name: YYSYMBOL_IDL_TOKEN_BITFIELD
        value: '41'
      - name: YYSYMBOL_57_
        value: '57'
      - name: YYSYMBOL_IDL_TOKEN_LONG
        value: '33'
      - name: YYSYMBOL_IDL_TOKEN_UINT32
        value: '49'
      - name: YYSYMBOL_IDL_TOKEN_UNSIGNED
        value: '25'
      - name: YYSYMBOL_65_
        value: '65'
      - name: YYSYMBOL_definitions
        value: '78'
      - name: YYSYMBOL_struct_body
        value: '124'
      - name: YYSYMBOL_octet_type
        value: '113'
      - name: YYSYMBOL_157_1
        value: '157'
      - name: YYSYMBOL_array_declarator
        value: '146'
      - name: YYSYMBOL_case_labels
        value: '135'
      - name: YYSYMBOL_annotation_appl
        value: '165'
      - name: YYSYMBOL_type_dcl
        value: '102'
      - name: YYSYMBOL_add_expr
        value: '91'
      - name: YYSYMBOL_annotation_appl_params
        value: '169'
      - name: YYSYMBOL_simple_type_spec
        value: '104'
      - name: YYSYMBOL_simple_declarator
        value: '149'
      - name: YYSYMBOL_string_type
        value: '116'
      - name: YYSYMBOL_base_type_spec
        value: '105'
      - name: YYSYMBOL_enum_dcl
        value: '138'
      - name: YYSYMBOL_union_dcl
        value: '127'
      - name: YYSYMBOL_IDL_TOKEN_FLOAT
        value: '30'
      - name: YYSYMBOL_70_
        value: '70'
      - name: YYSYMBOL_IDL_TOKEN_INT64
        value: '46'
      - name: YYSYMBOL_IDL_TOKEN_CASE
        value: '22'
      - name: YYSYMBOL_IDL_TOKEN_IDENTIFIER
        value: '6'
      - name: YYSYMBOL_IDL_TOKEN_SCOPE_NO_SPACE
        value: '14'
      - name: YYSYMBOL_62_
        value: '62'
      - name: YYSYMBOL_IDL_TOKEN_ANY
        value: '38'
      - name: YYSYMBOL_75_
        value: '75'
      - name: YYSYMBOL_IDL_TOKEN_RSHIFT
        value: '54'
      - name: YYSYMBOL_members
        value: '125'
      - name: YYSYMBOL_module_header
        value: '81'
      - name: YYSYMBOL_fixed_array_sizes
        value: '147'
      - name: YYSYMBOL_annotation_appl_header
        value: '166'
      - name: YYSYMBOL_type_spec
        value: '103'
      - name: YYSYMBOL_switch_type_spec
        value: '132'
      - name: YYSYMBOL_identifier
        value: '154'
      - name: YYSYMBOL_and_expr
        value: '88'
      - name: YYSYMBOL_char_type
        value: '110'
      - name: YYSYMBOL_wstring_type
        value: '117'
      - name: YYSYMBOL_enum_def
        value: '139'
      - name: YYSYMBOL_annotation_body
        value: '158'
      - name: YYSYMBOL_unary_expr
        value: '95'
      - name: YYSYMBOL_IDL_TOKEN_CHAR_LITERAL
        value: '7'
      - name: YYSYMBOL_IDL_TOKEN_MODULE
        value: '15'
      - name: YYSYMBOL_IDL_TOKEN_MAP
        value: '39'
      - name: YYSYMBOL_55_
        value: '55'
      - name: YYSYMBOL_IDL_TOKEN_DOUBLE
        value: '31'
      - name: YYSYMBOL_71_
        value: '71'
      - name: YYSYMBOL_IDL_TOKEN_UINT8
        value: '47'
      - name: YYSYMBOL_IDL_TOKEN_DEFAULT
        value: '23'
      - name: YYSYMBOL_63_
        value: '63'
      - name: YYSYMBOL_YYACCEPT
        value: '76'
      - name: YYSYMBOL_bit_values
        value: '144'
      - name: YYSYMBOL_switch_body
        value: '133'
      - name: YYSYMBOL_annotation_dcl
        value: '155'
      - name: YYSYMBOL_string_literal
        value: '100'
      - name: YYSYMBOL_shift_expr
        value: '89'
      - name: YYSYMBOL_struct_header
        value: '122'
      - name: YYSYMBOL_wide_char_type
        value: '111'
      - name: YYSYMBOL_annotations
        value: '163'
      - name: YYSYMBOL_IDL_TOKEN_STRING
        value: '28'
      - name: YYSYMBOL_73_
        value: '73'
      - name: YYSYMBOL_68_
        value: '68'
      - name: YYSYMBOL_IDL_TOKEN_INT16
        value: '44'
      - name: YYSYMBOL_IDL_TOKEN_COMMENT
        value: '4'
      - name: YYSYMBOL_IDL_TOKEN_ANNOTATION
        value: '12'
      - name: YYSYMBOL_IDL_TOKEN_UNION
        value: '20'
      - name: YYSYMBOL_60_
        value: '60'
      - name: YYSYMBOL_IDL_TOKEN_BOOLEAN
        value: '36'
      - name: YYSYMBOL_IDL_TOKEN_FALSE
        value: '52'
      - name: YYSYMBOL_mult_operator
        value: '94'
      - name: YYSYMBOL_bit_value
        value: '145'
      - name: YYSYMBOL_positive_int_const
        value: '101'
      - name: YYSYMBOL_struct_inherit_spec
        value: '123'
      - name: YYSYMBOL_annotation_appls
        value: '164'
      - name: YYSYMBOL_YYEMPTY
        value: '-2'
      - name: YYSYMBOL_declarators
        value: '152'
      - name: YYSYMBOL_signed_int
        value: '108'
      - name: YYSYMBOL_union_header
        value: '130'
      - name: YYSYMBOL_case_label
        value: '136'
      - name: YYSYMBOL_or_expr
        value: '86'
      - name: YYSYMBOL_annotation_appl_keyword_param
        value: '171'
      - name: YYSYMBOL_element_spec
        value: '137'
      - name: YYSYMBOL_IDL_TOKEN_PP_NUMBER
        value: '5'
      - name: YYSYMBOL_IDL_TOKEN_SCOPE
        value: '13'
      - name: YYSYMBOL_61_
        value: '61'
      - name: YYSYMBOL_IDL_TOKEN_OCTET
        value: '37'
      - name: YYSYMBOL_IDL_TOKEN_LSHIFT
        value: '53'
      - name: YYSYMBOL_74_
        value: '74'
      - name: YYSYMBOL_IDL_TOKEN_WSTRING
        value: '29'
      - name: YYSYMBOL_69_
        value: '69'
      - name: YYSYMBOL_IDL_TOKEN_INT32
        value: '45'
      - name: YYSYMBOL_IDL_TOKEN_SWITCH
        value: '21'
      - name: YYSYMBOL_declarator
        value: '153'
      - name: YYSYMBOL_YYEOF
        value: '0'
      - name: YYSYMBOL_struct_forward_dcl
        value: '120'
      - name: YYSYMBOL_unsigned_int
        value: '109'
      - name: YYSYMBOL_bitmask_dcl
        value: '142'
      - name: YYSYMBOL_switch_header
        value: '131'
      - name: YYSYMBOL_annotation_member_default
        value: '161'
      - name: YYSYMBOL_literal
        value: '98'
      - name: YYSYMBOL_xor_expr
        value: '87'
      - name: YYSYMBOL_IDL_TOKEN_UINT64
        value: '50'
      - name: YYSYMBOL_IDL_TOKEN_FIXED
        value: '26'
      - name: YYSYMBOL_66_
        value: '66'
      - name: YYSYMBOL_IDL_TOKEN_BITMASK
        value: '42'
      - name: YYSYMBOL_YYUNDEF
        value: '2'
      - name: YYSYMBOL_IDL_TOKEN_FLOATING_PT_LITERAL
        value: '10'
      - name: YYSYMBOL_IDL_TOKEN_STRUCT
        value: '18'
      - name: YYSYMBOL_58_
        value: '58'
      - name: YYSYMBOL_IDL_TOKEN_CHAR
        value: '34'
      - name: YYSYMBOL_definition
        value: '79'
      - name: YYSYMBOL_add_operator
        value: '92'
      - name: YYSYMBOL_template_type_spec
        value: '114'
      - name: YYSYMBOL_struct_def
        value: '121'
      - name: YYSYMBOL_bitmask_def
        value: '143'
      - name: YYSYMBOL_any_const_type
        value: '162'
      - name: YYSYMBOL_boolean_literal
        value: '99'
      - name: YYSYMBOL_union_def
        value: '128'
      - name: YYSYMBOL_complex_declarator
        value: '150'
      - name: YYSYMBOL_const_type
        value: '84'
      - name: YYSYMBOL_floating_pt_type
        value: '106'
      item_type: enum
      name: yysymbol_kind_t
      pos:
        line_end: 356
        line_start: 180
        source_file: /src/cyclonedds/src/idl/src/parser.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '30802'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '"3.8.2"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: IDL_YYSTYPE
    - item_type: preproc_def
      name: YYLTYPE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: IDL_YYLTYPE
    - item_type: preproc_def
      name: yypush_parse
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yypush_parse
    - item_type: preproc_def
      name: yypstate_new
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yypstate_new
    - item_type: preproc_def
      name: yypstate_clear
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yypstate_clear
    - item_type: preproc_def
      name: yypstate_delete
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yypstate_delete
    - item_type: preproc_def
      name: yypstate
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yypstate
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yylex
    - item_type: preproc_def
      name: yyerror
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yyerror
    - item_type: preproc_def
      name: yydebug
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yydebug
    - item_type: preproc_def
      name: yynerrs
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: idl_yynerrs
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: ((void*)0)
    - item_type: preproc_def
      name: UINT_LEAST8_MAX
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '255'
    - item_type: preproc_def
      name: UINT_LEAST16_MAX
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: __PTRDIFF_TYPE__
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: __PTRDIFF_MAX__
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: ptrdiff_t
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: PTRDIFF_MAX
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: long
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: unsigned
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 467
        line_start: 462
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: "YY_CAST (YYPTRDIFF_T,                                 \\\n           (YYPTRDIFF_MAXIMUM
        < YY_CAST (YYSIZE_T, -1)  \\\n            ? YYPTRDIFF_MAXIMUM                         \\\n
        \           : YY_CAST (YYSIZE_T, -1)))"
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: __attribute__ ((__unused__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 519
        line_start: 516
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 524
        line_start: 520
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")              \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 527
        line_start: 525
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_BEGIN
      pos:
        line_end: 542
        line_start: 539
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                            \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuseless-cast\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_END
      pos:
        line_end: 544
        line_start: 542
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: (YYSIZEOF (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '13'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '414'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '76'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '97'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '195'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '291'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '309'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: (-202)
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: (-195)
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 1107
        line_start: 1106
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: (yychar = IDL_YYEMPTY)
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYNOMEM
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: goto yyexhaustedlab
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 1137
        line_start: 1136
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: IDL_YYUNDEF
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYLOCATION_PRINT
      pos:
        line_end: 1223
        line_start: 1222
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yy_location_print_
    - item_type: preproc_def
      name: YY_LOCATION_PRINT
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: YYLOCATION_PRINT
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 1358
        line_start: 1357
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 1369
        line_start: 1368
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: idl_yynerrs
      pos:
        line_end: 1908
        line_start: 1907
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->idl_yynerrs
    - item_type: preproc_def
      name: yystate
      pos:
        line_end: 1909
        line_start: 1908
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yystate
    - item_type: preproc_def
      name: yyerrstatus
      pos:
        line_end: 1910
        line_start: 1909
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyerrstatus
    - item_type: preproc_def
      name: yyssa
      pos:
        line_end: 1911
        line_start: 1910
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyssa
    - item_type: preproc_def
      name: yyss
      pos:
        line_end: 1912
        line_start: 1911
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyss
    - item_type: preproc_def
      name: yyssp
      pos:
        line_end: 1913
        line_start: 1912
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyssp
    - item_type: preproc_def
      name: yyvsa
      pos:
        line_end: 1914
        line_start: 1913
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyvsa
    - item_type: preproc_def
      name: yyvs
      pos:
        line_end: 1915
        line_start: 1914
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyvs
    - item_type: preproc_def
      name: yyvsp
      pos:
        line_end: 1916
        line_start: 1915
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyvsp
    - item_type: preproc_def
      name: yylsa
      pos:
        line_end: 1917
        line_start: 1916
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yylsa
    - item_type: preproc_def
      name: yyls
      pos:
        line_end: 1918
        line_start: 1917
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyls
    - item_type: preproc_def
      name: yylsp
      pos:
        line_end: 1919
        line_start: 1918
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yylsp
    - item_type: preproc_def
      name: yystacksize
      pos:
        line_end: 1920
        line_start: 1919
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yystacksize
    - item_type: preproc_def
      name: yyss
      pos:
        line_end: 3762
        line_start: 3761
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyss
    - item_type: preproc_def
      name: yyssp
      pos:
        line_end: 3765
        line_start: 3764
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyssp
    - item_type: preproc_def
      name: yyvsp
      pos:
        line_end: 3768
        line_start: 3767
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yyvsp
    - item_type: preproc_def
      name: yylsp
      pos:
        line_end: 3771
        line_start: 3770
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type_or_value: yyps->yylsp
    structs:
    - fields:
      - name: yynerrs
        type: int
      - name: yystate
        type: yy_state_fast_t
      - name: yyerrstatus
        type: int
      - name: yystacksize
        type: YYPTRDIFF_T
      - name: yyssa[YYINITDEPTH]
        type: yy_state_t
      - name: '*yyss'
        type: yy_state_t
      - name: '*yyssp'
        type: yy_state_t
      - name: yyvsa[YYINITDEPTH]
        type: YYSTYPE
      - name: '*yyvs'
        type: YYSTYPE
      - name: '*yyvsp'
        type: YYSTYPE
      - name: yylsa[YYINITDEPTH]
        type: YYLTYPE
      - name: '*yyls'
        type: YYLTYPE
      - name: '*yylsp'
        type: YYLTYPE
      - name: yynew
        type: int
      item_type: struct
      name: yypstate
      pos:
        line_end: 1403
        line_start: 1371
        source_file: /src/cyclonedds/src/idl/src/parser.c
    typedefs:
    - item_type: typedef
      name: yysymbol_kind_t
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: yysymbol_kind_t
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: __INT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: int_least8_t
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: signed char
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: __INT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: int_least16_t
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: short
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: __UINT_LEAST8_TYPE__
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: uint_least8_t
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: unsigned char
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: __UINT_LEAST16_TYPE__
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: uint_least16_t
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: unsigned short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: int
    - item_type: typedef
      name: yy_state_t
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: yytype_int16
    - item_type: typedef
      name: yy_state_fast_t
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/cyclonedds/src/idl/src/parser.c
      type: int
    union:
    - fields:
      - name: yyss_alloc
        type: yy_state_t
      - name: yyvs_alloc
        type: YYSTYPE
      - name: yyls_alloc
        type: YYLTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 607
        line_start: 602
        source_file: /src/cyclonedds/src/idl/src/parser.c
- function_names:
  - push_file
  - push_source
  - delete_line
  - push_line
  - parse_line
  - delete_keylist
  - push_keylist
  - stash_name
  - stash_data_type
  - stash_field
  - stash_key
  - parse_keylist
  - idl_delete_directive
  - idl_parse_directive
  source_file: /src/cyclonedds/src/idl/src/directive.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: START_OF_FILE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cyclonedds/src/idl/src/directive.c
      type_or_value: (1u<<0)
    - item_type: preproc_def
      name: RETURN_TO_FILE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/idl/src/directive.c
      type_or_value: (1u<<1)
    - item_type: preproc_def
      name: ADDITIONAL_DIRECTORY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/src/idl/src/directive.c
      type_or_value: (1u<<2)
    structs:
    - fields:
      - name: type
        type: "enum {\n    LINE, /**< #line directive */\n    LINEMARKER, /**< linemarker
          (extended line directive) */\n    KEYLIST /**< #pragma keylist directive
          */\n  }"
      item_type: struct
      name: directive
      pos:
        line_end: 35
        line_start: 29
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - fields:
      - name: directive
        type: struct directive
      - name: line
        type: unsigned long long
      - name: '*file'
        type: char
      - name: '*path'
        type: char
      - name: flags
        type: unsigned
      item_type: struct
      name: line
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/cyclonedds/src/idl/src/directive.c
    - fields:
      - name: directive
        type: struct directive
      - name: '*data_type'
        type: idl_scoped_name_t
      - name: '**keys'
        type: idl_field_name_t
      item_type: struct
      name: keylist
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/cyclonedds/src/idl/src/directive.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/hashid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - have_newline
  - have_skip
  - have_space
  - have_digit
  - have_alpha
  - have_alnum
  - error
  - next
  - move
  - peek
  - have
  - need_refill
  - scan_line_comment
  - scan_comment
  - scan_char_literal
  - scan_string_literal
  - scan_floating_pt_literal
  - scan_integer_literal
  - scan_pp_number
  - scan_identifier
  - scan_scope
  - scan_at
  - scan
  - unescape
  - tokenize
  - idl_scan
  source_file: /src/cyclonedds/src/idl/src/scanner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/scanner.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*marker'
        type: char
      - name: '*limit'
        type: char
      - name: location
        type: idl_location_t
      item_type: struct
      name: idl_lexeme
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/cyclonedds/src/idl/src/scanner.h
    - fields:
      - name: code
        type: int32_t
      - name: value
        type: "union {\n    char chr;\n    unsigned long long ullng;\n    long double
          ldbl;\n    char *str;\n  }"
      - name: location
        type: idl_location_t
      item_type: struct
      name: idl_token
      pos:
        line_end: 32
        line_start: 23
        source_file: /src/cyclonedds/src/idl/src/scanner.h
    typedefs:
    - item_type: typedef
      name: idl_lexeme_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/cyclonedds/src/idl/src/scanner.h
      type: idl_lexeme
    - item_type: typedef
      name: idl_token_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/cyclonedds/src/idl/src/scanner.h
      type: idl_token
    union: []
- function_names:
  - idl_boxed_vector_init
  - idl_boxed_vector_append
  - idl_boxed_vector_fini
  - idl_boxed_vector_next
  - idl_boxed_vector_first
  - idl_boxed_vector_next_c
  - idl_boxed_vector_first_c
  - idl_boxed_vector_sort
  source_file: /src/cyclonedds/src/idl/src/vector.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - idl_malloc
  - idl_calloc
  - idl_realloc
  - idl_free
  source_file: /src/cyclonedds/src/idl/src/heap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/annotation.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - idl_operator
  - greatest
  - n
  - s
  - t
  - u
  - negative
  - int_overflows
  - int_or
  - int_xor
  - int_and
  - int_lshift
  - int_rshift
  - int_add
  - int_subtract
  - int_multiply
  - int_divide
  - int_modulo
  - is_arith_return_type
  - eval_binary_int_expr
  - int_minus
  - int_plus
  - int_not
  - eval_unary_int_expr
  - bitval
  - eval_int_expr
  - eval_bitmask
  - eval_int
  - float_overflows
  - eval_binary_float_expr
  - eval_unary_float_expr
  - eval_float_expr
  - eval_float
  - figure_type
  - idl_evaluate
  - uintmax
  - intmax
  - intmin
  - intval
  - idl_intval
  - SIGNED
  - UNSIGNED
  - compare_int
  - idl_floatval
  - floatval
  - compare_float
  - charval
  - compare_char
  - boolval
  - compare_bool
  - compare_enum
  - stringval
  - compare_string
  - idl_compare
  source_file: /src/cyclonedds/src/idl/src/expression.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_builtin_annotations
  - idl_create_pstate
  - delete_source
  - idl_delete_pstate
  - idl_log
  - idl_verror
  - idl_error
  - idl_warning
  - parse_grammar
  - validate_forwards
  - validate_must_understand
  - check_bitbound
  - validate_datarepresentation
  - validate_bitbound
  - set_nestedness
  - IDL_FOREACH
  - set_type_extensibility
  - idl_parse
  - idl_parse_string
  source_file: /src/cyclonedds/src/idl/src/processor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILTIN_POSITION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/src/idl/src/processor.c
      type_or_value: '{ &builtin_source, &builtin_file, 1, 1 }'
    - item_type: preproc_def
      name: BUILTIN_LOCATION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/idl/src/processor.c
      type_or_value: '{ BUILTIN_POSITION, BUILTIN_POSITION }'
    - item_type: preproc_def
      name: IDL_LC_ERROR
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/cyclonedds/src/idl/src/processor.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IDL_LC_WARNING
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/cyclonedds/src/idl/src/processor.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - idl_push_node
  - idl_reference_node
  - idl_unreference_node
  - idl_mask
  - idl_type
  - idl_name
  - idl_construct
  - idl_identifier
  - idl_identifier_is
  - idl_ancestor
  - idl_parent
  - idl_degree
  - idl_previous
  - idl_next
  - idl_iterate
  - idl_unalias
  - idl_strip
  - create_node
  - delete_type_spec
  - delete_const_expr
  - idl_delete_node
  - idl_is_declaration
  - idl_is_module
  - delete_module
  - iterate_module
  - describe_module
  - idl_finalize_module
  - idl_create_module
  - idl_is_const
  - delete_const
  - iterate_const
  - describe_const
  - idl_create_const
  - idl_is_literal
  - delete_literal
  - describe_literal
  - idl_create_literal
  - delete_binary_expr
  - describe_binary_expr
  - idl_create_binary_expr
  - delete_unary_expr
  - describe_unary_expr
  - idl_create_unary_expr
  - idl_is_type_spec
  - idl_is_base_type
  - idl_is_floating_pt_type
  - idl_is_integer_type
  - delete_base_type
  - describe_base_type
  - idl_create_base_type
  - idl_is_templ_type
  - idl_is_bounded
  - idl_bound
  - idl_default_value
  - idl_has_data_representation
  - idl_data_representation_value
  - idl_requires_xcdr2
  - idl_xcdr2_is_default
  - idl_allowable_data_representations
  - idl_is_sequence
  - delete_sequence
  - describe_sequence
  - idl_create_sequence
  - idl_is_string
  - idl_is_unbounded_string
  - idl_is_bounded_string
  - delete_string
  - describe_string
  - idl_create_string
  - idl_is_wstring
  - idl_is_unbounded_wstring
  - idl_is_bounded_wstring
  - idl_is_xstring
  - idl_is_unbounded_xstring
  - idl_is_bounded_xstring
  - delete_wstring
  - describe_wstring
  - idl_create_wstring
  - idl_is_constr_type
  - idl_is_struct
  - delete_struct
  - iterate_struct
  - describe_struct
  - compare_declarator
  - assign_id
  - next_member
  - next_case
  - assign_field_ids
  - idl_propagate_autoid
  - set_node_xcdr2_required
  - idl_set_xcdr2_required
  - set_node_xcdr2_is_default
  - idl_set_xcdr2_is_default
  - idl_finalize_struct
  - IDL_FOREACH
  - IDL_FOREACH
  - idl_create_struct
  - idl_is_empty
  - delete_forward
  - describe_forward
  - idl_create_forward
  - idl_is_forward
  - idl_is_inherit_spec
  - delete_inherit_spec
  - describe_inherit_spec
  - idl_create_inherit_spec
  - delete_key
  - describe_key
  - idl_create_key
  - delete_keylist
  - describe_keylist
  - idl_create_keylist
  - idl_is_member
  - delete_member
  - iterate_member
  - describe_member
  - idl_create_member
  - idl_is_union
  - delete_union
  - iterate_union
  - describe_union
  - maximum_labels
  - compare_label
  - increment_literal
  - idl_finalize_union
  - idl_create_union
  - idl_is_switch_type_spec
  - delete_switch_type_spec
  - iterate_switch_type_spec
  - describe_switch_type_spec
  - idl_create_switch_type_spec
  - idl_is_case
  - idl_is_default_case
  - idl_is_implicit_default_case
  - delete_case
  - iterate_case
  - describe_case
  - idl_finalize_case
  - idl_create_case
  - idl_is_case_label
  - idl_is_case_label_mask_impl
  - idl_is_default_case_label
  - idl_is_implicit_default_case_label
  - delete_case_label
  - describe_case_label
  - idl_create_case_label
  - idl_case_label_intvalue
  - idl_is_enum
  - idl_enum_max_value
  - delete_enum
  - iterate_enum
  - describe_enum
  - idl_create_enum
  - idl_is_enumerator
  - delete_enumerator
  - iterate_enumerator
  - describe_enumerator
  - idl_create_enumerator
  - idl_is_bitmask
  - delete_bitmask
  - iterate_bitmask
  - describe_bitmask
  - idl_create_bitmask
  - idl_is_bit_value
  - delete_bit_value
  - iterate_bit_value
  - describe_bit_value
  - idl_create_bit_value
  - idl_is_alias
  - idl_is_typedef
  - delete_typedef
  - describe_typedef
  - idl_create_typedef
  - idl_is_declarator
  - idl_is_array
  - delete_declarator
  - describe_declarator
  - idl_create_declarator
  - idl_is_annotation_member
  - delete_annotation_member
  - describe_annotation_member
  - idl_create_annotation_member
  - type_is_consistent
  - enum_is_consistent
  - const_is_consistent
  - typedef_is_consistent
  - member_is_consistent
  - is_consistent
  - idl_finalize_annotation
  - delete_annotation
  - iterate_annotation
  - describe_annotation
  - idl_create_annotation
  - delete_annotation_appl_param
  - describe_annotation_appl_param
  - idl_create_annotation_appl_param
  - idl_is_annotation_appl
  - delete_annotation_appl
  - iterate_annotation_appl
  - describe_annotation_appl
  - idl_finalize_annotation_appl
  - idl_create_annotation_appl
  - idl_type_spec
  - idl_array_size
  - idl_is_topic
  - no_specific_key
  - idl_is_keyless
  - idl_is_topic_key
  - idl_is_extensible
  - idl_has_unset_extensibility_r
  - idl_is_external
  - idl_is_optional
  - idl_is_must_understand
  source_file: /src/cyclonedds/src/idl/src/tree.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: delete
        type: idl_delete_t
      - name: iterate
        type: idl_iterate_t
      - name: describe
        type: idl_describe_t
      item_type: struct
      name: methods
      pos:
        line_end: 292
        line_start: 288
        source_file: /src/cyclonedds/src/idl/src/tree.c
    typedefs: []
    union: []
- function_names:
  - namecmp
  - namecasecmp
  - create_declaration
  - delete_declaration
  - idl_create_scope
  - idl_delete_scope
  - idl_import
  - is_consistent
  - is_same_type
  - idl_declare
  - is_annotation
  - idl_find
  - idl_find_scoped_name
  - idl_find_field_name
  - idl_resolve
  - idl_enter_scope
  - idl_exit_scope
  - idl_scope
  - idl_declaration
  source_file: /src/cyclonedds/src/idl/src/scope.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/tree.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: node
        type: idl_node_t
      - name: '*left'
        type: idl_const_expr_t
      - name: '*right'
        type: idl_const_expr_t
      item_type: struct
      name: idl_binary_expr
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/cyclonedds/src/idl/src/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*right'
        type: idl_const_expr_t
      item_type: struct
      name: idl_unary_expr
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/cyclonedds/src/idl/src/tree.h
    typedefs:
    - item_type: typedef
      name: idl_primary_expr_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/cyclonedds/src/idl/src/tree.h
      type: void
    - item_type: typedef
      name: idl_binary_expr_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/cyclonedds/src/idl/src/tree.h
      type: idl_binary_expr
    - item_type: typedef
      name: idl_unary_expr_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/idl/src/tree.h
      type: idl_unary_expr
    union: []
- function_names:
  - idl_printa_arguments__
  - idl_printa_size__
  - idl_printa_strp__
  - idl_printa__
  - idl_print__
  - copy
  - print_base_type
  - print_decl_type
  - print_templ_type
  - print_type
  - print_scoped_name
  source_file: /src/cyclonedds/src/idl/src/print.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: idl_thread_local
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/src/idl/src/print.c
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: idl_thread_local
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/src/idl/src/print.c
      type_or_value: __thread
    - item_type: preproc_def
      name: idl_thread_local
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/idl/src/print.c
      type_or_value: __thread
    structs:
    - fields:
      - name: print
        type: idl_print_t
      - name: '*object'
        type: void
      - name: '*user_data'
        type: void
      - name: size
        type: size_t
      - name: '*str'
        type: char
      item_type: struct
      name: printa
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/cyclonedds/src/idl/src/print.c
    typedefs: []
    union: []
- function_names:
  - idl_accept
  - pop
  - push
  - idl_visit
  source_file: /src/cyclonedds/src/idl/src/visit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'YES'
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/cyclonedds/src/idl/src/visit.c
      type_or_value: (0)
    - item_type: preproc_def
      name: 'NO'
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/cyclonedds/src/idl/src/visit.c
      type_or_value: (1)
    - item_type: preproc_def
      name: MAYBE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/src/idl/src/visit.c
      type_or_value: (2)
    structs:
    - fields:
      - name: size
        type: size_t
      - name: depth
        type: size_t
      - name: path
        type: idl_path_t
      - name: '*flags'
        type: uint32_t
      item_type: struct
      name: stack
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/cyclonedds/src/idl/src/visit.c
    typedefs: []
    union: []
- function_names:
  - idl_hashid
  source_file: /src/cyclonedds/src/idl/src/hashid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - push_type
  - pop_type
  - xcdr2_ser
  - add_to_seq_generic
  - ADD_TO_SEQ_GENERIC
  - has_non_plain_annotation
  - has_plain_collection_typeid_impl
  - has_plain_collection_typeid
  - has_fully_descriptive_typeid_impl
  - has_fully_descriptive_typeid
  - get_plain_typeid
  - get_type_hash
  - get_hashed_typeid
  - get_namehash
  - get_struct_flags
  - get_struct_member_flags
  - get_union_flags
  - get_union_discriminator_flags
  - get_union_case_flags
  - get_sequence_element_flags
  - get_array_element_flags
  - get_bitmask_flags
  - get_enum_flags
  - get_enum_literal_flags
  - get_typeid
  - get_check_type_spec_typeid
  - get_type_spec_typeids
  - set_xtypes_annotation_parameter_value
  - get_builtin_member_ann
  - get_builtin_type_ann
  - get_custom_ann
  - get_complete_type_detail
  - get_complete_member_detail
  - add_struct_member
  - add_union_case
  - emit_hashed_type
  - add_typedef
  - add_array
  - emit_struct
  - emit_union
  - emit_switch_type_spec
  - emit_inherit_spec
  - emit_declarator
  - enum_literal_minimal_compare
  - enum_literal_complete_compare
  - emit_enum
  - emit_enumerator
  - bitflag_minimal_compare
  - bitflag_complete_compare
  - emit_bitmask
  - emit_bit_value
  - emit_sequence
  - emit_forward
  - print_ser_data
  - get_typeid_with_size
  - type_id_fini
  - type_obj_fini
  - print_typeid_with_deps
  - print_typeinformation_comment
  - generate_descriptor_type_meta
  - descriptor_type_meta_fini
  - xtypes_typeinfo_fini
  - generate_type_meta_ser_impl_free_mapping_buffers
  - generate_type_meta_ser_impl
  - print_type_meta_ser
  - generate_type_meta_ser
  source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: elem_type_
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/cyclonedds/src/idl/src/descriptor_type_meta.c
      type_or_value: ', Seq)'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/keylist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/src/directive.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - annotate_id
  - annotate_hashid
  - annotate_autoid
  - annotate_optional
  - annotate_value
  - annotate_extensibility
  - annotate_key
  - set_nested
  - annotate_default
  - annotate_default_literal
  - annotate_must_understand
  - idl_arithmetic_to_double
  - check_and_attach_minmax
  - annotate_range
  - annotate_min
  - annotate_max
  - annotate_unit
  - annotate_datarepresentation
  - annotate_nested
  - annotate_topic
  - set_implicitly_nested
  - annotate_default_nested
  - annotate_bit_bound
  - annotate_external
  - annotate_position
  - annotate_try_construct
  - warn_unsupported_annotation
  - find
  - eval
  - dedup
  - idl_annotate
  source_file: /src/cyclonedds/src/idl/src/annotation.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IDL_GEN_OUTFILE
  source_file: /src/cyclonedds/src/idl/include/idl/file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/stream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: idl_file_t
      - name: '*name'
        type: char
      item_type: struct
      name: idl_file
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
    - fields:
      - name: '*parent'
        type: idl_source_t
      - name: '*previous'
        type: idl_source_t
      - name: '*includes'
        type: idl_source_t
      - name: additional_directory
        type: bool
      - name: '*path'
        type: idl_file_t
      - name: '*file'
        type: idl_file_t
      item_type: struct
      name: idl_source
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
    - fields:
      - name: '*source'
        type: idl_source_t
      - name: '*file'
        type: idl_file_t
      - name: line
        type: uint32_t
      - name: column
        type: uint32_t
      item_type: struct
      name: idl_position
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
    - fields:
      - name: first
        type: idl_position_t
      - name: last
        type: idl_position_t
      item_type: struct
      name: idl_location
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
    - fields:
      - name: location
        type: idl_location_t
      item_type: struct
      name: idl_symbol
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
    typedefs:
    - item_type: typedef
      name: idl_file_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
      type: idl_file
    - item_type: typedef
      name: idl_source_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
      type: idl_source
    - item_type: typedef
      name: idl_symbol_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/idl/include/idl/symbol.h
      type: idl_symbol
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/scope.h
  types:
    enum:
    - enumerators:
      - name: IDL_MODULE_DECLARATION
      - name: IDL_INSTANCE_DECLARATION
      - name: IDL_SPECIFIER_DECLARATION
      - name: IDL_ANNOTATION_DECLARATION
      - name: IDL_USE_DECLARATION
      - name: IDL_SCOPE_DECLARATION
      - name: IDL_FORWARD_DECLARATION
      item_type: enum
      name: idl_declaration_kind
      pos:
        line_end: 36
        line_start: 21
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
    - enumerators:
      - name: IDL_GLOBAL_SCOPE
      - name: IDL_MODULE_SCOPE
      - name: IDL_ANNOTATION_SCOPE
      - name: IDL_STRUCT_SCOPE
      - name: IDL_UNION_SCOPE
      item_type: enum
      name: idl_scope_kind
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_FIND_IGNORE_CASE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type_or_value: (1u<<0)
    - item_type: preproc_def
      name: IDL_FIND_IGNORE_IMPORTS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type_or_value: (1u<<1)
    - item_type: preproc_def
      name: IDL_FIND_ANNOTATION
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type_or_value: (1u<<2)
    - item_type: preproc_def
      name: IDL_FIND_SCOPE_DECLARATION
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type_or_value: (1u<<3)
    structs:
    - fields:
      - name: kind
        type: "enum idl_declaration_kind {\n    /** module */\n    IDL_MODULE_DECLARATION,\n
          \   /** annotation */\n    IDL_ANNOTATION_DECLARATION,\n    /** const, enumerator,
          type, ... */\n    IDL_SPECIFIER_DECLARATION,\n    /** declarator, e.g. declarator
          of struct member or union element */\n    IDL_INSTANCE_DECLARATION,\n    /**
          introduced through use of non-absolute qualified name */\n    IDL_USE_DECLARATION,\n
          \   /** enclosing scope, for convenience */\n    IDL_SCOPE_DECLARATION,\n
          \   /** forward declarator (struct/union) */\n    IDL_FORWARD_DECLARATION\n
          \ }"
      - name: '*next'
        type: idl_declaration_t
      - name: '*local_scope'
        type: idl_scope_t
      - name: '*name'
        type: idl_name_t
      - name: '*scoped_name'
        type: idl_scoped_name_t
      - name: '*node'
        type: idl_node_t
      - name: '*scope'
        type: idl_scope_t
      item_type: struct
      name: idl_declaration
      pos:
        line_end: 44
        line_start: 20
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
    - fields:
      - name: '*next'
        type: idl_import_t
      - name: '*scope'
        type: idl_scope_t
      item_type: struct
      name: idl_import
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
    - fields:
      - name: kind
        type: "enum idl_scope_kind {\n    IDL_GLOBAL_SCOPE,\n    IDL_MODULE_SCOPE,\n
          \   IDL_ANNOTATION_SCOPE,\n    IDL_STRUCT_SCOPE,\n    IDL_UNION_SCOPE\n
          \ }"
      - name: '*parent'
        type: idl_scope_t
      - name: '*name'
        type: idl_name_t
      - name: declarations
        type: "struct {\n    idl_declaration_t *first, *last;\n  }"
      - name: imports
        type: "struct {\n    idl_import_t *first, *last;\n  }"
      item_type: struct
      name: idl_scope
      pos:
        line_end: 68
        line_start: 52
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
    typedefs:
    - item_type: typedef
      name: idl_scope_t
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type: idl_scope
    - item_type: typedef
      name: idl_declaration_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type: idl_declaration
    - item_type: typedef
      name: idl_import_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/cyclonedds/src/idl/include/idl/scope.h
      type: idl_import
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/string.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/expression.h
  types:
    enum:
    - enumerators:
      - name: IDL_INVALID
        value: '-3'
      - name: IDL_MISMATCH
        value: '-2'
      - name: IDL_GREATER
      - name: IDL_EQUAL
      - name: IDL_LESS
        value: '-1'
      item_type: enum
      name: idl_equality
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/cyclonedds/src/idl/include/idl/expression.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/vector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: n
        type: size_t
      - name: '**xs'
        type: void
      item_type: struct
      name: idl_boxed_vector
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/cyclonedds/src/idl/include/idl/vector.h
    - fields:
      - name: '*v'
        type: idl_boxed_vector_t
      - name: i
        type: size_t
      item_type: struct
      name: idl_boxed_vector_iter
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/cyclonedds/src/idl/include/idl/vector.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/heap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/processor.h
  types:
    enum:
    - enumerators:
      - name: IDL_WARN_GENERIC
      - name: IDL_WARN_INHERIT_APPENDABLE
      - name: IDL_WARN_UNKNOWN_ESCAPE_SEQ
      - name: IDL_WARN_IMPLICIT_EXTENSIBILITY
      - name: IDL_WARN_EXTRA_TOKEN_DIRECTIVE
      - name: IDL_WARN_ENUM_CONSECUTIVE
      - name: IDL_WARN_UNSUPPORTED_ANNOTATIONS
      item_type: enum
      name: idl_warning
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_FLAG_KEYLIST
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<0)
    - item_type: preproc_def
      name: IDL_FLAG_CASE_SENSITIVE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<1)
    - item_type: preproc_def
      name: IDL_FLAG_EXTENDED_DATA_TYPES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<2)
    - item_type: preproc_def
      name: IDL_FLAG_ANONYMOUS_TYPES
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<3)
    - item_type: preproc_def
      name: IDL_FLAG_ANNOTATIONS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<4)
    - item_type: preproc_def
      name: IDL_WRITE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (1u<<31)
    - item_type: preproc_def
      name: IDL_DEFAULT_EXTENSIBILITY_UNDEFINED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type_or_value: (-1)
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: size
        type: size_t
      - name: used
        type: size_t
      item_type: struct
      name: idl_buffer
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
    - fields:
      - name: '*typeinfo'
        type: unsigned char
      - name: typeinfo_size
        type: size_t
      - name: '*typemap'
        type: unsigned char
      - name: typemap_size
        type: size_t
      item_type: struct
      name: idl_typeinfo_typemap
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
    - fields:
      - name: keylists
        type: bool
      - name: annotations
        type: bool
      - name: config
        type: "struct {\n    uint32_t flags; /**< processor options */\n    int default_extensibility;
          /**< default extensibility for aggregated types */\n    bool default_nested;
          /**< default nestedness for aggregated types */\n  }"
      - name: track_warning
        type: track_warning_fn
      - name: '*paths'
        type: idl_file_t
      - name: '*files'
        type: idl_file_t
      - name: '*sources'
        type: idl_source_t
      - name: '*global_scope'
        type: idl_scope_t
      - name: '*directive'
        type: void
      - name: '*builtin_root'
        type: idl_node_t
      - name: buffer
        type: idl_buffer_t
      - name: digest[16]
        type: idl_md5_byte_t
      - name: scanner
        type: "struct {\n    enum {\n      IDL_SCAN,\n      /** scanning preprocessor
          directive */\n      IDL_SCAN_DIRECTIVE = (1<<7),\n      IDL_SCAN_DIRECTIVE_NAME,\n
          \     /** scanning #line directive */\n      IDL_SCAN_LINE = (IDL_SCAN_DIRECTIVE
          | (1<<6)),\n      IDL_SCAN_PATH,\n      IDL_SCAN_FLAGS,\n      IDL_SCAN_FILE,\n
          \     IDL_SCAN_EXTRA_TOKENS,\n      /** scanning #pragma directive */\n
          \     IDL_SCAN_PRAGMA = (IDL_SCAN_DIRECTIVE | (1<<5)),\n      IDL_SCAN_UNKNOWN_PRAGMA,\n
          \     /** scanning #pragma keylist directive */\n      IDL_SCAN_KEYLIST
          = (IDL_SCAN_PRAGMA | (1<<4)),\n      IDL_SCAN_DATA_TYPE,\n      IDL_SCAN_NAME,\n
          \     IDL_SCAN_SCOPE,\n      IDL_SCAN_KEY,\n      IDL_SCAN_FIELD,\n      IDL_SCAN_ACCESS,\n
          \     /** scanning IDL */\n      IDL_SCAN_GRAMMAR = (1<<8),\n      /* scanning
          \"@annotation\" or scoped name after \"@\" in IDL */\n      /** expect identifier,
          i.e. annotation in \"@annotation\" */\n      IDL_SCAN_ANNOTATION,\n      /**
          expect identifier, i.e. foo in \"@annotation foo\" */\n      IDL_SCAN_ANNOTATION_NAME,\n
          \     /** expect scope or identifier, i.e. :: in \"@::\" and foo in \"@foo\"
          */\n      IDL_SCAN_ANNOTATION_APPL,\n      /** expect scope, i.e. :: in
          \"@foo::bar::\" */\n      IDL_SCAN_ANNOTATION_APPL_SCOPE,\n      /** expect
          identifier in scoped name, i.e. foo in \"@foo::bar\" */\n      IDL_SCAN_ANNOTATION_APPL_SCOPED_NAME,\n
          \     /** final identifier in scoped name, i.e. bar in \"@foo::bar\" or
          \"@bar\" */\n      IDL_SCAN_ANNOTATION_APPL_NAME,\n      /** end of input
          */\n      IDL_EOF = (1<<9)\n    } state;\n    const char *cursor;\n    const
          char *limit;\n    idl_position_t position;\n  }"
      - name: parser
        type: "struct {\n    enum {\n      IDL_PARSE, /**< default state */\n      IDL_PARSE_ANNOTATION,\n
          \     IDL_PARSE_ANNOTATION_BODY,\n      IDL_PARSE_EXISTING_ANNOTATION_BODY,\n
          \     IDL_PARSE_ANNOTATION_APPL,\n      IDL_PARSE_ANNOTATION_APPL_PARAMS,\n
          \     IDL_PARSE_UNKNOWN_ANNOTATION_APPL_PARAMS\n    } state;\n    void *yypstate;
          /**< state of Bison generated parser */\n  }"
      item_type: struct
      name: idl_pstate
      pos:
        line_end: 149
        line_start: 75
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
    - fields:
      - name: '*syntax'
        type: char
      - name: '*summary'
        type: char
      - name: callback
        type: idl_annotation_callback_t
      item_type: struct
      name: idl_builtin_annotation
      pos:
        line_end: 156
        line_start: 152
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
    typedefs:
    - item_type: typedef
      name: idl_buffer_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type: idl_buffer
    - item_type: typedef
      name: idl_typeinfo_typemap_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type: idl_typeinfo_typemap
    - item_type: typedef
      name: (*track_warning_fn)(idl_warning_t warning)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type: bool
    - item_type: typedef
      name: idl_pstate_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type: idl_pstate
    - item_type: typedef
      name: idl_builtin_annotation_t
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/cyclonedds/src/idl/include/idl/processor.h
      type: idl_builtin_annotation
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/descriptor_type_meta.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: finalized
        type: bool
      - name: '*admin_next'
        type: struct type_meta
      - name: '*stack_prev'
        type: struct type_meta
      - name: '*node'
        type: void
      - name: '*ti_complete'
        type: DDS_XTypes_TypeIdentifier
      - name: '*to_complete'
        type: DDS_XTypes_TypeObject
      - name: '*ti_minimal'
        type: DDS_XTypes_TypeIdentifier
      - name: '*to_minimal'
        type: DDS_XTypes_TypeObject
      item_type: struct
      name: type_meta
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/cyclonedds/src/idl/include/idl/descriptor_type_meta.h
    - fields:
      - name: '*root'
        type: idl_node_t
      - name: '*admin'
        type: struct type_meta
      - name: '*stack'
        type: struct type_meta
      item_type: struct
      name: descriptor_type_meta
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/cyclonedds/src/idl/include/idl/descriptor_type_meta.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/visit.h
  types:
    enum:
    - enumerators:
      - name: IDL_ACCEPT_MODULE
      - name: IDL_ACCEPT_FORWARD
      - name: IDL_ACCEPT_ENUMERATOR
      - name: IDL_ACCEPT_ANNOTATION_APPL
      - name: IDL_ACCEPT_UNION
      - name: IDL_ACCEPT_BITMASK
      - name: IDL_ACCEPT_WSTRING
      - name: IDL_ACCEPT_MEMBER
      - name: IDL_ACCEPT_CASE_LABEL
      - name: IDL_ACCEPT_DECLARATOR
      - name: IDL_ACCEPT_ENUM
      - name: IDL_ACCEPT_STRING
      - name: IDL_ACCEPT_INHERIT_SPEC
      - name: IDL_ACCEPT_CASE
      - name: IDL_ACCEPT_SEQUENCE
      - name: IDL_ACCEPT_ANNOTATION
      - name: IDL_ACCEPT_CONST
      - name: IDL_ACCEPT_SWITCH_TYPE_SPEC
      - name: IDL_ACCEPT_TYPEDEF
      - name: IDL_ACCEPT_BIT_VALUE
      - name: IDL_ACCEPT_STRUCT
      - name: IDL_ACCEPT
      item_type: enum
      name: idl_accept
      pos:
        line_end: 41
        line_start: 18
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
    - enumerators:
      - name: IDL_VISIT_RECURSE_BY_DEFAULT
        value: '0'
      - name: IDL_VISIT_RECURSE
        value: (1<<0)
      - name: IDL_VISIT_DONT_RECURSE
        value: (1<<1)
      item_type: enum
      name: idl_visit_recurse
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
    - enumerators:
      - name: IDL_VISIT_ITERATE_BY_DEFAULT
        value: '0'
      - name: IDL_VISIT_DONT_ITERATE
        value: (1<<3)
      - name: IDL_VISIT_ITERATE
        value: (1<<2)
      item_type: enum
      name: idl_visit_iterate
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
    - enumerators:
      - name: IDL_VISIT_DONT_REVISIT_BY_DEFAULT
        value: '0'
      - name: IDL_VISIT_REVISIT
        value: (1<<4)
      - name: IDL_VISIT_DONT_REVISIT
        value: (1<<5)
      item_type: enum
      name: idl_visit_revisit
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_VISIT_TYPE_SPEC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: IDL_VISIT_UNALIAS_TYPE_SPEC
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
      type_or_value: (1<<7)
    structs:
    - fields:
      - name: visit
        type: idl_mask_t
      - name: recurse
        type: idl_visit_recurse_t
      - name: iterate
        type: idl_visit_iterate_t
      - name: revisit
        type: idl_visit_revisit_t
      - name: accept[IDL_ACCEPT + 1]
        type: idl_visitor_callback_t
      - name: '**sources'
        type: char
      item_type: struct
      name: idl_visitor
      pos:
        line_end: 106
        line_start: 99
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
    typedefs:
    - item_type: typedef
      name: "(*idl_visitor_callback_t)(\n  const struct idl_pstate *pstate,\n  const
        bool revisit,\n  const idl_path_t *path,\n  const void *node,\n  void *user_data)"
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
      type: idl_retcode_t
    - item_type: typedef
      name: idl_visitor_t
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/cyclonedds/src/idl/include/idl/visit.h
      type: idl_visitor
    union: []
- function_names:
  - IDL_COMMA__
  - IDL_SHIFT__
  - IDL_PICK__
  - IDL_EVALUATE__
  - IDL_EXPAND__
  - IDL_EXPAND_AGAIN__
  - IDL_MAYBE__
  - IDL_ALLOCA__
  - IDL_ALLOCA__
  - IDL_PRINTA
  - IDL_PRINTA__
  - IDL_PRINT__
  - IDL_PRINT
  source_file: /src/cyclonedds/src/idl/include/idl/print.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDL_PRINTA
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/idl/include/idl/print.h
      type_or_value: IDL_PRINTA__
    structs: []
    typedefs:
    - item_type: typedef
      name: (*idl_print_t)(char *, size_t, const void *, void *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/cyclonedds/src/idl/include/idl/print.h
      type: int
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDL_RETCODE_OK
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (0)
    - item_type: preproc_def
      name: IDL_RETCODE_PUSH_MORE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: IDL_RETCODE_NEED_REFILL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: IDL_RETCODE_SYNTAX_ERROR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: IDL_RETCODE_SEMANTIC_ERROR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: IDL_RETCODE_NO_MEMORY
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: IDL_RETCODE_ILLEGAL_EXPRESSION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: IDL_RETCODE_OUT_OF_RANGE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-7)
    - item_type: preproc_def
      name: IDL_RETCODE_NO_ACCESS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-8)
    - item_type: preproc_def
      name: IDL_RETCODE_NO_ENTRY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-9)
    - item_type: preproc_def
      name: IDL_RETCODE_NO_SPACE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-10)
    - item_type: preproc_def
      name: IDL_RETCODE_BAD_FORMAT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-11)
    - item_type: preproc_def
      name: IDL_RETCODE_BAD_PARAMETER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-12)
    - item_type: preproc_def
      name: IDL_RETCODE_UNSUPPORTED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type_or_value: (-13)
    structs: []
    typedefs:
    - item_type: typedef
      name: idl_retcode_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/cyclonedds/src/idl/include/idl/retcode.h
      type: int32_t
    union: []
- function_names:
  - IDL_ANNOTATABLE
  - IDL_FOREACH
  source_file: /src/cyclonedds/src/idl/include/idl/tree.h
  types:
    enum:
    - enumerators:
      - name: IDL_ENUM
        value: (1u<<15)
      - name: IDL_SEQUENCE
        value: (1llu<<14)
      - name: IDL_BOOL
        value: (IDL_BASE_TYPE | (3u<<1))
      - name: IDL_USHORT
        value: (IDL_SHORT | IDL_UNSIGNED)
      - name: IDL_LLONG
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (3u<<1))
      - name: IDL_UINT32
        value: (IDL_INT32 | IDL_UNSIGNED)
      - name: IDL_TYPEDEF
        value: (1llu<<19)
      - name: IDL_WSTRING
        value: (1llu<<12)
      - name: IDL_OCTET
        value: (IDL_BASE_TYPE | (4u<<1) | IDL_UNSIGNED)
      - name: IDL_LONG
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (2u<<1))
      - name: IDL_CHAR
        value: (IDL_BASE_TYPE | (1u<<1))
      - name: IDL_WCHAR
        value: (IDL_BASE_TYPE | (2u<<1))
      - name: IDL_UINT16
        value: (IDL_INT16 | IDL_UNSIGNED)
      - name: IDL_INT64
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (7u<<1))
      - name: IDL_NULL
        value: 0u
      - name: IDL_UNION
        value: (1u<<16)
      - name: IDL_BITMASK
        value: (1u<<18)
      - name: IDL_ANY
        value: (IDL_BASE_TYPE | (5u<<1))
      - name: IDL_SHORT
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (1u<<1))
      - name: IDL_ULLONG
        value: (IDL_LLONG | IDL_UNSIGNED)
      - name: IDL_UINT8
        value: (IDL_INT8 | IDL_UNSIGNED)
      - name: IDL_INT32
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (6u<<1))
      - name: IDL_FLOAT
        value: (IDL_BASE_TYPE | IDL_FLOATING_PT_TYPE | 1u)
      - name: IDL_DOUBLE
        value: (IDL_BASE_TYPE | IDL_FLOATING_PT_TYPE | 2u)
      - name: IDL_STRUCT
        value: (1u<<17)
      - name: IDL_STRING
        value: (1llu<<13)
      - name: IDL_FIXED_PT
        value: (1llu<<11)
      - name: IDL_ULONG
        value: (IDL_LONG | IDL_UNSIGNED)
      - name: IDL_INT8
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (4u<<1))
      - name: IDL_INT16
        value: (IDL_BASE_TYPE | IDL_INTEGER_TYPE | (5u<<1))
      - name: IDL_UINT64
        value: (IDL_INT64 | IDL_UNSIGNED)
      - name: IDL_LDOUBLE
        value: (IDL_BASE_TYPE | IDL_FLOATING_PT_TYPE | 3u)
      item_type: enum
      name: idl_type
      pos:
        line_end: 120
        line_start: 74
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - enumerators:
      - name: IDL_SEQUENTIAL
      - name: IDL_HASH
      item_type: enum
      name: idl_autoid
      pos:
        line_end: 184
        line_start: 181
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - enumerators:
      - name: IDL_FINAL
      - name: IDL_MUTABLE
      - name: IDL_APPENDABLE
      item_type: enum
      name: idl_extensibility
      pos:
        line_end: 190
        line_start: 186
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - enumerators:
      - name: IDL_DISCARD
      - name: IDL_USE_DEFAULT
      - name: IDL_TRIM
      item_type: enum
      name: idl_try_construct
      pos:
        line_end: 196
        line_start: 192
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - enumerators:
      - name: IDL_KEYTYPE_NONE
      - name: IDL_KEYTYPE_IMPLICIT
      - name: IDL_KEYTYPE_EXPLICIT
      item_type: enum
      name: idl_keytype
      pos:
        line_end: 529
        line_start: 525
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    preproc_defs:
    - item_type: preproc_def
      name: IDL_DECLARATION
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: "(IDL_MODULE | IDL_CONST | IDL_CONSTR_TYPE | IDL_TYPEDEF | \\\n
        \  IDL_MEMBER | IDL_CASE | IDL_CASE_LABEL | IDL_ENUMERATOR | IDL_DECLARATOR
        | IDL_BIT_VALUE)"
    - item_type: preproc_def
      name: IDL_TYPE
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_BASE_TYPE | IDL_TEMPL_TYPE | IDL_CONSTR_TYPE | IDL_TYPEDEF)
    - item_type: preproc_def
      name: IDL_CONSTR_TYPE
      pos:
        line_end: 40
        line_start: 38
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_STRUCT | IDL_UNION | IDL_ENUM | IDL_BITMASK)
    - item_type: preproc_def
      name: IDL_TEMPL_TYPE
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_SEQUENCE | IDL_STRING | IDL_WSTRING | IDL_FIXED_PT)
    - item_type: preproc_def
      name: IDL_KEYLIST
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<39)
    - item_type: preproc_def
      name: IDL_KEY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<38)
    - item_type: preproc_def
      name: IDL_INHERIT_SPEC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<37)
    - item_type: preproc_def
      name: IDL_SWITCH_TYPE_SPEC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<36)
    - item_type: preproc_def
      name: IDL_LITERAL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1ull<<35)
    - item_type: preproc_def
      name: IDL_MODULE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<34)
    - item_type: preproc_def
      name: IDL_CONST
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<33)
    - item_type: preproc_def
      name: IDL_MEMBER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<32)
    - item_type: preproc_def
      name: IDL_FORWARD
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<31)
    - item_type: preproc_def
      name: IDL_CASE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<30)
    - item_type: preproc_def
      name: IDL_CASE_LABEL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<29)
    - item_type: preproc_def
      name: IDL_DEFAULT_CASE_LABEL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_CASE_LABEL | 1u)
    - item_type: preproc_def
      name: IDL_IMPLICIT_DEFAULT_CASE_LABEL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_DEFAULT_CASE_LABEL | 2u)
    - item_type: preproc_def
      name: IDL_ENUMERATOR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<28)
    - item_type: preproc_def
      name: IDL_DEFAULT_ENUMERATOR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_ENUMERATOR | 1u)
    - item_type: preproc_def
      name: IDL_IMPLICIT_DEFAULT_ENUMERATOR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (IDL_DEFAULT_ENUMERATOR | 2u)
    - item_type: preproc_def
      name: IDL_BIT_VALUE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<27)
    - item_type: preproc_def
      name: IDL_DECLARATOR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<26)
    - item_type: preproc_def
      name: IDL_ANNOTATION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<25)
    - item_type: preproc_def
      name: IDL_ANNOTATION_MEMBER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<24)
    - item_type: preproc_def
      name: IDL_ANNOTATION_APPL
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<23)
    - item_type: preproc_def
      name: IDL_ANNOTATION_APPL_PARAM
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (1llu<<22)
    - item_type: preproc_def
      name: IDL_TYPE_MASK
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: ((IDL_TYPEDEF << 1) - 1)
    - item_type: preproc_def
      name: IDL_ALLOWABLE_DATAREPRESENTATION_DEFAULT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: (0xffffffff)
    - item_type: preproc_def
      name: IDL_STRIP_ALIASES
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: '(1u<<0) '
    - item_type: preproc_def
      name: IDL_STRIP_ALIASES_ARRAY
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: '(1u<<1) '
    - item_type: preproc_def
      name: IDL_STRIP_FORWARD
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type_or_value: '(1u<<2) '
    structs:
    - fields:
      - name: symbol
        type: idl_symbol_t
      - name: '*identifier'
        type: char
      - name: is_annotation
        type: bool
      item_type: struct
      name: idl_name
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: symbol
        type: idl_symbol_t
      - name: absolute
        type: bool
      - name: length
        type: size_t
      - name: '**names'
        type: idl_name_t
      - name: '*identifier'
        type: char
      item_type: struct
      name: idl_scoped_name
      pos:
        line_end: 138
        line_start: 132
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: symbol
        type: idl_symbol_t
      - name: length
        type: size_t
      - name: '**names'
        type: idl_name_t
      - name: '*identifier'
        type: char
      item_type: struct
      name: idl_field_name
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: symbol
        type: idl_symbol_t
      - name: mask
        type: idl_mask_t
      - name: destructor
        type: idl_delete_t
      - name: iterate
        type: idl_iterate_t
      - name: describe
        type: idl_describe_t
      - name: references
        type: int32_t
      - name: '*annotations'
        type: struct idl_annotation_appl
      - name: '*declaration'
        type: struct idl_declaration
      - name: '*parent'
        type: idl_node_t
      - name: '*previous'
        type: idl_node_t
      item_type: struct
      name: idl_node
      pos:
        line_end: 173
        line_start: 162
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: length
        type: size_t
      - name: '**nodes'
        type: idl_node_t
      item_type: struct
      name: idl_path
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: idl_name_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: '*const_expr'
        type: idl_const_expr_t
      item_type: struct
      name: idl_const
      pos:
        line_end: 244
        line_start: 239
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: value
        type: "union {\n    bool bln;\n    char chr;\n    int8_t int8;\n    uint8_t
          uint8;\n    int16_t int16;\n    uint16_t uint16;\n    int32_t int32;\n    uint32_t
          uint32;\n    int64_t int64;\n    uint64_t uint64;\n    float flt;\n    double
          dbl;\n    long double ldbl;\n    char *str;\n  }"
      item_type: struct
      name: idl_literal
      pos:
        line_end: 270
        line_start: 252
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      item_type: struct
      name: idl_base_type
      pos:
        line_end: 276
        line_start: 273
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: maximum
        type: uint32_t
      item_type: struct
      name: idl_sequence
      pos:
        line_end: 283
        line_start: 279
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: maximum
        type: uint32_t
      item_type: struct
      name: idl_string
      pos:
        line_end: 289
        line_start: 286
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: maximum
        type: uint32_t
      item_type: struct
      name: idl_wstring
      pos:
        line_end: 295
        line_start: 292
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: idl_name_t
      - name: '*definitions'
        type: idl_definition_t
      - name: '*previous'
        type: idl_module_t
      - name: default_nested
        type: IDL_ANNOTATABLE
      - name: (idl_autoid_t)
        type: IDL_ANNOTATABLE
      - name: (allowable_data_representations_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_module
      pos:
        line_end: 307
        line_start: 298
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: idl_name_t
      - name: '*const_expr'
        type: idl_const_expr_t
      - name: (uint32_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_declarator
      pos:
        line_end: 316
        line_start: 310
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: '*declarators'
        type: idl_declarator_t
      - name: (bool)
        type: IDL_ANNOTATABLE
      - name: optional
        type: IDL_ANNOTATABLE
      - name: external
        type: IDL_ANNOTATABLE
      - name: must_understand
        type: IDL_ANNOTATABLE
      - name: (idl_try_construct_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_member
      pos:
        line_end: 333
        line_start: 319
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*base'
        type: idl_type_spec_t
      item_type: struct
      name: idl_inherit_spec
      pos:
        line_end: 342
        line_start: 339
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*field_name'
        type: idl_field_name_t
      item_type: struct
      name: idl_key
      pos:
        line_end: 353
        line_start: 349
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*keys'
        type: idl_key_t
      item_type: struct
      name: idl_keylist
      pos:
        line_end: 359
        line_start: 356
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*inherit_spec'
        type: idl_inherit_spec_t
      - name: '*name'
        type: struct idl_name
      - name: '*members'
        type: idl_member_t
      - name: '*keylist'
        type: idl_keylist_t
      - name: requires_xcdr2
        type: idl_requires_xcdr2_t
      - name: xcdr2_is_default
        type: idl_xcdr2_is_default_t
      - name: (uint32_t)
        type: IDL_ANNOTATABLE
      - name: (idl_autoid_t)
        type: IDL_ANNOTATABLE
      - name: nested
        type: IDL_ANNOTATABLE
      - name: (idl_extensibility_t)
        type: IDL_ANNOTATABLE
      - name: (allowable_data_representations_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_struct
      pos:
        line_end: 381
        line_start: 362
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: '*type_spec'
        type: idl_type_spec_t
      item_type: struct
      name: idl_forward
      pos:
        line_end: 392
        line_start: 384
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*const_expr'
        type: void
      item_type: struct
      name: idl_case_label
      pos:
        line_end: 398
        line_start: 395
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*labels'
        type: idl_case_label_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: '*declarator'
        type: idl_declarator_t
      - name: external
        type: IDL_ANNOTATABLE
      - name: (idl_try_construct_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_case
      pos:
        line_end: 411
        line_start: 401
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: (bool)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_switch_type_spec
      pos:
        line_end: 419
        line_start: 414
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: '*switch_type_spec'
        type: idl_switch_type_spec_t
      - name: '*cases'
        type: idl_case_t
      - name: '*default_case'
        type: idl_case_label_t
      - name: unused_labels
        type: uint64_t
      - name: requires_xcdr2
        type: idl_requires_xcdr2_t
      - name: xcdr2_is_default
        type: idl_xcdr2_is_default_t
      - name: nested
        type: IDL_ANNOTATABLE
      - name: (idl_extensibility_t)
        type: IDL_ANNOTATABLE
      - name: (idl_autoid_t)
        type: IDL_ANNOTATABLE
      - name: (allowable_data_representations_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_union
      pos:
        line_end: 440
        line_start: 422
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: (uint32_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_enumerator
      pos:
        line_end: 451
        line_start: 443
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: '*enumerators'
        type: idl_enumerator_t
      - name: '*default_enumerator'
        type: idl_enumerator_t
      - name: (uint16_t)
        type: IDL_ANNOTATABLE
      - name: (idl_extensibility_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_enum
      pos:
        line_end: 461
        line_start: 454
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: (uint16_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_bit_value
      pos:
        line_end: 468
        line_start: 464
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: struct idl_name
      - name: '*bit_values'
        type: idl_bit_value_t
      - name: (uint16_t)
        type: IDL_ANNOTATABLE
      - name: (idl_extensibility_t)
        type: IDL_ANNOTATABLE
      item_type: struct
      name: idl_bitmask
      pos:
        line_end: 477
        line_start: 471
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*type_spec'
        type: void
      - name: '*declarators'
        type: idl_declarator_t
      item_type: struct
      name: idl_typedef
      pos:
        line_end: 484
        line_start: 480
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*type_spec'
        type: idl_type_spec_t
      - name: '*declarator'
        type: idl_declarator_t
      - name: '*const_expr'
        type: idl_const_expr_t
      item_type: struct
      name: idl_annotation_member
      pos:
        line_end: 498
        line_start: 493
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*name'
        type: idl_name_t
      - name: '*definitions'
        type: idl_definition_t
      - name: callback
        type: idl_annotation_callback_t
      item_type: struct
      name: idl_annotation
      pos:
        line_end: 509
        line_start: 503
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*member'
        type: idl_annotation_member_t
      - name: '*const_expr'
        type: idl_const_expr_t
      item_type: struct
      name: idl_annotation_appl_param
      pos:
        line_end: 516
        line_start: 512
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    - fields:
      - name: node
        type: idl_node_t
      - name: '*annotation'
        type: idl_annotation_t
      - name: '*parameters'
        type: idl_annotation_appl_param_t
      item_type: struct
      name: idl_annotation_appl
      pos:
        line_end: 523
        line_start: 519
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
    typedefs:
    - item_type: typedef
      name: idl_name_t
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_name
    - item_type: typedef
      name: idl_scoped_name_t
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_scoped_name
    - item_type: typedef
      name: idl_field_name_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_field_name
    - item_type: typedef
      name: idl_const_expr_t
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: idl_definition_t
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: idl_type_spec_t
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: idl_mask_t
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: uint64_t
    - item_type: typedef
      name: (*idl_delete_t)(void *node)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: '*(*idl_iterate_t)(const void *root, const void *node)'
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: '*(*idl_describe_t)(const void *node)'
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: char
    - item_type: typedef
      name: idl_node_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_node
    - item_type: typedef
      name: idl_path_t
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_path
    - item_type: typedef
      name: allowable_data_representations_t
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: uint32_t
    - item_type: typedef
      name: idl_const_t
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_const
    - item_type: typedef
      name: idl_literal_t
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_literal
    - item_type: typedef
      name: idl_base_type_t
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_base_type
    - item_type: typedef
      name: idl_sequence_t
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_sequence
    - item_type: typedef
      name: idl_string_t
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_string
    - item_type: typedef
      name: idl_wstring_t
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_wstring
    - item_type: typedef
      name: idl_module_t
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_module
    - item_type: typedef
      name: idl_declarator_t
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_declarator
    - item_type: typedef
      name: idl_member_t
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_member
    - item_type: typedef
      name: idl_inherit_spec_t
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_inherit_spec
    - item_type: typedef
      name: idl_key_t
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_key
    - item_type: typedef
      name: idl_keylist_t
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_keylist
    - item_type: typedef
      name: idl_struct_t
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_struct
    - item_type: typedef
      name: idl_forward_t
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_forward
    - item_type: typedef
      name: idl_case_label_t
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_case_label
    - item_type: typedef
      name: idl_case_t
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_case
    - item_type: typedef
      name: idl_switch_type_spec_t
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_switch_type_spec
    - item_type: typedef
      name: idl_union_t
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_union
    - item_type: typedef
      name: idl_enumerator_t
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_enumerator
    - item_type: typedef
      name: idl_enum_t
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_enum
    - item_type: typedef
      name: idl_bit_value_t
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_bit_value
    - item_type: typedef
      name: idl_bitmask_t
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_bitmask
    - item_type: typedef
      name: idl_typedef_t
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_typedef
    - item_type: typedef
      name: "(*idl_annotation_callback_t)(\n  struct idl_pstate *,\n  struct idl_annotation_appl
        *,\n  idl_node_t *)"
      pos:
        line_end: 490
        line_start: 487
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_retcode_t
    - item_type: typedef
      name: idl_annotation_member_t
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_annotation_member
    - item_type: typedef
      name: idl_annotation_definition_t
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: void
    - item_type: typedef
      name: idl_annotation_t
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_annotation
    - item_type: typedef
      name: idl_annotation_appl_param_t
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_annotation_appl_param
    - item_type: typedef
      name: idl_annotation_appl_t
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/cyclonedds/src/idl/include/idl/tree.h
      type: idl_annotation_appl
    union: []
- function_names:
  - fail_suite_init
  - success_suite_init
  - f_no_assert
  - f_pass
  - f_fail
  - f_fatal
  - test_fail_no_tests_at_all
  - test_fail_no_suite_no_test
  - test_fail_suite_no_test
  - test_fail_active_suite_no_test
  - test_fail_inactive_suite_test
  - test_fail_active_suite_inactive_test
  - test_pass
  - test_fail_suite_init
  - test_fail_suite_init2
  - test_fail_no_assert
  - test_pass_suite_init
  - test_pass_suite_init2
  - test_pass_test_fail
  - test_pass_test_fatal
  - test_fail_pass_after_fail
  - test_fail_pass_after_fatal
  - TEST
  - main
  source_file: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*f) (void)
        type: bool
      item_type: struct
      name: "tests[] = {\n  TEST (test_fail_no_tests_at_all),\n  TEST (test_fail_no_suite_no_test),\n
        \ TEST (test_fail_suite_no_test),\n  TEST (test_fail_active_suite_no_test),\n
        \ TEST (test_fail_inactive_suite_test),\n  TEST (test_fail_active_suite_inactive_test),\n
        \ TEST (test_pass),\n  TEST (test_fail_suite_init),\n  TEST (test_fail_suite_init2),\n
        \ TEST (test_fail_no_assert),\n  TEST (test_pass_suite_init),\n  TEST (test_pass_suite_init2),\n
        \ TEST (test_pass_test_fail),\n  TEST (test_pass_test_fatal),\n  TEST (test_fail_pass_after_fail),\n
        \ TEST (test_fail_pass_after_fatal)\n}"
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/cyclonedds/src/ucunit/tests/test_ucunit.c
    typedefs: []
    union: []
- function_names:
  - CU_set_error_action
  - CU_fatal
  - CU_hexdump
  - CU_assertImplementation
  - CU_initialize_registry
  - CU_get_error_msg
  - ucunit_strdup
  - CU_add_suite
  - CU_get_suite
  - CU_set_suite_active
  - CU_add_test
  - CU_set_test_active
  - CU_get_error
  - runtest
  - CU_basic_run_tests
  - CU_get_number_of_failures
  - CU_cleanup_registry
  source_file: /src/cyclonedds/src/ucunit/src/ucunit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/CUError.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/CUnit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_InitName
  - CU_CleanName
  - CU_TestName
  - CU_TestProxyName
  - CU_InitDecl
  - CU_Init
  - CU_CleanDecl
  - CU_Clean
  - CU_Test
  - CU_TestDecl
  - CU_Comma
  - CU_Reduce
  - CU_Fixture__
  - CU_Fixture____
  - CU_Fixture__
  - CU_Fixture___
  - CU_Fixture
  - CU_Fixture_
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: init
        type: cu_test_init_func_t
      - name: fini
        type: cu_test_fini_func_t
      - name: disabled
        type: int
      - name: timeout
        type: int
      item_type: struct
      name: cu_data_t
      pos:
        line_end: 17
        line_start: 12
        source_file: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
    typedefs:
    - item_type: typedef
      name: (*cu_test_init_func_t)(void)
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
      type: void
    - item_type: typedef
      name: (*cu_test_fini_func_t)(void)
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/cyclonedds/src/ucunit/include/CUnit/Test.h
      type: void
    union: []
- function_names:
  - CU_TheoryDataPointsName
  - CU_TheoryDataPointsTypeName
  - CU_TheoryDataPointsSize
  - CU_TheoryDataPointsSlice
  - CU_TheoryDataPointsTypedef
  - CU_TheoryDataPoints
  - CU_DataPoints
  - CU_Theory
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/Theory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/Automated.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/src/ucunit/include/CUnit/Basic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CU_PASS
  - CU_FAIL
  - CU_FAIL_FATAL
  - CU_ASSERT_PRINTF_FORMAT
  - CU_ASSERT_OP_MAYBE_FATAL
  - CU_ASSERT_OP_MAYBE_FATAL
  - CU_ASSERT_STRING_OP_MAYBE_FATAL
  - CU_ASSERT_MEMEQ_MAYBE_FATAL
  - CU_ASSERT_EQ
  - CU_ASSERT_EQ_FATAL
  - CU_ASSERT_NEQ
  - CU_ASSERT_NEQ_FATAL
  - CU_ASSERT_GT
  - CU_ASSERT_GT_FATAL
  - CU_ASSERT_LT
  - CU_ASSERT_LT_FATAL
  - CU_ASSERT_GEQ
  - CU_ASSERT_GEQ_FATAL
  - CU_ASSERT_LEQ
  - CU_ASSERT_LEQ_FATAL
  - CU_ASSERT_STREQ
  - CU_ASSERT_STREQ_FATAL
  - CU_ASSERT_STRNEQ
  - CU_ASSERT_STRNEQ_FATAL
  - CU_ASSERT_MEMEQ
  - CU_ASSERT_MEMEQ_FATAL
  - CU_ASSERT
  - CU_ASSERT_FATAL
  source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
  types:
    enum:
    - enumerators:
      - name: CUE_SUCCESS
      - name: CUE_ERROR
      item_type: enum
      name: CU_ErrorCode
      pos:
        line_end: 219
        line_start: 216
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    - enumerators:
      - name: CUEA_FAIL
      - name: CUEA_ABORT
      item_type: enum
      name: CU_ErrorAction
      pos:
        line_end: 224
        line_start: 221
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    preproc_defs:
    - item_type: preproc_def
      name: CU_UNREACHABLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type_or_value: __builtin_unreachable ()
    - item_type: preproc_def
      name: CU_UNREACHABLE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type_or_value: ((void)0)
    - item_type: preproc_def
      name: CU_ASSERT_SUPPRESS_WARNINGS
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type_or_value: "_Pragma(\"GCC diagnostic push\") \\\n  _Pragma(\"GCC diagnostic
        ignored \\\"-Wsign-compare\\\"\")"
    - item_type: preproc_def
      name: CU_ASSERT_RESTORE_WARNINGS
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type_or_value: _Pragma("GCC diagnostic pop")
    structs:
    - fields:
      - name: '*next'
        type: struct CU_FailureRecord
      - name: '*file'
        type: char
      - name: line
        type: int
      - name: '*expr'
        type: char
      item_type: struct
      name: CU_FailureRecord
      pos:
        line_end: 191
        line_start: 186
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    - fields:
      - name: '*next'
        type: struct CU_Test
      - name: '*name'
        type: char
      - name: active
        type: bool
      - name: testfunc
        type: CU_TestFunc
      - name: nasserts
        type: uint32_t
      - name: nfailures
        type: uint32_t
      - name: '*failures'
        type: struct CU_FailureRecord
      item_type: struct
      name: CU_Test
      pos:
        line_end: 201
        line_start: 193
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    - fields:
      - name: '*next'
        type: struct CU_Suite
      - name: '*name'
        type: char
      - name: active
        type: bool
      - name: initfailed
        type: bool
      - name: init
        type: CU_InitializeFunc
      - name: cleanup
        type: CU_CleanupFunc
      - name: '*tests'
        type: struct CU_Test
      - name: ntests
        type: uint32_t
      - name: ntests_pass
        type: uint32_t
      - name: ntests_failed
        type: uint32_t
      item_type: struct
      name: CU_Suite
      pos:
        line_end: 214
        line_start: 203
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
    typedefs:
    - item_type: typedef
      name: (*CU_TestFunc) (void)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type: void
    - item_type: typedef
      name: (*CU_InitializeFunc) (void)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type: int
    - item_type: typedef
      name: (*CU_CleanupFunc) (void)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/cyclonedds/src/ucunit/include/ucunit/ucunit.h
      type: int
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/docs/manual/getting_started/helloworld/publisher.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/docs/manual/getting_started/helloworld/subscriber.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/docs/manual/_static/security_by_qos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFINITY
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: (__builtin_inff ())
    - item_type: preproc_def
      name: HUGE_VAL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: (__builtin_huge_val ())
    - item_type: preproc_def
      name: HUGE_VALF
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: (__builtin_huge_valf ())
    - item_type: preproc_def
      name: HUGE_VALL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: (__builtin_huge_vall ())
    - item_type: preproc_def
      name: INFINITY
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: 1e10000
    - item_type: preproc_def
      name: HUGE_VAL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: 1e10000
    - item_type: preproc_def
      name: HUGE_VALF
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: 1e10000f
    - item_type: preproc_def
      name: HUGE_VALL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/ports/solaris2.6/include/math.h
      type_or_value: 1e10000L
    structs: []
    typedefs: []
    union: []
- function_names:
  - UINT32_C
  source_file: /src/cyclonedds/ports/solaris2.6/include/stdint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/ports/solaris2.6/include/inttypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIuPTR
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/cyclonedds/ports/solaris2.6/include/inttypes.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: PRIxPTR
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/cyclonedds/ports/solaris2.6/include/inttypes.h
      type_or_value: '"lx"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/ports/solaris2.6/include/sys/socket.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ss_family
        type: sa_family_t
      - name: stuff
        type: struct sockaddr_in
      item_type: struct
      name: sockaddr_storage
      pos:
        line_end: 11
        line_start: 8
        source_file: /src/cyclonedds/ports/solaris2.6/include/sys/socket.h
    typedefs:
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 6
        line_start: 6
        source_file: /src/cyclonedds/ports/solaris2.6/include/sys/socket.h
      type: size_t
    union: []
- function_names: []
  source_file: /src/cyclonedds/ports/solaris2.6/include/netinet/in.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/cyclonedds/ports/solaris2.6/include/netinet/in.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - prvSetupHardware
  - vAssertCalled
  - vApplicationMallocFailedHook
  - vApplicationIdleHook
  - vApplicationTickHook
  - usage
  - help
  - vMainTask
  - main
  source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EX_OK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
      type_or_value: (0)
    - item_type: preproc_def
      name: EX_USAGE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
      type_or_value: (64)
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
      type_or_value: '"\r\n"'
    - item_type: preproc_def
      name: LF
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
      type_or_value: '"\n"'
    structs:
    - fields:
      - name: argc
        type: int
      - name: '**argv'
        type: char
      item_type: struct
      name: args_t
      pos:
        line_end: 86
        line_start: 83
        source_file: /src/cyclonedds/ports/freertos-posix/src/loader.c
    typedefs: []
    union: []
- function_names:
  - configASSERT
  source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: configUSE_PREEMPTION
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_IDLE_HOOK
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_TICK_HOOK
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configTICK_RATE_HZ
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( ( portTickType ) 1000 )
    - item_type: preproc_def
      name: configMINIMAL_STACK_SIZE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '( ( unsigned portSHORT ) 64 ) '
    - item_type: preproc_def
      name: configTOTAL_HEAP_SIZE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( ( size_t ) ( 64 * 1024 ) )
    - item_type: preproc_def
      name: configMAX_TASK_NAME_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( 16 )
    - item_type: preproc_def
      name: configUSE_TRACE_FACILITY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_16_BIT_TICKS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '0'
    - item_type: preproc_def
      name: configIDLE_SHOULD_YIELD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_MUTEXES
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configCHECK_FOR_STACK_OVERFLOW
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: configUSE_RECURSIVE_MUTEXES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configQUEUE_REGISTRY_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '20'
    - item_type: preproc_def
      name: configUSE_MALLOC_FAILED_HOOK
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_APPLICATION_TASK_TAG
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_COUNTING_SEMAPHORES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_ALTERNATIVE_API
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '0'
    - item_type: preproc_def
      name: configUSE_QUEUE_SETS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_TASK_NOTIFICATIONS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configUSE_TIMERS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: configTIMER_TASK_PRIORITY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( configMAX_PRIORITIES - 1 )
    - item_type: preproc_def
      name: configTIMER_QUEUE_LENGTH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '20'
    - item_type: preproc_def
      name: configTIMER_TASK_STACK_DEPTH
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( configMINIMAL_STACK_SIZE * 2 )
    - item_type: preproc_def
      name: configMAX_PRIORITIES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: ( 10 )
    - item_type: preproc_def
      name: configGENERATE_RUN_TIME_STATS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_vTaskPrioritySet
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_uxTaskPriorityGet
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_vTaskDelete
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_vTaskSuspend
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_vTaskDelayUntil
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_vTaskDelay
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_uxTaskGetStackHighWaterMark
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: INCLUDE_xTaskGetSchedulerState
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xTimerGetTimerDaemonTaskHandle
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xTaskGetIdleTaskHandle
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_pcTaskGetTaskName
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_eTaskGetState
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xSemaphoreGetMutexHolder
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xTimerPendFunctionCall
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xTaskAbortDelay
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUDE_xTaskGetHandle
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/cyclonedds/ports/freertos-posix/include/FreeRTOSConfig.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_config
  - helloworld_publisher
  - helloworld_subscriber
  - main
  source_file: /src/cyclonedds/ports/zephyr/src/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/cyclonedds/ports/zephyr/src/main.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/ports/zephyr/src/throughput_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/ports/zephyr/src/ddsperf_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/ports/zephyr/src/roundtrip_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/cyclonedds/fuzz/fuzz_security_deser/fuzz_security_deser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_idl_types_seed
  - topic_to_descriptor
  - LLVMFuzzerTestOneInput
  source_file: /src/cyclonedds/fuzz/fuzz_sample_deser/fuzz_sample_deser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - null_log_sink
  - LLVMFuzzerTestOneInput
  source_file: /src/cyclonedds/fuzz/fuzz_handle_rtps_message/fuzz_handle_rtps_message.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_handshake_init
  - hs_end_cb
  - fsm_debug_func
  - fuzz_handshake_reset
  - fuzz_handshake_handle_timeout
  - create_dh_key
  - fuzz_handshake_handle_request
  - create_signature
  - create_hash
  - fuzz_handshake_handle_reply
  - fuzz_handshake_handle_final
  - fuzz_handshake_handle_crypto_tokens
  - fuzz_handshake_wait_for_event
  - fuzz_handshake_wait_for_completion
  source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUZZ_HANDSHAKE_EVENT_HANDLED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
      type_or_value: (-4)
    structs:
    - fields:
      - name: '*pp'
        type: struct ddsi_participant
      - name: '*proxy_pp'
        type: struct ddsi_proxy_participant
      - name: '*hs'
        type: struct ddsi_handshake
      item_type: struct
      name: harness
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
    typedefs:
    - item_type: typedef
      name: (*dhpkey2oct_t)(EVP_PKEY *, int, unsigned char **, uint32_t *, DDS_Security_SecurityException
        *)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: (*gendhkeys_t)(EVP_PKEY **, int, DDS_Security_SecurityException *)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
      type: DDS_Security_ValidationResult_t
    - item_type: typedef
      name: (*cvas_t)(bool, EVP_PKEY *, const unsigned char *, const size_t, unsigned
        char **, size_t *, DDS_Security_SecurityException *)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
      type: DDS_Security_ValidationResult_t
    union:
    - fields:
      - name: u64
        type: uint64_t
      - name: u32[2]
        type: uint32_t
      item_type: union
      name: u
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.c
- function_names: []
  source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_expose.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lguid
        type: ddsi_guid_t
      - name: rguid
        type: ddsi_guid_t
      item_type: struct
      name: handshake_entities
      pos:
        line_end: 11
        line_start: 8
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_expose.h
    - fields:
      - name: avlnode
        type: ddsrt_avl_node_t
      - name: state
        type: enum ddsi_handshake_state
      - name: participants
        type: struct handshake_entities
      - name: handshake_handle
        type: DDS_Security_HandshakeHandle
      - name: refc
        type: ddsrt_atomic_uint32_t
      - name: deleting
        type: ddsrt_atomic_uint32_t
      - name: end_cb
        type: ddsi_handshake_end_cb_t
      - name: lock
        type: ddsrt_mutex_t
      - name: '*fsm'
        type: struct dds_security_fsm
      - name: '*gv'
        type: struct ddsi_domaingv
      - name: '*auth'
        type: dds_security_authentication
      - name: handshake_message_in_token
        type: DDS_Security_HandshakeMessageToken
      - name: handshake_message_in_id
        type: ddsi_message_identity_t
      - name: '*handshake_message_out'
        type: DDS_Security_HandshakeMessageToken
      - name: local_auth_request_token
        type: DDS_Security_AuthRequestMessageToken
      - name: '*remote_auth_request_token'
        type: DDS_Security_AuthRequestMessageToken
      - name: pdata
        type: DDS_Security_OctetSeq
      - name: shared_secret
        type: int64_t
      item_type: struct
      name: ddsi_handshake
      pos:
        line_end: 34
        line_start: 13
        source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_expose.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake_harness.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - to_property
  - to_binaryproperty
  - to_dataholder
  - free_properties
  - DEFINE_PROTO_FUZZER
  source_file: /src/cyclonedds/fuzz/fuzz_handshake/fuzz_handshake.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/cyclonedds/fuzz/fuzz_config_init/fuzz_config_init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - null_log_sink
  - LLVMFuzzerTestOneInput
  source_file: /src/cyclonedds/fuzz/fuzz_type_object/fuzz_type_object.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - exampleInitTimeStats
  - exampleResetTimeStats
  - exampleDeleteTimeStats
  - exampleAddTimingToTimeStats
  - exampleCompareul
  - exampleGetMedianFromTimeStats
  - exampleGet99PercentileFromTimeStats
  - CtrlHandler
  - CtrlHandler
  - data_available
  - usage
  - main
  - prepare_dds
  - finalize_dds
  source_file: /src/cyclonedds/examples/roundtrip/ping.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIME_STATS_SIZE_INCREMENT
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/cyclonedds/examples/roundtrip/ping.c
      type_or_value: '50000'
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/cyclonedds/examples/roundtrip/ping.c
      type_or_value: '100'
    - item_type: preproc_def
      name: US_IN_ONE_SEC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/cyclonedds/examples/roundtrip/ping.c
      type_or_value: 1000000LL
    structs:
    - fields:
      - name: '* values'
        type: dds_time_t
      - name: valuesSize
        type: unsigned long
      - name: valuesMax
        type: unsigned long
      - name: average
        type: double
      - name: min
        type: dds_time_t
      - name: max
        type: dds_time_t
      - name: count
        type: unsigned long
      item_type: struct
      name: ExampleTimeStats
      pos:
        line_end: 27
        line_start: 18
        source_file: /src/cyclonedds/examples/roundtrip/ping.c
    typedefs: []
    union: []
- function_names:
  - CtrlHandler
  - CtrlHandler
  - data_available
  - main
  - finalize_dds
  - prepare_dds
  source_file: /src/cyclonedds/examples/roundtrip/pong.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/cyclonedds/examples/roundtrip/pong.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/examples/helloworld/subscriber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/cyclonedds/examples/helloworld/subscriber.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/examples/helloworld/publisher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - keystr
  - instance_state_str
  - process_topic
  - process_pubsub
  - main
  source_file: /src/cyclonedds/examples/listtopics/listtopics.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXCOUNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/cyclonedds/examples/listtopics/listtopics.c
      type_or_value: '10'
    structs:
    - fields:
      - name: v[36]
        type: char
      item_type: struct
      name: keystr
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/cyclonedds/examples/listtopics/listtopics.c
    typedefs: []
    union: []
- function_names:
  - type_hashid_map_hash
  - type_hashid_map_equal
  - type_hashid_map_init
  - type_hashid_map_lookup
  - type_hashid_map_add
  - free_type_hashid_map
  - type_hashid_map_free
  - typecache_hash
  - typecache_equal
  - type_cache_init
  - type_cache_lookup
  - type_cache_add
  - free_typeinfo
  - type_cache_free
  - CASE
  source_file: /src/cyclonedds/examples/dynsub/type_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ppc_init
  - ppc_lineno
  - ppc_indent
  - ppc_outdent
  - ppc_print
  - ppc_print_equivhash
  - ppc_print_memberflags
  - PF
  - ppc_print_typeflags
  - PF
  - ppc_print_paramval
  - CASE
  - ppc_print_paramseq
  - ppc_print_annots
  - ppc_print_builtin_type_annots
  - ppc_print_typedetail_sans_name
  - ppc_print_typedetail
  - ppc_print_builtin_member_annots
  - ppc_print_elementdetail
  - ppc_print_memberdetail_sans_name
  - ppc_print_simple
  - CASE
  - ppc_print_ti
  - ppc_print_to
  - ppc_print_to_min
  source_file: /src/cyclonedds/examples/dynsub/print_type.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - align
  - print_sample1_simple
  - CASEI
  - CASE
  - get_string_pointer
  - get_wstring_pointer
  - print_sample1_ti
  - print_sample1_to
  - print_sample
  source_file: /src/cyclonedds/examples/dynsub/print_sample.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: valid_data
        type: bool
      - name: key
        type: bool
      - name: offset
        type: size_t
      - name: maxalign
        type: size_t
      - name: needs_comma
        type: bool
      item_type: struct
      name: context
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/cyclonedds/examples/dynsub/print_sample.c
    typedefs: []
    union: []
- function_names:
  - get_topic_and_typeobj
  - print_sample_normal
  - hexdump
  - encodingstr
  - print_sample_cdr
  - signal_handler
  - sigthread
  - main
  source_file: /src/cyclonedds/examples/dynsub/dynsub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cyclonedds/examples/dynsub/dynsub.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: key
        type: "union {\n    uintptr_t key; // DDS_XTypes_CompleteTypeObject or DDS_XTypes_TypeIdentifier
          pointer\n    uint32_t u32[sizeof (uintptr_t) / 4];\n  }"
      - name: '*typeobj'
        type: DDS_XTypes_CompleteTypeObject
      - name: '*release'
        type: DDS_XTypes_TypeObject
      - name: align
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: typeinfo
      pos:
        line_end: 28
        line_start: 19
        source_file: /src/cyclonedds/examples/dynsub/dynsub.h
    - fields:
      - name: id
        type: DDS_XTypes_EquivalenceHash
      - name: '*typeobj'
        type: DDS_XTypes_TypeObject
      - name: lineno
        type: int
      item_type: struct
      name: type_hashid_map
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/cyclonedds/examples/dynsub/dynsub.h
    - fields:
      - name: bol
        type: bool
      - name: indent
        type: int
      - name: lineno
        type: int
      item_type: struct
      name: ppc
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/cyclonedds/examples/dynsub/dynsub.h
    typedefs: []
    union: []
- function_names:
  - usage
  - sigint
  - main
  source_file: /src/cyclonedds/examples/dynsub/variouspub.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*descr'
        type: dds_topic_descriptor_t
      - name: '**samples'
        type: void
      - name: count_offset
        type: size_t
      item_type: struct
      name: tpentry
      pos:
        line_end: 114
        line_start: 109
        source_file: /src/cyclonedds/examples/dynsub/variouspub.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cyclonedds/examples/dyntype/dyntype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sigint
  - main
  - HandleMap__alloc
  - HandleMap__free
  - store_handle
  - retrieve_handle
  - do_take
  - data_available_handler
  - parse_args
  - process_samples
  - prepare_dds
  - finalize_dds
  source_file: /src/cyclonedds/examples/throughput/subscriber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTES_PER_SEC_TO_MEGABITS_PER_SEC
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
      type_or_value: '125000'
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: handle
        type: dds_instance_handle_t
      - name: count
        type: unsigned long long
      - name: '* next'
        type: struct HandleEntry
      item_type: struct
      name: HandleEntry
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
    - fields:
      - name: '*entries'
        type: HandleEntry
      item_type: struct
      name: HandleMap
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/cyclonedds/examples/throughput/subscriber.c
    typedefs: []
    union: []
- function_names:
  - sigint
  - main
  - parse_args
  - prepare_dds
  - wait_for_reader
  - start_writing
  - finalize_dds
  source_file: /src/cyclonedds/examples/throughput/publisher.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SAMPLES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cyclonedds/examples/throughput/publisher.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
